it JSJ 342: Aurelia in Action with Sean Hunter By devchat.tv Published On :: Tue, 04 Dec 2018 06:00:00 -0500 Panel: AJ O’Neal Joe Eames Jesse Sanders Special Guest: Sean Hunter In this episode, the panel talks with Sean Hunter who is a software developer, speaker, rock climber, and author of “Aurelia in Action” published by Manning Publications! Today, the panelists and Sean talk about Aurelia and other frameworks. Check it out! Show Topics: 0:00 – Advertisement: KENDO UI 0:38 – Joe: Hello! Our panelists are AJ, Jesse, myself, and our special guest is Sean Hunter (from Australia)! What have you been doing with your life and what is your favorite movie? 1:45 – Guest talks about Vegemite! 2:20 – Guest: I was in the UK and started using Aurelia, which I will talk about today. I have done some talks throughout UK about Aurelia. Also, the past year moved back to Australia had a baby son and it’s been a busy year. Writing a book and being a new parent has been hard. 3:22 – Panel: Tell us the history of Aurelia, please? 3:31 – Panel: Is it like jQuery, React, Vue or what? 3:44 – Guest: Elevator pitch – Aurelia is a single-page app framework! It’s most similar to Vue out of those frameworks; also, similarities to Ember.js. 4:30 – Guest goes into detail about Aurelia. 6:15 – Panel: It sounds like convention over configuration. 6:42 – Guest: Yes that is correct. 7:21 – Panel: Sounds like there is a build-step to it. 7:39 – Guest: There is a build-step you are correct. You will use Webpack in the background. 9:57 – The guest talks about data binding among other things. 10:30 – Guest: You will have your app component and other levels, too. 10:37 – Panel: I am new to Aurelia and so I’m fresh to this. Why Aurelia over the other frameworks? Is there a CLI to help? 11:29 – Guest: Let me start with WHY Aurelia and not the other frameworks. The style that you are using when building the applications is important for your needs. In terms of bundling there is a CUI and that is a way that I prefer to start my projects. Do you want to use CSS or Webpack or...? It’s almost a wizard process! You guys have any questions about the CLI? 14:43 – Panel: Thanks! I was wondering what is actually occurring there? 15:25 – Guest: Good question. Basically it’s that Aurelia has some built-in conventions. Looking at the convention tells Aurelia to pick the Vue model by name. If I need to tell the framework more information then... 17:46 – Panel: I think that for people who are familiar with one or more framework then where on that spectrum would Aurelia fall? 18:20 – Guest: It’s not that opinionated as Ember.js. 19:09 – Panel: Talking about being opinionated – what are some good examples of the choices that you have and how that leads you down a certain path? Any more examples that you can give us? 19:38 – Guest: The main conventions are what I’ve talked about already. I can’t think of more conventions off the top of my head. There are more examples in my book. 20:02 – Panel: Your book? 20:10 – Guest: Yep. 20:13 – Panel. 20:20 – Guest. 21:58 – Panel: Why would I NOT pick Aurelia? 22:19 – Guest: If you are from a React world and you like having things contained in a single-file then Aurelia would fight you. If you want a big company backing then Aurelia isn’t for you. The guest goes into more reasons why or why not one would or wouldn’t want to use Aurelia. 24:24 – Panel: I think the best sell point is the downplay! 24:34 – Guest: Good point. What does the roadmap look like for Aurelia’s team? 25:00 – Guest: Typically, what happens in the Aurelia framework is that data binding (or router) gets pushed by the core team. They are the ones that produce the roadmap and look forward to the framework. The core team is working on the NEXT version of the framework, which is lighter, easier to use, and additional features. It’s proposed to be out for release next year. 26:36 – Advertisement – Sentry.io 27:34 – Panel: I am going to take down the CLI down and see what it does. I am looking at it and seeing how to teach someone to use it. I am using AU, new command, and it says no Aurelia found. I am stuck. 28:06 – Guest: What you would do is specify the project name that you are trying to create and that should create it for you. 28:40 – Panel. 28:45 – Panel. 28:50 – Panel: Stand up on your desk and say: does anyone know anything about computers?! 29:05 – Panelists go back-and-forth. 29:13 – Panel: What frameworks have you used in the past? 29:17 – Guest: I was using single-paged apps back in 2010. 31:10 – Panel: Tell us about the performance of Aurelia? 31:17 – Guest: I was looking at the benchmarks all the time. Last time I looked the performance was comparable. Performances can me measured in a number of different of ways. The guest talks about a dashboard screen that 20 charts or something like that. He didn’t notice any delays getting to the client. 33:29 – Panel: I heard you say the word “observables.” 33:39 – Guest answers the question. 35:30 – Guest: I am not a Redux expert, so I really can’t say. It has similar actions like Redux but the differences I really can’t say. 36:11 – Panel: We really want experts in everything! (Laughs.) 36:25 – Panelist talks about a colleagues’ talk at a conference. He says that he things are doing too much with SPAs. They have their place but we are trying to bundle 8-9 different applications but instead look at them as... What are your thoughts of having multiple SPAs? 37:17 – Guest. 39:08 – Guest: I wonder what your opinions are? What about the splitting approach? 39:22 – Panel: I haven’t looked at it, yet. I am curious, though. I have been developing in GO lately. 40:20 – Guest: I think people can go too far and making it too complex. You don’t want to make the code that complex. 40:45 – Panel: Yeah when the code is “clean” but difficult to discover that’s not good. 41:15 – Guest: I agree when you start repeating yourself then it makes it more difficult. 41:35 – Panel: Chris and I are anti-framework. We prefer to start from a fresh palette and see if a framework can fit into that fresh palette. When you start with a certain framework you are starting with certain configurations set-in-place. 42:48 – Joe: I like my frameworks and I think you are crazy! 43:05 – Panel. 43:11 – Joe: I have a love affair with all frameworks. 43:19 – Panel: I think I am somewhere in the middle. 43:49 – Panel: I don’t think frameworks are all bad but I want to say that it’s smart to not make it too complex upfront. Learn and grow. 44:28 – Guest: I think a good example of that is jQuery, right? 45:10 – Panelist talks about C++, jQuery, among other things. 45:34 – Guest: Frameworks kind of push the limits. 46:08 – Panelist talks about JavaScript, frameworks, and others. 47:04 – Panel: It seems simple to setup routes – anything to help with the lazy way to setup? 47:35 – Guest answers question. 48:37 – Panel: How do we manage complexity and how does messaging work between components? 48:54 – Guest: The simple scenario is that you can follow a simple pattern, which is (came out of Ember community) and that is...Data Down & Actions Up! 50:45 – Guest mentions that Aurelia website! 51:00 – Panel: That sounds great! Sounds like the pattern can be plugged in easily into Aurelia. 51:17 – Picks! 51:20 – Advertisement: Get A Coder Job! END – Advertisement: CacheFly! Links: JavaScript React Redux Webpack Elixir Ember.js Vue GO jQuery Node.js Puppeteer Cypress Utah JS 2018 – Justin McMurdie’s Talk Aurelia Sean Hunter’s Book! Sean Hunter’s Twitter Sean Hunter’s Website Sean Hunter’s GitHub Sponsors: Kendo UI Sentry CacheFly Picks: Joe React Conf. Endless Quest AJ Extreme Ownership GO Language Harry’s and Flamingo Jesse Sanders The Miracle Morning React Hooks Apple Products Sean Doesn’t Have to Be Crazy at Work Discount Code for Aurelia in Action - hunterpc (40% off Aurelia in Action, all formats) Apple Watch Full Article
it JSJ 343: The Power of Progressive Enhancement with Andy Bell By devchat.tv Published On :: Tue, 11 Dec 2018 06:00:00 -0500 Panel: Charles Max Wood Aimee Knight Chris Ferdinandi AJ O’Neal Special Guest: Andy Bell In this episode, the panel talks with Andy Bell who is an independent designer and developer who uses React, Vue, and Node. Today, the panelists and the guest talk about the power of progressive enhancements. Check it out! Show Topics: 0:00 – Advertisement: KENDO UI 0:34 – Chuck: Hi! Our panel is AJ, Aimee, Chris, myself and my new show is coming out in a few weeks, which is called the DevRev! It helps you with developer’s freedom! I am super excited. Our guest is Andy Bell. Introduce yourself, please. 2:00 – Guest: I am an independent designer and developer out in the U.K. 2:17 – Chuck: You wrote things about Vanilla.js. I am foreshadowing a few things and let’s talk about the power and progressive enhancement. 2:43 – The guest gives us definitions of power and progressive enhancements. He describes how it works. 3:10 – Chuck: I’ve heard that people would turn off JavaScript b/c it was security concern and then your progressive enhancement would make it work w/o JavaScript. I am sure there’s more than that? 3:28 – The guest talks about JavaScript, dependencies, among other things. 4:40 – Chuck: Your post did make that very clear I think. I am thinking I don’t even know where to start with this. Are people using the 6th version? How far back or what are we talking about here? 5:09 – Guest: You can go really far back and make it work w/o CSS. 5:49 – Chris: I am a big advocate of progressive enhancement – the pushback I get these days is that there is a divide; between the broadband era and AOL dialup. Are there compelling reasons why progressive enhancements even matter? 6:48 – Guest. 8:05 – Panel: My family lives out in the boonies. I am aware of 50% of American don’t have fast Internet. People don’t have access to fast browsers but I don’t think they are key metric users. 8:47 – Guest: It totally depends on what you need it for. It doesn’t matter if these people are paying or not. 9:31 – Chris: Assuming I have a commute on the trail and it goes through a spotty section. In a scenario that it’s dependent on the JS...are we talking about 2 different things here? 10:14 – Panelist chimes-in. 10:36 – Chris: I can take advantage of it even if I cannot afford a new machine. 10:55 – Panel: Where would this really matter to you? 11:05 – Chris: I do have a nice new laptop. 11:12 – Chuck: I had to hike up to the hill (near the house) to make a call and the connection was really poor (in OK). It’s not the norm but it can happen. 11:37 – Chris: Or how about the All Trails app when I am on the trail. 11:52 – Guest. 12:40 – Chris: I can remember at the time that the desktop sites it was popular to have... Chris: Most of those sites were inaccessible to me. 13:17 – Guest. 13:51 – Chuck: First-world countries will have a good connection and it’s not a big deal. If you are thinking though about your customers and where they live? Is that fair? I am thinking that my customers need to be able to access the podcast – what would you suggest? What are the things that you’d make sure is accessible to them. 14:31 – Guest: I like to pick on the minimum viable experience? I think to read the transcript is important than the audio (MP3). 15:47 – Chuck. 15:52 – Guest: It’s a lot easier with Vue b/c you don’t’ have to set aside rendering. 17:13 – AJ: I am thinking: that there is a way to start developing progressively and probably cheaper and easier to the person who is developing. If it saves us a buck and helps then we take action. 17:49 – Guest: It’s much easier if you start that way and if you enhance the feature itself. 18:38 – AJ: Let me ask: what are the situations where I wouldn’t / shouldn’t worry about progressive enhancements? 18:57 – Guest answers the question. 19:42 – AJ: I want people to feel motivated in a place WHERE to start. Something like a blog needs Java for comments. Hamburger menu is mentioned, too. 20:20 – Guest. 21:05 – Chris: Can we talk about code? 21:16 – Aimee: This is the direction I wanted to go. What do you mean by that – building your applications progressively? Aimee refers to his blog. 21:44 – Guest. 22:13 – Chuck: I use stock overflow! 22:20 – Guest. 22:24 – Chuck: I mean that’s what Chris uses! 22:33 – Guest (continues). 23:42 – Aimee. 23:54 – Chris. 24:09 – Chris 24:16 – Chris: Andy what do you think about that? 24:22 – Guest: Yes, that’s good. 24:35 – Chris: Where it falls apart is the resistance to progressive enhancements that it means that your approach has to be boring? 25:03 – Guest answers the question. The guest mentions modern CSS and modern JavaScript are mentioned along with tooling. 25:50 – Chuck: My issue is that when we talk about this (progressive enhancement) lowest common denominator and some user at some level (slow network) and then they can access it. Then the next level (better access) can access it. I start at the bottom and then go up. Then when they say progressive enhancement I get lost. Should I scrap it and then start over or what? 26:57 – Guest: If it’s feasible do it and then set a timeline up. 27:42 – Chuck: You are saying yes do it a layer at a time – but my question is HOW? What parts can I pair back? Are there guidelines to say: do this first and then how to test? 28:18 – Advertisement – Sentry.io 29:20 – Guest: Think about the user flow. What does the user want to do at THIS point? Do you need to work out the actual dependencies? 30:31 – Chuck: Is there a list of those capabilities somewhere? So these users can use it this way and these users can use it that way? 30:50 – Guest answers the question. 31:03 – Guest: You can pick out the big things. 31:30 – Chuck: I am using this feature in the browser... 31:41 – Guest. 31:46 – Chris: I think this differently than you Andy – I’ve stopped caring if a browser supports something new. I am fine using CSS grid and if your browser doesn’t support it then I don’t have a problem with that. I get hung up on, though if this fails can they still get the content? If they have no access to these – what should they be able to do? Note: “Cutting the Mustard Test” is mentioned. 33:37 – Guest. 33:44 – Chuck: Knowing your users and if it becomes a problem then I will figure it out. 34:00 – Chris: I couldn’t spare the time to make it happen right now b/c I am a one-man shop. 34:20 – Chuck and Chris go back-and-forth. 34:36 –Chris: Check out links below for my product. 34:54 – AJ: A lot of these things are in the name: progressive. 36:20 – Guest. 38:51 – Chris: Say that they haven’t looked at it all before. Do you mind talking about these things and what the heck is a web component? 39:14 – The guest gives us his definition of what a web component is. 40:02 – Chuck: Most recent episode in Angular about web components, but that was a few years ago. See links below for that episode. 40:25 – Aimee. 40:31 – Guest: Yes, it’s a lot like working in Vue and web components. The concepts are very similar. 41:22 – Chris: Can someone please give us an example? A literal slideshow example? 41:45 – Guest answers the question. 45:07 – Chris. 45:12 – Guest: It’s a framework that just happens to use web components and stuff to help. 45:54 – Chuck: Yeah they make it easier (Palmer). Yeah there is a crossover with Palmer team and other teams. I can say that b/c I have talked with people from both teams. Anything else? 46:39 – Chuck: Where do they go to learn more? 46:49 – Guest: Check out the Club! And my Twitter! (See links below.) 47:33 – Chuck: I want to shout-out about DevLifts that has $19 a month to help you with physical goals. Or you can get the premium slot! It’s terrific stuff. Sign-up with DEVCHAT code but there is a limited number of slots and there is a deadline, too. Just try it! They have a podcast, too! 49:16 – Aimee: Yeah, I’m on their podcast soon! 49:30 – Chuck: Picks! END – Advertisement: CacheFly! Links: JavaScript React Elixir Ember.js Vue GO jQuery Node.js Puppeteer Cypress Past episode: AiA 115 Past episode: JSJ 120 Vue.js – Slots Using templates and slots – Article Web Components Club GitHub: Pwa – Starter – Kit Progressively Enhanced Toggle Panel Time Ago in under 50 lines of JavaScript GitHub: ebook-boilerplate Chris Ferdinandi’s Go Make Things Site Game Chops CNBC – Trump Article New in Node v10.12 Quotes Archive My Amazon Interview Horror Story DevPal.io Honest Work Relative Paths DevLifts Andy Bell’s Twitter Andy’s Website Sponsors: DevLifts Kendo UI Sentry CacheFly Picks: Aimee Hacker News - Programming Quotes My Amazon Interview Horror Story Chris Time Ago in Under 50 Lines of JavaScript E-Book Boiler Plate JSJABBER at gomakethings.com AJ Experimental Drugs Bill My Browers FYI New In Node,10.12 Arcade Attack Charles Getacoderjob.com Self-Publishing School MF CEO podcast Andy Devpay.io Honest.work Relativepath.uk Full Article
it JSJ 344: Inclusive Components with Heydon Pickering By devchat.tv Published On :: Mon, 17 Dec 2018 21:02:00 -0500 Panel: Charles Max Wood Aimee Knight Chris Ferdinandi Joe Eames Special Guest: Heydon Pickering In this episode, the panel talks with Heydon Pickering who is a designer and writer. The panel and the guest talk about his new book, which is centered on the topic of today’s show: inclusive components. Check out Heydon’s Twitter, Website, GitHub, and Mastodon social accounts to learn more about him. To purchase the book – go here! Show Topics: 0:00 – Advertisement: KENDO UI 0:38 – Chuck: Aimee, Chris, Joe, and myself – we are today’s panel. My show the DevRev is available online to check it out. 1:30 – Guest: Plain ice cream would be frozen milk and that would be terrible. So I am lemon and candy JavaScript! 2:13 – Chuck: We are talking today about...? 2:22 – Chris: He’s talking about “inclusive components” today! 2:41 – Guest: Traveling is very stressful and I wanted something to do on the plane. I’ve done this book, “Inclusive Design Patterns.” If you don’t want to buy the book you can go to the blog. I have been talking with Smashing Magazine. 5:40 – Panel. 5:47 – Guest: I approached Smashing Magazine initially. They didn’t think there was a market for this content at the time. They were very supportive but we will do it as an eBook so our costs our down. At the time, the editor came back and said that: “it was quite good!” We skimmed it but came back to it now and now the content was more relevant in their eyes. I didn’t want to do the same book but I wanted to do it around “patterns.” Rewriting components is what I do all the time. I use Vanilla JavaScript. Backbone.js is the trendy one. 9:52 – Panel: The hard book did it get published? 10:02 – Guest: We are in the works and it’s all in the final stages right now. It has to go through a different process for the print version. 11:54 – Panel. 11:58 – (Guest continues about the editorial process.) 12:09 – Panel: They probably switched to TFS – it’s Microsoft’s. 12:23 – Guest: There was this argument on Twitter about the different processors. 13:35 – Chris: What are the ways that people are breaking accessibility with their code through JavaScript? 13:59 – Guest: The whole premise is that there aren’t a ton of different components that we use. Generally, speaking. Most things we do through JavaScript – it’s just different ways of doing this/that, and hiding things. I am discounting things with Node or other stuff. Most of what we are doing, with interactive design, is showing and hiding. 18:37 – Chris: I have some specialty friends where they tell me where I’ve screwed up my code. For example Eric Bailey and Scott O’Hara but, of course, in very kind ways. What are some things that I can make sure that my code is going to work for many different people. 19:18 – Guest: You have accessibility and inclusive design. People think of accessibility as a check-list and that’s okay but there could be problems with this. 26:00 – Panel: That’s a great guideline. 26:05 – Chris: You talked about ARIA roles and it can be confusing. One side is: I don’t know when to use these and the other side is: I don’t know when NOT to use these so I’m going to use them for EVERYTHING! I guess both can be detrimental. What’s your advice on this topic? 27:00 – Guest: Scott is great and I would trust him to the end of the Earth about what he says. Guest mentions Léonie Watson and her talks about this topic. 29:26 – (Guest continues.) 29:36 – Advertisement – Sentry.io 30:31 – Chris. 30:40 – Guest: There is a lot of pressure, though, right? People wouldn’t blog about this if it wasn’t worthwhile. It doesn’t matter what the style is or what the syntax is. The guest talks about not throwing ARIA onto everything. 36:34 – Aimee: Is this something that was mentioned in the book: people with disabilities and accessibility. 37:28 – Guest: Yes, of course. I think it’s important to make your interfaces flexible and robust to think and include people with disabilities. 39:00 – Guest mentions larger buttons. 40:52 – Panelists and Guest talk back-and-forth. 42:22 – Chris: It’s an accessibility and inclusivity element. I saw a dropdown menu and worked great on certain devices but not others. I could beat this horse all day long but the whole: what happens of the JavaScript file doesn’t load or just accordion options? 43:50 – Guest: It’s the progressive enhancement element. 44:05 – Guest: I think it’s worth noting. I think these things dovetail really nicely. 46:29 – Chris: Did you do a video interview, Aimee, talking about CSS? Is CSS better than JavaScript in some ways I don’t know if this is related or not? 47:03 – Aimee: When I talk about JavaScript vs. CSS...the browser optimizes those. 47:27 – Aimee: But as someone who loves JavaScript...and then some very talented people taught me that you have to find the right tool for the job. 47:29 – Guest: I am the other way around – interesting. 52:50 – Chuck: Picks! 52:55 – Advertisement – Get A Coder Job! END – Advertisement: CacheFly! Links: JavaScript Backbone.js Microsoft’s TFS Léonie Watson React Elixir Ember.js Vue GO jQuery Node.js Puppeteer Cypress Heydon’s GitHub Heydon’s Mastodon Heydon’s Book Medium Article on Heydon Heydon’s Website Heydon’s Twitter Sponsors: DevLifts Kendo UI Sentry CacheFly Picks: Joe Chris Ferdinandi's Blog Luxur board game Cypress.io Aimee Blog about interviewing Birthday Cake Quest Bar Chris Web Dev Career Guide: https://gomakethings.com/career-guide/ Use FREECAREER at checkout to get it for free Neapolitan Ice Cream Netflix Web Performance case study Charles Disney Heroes Battle Mode MFCEO Project Podcast Gary Lee Audio Experience Suggestions for JavaScript Jabber Heydon Bruck What is Mastodon and why should I use it? Full Article
it JSJ 345: Azure Devops with Donovan Brown LIVE at Microsoft Ignite By devchat.tv Published On :: Tue, 25 Dec 2018 06:00:00 -0500 Panel: Charles Max Woods Special Guests: Donovan Brown In this episode, the Charles speaks with Donovan Brown. He is a principal DevOps Manager with Microsoft with a background in application development. He also runs one of the nation’s fastest growing online registration sites for motorsports events DLBRACING.com. When he is not writing software, he races cars for fun. Listen to today’s episode where Chuck and Donovan talk about DevOps, Azure, Python, Angular, React, Vue, and much, much more! Show Topics: 1:41 – Chuck: The philosophies around DevOps. Just to give you an idea, I have been thinking about what I want to do with the podcasts. Freedom to work on what we want or freedom to work where we want, etc. Then that goes into things we don’t want to do, like fix bugs, etc. How does Microsoft DevOps to choose what they want to do? 2:37 – Guest: We want to automate as much as we can so the developer has less work. As a developer I want to commit code, do another task, rinse and repeating. Minutes and not even hours later then people are tweeting about the next best thing. Do what you want, where you want. Code any language you want. 4:15 – Chuck: What has changed? 4:19 – Guest: The branding changed. The name wasn’t the most favorite among the people. The word “visual” was a concerned. What we have noticed that Azure will let me run my code no matter where I am. If you want to run Python or others it can run in Azure. People didn’t need all of it. It comes with depositories, project management, and so much more! People could feel clumsy because there is so much stuff. We can streamline that now, and you can turn off that feature so you don’t have a heart attack. Maybe you are using us for some features not all of them – cool. 7:40 – Chuck: With deployments and other things – we don’t talk about the process for development a lot. 8:00 – Guest talks about the things that can help out with that. Guest: Our process is going to help guide you. We have that all built into the Azure tab feature. They feel and act differently. I tell all the people all the time that it’s brilliant stuff. There are 3 different templates. The templates actually change over the language. You don’t have to do mental math. 9:57 – Chuck: Just talking about the process. Which of these things we work on next when I’ve got a bug, or a ... 10:20 – Guest: The board system works like for example you have a bug. The steps to reproduce that bug, so that there is no question what go into this specific field. Let the anatomy of the feature do it itself! 11:54 – Chuck comments. 12:26 – Chuck: Back to the feature. Creating the user stories is a different process than X. 12:44 – Guest – You have a hierarchy then, right? Also what is really cool is we have case state management. I can click on this and I expect this to happen... These are actual tasks that I can run. 13:52 – Chuck: Once you have those tests written can you pull those into your CI? 14:00 – Guest: “Manual tests x0.” Guest dives into the question. 14:47 – I expect my team to write those test cases. The answer to your question is yes and no. We got so good at it that we found something that didn’t even exist, yet. 16:19 – Guest: As a developer it might be mind 16:29 – Chuck: I fixed this bug 4x, I wished I had CI to help me. 16:46 – Guest: You get a bug, then you fix a code, etc., etc. You don’t know that this original bug just came back. Fix it again. Am I in Groundhog Day? They are related to each other. You don’t have a unit test to tell you. When you get that very first bug – write a unit test. It will make you quicker at fixing it. A unit test you can write really fast over, and over, again. The test is passing. What do you do? Test it. Write the code to fix that unit test. You can see that how these relate to each other. That’s the beauty in it. 18:33 – Chuck: 90% of the unit tests I write – even 95% of the time they pass. It’s the 5% you would have no idea that it’s related. I can remember broad strokes of the code that I wrote, but 3 months down the road I can’t remember. 19:14 – Guest: If you are in a time crunch – I don’t have time for this unit test. Guest gives us a hypothetical situation to show how unit tests really can help. 20:25 – Make it muscle memory to unit test. I am a faster developer with the unit tests. 20:45 – Chuck: In the beginning it took forever. Now it’s just how I write software now. It guides my thought process. 21:06 – Guest: Yes! I agree. 22:00 – Guest: Don’t do the unit tests 22:10 – Chuck: Other place is when you write a new feature,...go through the process. Write unit tests for the things that you’ve touched. Expand your level of comfort. DevOps – we are talking about processes. Sounds like your DevOps is a flexible tool. Some people are looking for A METHOD. Like a business coach. Does Azure DevOps do that? 23:13 – Guest: Azure DevOps Projects. YoTeam. Note.js, Java and others are mentioned by the Guest. 25:00 – Code Badges’ Advertisement 25:48 – Chuck: I am curious – 2 test sweets for Angular or React or Vue. How does that work? 26:05 – Guest: So that is Jasmine or Mocha? So it really doesn’t matter. I’m a big fan of Mocha. It tests itself. I install local to my project alone – I can do it on any CI system in the world. YoTeam is not used in your pipeline. Install 2 parts – Yo and Generator – Team. Answer the questions and it’s awesome. I’ve done conferences in New Zealand. 28:37 – Chuck: Why would I go anywhere else? 28:44 – Guest: YoTeam was the idea of... 28:57 – Check out Guest 29:02 – Guest: I want Donovan in a box. If I weren’t there then the show wouldn’t exist today. 29:40 – Chuck: Asks a question. 29:46 – Guest: 5 different verticals. Check out this timestamp to see what Donovan says the 5 different verticals are. Pipelines is 1 of the 5. 30:55 – Chuck: Yep – it works on my Mac. 31:04 – Guest: We also have Test Plant and Artifacts. 31:42 – Chuck: Can you resolve that on your developer machine? 31:46 – Guest: Yes, absolutely! There is my private repository and... 33:14 – Guest: *People not included in box.* 33:33 – Guest: It’s people driven. We guide you through the process. The value is the most important part and people is the hardest part, but once on 33:59 – Chuck: I am listening to this show and I want to try this out. I want a demo setup so I can show my boss. How do I show him that it works? 34:27 – Azure.com/devops – that is a great landing page. How can I get a demo going? You can say here is my account – and they can put a demo into your account. I would not do a demo that this is cool. We start you for free. Create an account. Let the CI be the proof. It’s your job to do this, because it will make you more efficient. You need me to be using these tools. 36:11 – Chuck comments. 36:17 – Guest: Say you are on a team of developers and love GitHub and things that integration is stupid, but how many people would disagree about... 38:02 – The reports prove it for themselves. 38:20 – Chuck: You can get started for free – so when do you have to start paying for it? 38:31 – Guest: Get 4 of your buddies and then need more people it’s $6 a month. 39:33 – Chuck adds in comments. If this is free? 39:43 – Guest goes into the details about plans and such for this tool. 40:17 – Chuck: How easy it is to migrate away from it? 40:22 – Guest: It’s GITHub. 40:30 – Chuck: People are looing data on their CI. 40:40 – Guest: You can comb that information there over the past 4 years but I don’t know if any system would let you export that history. 41:08 – Chuck: Yeah, you are right. 41:16 – Guest adds more into this topic. 41:25 – Chuck: Yeah it’s all into the machine. 41:38 – Chuck: Good deal. 41:43 – Guest: It’s like a drug. I would never leave it. I was using TFS before Microsoft. 42:08 – Chuck: Other question: continuous deployment. 42:56 – When I say every platform, I mean every platform: mobile devices, AWS, Azure, etc. Anything you can do from a command line you can do from our build and release system. PowerShell you don’t have to abandon it. 45:20 – Guest: I can’t remember what that tool is called! 45:33 – Guest: Anything you can do from a command line. Before firewall. Anything you want. 45:52 – Guest: I love my job because I get to help developers. 46:03 – Chuck: What do you think the biggest mistake people are doing? 46:12 – Guest: They are trying to do it all at once. Fix that one little thing. It’s instant value with no risks whatsoever. Go setup and it takes 15 minutes total. Now that we have this continuous build, now let’s go and deploy it. Don’t dream up what you think your pipeline should look like. Do one thing at a time. What hurts the most that it’s “buggy.” Let’s add that to the pipeline. It’s in your pipeline today, what hurts the most, and don’t do it all at once. 49:14 – Chuck: I thought you’d say: I don’t have the time. 49:25 – Guest: Say you work on it 15 minutes a day. 3 days in – 45 minutes in you have a CSI system that works forever. Yes I agree because people think they don’t “have the time.” 50:18 – Guest continues this conversation. How do you not have CI? Just install it – don’t ask. Just do the right thing. 50:40 – Chuck: I free-lanced and setup CI for my team. After a month, getting warned, we had a monitor up on the screen and it was either RED or GREEN. It was basically – hey this hurts and now we know. Either we are going to have pain or not have pain. 51:41 – Guest continues this conversation. Have pain – we should only have pain once or twice a year. Rollback. If you only have it every 6 months, that’s not too bad. The pain will motivate you. 52:40 – Azure.com/devops. Azure DevOps’ Twitter 53:22 – Picks! 53:30 – Advertisement – Get a Coder Job Links: Donovan Brown’s GitHub Donovan Brown’s Twitter Donovan Brown Donovan Brown – Channel 9 Donovan Brown – Microsoft Azure YoTeam Azure.com/devops GitHub Azure DevOps’ Twitter Sponsors: Angular Boot Camp Digital Ocean Get a Coder Job course Picks: Charles Jet Blue Beta Testers Donovan YoTeam VSTeam Powershell Module Full Article
it JSJ 346: Azure Pipelines with Ed Thomson LIVE at Microsoft Ignite By devchat.tv Published On :: Tue, 08 Jan 2019 06:00:00 -0500 Sponsors: KendoUI Sentry use the code "devchat" for $100 credit Clubhouse Panel: Charles Max Wood Special Guests: Ed Thomson In this episode, the Charles speaks with Ed Thomson who is a Program Manager at Azure through Microsoft, Developer, and Open Source Maintainer. Ed and Chuck discuss in full detail about Azure DevOps! Check out today’s episode to hear its new features and other exciting news! Show Topics: 0:59 – Live at Microsoft Ignite 1:03 – Ed: Hi! I am a Program Manager at Azure. 1:28 – Rewind 2 episodes to hear more about Azure DevOps! 1:51 – Ed: One of the moves from Pipelines to DevOps – they could still adopt Pipelines. Now that they are separate services – it’s great. 2:38 – Chuck talks about features he does and doesn’t use. 2:54 – Ed. 3:00 – Chuck: Repos and Pipelines. I am going to dive right in. Let’s talk about Repos. Microsoft just acquired GitHub. 3:18 – Ed: Technically we have not officially acquired GitHub. 3:34 – Chuck: It’s not done. It’s the end of September now. 3:55 – Ed: They will remain the same thing for a while. GitHub is the home for open source. Repos – we use it in Microsoft. Repositories are huge. There are 4,000 engineers working in these repositories. Everyone works in his or her own little area, and you have to work together. You have to do all this engineering to get there. We bit a tool and it basically if you run clone... Ed continues to talk about this topic. He is talking about One Drive and these repositories. 6:28 – Ed: We aren’t going to be mixing and matching. I used to work through GitHub. It’s exciting to see those people work close to me. 6:54 – Chuck. 6:59 – Ed: It has come a long way. 7:07 – Chuck: Beyond the FSF are we talking about other features or? 7:21 – Ed: We have unique features. We have branch policies. You can require that people do pole request. You have to use pole request and your CI has to pass and things like that. I think there is a lot of richness in our auditing. We have enterprise focus. At its core it still is Git. We can all interoperate. 8:17 – Chuck. 8:37 – Ed: You just can’t set it up with Apache. You have to figure it out. 8:51 – Chuck: The method of pushing and pulling. 9:06 – Chuck: You can try DevOps for free up to 5 users and unlimited private repos. People are interested in this because GitHub makes you pay for that. 9:38 – Ed and Chuck continue to talk. 9:50 – Ed: Pipelines is the most interesting thing we are working on. We have revamped the entire experience. Build and release. It’s easy to get started. We have a visual designer. Super helpful – super straightforward. Releases once your code is built – get it out to production say for example Azure. It’s the important thing to get your code out there. 10:55 – Chuck: How can someone start with this? 11:00 – Ed: Depends on where your repository is. It will look at your code. “Oh, I know what that is, I know how to build that!” Maybe everyone isn’t doing everything with JavaScript. If you are using DotNet then it will know. 12:05 – Chuck: What if I am using both a backend and a frontend? 12:11 – Ed: One repository? That’s when you will have to do a little hand packing on the... There are different opportunities there. If you have a bash script that does it for you. If not, then you can orchestrate it. Reduce the time it takes. If it’s an open source project; there’s 2 – what are you going to do with the other 8? You’d be surprised – people try to sneak that in there. 13:30 – Chuck: It seems like continuous integration isn’t a whole lot complicated. 13:39 – Ed: I am a simple guy that’s how I do it. You can do advanced stuff, though. The Cake Build system – they are doing some crazy things. We have got Windows, Lennox, and others. Are you building for Raspberries Pies, then okay, do this... It’s not just running a script. 15:00 – Chuck: People do get pretty complicated if they want. It can get complicated. Who knows? 15:26 – Chuck: How much work do you have to do to set-up a Pipeline like that? 15:37 – Ed answers the question in detail. 16:03 – Chuck asks a question. 16:12 – Ed: Now this is where it gets contentious. If one fails... Our default task out of the box... 16:56 – Chuck: If you want 2 steps you can (like me who is crazy). 17:05 – Ed: Yes, I want to see if it failed. 17:17 – Chuck: Dude, writing code is hard. Once you have it built and tested – continuous deployment. 17:33 – Ed: It’s very easy. It’s super straightforward, it doesn’t have to be Azure (although I hope it is!). Ed continues this conversation. 18:43 – Chuck: And it just pulls it? 18:49 – Ed: Don’t poke holes into your firewall. We do give you a lot of flexibility 19:04 – Chuck: VPN credentials? 19:10 – Ed: Just run the... 19:25 – Chuck comments. 19:36 – Ed: ...Take that Zip... 20:02 – Ed: Once the planets are finely aligned then...it will just pull from it. 20:25 – Chuck: I host my stuff on Digital Ocean. 20:46 – Ed: It’s been awhile since I played with... 20:55 – Chuck. 20:59 – Ed and Chuck go back and forth with different situations and hypothetical situations. 21:10 – Ed: What is Phoenix? 21:20 – Chuck explains it. 21:25 – Ed: Here is what we probably don’t have is a lot of ERLANG support. 22:41 – Advertisement. 23:31 – Chuck: Let’s just say it’s a possibility. We took the strip down node and... 23:49 – Ed: I think it’s going to happen. 23:55 – Ed: Exactly. 24:02 – Chuck: Testing against Azure services. So, it’s one thing to run on my machine but it’s another thing when other things connect nicely with an Azure set-up. Does it connect natively once it’s in the Azure cloud? 24:35 – Ed: It should, but there are so many services, so I don’t want to say that everything is identical. We will say yes with an asterisk. 25:07 – Chuck: With continuous deployment... 25:41 – Ed: As an example: I have a CD Pipeline for my website. Every time I merge into master... Ed continues this hypothetical situation with full details. Check it out! 27:03 – Chuck: You probably can do just about anything – deploy by Tweet! 27:15 – Ed: You can stop the deployment if people on Twitter start complaining. 27:40 – Chuck: That is awesome! IF it is something you care about – and if it’s worth the time – then why not? If you don’t have to think about it then great. I have mentioned this before: Am I solving interesting problems? What projects do I want to work on? What kinds of contributions do I really want to contribute to open source? That’s the thing – if you have all these tools that are set-up then your process, how do you work on what, and remove the pain points then you can just write code so people can use! That’s the power of this – because it catches the bug before I have to catch it – then that saves me time. 30:08 – Ed: That’s the dream of computers is that the computers are supposed to make OUR lives easier. IF we can do that and catch those bugs before you catch it then you are saving time. Finding bugs as quickly as possible it avoids downtime and messy deployments. 31:03 – Chuck: Then you can use time for coding style and other things. I can take mental shortcuts. 31:37 – Ed: The other thing you can do is avoiding security problems. If a static code analysis tool catches an integer overflow then... 32:30 – Chuck adds his comments. Chuck: You can set your policy to block it or ignore it. Then you are running these tools to run security. There are third-party tools that do security analysis on your code. Do you integrate with those? 33:00 – Ed: Yep. My favorite is WhiteSource. It knows all of the open source and third-party tools. It can scan your code and... 34:05 – Chuck: It works with a lot of languages. 34:14 – Ed. 34:25 – Chuck: A lot of JavaScript developers are getting into mobile development, like Ionic, and others. You have all these systems out there for different stages for writing for mobile. Android, windows Phone, Blackberry... 35:04 – Ed: Let’s throw out Blackberry builds. We will ignore it. Mac OS dies a fine job. That’s why we have all of those. 35:29 – Chuck: But I want to run my tests, too! 35:36 – Ed: I really like to use App Center. It is ultimately incredible to see all the tests you can run. 36:29 – Chuck: The deployment is different, though, right? 36:40 – Ed: I have a friend who clicks a button in... Azure DevOps. 37:00 – Chuck: I like to remind people that this isn’t a new product. 37:15 – Ed: Yes, Azure DevOps. 37:24 – Chuck: Any new features that are coming out? 37:27 – Ed: We took a little break, but... 37:47 – Ed: We will pick back up once Ignite is over. We have a timeline on our website when we expect to launch some new features, and some are secret, so keep checking out the website. 39:07 – Chuck: What is the interplay between Azure DevOps and Visual Studio Code? Because they have plugins for freaking everything. I am sure there is something there that... 39:30 – Ed: I am a VI guy and I’m like 90% sure there is something there. You are an eMac’s guy? The way I think about it is through Git right out of the box. Yes, I think there are better things out there for integration. I know we have a lot of great things in Visual Code, because I worked with it. 40:45 – Chuck: Yes, people can look for extensions and see what the capabilities are. Chuck talks about code editor and tools. 41:28 – Ed: ... we have been pulling that out as quickly as possible. We do have IE extensions, I am sure there is something for VS Code – but it’s not where I want to spend my time. 42:02 – Chuck: Yes, sure. 42:07 – Ed: But everyone is different – they won’t work the way that I work. So there’s that. 42:30 – Ed: That Chuck. 42:36 – Chuck: Where do people get news? 42:42 – Ed: Go to here! 42:54 – Chuck: Where do people find you? 43:00 – Ed: Twitter! 43:07 – Chuck: Let’s do Picks! 43:20 – Advertisement – Fresh Books! Links: GitHub Microsoft’s Azure Microsoft’s Pipeline Azure DevOps Erlang WhiteSource Chuck’s Twitter Ed Thomson’s Twitter Ed Thomson’s GitHub Ed Thomson’s Website Ed Thomson’s LinkedIn Picks: Ed Podcast - All Things Git Full Article
it JSJ 347: JAMstack with Divya Sasidharan & Phil Hawksworth By devchat.tv Published On :: Tue, 15 Jan 2019 05:00:00 -0500 Sponsors KendoUI Sentry use the code “devchat” for $100 credit Clubhouse Panel AJ O’Neal Chris Ferdinandi Charles Max Wood Joined by special guest: Phil Hawksworth and Divya Sasidharan Episode Summary This episode features special guests Philip Hawksworth and Divya Sasidharan. Phil lives just outside of London and Divya lives in Chicago, and both of them work for Netlify. Divya is also a regular on the Devchat show Views on Vue. The panelists begin by discussing what JAMstack is. JAM stands for JavaScript, API, and Markup. It used to be known as the new name for static sites, but it’s much more than that. Phil talks about how dynamic ‘static’ sites really are. JAMstack sites range from very simple to very complex, Static is actually a misnomer. JAMstack makes making, deploying, and publishing as simple as possible. The panelists discuss the differences between building your own API and JAMstack and how JavaScript fits into the JAMstack ecosystem. They talk about keys and secrets in APIs and the best way to handle credentials in a static site. There are multiple ways to handle it, but Netlify has some built in solutions. All you have to do is write your logic for what you want your function to do and what packages you want included in it, they do all the rest. Every deployment you make stays there, so you can always roll back to a previous version. Charles asks about how to convert a website that’s built on a CMS to a static site and some of the tools available on Netlify. They finish by discussing different hangups on migrating platforms for things like Devchat (which is built on WordPress) and the benefits of switching servers. Links API React JAMstack CMS (content management system) CDM (Customer Data Management) Markup UI (User Interface) Jekyll Progressive Enhancement 11ty Hugo React Static Gatsby Vue AWS AWS Lambda Azure Markdown WordPress Zapier Stefan Baumgartner article RSS feed Picks AJ O’Neal: Prince Ali Ababwa (Aladdin) Node v.10.12 Chris Ferdinandi: Bouncer Philip Morgan Consulting Jonathan Stark Consulting Charles Max Wood: Mastadon Social Thanksgiving turkey Phil Hawksworth: Dripping (solidified meat drippings spread on toast) They Shall Not Grow Old Divya Sasidharan: Fear, Trust, and JavaScript Women’s Pockets Are Inferior Debt: A Love Story Full Article
it JSJ 348: EnactJS with Ryan Duffy By devchat.tv Published On :: Tue, 22 Jan 2019 06:00:00 -0500 Sponsors KendoUI Sentry use the code "devchat" for $100 credit Clubhouse CacheFly Panel Aimee Knight Aaron Frost Chris Ferdinandi Joe Eames Special Guest: Ryan Duffy In this episode of JavaScript Jabber, the panelists talk with Ryan Duffy who works on the EnactJS framework at LG Electronics. Ryan explains the framework in depth and answers all the questions about its design and implementation from the panelists and discusses some challenges faced along the way. Check it out! Show Notes: 00:28 – Advertisement - KendoUI 1:08 - Ryan introduces himself and explains a bit about the EnactJS framework. While giving some background, he says that it is the 3rd generation of web frameworks that supports apps on webOS and they started building Enact on top of React about two years ago. 2:00 - Aimee asks what exactly does webOS mean. Ryan answers that webOS was created by Palm for phones and related devices and it has several instances of chromium running on device with some service layer stuff. 2:36 - Aaron mentions that webOS was big when other operating systems were still coming up, and Ryan agrees saying that it didn’t get the adoption needed to make it successful later. 3:00 - Ryan says that he always loved building apps for webOS phones given the flexibility and ease coming from a web development background. 3:53 - Aaron asks on which other applications is webOS running other than TV. Ryan answers that TV is one of the major consumptions, and it also runs on certain robots such as the concierge ones, watches to some extent and a lot of projects internally, not yet released in the market. 4:50 - Aaron asks if the Enact framework is big internally at LG. Ryan replies that it is the primary framework used for apps running on webOS. 5:03 - Aaron enquires about the nature of adoption of Enact for third party or non-LG people, to which Ryan states that Enact remains the standard framework for people who are building apps. 5:32 - Joe joins in the conversation. 6:25 - Aaron remarks that given that webOS is used in latest robots, televisions, watches and other such apps, it sounds like they are heavily investing into it. Ryan affirms by saying that the webOS journey goes from Palm phones to HP tablets to finally coming to LG. He goes on to explain their team structure, stating that there are two major teams in play right now - the R&D team is in the US and the implementation team is in Korea. 8:00 - Aaron asks about the role their team plays in the app development. Ryan replies that his team is the stack team that forms the foundation for the apps and they take decisions on what the components should look like and similar tasks. The app teams based in Korea decide their menu based on those decisions. 8:35 - Aaron asks what exactly is meant by the Blink team. Ryan answers that the it’s the team that works with an LG customized version of chromium. 9:10 – Aaron then asks about his individual role in the team. Ryan says that he is one of the managers of the stack team and he’s been on the team for little more than 4 years. 9:30 - Aaron asks about the evolution of the framework over time. Ryan describes the historical background by saying that in the initial Enyo design the team built, was component based, and every tool needed to build single page apps had to be developed from scratch. He says that they felt the need to move on to an improved framework as they wanted to take advantage of the robust ecosystem that existed, so they ported component libraries of Enyo using the React toolset to form Enact. 11:43 - Aaron asks if Enyo then ceased to exist to which Ryan states that it is still around to some extent. 12:20 - Aaron asks if the team has something like “create Enact app” to create a new app internally, like React. Ryan mentions that Jason - a tooling and automation expert from their team has built a feature called V8 snapshot - which loads JavaScript into memory and takes a snapshot - can in turn be loaded by the TV to launch the app in order to achieve a faster load time. He says that their long-term goal is to increase compatibility with the ecosystem. 14:40 - Aaron asks if he can use the React CLI to create something for TV as a third-party developer. Ryan elaborates that CLI can be used to build, compile and bundle apps and there is another tool- SDK to bundle it for delivery to the TV. The app is tested fully in chrome, bundled and deployed to the TV. 15:25 - Aaron asks if choosing React was a natural decision for the team. Ryan explains that they researched on some component-based frameworks that were available at that time and found that React was the best choice. 17:30 - Aimee asks the reason for open sourcing the framework. Ryan mentions that Enyo always has been open source. He also remarks that the team does not get a lot of input from the community and would like to get more information about what’s working and what’s not and how they can contribute back. 19:40 - Aaron asks about the kind of apps can be built by using Enact except for TV. Ryan says that any kind can be built but the hesitation is that the UI library is specially designed for TV, so they may look different for other spaces like phones or other devices. 20:35 – Advertisement – Sentry – Use the code “devchat” to get two months free on Sentry’s small plan. 21:30 - Aaron asks what decisions around making apps are made by Enact for the developers. Ryan explains that the architectural pattern they have chosen is higher order components, and there is a lot of attention on render props that can be easily plugged into the apps. 22:48 - Aaron asks if the state part was built by the team on their own. Ryan answers in affirmative that everything in Enact is completely built by the team, no external states are used within the framework. No decisions are made in the data space yet. He mentions that they had tried to limit their Enact development effort in cases where the solution was already available unless they had a new perspective on the problem. 24:30 - Aaron remarks the idea of Enact being something like a webpack is becoming clearer for him and asks Ryan if his team is spending most of their time in building component libraries. Ryan affirms by explaining that Enact is designed in layers. He goes on to explain that focus management is a difficult problem to solve where the ability to navigate an application intuitively such as in the case of remote control is handled by a certain component. Also, as LG ships TVs all over the world, there are significant internationalization requirements. He then elucidates the TV centric moonstone library in detail and states that they took all the base capabilities from it and formed a UI layer. 27:26 - Aaron asks if moonstone is theme-able. Ryan says that it’s not and the UI layer in not styled. 28:40 - Chris asks, as someone who manages open source projects and builds tools, about the process of making decisions on the kind of components to include and challenges Ryan and his team faced in the open source space. 29:45 – Ryan says that they haven’t had the ideal open source experience yet. They do have a lot of discussions on API design and components but it’s a struggle to what to include and what to not. 31:25 - Chris shares his own experience while stating that finding a common ground is always hard especially when there is internal resistance in convincing people to use new software. Ryan says that internally their biggest struggle is that a group of people use the Qt platform and there is chunk of webOS that is built on it and not on Enact. Trying to convince people to do the migration from Enyo to Enact was difficult but they have had most success in trying to eliminate friction and it was easier in the sense that there weren’t any required parameters for things. 36:05 – Aaron states that all his questions are answered and his understanding of Enact is clear. 36:21 – Advertisement - Clubhouse 37:10 – Picks! 43:41- END – Advertisement - CacheFly! Picks Joe Monsters of Feyland Chris Presentation by Eric Bailey on Accessibility - If its interactive, it needs a focus style Jimu Robots Wall-E Aimee Coworkers at NPM Aaron Pierogi The Cursed Child Ryan EnactJS Thinking, Fast and Slow Firefox DevTools Full Article
it JSJ 349: Agile Development - The Technical Side with James Shore By devchat.tv Published On :: Tue, 29 Jan 2019 20:15:00 -0500 Sponsors KendoUI Sentry use the code “devchat” for $100 credit Clubhouse Panel AJ O’Neal Aimee Knight Joe Eames Charles Max Wood Special Guest: James Shore Episode Summary James Shore is a developer who specializing in extreme programming, an Agile method. He also used to host a screencast called Let’s Code Test-Driven JavaScript. They begin by discussing the core of Agile development, which James believes is being responsive to customers and business partners in a way that’s sustainable and humane for the programmers involved. It prioritizes individuals and interactions over processes and tools. More can be found in The Agile Manifesto. James delves into the historical context of the immersion of Agile and how things have changed from the 90’s. Now, the name Agile is everywhere, but the ideals of agile are not as common. There is a tendency to either take Agile buzzwords and apply them to the way it was done long ago, or it’s absolute chaos. James talks about ways to implement Agile in the workplace. He believes that the best way to learn Agile is work with someone who knows Agile, or read a book on it and then apply it. James recommends his book The Art of Agile Development: Pragmatic Guide to Agile Software Development for people who want to started with Agile development. The panelists talk about where people often get stuck with implementing Agile. The hosts talk about their own processes in their company. They discuss how people involved in the early days of Agile are disappointed in how commercial it has become.They agree that what’s really the most important is the results. If you can respond to a request to change direction in less than two weeks and you don’t have to spend months and months preparing something, and you do that in a way where the people on the team feel like their contributing, then you’re doing Agile. James thinks that the true genius of Agile is in the way the actual work is done rather than in the way your organize the work. Links Agile Scrum Waterfall Feature Driven Development Extreme Programming (XP) Jira Bamboo Confluence Atlassian stack Cowboy Mock objects Grows Method by Andy Hunt Picks AJ O’Neal: Origin by Dan Brown Searching Aimee Knight: Hacker News Interview Questions Thread. Joe Eames: The Ballad of Buster Scruggs on Netflix Charles Max Wood: Getting up early John Sonmez Kanbanflow video Drip James Shore: Lost in Space on Netflix Star Citizen PC game Jame’s Agile book online Full Article
it JSJ 351: Dinero.js with Sarah Dayan By devchat.tv Published On :: Tue, 12 Feb 2019 06:01:00 -0500 Sponsors Netlify Sentry use the code "devchat" for $100 credit Clubhouse Panel: Joe Eames Aimee Knight Chris Ferdinandi AJ O’Neal Charles Max Wood Special Guest - Sarah Dayan In this episode of JavaScript Jabber, the panelists talk to Sarah Dayan, who is a Frontend Software Engineer working for Algolia in Paris. They about the complications in handling money in software development and ask Sarah about the journey that led to the creation of Dinero.js, it’s implementation details, importance of maintaining good documentation, dealing with issues faced along the way, various features of Dinero and working with open source projects in general. Check it out! Show Topics: 0.40 - Advertisement : Netlify 1:44 - Sarah introduces herself and Chris talks about his interest in learning more about Dinero and compliments Sarah on its great documentation. 3.10 - Sarah gives some background saying that she created and published Dinero around a year ago. She goes on to explain that the Dinero library helps in handling monetary values. It comes with several methods to parse, manipulate and format these values. The reason behind creating it is that there is no consensus on representing money in software development currently. She shares the story from her previous job where her work was to maintain legacy accounting software, and along the way they realized, that since JavaScript did not have a way to natively represent decimal values, it led to adding large numbers of rounded up numbers continuously, eventually leading to wrong computations. 6:50 - Aimee asks about ways to handle different currencies in Dinero. Sarah answers that she has followed Martin Fowler’s money pattern where two different currencies were not allowed to be worked on directly, conversion was mandatory, just like in real life. 7:50 - Charles talks about his old freelance work where he was overwhelmed while handling and representing money in software. 8:25 - Aimee enquires if Dinero can be used for both frontend and backend. Sarah replies that it can be used anywhere and explains that there is no such thing as just a number when it comes to money, there must be a currency associated with it. 9:30 - Charles asks how to figure out the direction to go to when dealing with money and to make sure that all use-cases are covered. Sarah answers that in cases such as floating-point math where the computations don’t end up being accurate as handling is not supported, numbers can be used if treated as subunits (for e.g. 100cents = 1$). However, even then, there are issues in dividing money. She then explains the procedure of “allocation” from the Fowler pattern and she says that Dinero helps in doing the same in such scenarios. 12:54 - They discuss how they did not realize how difficult it was dealing with monetary values in development. Sarah talks about the fact that there are numerous aspects involved in it, giving the example of rounding off and stating that there are even factors such as different laws in different countries that need to be considered. 16:00 - AJ asks details about crafting the library, maintaining the centralized code and covering of edge cases and using inheritance. Sarah explains the concept of domain driven development and the importance of being an expert in the respective domains. She talks about the library structure briefly, describing that is kept very simple with a module pattern and it has allowed her to manage visibility, make it immutable, include currency converters, formatters and so on. 19:34 - AJ asks about the internal complexity of the implementation. Sarah answers that code wise it is extremely simple and easy, anyone with a limited JavaScript experience can understand it. 20:50 - AJ asks if it’s open source to which Sarah answers in affirmative and says that she would like external help with implementing some features too. 22:10 - Chris asks about Sarah’s excellent documentation approach, how has she managed to do it in a very detailed manner and how important it is in an open source project. Sarah says that she believes that documentation is extremely important, and not having good docs is a big hindrance to developers and to anyone who is trying to learn in general. She talks about her love for writing which explains the presence of annotations and examples in the source code. 27:50 - Charles discusses how autogenerated documentation gives an explanation about the methods and functions in the code but there is no guidance as such, so it is important to have guides. Sarah agrees by saying that searching for exact solutions is much simpler with it, leading to saving time as well. 29:43 - Chris speaks about Vue also being quite good at having guides and links and thanks Sarah for her work on Dinero. 30:15 - Advertisement - Sentry - Use code “devchat” to get two months free on Sentry’s small plan. 31:23 - Chris asks what the process is, for creating and running Dinero in different places. Sarah explains that she uses rollup.js which is a bundler suited for libraries, it takes in the ES module library and gives the output in any format. She states that the reason for using the ES module library is that she wanted to provide several builds for several environments with a clean and simple source and goes on to explain that these modules are native, have a terse syntax, easy to read and can be statically analyzed. She also gives the disadvantages in choosing webpack over rollup. 36:05 - Charles asks if anyone else is using Dinero. Sarah replies that around two or three people are using it, not much, but she is happy that it is out there to help people and she enjoyed working on it. 37:50 - Joe asks if there are any interesting stories about issues such as involving weird currency. Sarah answers in affirmative and gives the example of the method “hasCents”. She explains that she had to deprecate it because the unit “cents” does not have any value in non-Western currencies, and has created “hasSubUnits” method instead. She explains some problems like dealing with currencies that don’t support the ISO 4217 standard. 42:30 - Joe asks if social and political upheavals that affect the currencies have any effect on the library too. Sarah gives the example of Chinese and Japanese currencies where there are no sub-units and states that it is important to be flexible in developing stuff in an ever-changing domain like money. She also says that she does not include any third-party dependency in the library. 46:00 - AJ says that BigInts have arrived in JavaScript but there is no way to convert between typed arrays, hexadecimal or other storage formats. But later (1:10:55), he corrects that statement saying that BigInts in fact, does have support for hexadecimals. Sarah talks about wanting to keep the code simple and keep developer experience great. 49:08 - Charles asks about the features in Dinero. Sarah elaborates on wanting to work more on detecting currencies, improve the way it is built, provide better support for type libraries and get much better at documentation. 52:32 - Charles says that it is good that Sarah is thinking about adopting Dinero to fit people’s needs and requirements and asks about different forms of outreach. Sarah says that she blogs a lot, is active on Twitter and attends conferences as well. Her goal is not popularity per se but to help people and keep on improving the product. 55:47 - Chris talks about the flip side that as the product grows and becomes popular, the number of support requests increases too. Sarah agrees that open source projects tend to eat up a lot of time and that doing such projects comes with a lot of responsibility but can also help in getting jobs. 59:47 - Sarah says that she is available online on her blog - frontstuff, on Twitter as Sarah Dayan and on GitHub as sarahdayan. 1:00:06 - Advertisement - Clubhouse 1:01:01 - Picks! 1:11:42 - END - Advertisement - CacheFly! Picks: Sarah DocSearch - Algolia AJ O’Neal The Legendary Profile by Modern Jazz Quartet Webcam Cover by Dcreate How Music Works - David Byrne Chris Tommy Hodgins Code Series Tom Scott - YouTube Future Man Joe Timeless A Christmas Carol narrated by Patrick Stewart Aimee Hacker News thread on working with Legacy Codebases Charles George Marathon Garmin Forerunner 235 Full Article
it JSJ 352: Caffeinated Style Sheets: Supporting High Level CSS with JavaScript with Tommy Hodgins By devchat.tv Published On :: Mon, 18 Feb 2019 23:37:00 -0500 Sponsors Sentry- use the code “devchat” for $100 credit Netlify Clubhouse CacheFly Episode Summary In this episode of JavaScript Jabber, the panelists talk with Tommy Hodgins who specializes in responsive web design. He starts with explaining to listeners what it means by a responsive web layout and goes on to discuss the techniques in using JavaScript in CSS in depth. He elaborates on dynamic styling of components, event-driven stylesheet templating, performance and timing characteristics of these techniques and describes different kinds of observers – interception, resize and mutation, and their support for various browsers. He also talks about how to go about enabling certain features by extending CSS, comparison to tools such as the CSS preprocessor and Media Queries, pros and cons of having this approach while citing relevant examples, exciting new features coming up in CSS, ways of testing the methods, caffeinated stylesheets, along with Qaffeine and Deqaf tools. Links JS in CSS – Event driven virtual stylesheet manager Qaffiene Deqaf Tommy’s Twitter Fizzbuzz Picks Joe The Captain Is Dead Aimee Developer on Call Tip – Try to follow a low-sugar diet Chris Tommy’s snippets on Twitter – JS in CSS All things frontend blog Gulp project Charles Coaching by Charles in exchange of writing Show Notes or Tags Tommy JS in CSS Full Article
it JSJ 353: Signal R with Brady Gaster LIVE at Microsoft Ignite By devchat.tv Published On :: Tue, 26 Feb 2019 21:01:00 -0500 Sponsors: Netlify Sentry use the code “devchat” for $100 credit Clubhouse Panel: Charles Max Wood Special Guest: Brady Gaster In this episode, Chuck talks with Brady Gaster about SignalR that is offered through Microsoft. Brady Gaster is a computer software engineer at Microsoft and past employers include Logical Advantage, and Market America, Inc. Check out today’s episode where the two dive deep into SignalR topics. Links: Vue jQuery Angular C# Chuck’s Twitter SignalR SignalR’s Twitter GitHub SignalR Socket.io Node-SASS ASP.NET SignalR Hubs API Guide – JavaScript Client SignalR.net Real Talk JavaScript Parcel Brady Gaster’s Twitter Brady Gaster’s GitHub Brady Gaster’s LinkedIn Picks: Brady Team on General Session Korg SeaHawks Brady’s kids Logictech spot light AirPods Charles Express VPN Hyper Drive J5 ports and SD card readers Podwrench Full Article
it JSJ 354: Elm with Richard Feldman By devchat.tv Published On :: Tue, 05 Mar 2019 06:00:00 -0500 Sponsors Kendo UI Sentry use the code “devchat” for $100 credit Clubhouse CacheFly Panel Joe Eames Aimee Knight Joined by special guest: Richard Feldman Episode Summary In this episode of JavaScript Jabber, Richard Feldman, primarily known for his work in Elm, the author of “Elm in Action” and Head of Technology at NoRedInk, talks about Elm 0.19 and the new features introduced in it. He explains how the development work is distributed between the Elm creator – Evan Czaplicki and the other members of the community and discusses the challenges on the way to Elm 1.0. Richard also shares some educational materials for listeners interested in learning Elm and gives details on Elm conferences around the world touching on the topic of having diversity among the speakers. He finally discusses some exciting things about Elm which would encourage developers to work with it. Links Elm in Action Frontend Masters – Introduction to Elm Frontend Masters – Advanced Elm Small Assets without the Headache Elm Guide ElmBridge San Francisco Renee Balmert Picks Aimee Knight: Most lives are lived by default Joe Eames: Thinkster Richard Feldman: Framework Summit 2018 – Keynote speech Nix Package Manager A Philosophy of Software Design Full Article
it JSJ 355: Progressive Web Apps with Aaron Gustafson LIVE at Microsoft Ignite By devchat.tv Published On :: Tue, 12 Mar 2019 07:00:00 -0400 Sponsors Sentry use the code “devchat” for $100 credit Triplebyte Clubhouse CacheFly Panel Charles Max Wood Joined by special guest: Aaron Gustafson Episode Summary This episode of JavaScript Jabber comes to you live from Microsoft Ignite. Charles Max Wood talks to Aaron Gustafson who has been a Web Developer for more than 20 years and is also the Editor in Chief at “A List Apart”. Aaron gives a brief background on his work in the web community, explains to listeners how web standardization has evolved over time, where Progressive Web Apps (PWAs) come from, where and how can they be installed, differences between them and regular websites and their advantages. They then delve into more technical details about service workers, factors affecting the boot up time of JavaScript apps, best practices and features that are available with PWAs. Aaron mentions some resources people can use to learn about PWAs, talks about how every website can benefit from being a PWA, new features being introduced and the PWA vs Electron comparison. In the end, they also talk about life in general, that understanding what people have gone through and empathizing with them is important, as well as not making judgements based on people’s background, gender, race, health issues and so on. Links Creating & Enhancing Netscape Web Pages A List Apart A Progressive Roadmap for your Progressive Web App Windows Dev Center - Progressive Web Apps MDN web docs PWA Stats PWA Stats Twitter Aaron’s website Aaron’s Twitter https://www.facebook.com/javascriptjabber/ https://twitter.com/JSJabber Picks Aaron Gustafson: Homegoing Zeitoun Charles Max Wood: Armada Full Article
it MJS 098: Vitali Zaidman By devchat.tv Published On :: Wed, 13 Mar 2019 06:00:00 -0400 Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Triplebyte offers a $1000 signing bonus Clubhouse CacheFly Host: Charles Max Wood Guest: Vitali Zaidman Episode Summary In this episode of My JavaScript Story, Charles hosts Vitali Zaidman, Technical Lead at WellDone Software Solutions. He is also the author of the popular blog piece: “An Overview of JavaScript Testing in 2019”. Vitali has been writing code since he was 13 years old. After completing his military service, he attended The Open University of Israel where he took computer science courses. He picked JavaScript not knowing that it was going to be so popular. He has been working for WellDone Software Solutions since he was a student where he has had the chance to work in many different projects. Vitali feels in order to keep up with technology it is important to work in different projects. Vitali talks about projects he has worked on that he is proud of, one of which is his library at https://github.com/welldone-software/why-did-you-render Links JSJ 331: An Overview of JavaScript Testing in 2018 with Vitali Zaidman https://www.facebook.com/vzaidman https://twitter.com/vzaidman https://github.com/vzaidman https://medium.com/@vzaidman https://bitsrc.io/vzaidman https://www.welldone-software.com/ https://www.powtoon.com/home/? Picks Vitali Zaidman: https://www.testim.io/ https://applitools.com/ An Overview of JavaScript Testing in 2019 by Vitali Zaidman https://github.com/welldone-software/why-did-you-render Charles Max Wood: https://www.vrbo.com/ https://paradehomes.com/web/ https://www.tripit.com/web Player's Handbook Dungeons & Dragons Core Rule Book Full Article
it JSJ 356: Build Websites Like It's 2005 with Keith Cirkel By devchat.tv Published On :: Tue, 19 Mar 2019 06:00:00 -0400 Sponsors Triplebyte Sentry use the code “devchat” for $100 credit Clubhouse CacheFly Panel Chris Ferdinandi Aimee Knight Aaron Frost AJ O’Neal Joined by special guest: Keith Cirkel Episode Summary In this episode of JavaScript Jabber, Keith Cirkel, Senior Application Engineer at GitHub, briefly explains the projects he is working with and moves on to the recent changes done by GitHub to their website, including the decision to remove jQuery, and not choosing a popular framework such as React or Vue. He talks about some problems in using Internet Explorer 11, how these GitHub changes can help with certain browser compatibility issues, and a few challenges the team had to face during the redesigning process. The panelists then discuss event delegation, performance considerations, Polyfill.io and web components. Keith gives some insight into accessibility and they talk about related user concerns. Links Keith’s website Keith’s GitHub Keith’s Twitter GitHub Engineering blog Financial Times – Polyfill service Include fragment - element Picks Aaron Frost: Bag Man What It’s Like to Be A Woman on the Internet Aimee Knight: Smooth Sailing with Kubernetes Joe Eames: GitHub Free users get free unlimited private repositories Swig Things I don’t know as of 2018 AJ O’Neal: Isopropyl alcohol Bang good electronics Soldering Iron – Hakko, X-Tronic Keith Cirkel: GitHub careers Heston’s Pod & Chips Brexit Chris Ferdinandi: 52 things I learned in 2018 Learn Vanilla JS Full Article
it JSJ 357: Event-Stream & Package Vulnerabilities with Richard Feldman and Hillel Wayne By devchat.tv Published On :: Tue, 26 Mar 2019 06:00:00 -0400 Sponsors Triplebyte Sentry use the code “devchat” for $100 credit Clubhouse CacheFly Panel Aaron Frost AJ O’Neal Chris Ferdinandi Joe Eames Aimee Knight Charles Max Wood Joined by special guests: Hillel Wayne and Richard Feldman Episode Summary In this episode of JavaScript Jabber, Hillel Wayne kicks off the podcast by giving a short background about his work, explains the concepts of formal methods and the popular npm package - event-stream, in brief. The panelists then dive into the recent event-stream attack and discuss it at length, focusing on different package managers and their vulnerabilities, as well as the security issues associated with them. They debate on whether paying open source developers for their work, thereby leading to an increase in contribution, would eventually help in improving security or not. They finally talk about what can be done to fix certain dependencies and susceptibilities to prevent further attacks and if there are any solutions that can make things both convenient and secure for users. Links STAMP model in accident investigation Hillel’s Twitter Hillel’s website Richard’s Twitter Stamping on Event-Stream Picks Joe Eames: Stuffed Fables Aimee Knight: SRE book - Google Lululemon leggings DVSR - Band Aaron Frost: JSConf US Chris Ferdinandi: Paws New England Vanilla JS Guides Charles Max Wood: Sony Noise Cancelling Headphones KSL Classifieds Upwork Richard Feldman: Elm in Action Sentinels of the Multiverse Hillel Wayne: Elm in the Spring Practical TLA+ Nina Chicago - Knitting Tomb Trader Full Article
it JSJ 358: Pickle.js, Tooling, and Developer Happiness with Anatoliy Zaslavskiy By devchat.tv Published On :: Tue, 02 Apr 2019 06:00:00 -0400 Sponsors Triplebyte offers a $1000 signing bonus Sentry use the code “devchat” for $100 credit CacheFly Panel AJ O’Neal Charles Max Wood Joined by Special Guest: Anatoliy Zaslavskiy Summary Anatoliy Zaslavskiy introduces pickle.js and answers the panels questions about using it. The panel discusses the automated testing culture and employee retention. The panel discusses job satisfaction and why there is so much turn over in development jobs. Charles Max Wood reveals some of the reasons that he left past development jobs and the panel considers how the impact of work environments and projects effect developers. Ways to choose the right job for you and how to better a work situation is discussed. Anatoliy finishes by advocating for junior developers and explaining the value they bring to a company. Links https://github.com/storybooks/storybook https://www.picklejs.com/docs/getting-started https://opencv.org/ https://itunes.apple.com/us/app/snapcrap/id1436238261 https://tolicodes.com/ https://www.facebook.com/tolicodes https://www.facebook.com/javascriptjabber https://twitter.com/JSJabber Picks AJ O’Neal The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win by Gene Kim How to Diagnose and Fix Everything Electronic, Second Edition by Michael Jay Geier Charles Max Wood https://andyfrisella.com/blogs/mfceo-project-podcast https://www.garyvaynerchuk.com/the-askgaryvee-show-podcast/ The 1-Page Marketing Plan: Get New Customers, Make More Money, And Stand out From The Crowd by Allan Dib Skyward by Brandon Sanderson Anatoliy Zaslavskiy Acro yoga http://www.cuddleparty.com/ Full Article
it JSJ 359: Productivity with Mani Vaya By devchat.tv Published On :: Tue, 09 Apr 2019 06:00:00 -0400 Get Mani's 2x Productivity Course Sponsors Sentry use the code “devchat” for $100 credit Triplebyte CacheFly Panel Aaron Frost AJ O’Neal Joe Eames Aimee Knight Charles Max Wood Joined by special guest: Mani Vaya Episode Summary Mani is the founder of a book summary business called www.2000books.com At 2000 Books, Mani studies the world’s greatest business and personal development books. Then he takes the most important ideas from each book and presents them in tight, 9- to 15-minute video summaries. You get the 4-7 most important ideas in a condensed format that's easy to absorb, easy to review, and easy to put into action immediately. To help people with productivity, Mani created an awesome course called “10x Productivity" His “10x Productivity" video course contains summaries of the 50 greatest books ever written on time management, productivity, goal setting, systems, execution, strategy and leverage. "10x Productivity" pack includes summaries of all the NY Times Best Sellers on Productivity & Time Management, such as: The 7 Habits of Highly Effective People by Stephen Covey Getting Things Done by David Allen Deep Work by Cal Newport The Power of Habit by Charles Duhigg The One Thing by Gary Keller Essentialism by Greg McKeown All together, this collection includes more than 250 strategies, tips, tools & techniques for: - Becoming more productive - Getting results rather than being busy, stressed out & frustrated - Time Management - Defeating procrastination - Achieving big goals - Hacking your brain for high performance - Identifying the highest leverage points that lead to much faster results - Creating powerful habits - Installing execution systems that make goal achievement inevitable 10x Productivity Package contains: Summaries of the 50 greatest books ever written on Productivity & Time Management 250+ greatest ideas, tips and strategies on Time Management & Productivity 10+ Hours of no-fluff solid Video Content PDF Summaries of all 50 books Since Mani is my friend and fellow mastermind member, I worked with him to get you guys an amazing discount (using discount code “DEVCHAT”) on the 10x Productivity Book Summary Pack which you can find here Make sure to use the Coupon code “DEVCHAT” to get the discount. Links Mani’s 2x Productivity Course use the code “devchat” for a discount Picks AJ O’Neal: M. Night Shyamalan’s The Village colophony/pine sap/rosin/flux for electronics work Aimee Knight: Interested In Becoming A Site Reliability Engineer? blog post Charles Max Wood: Entreprogrammers episode 248 Kanbonflow Physical Pomodoro timer Mani Vaya: NPR’s How I Built This podcast 2000 Books podcast Full Article
it JSJ 360: Evolutionary Design with James Shore By devchat.tv Published On :: Tue, 16 Apr 2019 06:00:00 -0400 Sponsors Triplebyte $1000 signing bonus Sentry use the code “devchat” for $100 credit CacheFly Panel Aaron Frost AJ O’Neal Joe Eames Aimee Knight Chris Ferdinandi Joined by special guest: James Shore Episode Summary Special guest James Shore returns for another episode of JavaScript Jabber. Today the panel discusses the idea of evolutionary design. Evolutionary design comes from Agile development. It is based on the principles of continuous integration and delivery and test driven development. In short, evolutionary design is designing your code as you go rather than in advance. The panelists discuss the difficulties of evolutionary design and how to keep the code manageable. James Shore introduces the three types of design that make up evolutionary design, namely simple design, incremental design, and continuous design. They talk about the differences between evolutionary design and intelligent design and the correlations between evolutionary design increasing in popularity and the usage of Cloud services. They talk about environments that are and are not conducive to evolutionary design and the financial ramifications of utilizing evolutionary design. The panelists talk about the difficulties of planning what is needed in code and how it could benefit from evolutionary design. James enumerates the steps for implementing evolutionary design, which are upfront design, reflective design, and refactoring . The team ends by discussing the value of frameworks and how they fit with evolutionary design. Links Agile Angular API CRC cards (class responsibility collaborators) Ember IntelliJ NPM React Redux Scrum Waterfall XJS Picks AJ O’Neal: Spiderman: Into the Spider-Verse Pre-gap tracks album list QuickChip remover alloy Aimee Knight: Puns.dev Bouldering James Shore: Spiderman: Into the Spider Verse Pandemic Legacy Aaron Frost: Easter Candy, especially Nerd Jelly beans Cadbury Mini Eggs Fun D&D moments Joe Eames: Chronicles of Crime board game Full Article
it JSJ 361: Enough with the JS Already with Nicholas Zakas By devchat.tv Published On :: Tue, 23 Apr 2019 06:00:00 -0400 Sponsors Triplebyte offers a $1000 signing bonus Sentry use the code “devchat” for $100 credit CacheFly Panel AJ O’Neal Joe Eames Aimee Knight Charles Max Wood Chris Ferdinandi Joined by Special guest: Nicholas Zakas Summary Nicholas Zakas discusses the overuse of JavaScript and the underuse of HTML and CSS. The panel contemplates the talk Nicholas Zakas gave 6 years ago about this very same topic and how this is still a problem in the development community. Nicholas expounds on the negative effects overusing Javascript has on web applications and the things that using HTML and CSS do really well. The panel talks about the need for simplicity and using the right tool to build applications. Nicholas recommends the methods he uses to build greenfield applications and to improve existing applications. Links https://www.youtube.com/watch?v=li4Y0E_x8zE https://www.slideshare.net/nzakas/enough-withthejavascriptalready https://twitter.com/slicknet https://humanwhocodes.com/ https://www.facebook.com/javascriptjabber https://twitter.com/JSJabber Picks Chris Ferdinandi: The Umbrella Academy Official Trailer https://github.com/features/actions AJ O’Neal: Jurassic Park Terminator 2 E6000 adhesive Aimee Knight: https://www.reebok.com/us/reebok-legacy-lifter/BD4730.html https://www.holloway.com/g/equity-compensation Charles Max Wood: https://podfestexpo.com/ http://charlesmaxwood.com/ https://www.11ty.io/ https://www.netlify.com/ Joe Eames: https://www.mysteryscenemag.com/blog-article/5905-tom-straw-the-author-behind-castle Richard Castle books https://vanillajslist.com/ Nicholas Zakas: The Power of Full Engagement: Managing Energy, Not Time, Is the Key to High Performance and Personal Renewal by Jim Loehr and Tony Schwartz https://opencollective.com/eslint Full Article
it JSJ 362: Accessibility with Chris DeMars By devchat.tv Published On :: Tue, 30 Apr 2019 06:00:00 -0400 Sponsors Sentry use code “devchat” for 2 months free Triplebyte $1000 signing bonus Panel Charles Max Wood Aimee Knight Chris Ferdinandi AJ O’Neal Joe Eames Joined by Special Guest: Chris DeMars Episode Summary Special guest Chris DeMars is from Detroit, MI. Currently, he works for Tuft and Needle and is an international speaker, Google developer expert, Microsoft mvp, and web accessibility specialist. He comes from a varied work background, including truck driving and other non-tech jobs. Today the panel discusses web accessibility for people with disabilities. According to a study done by WebAIM, 97.8% of homepages tested had detectable WCAG 2 failures. The panel discusses why web accessibility is doing so poorly. Chris talks about some of the biggest mistakes he sees and some very simple fixes to make sites more accessible. Chris talks about the importance of manual testing on screen readers and emphasizes that it is important to cover the screen to make sure that it really works with a screen reader. Chris talks about some of the resources available for those who wish to increase accessibility on their sites. The team discusses tactics for prioritizing accessibility and if there is a moral obligation to make sites accessible to those with disabilities. Chris talks about his experience making accessibility a priority for one of the companies he worked for in the past. They discuss the futue of legal ramifications for sites that do not incorporate accessibility, and what responsibility falls on the shoulders of people who regularly use assistive devices to notify companies of issues. They finish the show with resources available to people who want to learn more. Links The DOM Semantic markup writings Alt attribute Axe by DeQue Bootstrap Aria lable WebAim study Follow DevChat on Facebook and Twitter Picks Charles Max Wood: LootCrate Aimee Knight: Implementing Git in Python tutorial Chris Ferdinandi: "Fighting Uphill" by Eric Bailey “The Web We Broke” by Ethan Marcotte AllBirds sneakers Newsletter AJ O’Neal: Golang Channel vs Mutex vs WaitGroup Nobuo Uematsu The Best Way to Tin Enameled Wire Joe Eames: Gizmos board game Thinkster.io accessibility course (not released yet) Chris DeMars: Dixxon Flannel Company Aquis.com accessibility simulator Refactr accessibility workshop in June Follow Chris Full Article
it JSJ 363: Practical JAMstack and Serverless with Gareth McCumskey By devchat.tv Published On :: Tue, 07 May 2019 06:00:00 -0400 Sponsors Triplebyte offers a $1000 signing bonus Sentry use the code “devchat” for $100 credit Linode CacheFly Panel Charles Max Wood Aimee Knight AJ O’Neal Aaron Frost Joe Eames Joined by Special Guest: Gareth McCumskey Summary Gareth McCumskey introduces JAMstack and serverless. He goes into great detail on how it works. Aimee Knight and Aaron Frost voice their concerns about going serverless. Aimee thinks it feels dirty. Aaron has concerns about the code, is it actually easier, what use cases would he use it for, and does it actually save money. Gareth addresses these concerns and the rest of the panel considers the positive and negatives of using JAMstack and serverless. Charles Max Wood asks for specific use cases; Gareth supplies many uses cases and the benefits that each of these cases. Links http://herodev.com/ https://thinkster.io/ https://jamstack.org/ https://www.mongodb.com/cloud/stitch https://expatexplore.com/ https://serverless.com/ https://www.cloud66.com/ https://aws.amazon.com/dynamodb/ https://twitter.com/garethmcc https://www.facebook.com/javascriptjabber https://twitter.com/JSJabber Picks Charles Max Wood: Join the mailing list Watch out for new podcasts Send me defunct podcasts you love chuck@devchat.tv Aimee Knight: Productivity Isn’t About Time Management. It’s About Attention Management. Quest Nutrition Protein Bars AJ O’Neal: Distant Worlds: Music from Final Fantasy by Nobuo Uematsu Legend Of Zelda Concert 2018 Original Soundtrack by Never Land Orchestra How to Diagnose and Fix Everything Electronic by Michael Jay Geier Aaron Frost: The Go-Giver, Expanded Edition: A Little Story About a Powerful Business Idea Gareth McCumskey: https://www.finalfantasyxiv.com/ Steam Play on Linux Joe Eames: Expanding your horizons Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages Seven More Languages in Seven Weeks: Languages That Are Shaping the Future https://elm-lang.org/ Full Article
it JSJ 364: Ember Octane with Sam Selikoff By devchat.tv Published On :: Tue, 14 May 2019 06:00:00 -0400 Sponsors Triplebyte offers a $1000 signing bonus Sentry use the code “devchat” for $100 credit Linode CacheFly Panel AJ O’Neal Joined by special guest: Sam Selikoff Episode Summary In this episode of JavaScript Jabber, Sam Selikoff, Co-Founder at EmberMap, Inc. starts with giving a brief background about himself and his work followed by a discussion with AJ O’Neal about the Ember community. Sam mentions some of the biggest advantages in using Ember, and what it should and should not be used for. He explains the architecture of Ember apps, addresses some of the performance concerns and then dives into Octane in detail. He talks about a bunch of Ember components, compiler compatibility, relative weight of Ember apps compared to other frameworks, the underlying build system, and security considerations. Sam then helps listeners understand the usage of ES6 classes and decorators in Ember at length. At the end, they discuss component rendering and element modifiers and move onto picks. Links Sam’s website Sam on Twitter Sam on GitHub Follow JavaScript Jabber on Devchat.tv, Facebook and Twitter. Picks AJ O’Neal: Good Mythical Morning - YouTube Sam Selikoff: The Man In the High Castle Tailwind CSS Full Article
it JSJ 366: npm with Mikeal Rogers By devchat.tv Published On :: Tue, 28 May 2019 06:00:00 -0400 Sponsors Triplebyte offers a $1000 signing bonus Sentry use the code “devchat” for $100 credit Linode offers $20 credit CacheFly Panel AJ O’Neal Chris Ferdinandi Aimee Knight Charles Max Wood Joined by special guest: Mikeal Rogers Episode Summary This episode of JavaScript Jabber starts with Mikeal Rogers introducing himself and his work in brief. Charles clarifies that he wants to focus this show on some beginner content such as node.js basics, so Mikeal gives some historical background on the concept, elaborates on its modern usage and features and explains what “streams” are, for listeners who are starting to get into JavaScript. The panelists then discuss how languages like Go and Python compare to node.js in terms of growth and individual learning curves. Mikeal answers questions about alternate CLIs, package management, Pika, import maps and their effect on node.js, and on learning JavaScript in general. Chris, Charles and AJ also chip in with their experiences in teaching modern JS to new learners and its difficulty level in comparison to other frameworks. They wrap up the episode with picks. Links Mikeal on Twitter Mikeal on GitHub Follow JavaScript Jabber on Devchat.tv, Facebook and Twitter. Picks Chris Ferdinandi: Mozilla Firefox Artifact Conference Aimee Knight: A Magician Explains Why We See What’s Not There Programming: doing it more vs doing it better Mikeal Rogers: The Future of the Web – CascadiaJS 2018 Brave Browser Charles Max Wood: Podwrench Full Article
it JSJ 369: Azure Functions with Colby Tresness LIVE at MIcrosoft BUILD By Published On :: Tue, 18 Jun 2019 06:00:00 -0400 Sponsors Triplebyte offers a $1000 signing bonus Sentry use the code “devchat” for $100 credit Linode offers $20 credit CacheFly Panel Charles Max Wood Joined by Special Guest: Colby Tresness Episode Summary Coming to you live from the podcast booth at Microsoft BUILD is Charles Max Wood with Colby Tresness. Colby is a Program Manager on Azure Functions at Microsoft. Azure functions are the serverless functions on Azure. Colby explains what the Azure functions premium plan entails, then talks about KEDA – Kubernetes-based event-driven autoscaling, a Microsoft and Red Hat partnered open source component to provide event-driven capabilities for any Kubernetes workload. One of the other cool features of serverless functions they talk about is the Azure serverless community library. Colby and Charles discuss the best way to get started with Azure functions, as well as the non-JavaScript languages it supports. Links Colby’s GitHub Colby’s Twitter Colby’s LinkedIn Colby’s Blog Microsoft Build 2019 KEDA Red Hat Azure Serverless Community Library Follow Adventures in Angular on tv, Facebook and Twitter. Picks Colby Tresness: Barry (TV Series 2018– ) – IMDb Charles Max Wood: The Legend of Zelda: Breath of the Wild The MFCEO Project Podcast – Andy Frisella Downtown Seattle Full Article
it JSJ 370: Azure Functions Part II with Jeff Hollan LIVE at Microsoft BUILD By devchat.tv Published On :: Tue, 25 Jun 2019 06:29:00 -0400 Sponsors Triplebyte offers a $1000 signing bonus Sentry use the code “devchat” for 2 months free on Sentry small plan CacheFly Panel Charles Max Wood Joined by Special Guest: Jeff Hollan Episode Summary Coming to you live from the podcast booth at Microsoft BUILD is Charles Max Wood with Jeff Hollan. Jeff is a Sr. Program Manager for the Azure Functions cloud service. Continuing from where Colby Tresness left off in Adventures in Angular 241: Azure Functions with Colby Tresness LIVE at Microsoft BUILD, Jeff defines what “serverless” really means in developer world. Jeff also talks about various scenarios where Azure functions are extremely useful and explains what Durable Functions are. Jeff and Charles discuss creating and running an Azure function inside a container and the upcoming capabilities of Azure functions they are currently working on. Links JavaScript Jabber 369: Azure Functions with Colby Tresness LIVE at Microsoft BUILD Durable Functions Jeff’s GitHub Jeff’s Twitter Jeff’s LinkedIn Jeff’s Website Jeff’s Medium Microsoft Build 2019 Follow JavaScript Jabber on Devchat.tv, Facebook and Twitter. Picks Jeff Hollan: Calm App Game of Thrones TV Series Charles Max Wood: Family Tree App Full Article
it JSJ 371: The Benefits and Challenges of Server-Side Rendering (SSR) with Dan Shappir By devchat.tv Published On :: Tue, 02 Jul 2019 06:00:00 -0400 Sponsors Triplebyte offers a $1000 signing bonus Sentry use the code “devchat” for $100 credit CacheFly Panel Charles Max Wood Joe Eames Christopher Buecheler Aimee Knight AJ O’Neal Joined by special guest: Dan Shappir Episode Summary In this episode of JavaScript Jabber, special guest Dan Shappir, Performance Tech Lead at Wix, kicks off the discussion by defining server-side rendering (SSR) along with giving its historical background, and touches on the differences between server rendering and server-side rendering. He helps listeners understand in detail how SSR is beneficial for the web and takes questions from the panel about how it affects web performance in cases where first-time users and returning users are involved, and how does SSR fare against technologies such as pre-rendering. He then elaborates on the pitfalls and challenges of SSR including managing and declaring variables, memory leaks, performance issues, handling SEO, and more, along with ways to mitigate them. In the end, Dan sheds some light on when should developers use SSR and how should they start working with it. Links Dan’s Twitter Dan’s GitHub SSR WeakMap Follow JavaScript Jabber on Devchat.tv, Facebook and Twitter. Picks Christopher Buecheler: Tip - Take some time off once in a while Aimee Knight: Learning How to Learn: Powerful mental tools to help you master tough subjects AJ O’Neal: Fatherhood! Joe Eames: Tiny Towns The Goldbergs Charles Max Wood: EverywhereJS Christopher Buecheler’s books Get a Coder Job - Publishing soon! Dan Shappir: Quora Corvid by Wix You Gotta Love Frontend Conferences Full Article
it JSJ 372: Kubernetes Docker and Devops with Jessica Deen LIVE from Microsoft BUILD By devchat.tv Published On :: Tue, 09 Jul 2019 06:00:00 -0400 Sponsors Triplebyte offers a $1000 signing bonus Sentry use the code “devchat” for $100 credit CacheFly Panel Charles Max Wood Joined by Special Guest: Jessica Deen Episode Summary Coming to you live from the podcast booth at Microsoft BUILD is Charles Max Wood with The Deen of DevOps aka Jessica Deen. Jessica is a Senior Cloud Advocate at Microsoft. As an advocate she acts a liaison between developer communities and Microsoft to help understand developer pain points and road blocks especially in areas such as Linux, open-source technologies, infrastructure, Kubernetes, containers and DevOps. Jessica explains how to go about setting up a containerized application, Kubernetes and how to use Dockerfiles. Charles and Jessica then talk about how to get started with a Kubernetes cluster and the resources available for developers that don't have any infrastructure. Jessica advises that developers start with Azure DevOps Services and then go to Microsoft Learn Resource. Charles also encourages listeners to also check out the Views on Vue podcast Azure DevOps with Donovan Brown for further references. Jessica also recommends following people on Twitter and GitHub to find out about solutions and resources. Links Dockerfile and Windows Containers Kubernetes Jessica’s GitHub Jessica’s Twitter Jessica’s LinkedIn Jessica’s Website Microsoft Build 2019 Microsoft Learn Resource HTTP application routing Getting started with Kubernetes Ingress Controllers and TLS certificates Kubernetes Ingress Controllers and Certificates: The Walkthrough Azure DevOps Services VoV 053: Azure DevOps with Donovan Brown LIVE at Microsoft Ignite Jessica Deen Youtube Kubernetes in 5 mins – YouTube Follow Adventures in Angular on tv, Facebook and Twitter. Picks Jessica Deen: Lachlan Evenson Cloud Native Computing Foundation Kubernetes Handles on Twitter Shoe Dog Memoir Air Jordan 4 Fire Red Gum Singles Day Charles Max Wood: Real Talk /JavaScript Podcast The Legend of Zelda: Breath of the Wild Full Article
it JSJ 373: What Do You Need to Do to Get a Website Up? By devchat.tv Published On :: Thu, 11 Jul 2019 06:00:00 -0400 Sponsors Triplebyte $1000 signing bonus Sentry use code “devchat” for 2 months free Linode Panel Charles Max Wood Aimee Knight Chris Ferdinandi AJ O’Neal Joe Eames Episode Summary Today the panel discusses what is necessary to get a website up and how complicated or simple it needs to be. They mention different tools they like for static sites and ways to manage their builds and websites. They talk about why some people choose to host their websites and at what point the heavier tools become a concern. They discuss whan it is necessary to use those heavy tools. They caution listeners to beware of premature optimization, because sometimes businesses will take advantage of newer developers and make them think they need all these shiny bells and whistles, when there is a cheaper way to do it. It is important to keep the tools you work with simple and to learn them so that if you encounter a problem, you have some context and scope. The option of serverless website hosting is also discussed, as well as important things to know about servers. The panel discusses what drives up the price of a website and if it is worth it to switch to a cheaper alternative. They discuss the pros and cons of learning the platform yourself versus hiring a developer. The importance of recording the things that you do on your website is mentioned. Several of the panelists choose to do this by blogging so that if you search for a problem you can find ones you’ve solved in the past. Links Heroku Github Pages Netlify Eleventy DigitalOcean Lightsale Ubuntu Git clone Node static server Systemd script NGinx Cloud66 Thinkster Gatsby Docker Gentoo How to schedule posts with a static website How to set up automatic deployment with Git with a vps Automating the deployment of your static site with Github and Hugo Follow DevChat on Facebook and Twitter Picks Charles Max Wood: Microsoft build Aimee Knight: Systems Thinking is as Important as Ever for New Coders Chris Ferdinandi: Adrian Holivadi framework video Server Pilot AJ O’Neal: Jeff Atwood tweet More on Stackflow Architecture Minio Joe Eames: Miniature painting Full Article
it JSJ 374: CosmosDB with Steve Faulkner LIVE at Microsoft BUILD By devchat.tv Published On :: Tue, 16 Jul 2019 06:00:00 -0400 Sponsors DataDog Sentry use the code “devchat” for 2 months free on Sentry small plan CacheFly Panel Charles Max Wood Joined by Special Guest: Steve Faulkner Episode Summary Coming to you live from the podcast booth at Microsoft BUILD is Charles Max Wood with Steve Faulkner. Steve is a Senior Software Developer for Azure Cosmos DB at Microsoft. Cosmos DB is a global distributed, multi-model noSQL database. Steve explains the Cosmos DB service and scenarios it can be used in. They discuss how Cosmos DB interacts with Azure functions and how partition keys work in Cosmos DB. Listen to the show for more Cosmos DB updates and to find out how Steve he got his twitter handle @southpolesteve. Links Steve’s GitHub Steve’s Twitter Steve’s LinkedIn Steve Dev.to Microsoft Build 2019 Introduction to Azure Cosmos DB AiA 241: Azure Functions with Colby Tresness LIVE at Microsoft BUILD AiA 242- Azure Functions Part II with Jeff Hollan LIVE at Microsoft BUILD Microsoft Learn Resource Partitioning in Azure Cosmos DB Picks Steve Faulkner: FINAL FANTASY X/X-2 HD Remaster for Nintendo Switch Overcooked on Steam Fastly Full Article
it JSJ 376: Trix: A Rich Text Editor for Everyday Writing with Javan Makhmali By devchat.tv Published On :: Tue, 23 Jul 2019 06:00:00 -0400 Sponsors Datadog Sentry use code “devchat” for 2 months free Panel Aimee Knight Chris Ferdinandi Christopher Beucheler AJ O’Neal With Special Guest: Javan Makhmali Episode Summary Today’s guest is Javan Makhmali, who works for Basecamp and helped develop Trix. Trix is a rich text editor for the web, made purposefully simple for everyday use instead of a full layout tool. Trix is not the same as Tiny MCE, and Javan discusses some of the differences. He talks about the benefits of using Trix over other native browser features for text editing. He talks about how Trix has simplified the work at Basecamp, especially when it came to crossing platforms. Javan talks more about how Trix differs from other text editors like Google Docs and contenteditable, how to tell if Trix is functioning correctly, and how it works with Markdown. The panel discusses more specific aspects of Trix, such as Exec command. One of the features of Trix is it is able to output consistently in all browsers and uses semantic, clean HTML instead of classnames. Javan talks about how Trix handles getting rid of the extraneous cruft of formatting when things are copy and pasted, the different layers of code, and the undo feature. He talks about whether or not there will be more features added to Trix. The panel discusses who could benefit from using Trix. The show finishes with Javan talking about Basecamp’s decision to make Trix open source and why they code in CoffeeScript. Links Trix Tiny MCE Contenteditable Markdown SVG HTML CoffeeScript Follow DevChat on Facebook and Twitter Picks Javan Makhmali: API for form submissions Chris Ferdinandi: CSS Grid Alex Russel Twitter thread How To Live a Vibrant Life with Early Stage Dementia AJ O’Neal: Mario and Chill Chip Tunes 4 Autism: Catharsis Toilet Auger Christopher Beucheler: Medium to Own blog Aimee Knight: Absolute Truth Unlearned as Junior Developer Full Article
it JSJ 377: Bringing Maps and Location Into Your Apps with the ArcGIS API for JavaScript with Rene Rubalcava By devchat.tv Published On :: Thu, 25 Jul 2019 06:00:00 -0400 Sponsors Datadog Sentry use code “devchat” for 2 months free Panel Aimee Knight AJ O’Neal Charles Max Wood With Special Guest: Rene Rubalcava Episode Summary Rene is a software developer for ESRI and works in spatial and mapping software. ESRI has been around since 1969 and has seen their work explode since they shifted to providing address and location services. Rene talks about how he thinks about location and mapping when building software around it and things that he has to approach in unique ways. The panel discusses some of their past experiences with location software. Some of the most difficult aspects of this software is changing time zones for data and actually mapping the Earth, since it is not flat nor a perfect sphere. Rene talks about the different models used for mapping the Earth. Most mapping systems use the same algorithm as Google maps, so Rene talks about some of the specific features of ArcGIS, including the ability to finding a point within a polygon. Rene talks about what routing is, its importance, and how it is being optimized with ArcGIS, such as being able to add private streets into a regular street network. The panel discusses how the prevalence of smartphones has changed mapping and GPS and some of their concerns with privacy and location mapping. One thing ESRI is very careful about is not storing private information. Rene talks about the kinds of things he has seen people doing with the mapping and location data provided by ArcGIS, including a Smart Mapping feature for developers, mapping planets, indoor routing, and 3D models. Links Webricate Esri ArcGIS Follow DevChat on Facebook and Twitter Picks Rene Rubalcava: Old Man’s War series Always Be My Maybe Rene’s website AJ O’Neal: INTL Colorful Time zones in Postgress Time zones in JavaScript Aimee Knight: Advice to Less Experienced Developers Charles Max Wood: Heber Half Marathon Netlify CMS Villainous Firefox Full Article
it JSJ BONUS EPISODE: Observables and RxJS Live with Aaron Frost By devchat.tv Published On :: Mon, 29 Jul 2019 06:00:00 -0400 JSJ BONUS EPISODE: Observables and RxJS Live with Aaron Frost Mon Jul 29 2019 13:00:56 GMT+0300 (+03) Episode Number: bonus Duration: 29:35 https://media.devchat.tv/js-jabber/JSJ_Bonus_Aaron_Frost.mp3 Host: Charles Max Wood Joined by Special Guest: Aaron Frost Episode Summary Aaron Frost joins Charles to talk about what Observables are and why developers should learn about them and use them in their code. He explains the difference between Observables, Promises and Callbacks with an example. Aaron then invites all listeners to attend the upcoming RxJS Live Conference and introduces the impressive speaker line-up. The conference will take place on September 5-6 in Las Vegas and tickets are still available. Aaron also offers a $100 discount to all listeners with the code "chuckforlife". For any questions you can DM Aaron at his Twitter account. Links RxJS Live Conference RxJS Conference Tickets Aaron's Twitter Promises Callbacks Full Article
it JSJ 378: Stencil and Design Systems with Josh Thomas and Mike Hartington By devchat.tv Published On :: Tue, 30 Jul 2019 06:00:00 -0400 Sponsors Datadog Sentry use code “devchat” for 2 months free Panel Aimee Knight Chris Ferdinandi Joe Eames AJ O’Neal Charles Max Wood With Special Guests: Josh Thomas and Mike Hartington Episode Summary Today’s guests Josh Thomas and Mike Hartington are developers for Ionic, with Josh working on the open source part of the framework on Ionic. They talk about their new compiler for web components called Stencil. Stencil was originally created out of work they did for Ionic 4 (now available for Vue, React, and Angular) and making Ionic 4 able to compliment all the different frameworks. They talk about their decision to build their own compiler and why they decided to open source it. Now, a lot of companies are looking into using Stencil to build design systems The panel discusses when design systems should be implemented. Since Ionic is a component library that people can pull from and use themselves, Jeff and Mike talk about how they are using Stencil since they’re not creating a design system. The panel discusses some of the drawbacks of web components. They discuss whether or not Cordova changes the game at all. One of the big advantages of using Stencil is the code that is delivered to a browser is generated in such a way that a lot of things are handled for you, unlike in other systems.The panelists talk about their thoughts on web components and the benefits of using a component versus creating a widget the old fashioned way. One such benefit of web components is that you can change the internals of how it works without affecting the API. Josh and Mike talk about some of the abilities of Stencil and compare it to other things like Tachyons. There is a short discussion of the line between frameworks and components and the dangers of pre optimization. If you would like to learn more about Stencil, go to stenciljs.com and follow Josh and Mike @Jtoms1 and @mhartington. Click here to cast your vote NOW for JavaScript Jabber - Best Dev Podcast Award Links Building Design Systems book Stencil Cordova Shadow DOM Tachyons Ionic 4 Follow DevChat on Facebook and Twitter Picks Aimee Knight: What Does Debugging a Program Look Like? AJ O’Neal: Legend of Zelda: Link’s Awakening Neon Genesis Evangelion soundtrack Prettier Chris Ferdinandi: Kindle Paperwhite Company of One Charles Max Wood: Ladders with feet Lighthouse Acorns Joe Eames: Moment.js How To Increase Your Page Size by 1500% article Day.js Josh Thomas: Toy Story 4 Mike Hartington: Building Design Systems Youmightnotneed.com Full Article
it MJS 117: The Devchat.tv Mission and Journey with Charles Max Wood By devchat.tv Published On :: Tue, 30 Jul 2019 06:00:00 -0400 Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan CacheFly Host: Charles Max Wood Episode Summary Charles talks about his journey as a podcaster and his mission with Devchat.tv. Devchat.tv is designed to home podcasts that speak to all developer communities. Charles also plans Devchat.tv to host shows for technologies that are on the verge of a breakthrough and will be a lot more widely available in the near future such as Artificial Intelligence (AI), Internet of Things (IoT), Virtual Reality (VR) and Augmented Reality (AR). There are new shows being added continuously to reach out to new communities, some examples of which are: a Data Science show, a DevOps show and an Open Source show. As a kid, Charles would record his own shows on a tape recorder. He was always interested in technology. While studying Computer Engineering at Brigham Young University, he worked in the University's Operations Center. Upon graduation, he started working for Mozy where he was introduced to podcasts. Listen to the show to find out the rest of Charles' story, some of the lessons and tips he learned throughout his journey and the evolution of the shows on Devchat.tv. If there isn't a show for your community and you would like there one to be, reach out to Charles. Also if there was a podcast about a programming related subject that ended abruptly and you would like it to continue, reach out to Charles. Devchat.tv would like to host these podcasts. Links Charles' Twitter EverywhereJS JavaScript Community EverywhereRB Ruby and Rails Community Find Your Dream Job As A Developer Devchat.tv on Facebook Devchat.tv Picks EverywhereJS JavaScript Community EverywhereRB Ruby and Rails Community Netlify Eleventy https://github.com/cmaxw/devchat-eleventy Full Article
it JSJ 379: FindCollabs and Podcasting with Jeff Meyerson By devchat.tv Published On :: Thu, 01 Aug 2019 06:00:00 -0400 Sponsors Netlify RxJS Live Panel Aimee Knight AJ O’Neal Charles Max Wood With Special Guest: Jeff Meyerson Episode Summary Jeff Meyerson is the host of the Software Engineering daily podcast and has also started a company called FindCollabs, an online platform for finding collaborators and building projects. Jeff started FindCollabs because he believes there are all these amazing tools but people are not combining and collaborating as much as they could, when so much good could be accomplished together. FindCollabs is especially useful for working on side projects. The panelists discuss the problems encountered when you try to collaborate with people over the internet, such as finding people who are facing similar and gauging interest, skill, and availability. Thankfully, FindCollabs has a feature of leaving reviews and rating your partners so that users can accurately gauge other’s skill level. Users can also leave comments about their experience collaborating with others. The only way you can show competence with an interest is to contribute to another project. FindCollabs is also a good place to look for mentors, as well as for Bootcamp graduates or people going through an online coding course. If you are part of an organization, you can create private projects. The company plans to expand this feature to all users in the future.The panelists talk about their past experiences with collaborating with other people. Jeff talks about his podcast Software Engineering Daily and how it got started and the focus of the podcast. As someone working in technology, it is important to stay current on up and coming technology, and listening to podcasts is an excellent way to do that. Jeff talks about where he thinks podcasting is going, especially for programmers. The panel discusses some of the benefits of listening to programming podcasts. Jeff talks about how he is prepping Software Engineering Daily for the future. He shares the audience size for Software Engineering Daily and some of the statistics for his different channels. Jeff has also released an app for Software Engineering Daily, and he shares some information on how it was written. Finally, Jeff gives advice for people who want to use FindCollabs and some of the next steps after creating a profile. Click here to cast your vote NOW for JavaScript Jabber - Best Dev Podcast Award Links FindCollabs Greenlock Telebit SwingCycle Software Engineering Daily Follow DevChat on Facebook and Twitter Picks Aimee Knight: Burnout and the Brain AJ O’Neal: Saber’s Edge from Final Fantasy by Distant Worlds Greenlock on FindCollabs Telebit on FindCollabs Charles Max Wood: Adventures in Machine Learning on FindCollabs Adventures in Virtual Reality on FindCollabs Adventures in Python on FindCollabs Adventures in Java on FindCollabs Air conditioning MFCEO Project Jeff Meyerson: Follow Jeff @the_prion Listen Notes Linbin’s Podcast Playlist Hidden Forces Podcast Full Article
it JSJ 380: Expo for Web with Charlie Cheever By devchat.tv Published On :: Tue, 06 Aug 2019 06:00:00 -0400 Sponsors Datadog Sentry– use the code “devchat” for $100 credit Panel Charles Max Wood With Special Guest: Charlie Cheever Episode Summary Guest Charlie Cheever joins the discussion on JavaScript Jabber today. He was previously on React Round Up episode 47. Charlie works on Expo, which is a way to make React apps on every platform. Right now, Expo supports IOS, Android, and Web, provides a standard library of features, and takes care of services like builds and updates over the air. There are also code generators and templates available in Expo. Expo is focused on use cases where you just need to use a little bit of React Native in your app. Charlie talks about the origins of Expo, which was born from increased access of websites from people’s phones and the desire for a cross-platform tool that was as easy as building on the web. One of the biggest benefits is that Expo gives you the peace of mind knowing your app will work across all phones and all platforms. They discuss how to approach building your API’s for Expo so that it’s easy for people to use and have it consistent across all these different systems. Expo also has a voting board canny.expo.io where people can submit suggestions for new features. Expo is compatible with map view and React Native maps. Currently, Expo is missing bluetooth and things where the underlying platform wants to have a direct relationship with the developer, such as in-app purchases. Charlie talks about other components available in Expo, all of which can be modified. They discuss the influence of React on augmented reality and VR. Charlie talks about the updating feature of Expo. Charlie talks about the evolution of Expo and their goal to be a “developer first” company. He talks about the company, libraries, The Client, and services. He gives advice on how to get started with React Native development and using Expo. There is also Expo Web, which can be used to create a website, and if you create an app with Expo you get a website too. Expo hopes to be a stable, easy, coherent way of using all these tools across your entire experience of building your application so that you can relax a little bit. Click here to cast your vote NOW for JavaScript Jabber - Best Dev Podcast Award Links Expo Flex Valve jQuery Expo voting board LottieFiles SQLite React Native Maps The Client app Snack.expo.io NPM Follow DevChat on Facebook and Twitter Picks Charles Max Wood: Vdot02 Zoom H6 Portable 6 track Recorder Shure SM58-LC Cardioid Dynamic Vocal Microphone Chain React Conf Charlie Cheever: Draft bit (still in beta) AWS Amplify Follow Charlie @ccheever Full Article
it JSJ 381: Building a Personal Brand with John Sonmez By devchat.tv Published On :: Thu, 08 Aug 2019 06:00:00 -0400 Sponsors Sentry– use the code “devchat” for $100 credit RxJS Live Panel Charles Max Wood Christopher Beucheler AJ O’Neal With Special Guest: John Somnez Episode Summary John is the founder of Bulldog Mindset andSimple Programmer, which teaches software developers soft skills, and the author of a couple books. He specializes in creating a personal brand and marketing. He addresses the rumors of him leaving software development and gives an introduction to marketing yourself as a software developer and its importance. The panel discusses their experience with consulting and how marketing themselves has paid off. John talks about the importance of having soft skills. In his opinion, the most important soft skills for programmers are communication, persuasion and influence, people skills and charisma. He talks about highlight those soft skills. The truth is, more and more people are hiring for people skills rather than technical skills. The panel discusses more about the importance of people skills. John talks about ways to build your personal brand. One of the easiest ways is blogging but he talks about other methods like podcasts YouTube, writing books, and others. A key to building a personal brand is choosing something that you can become the best at, no matter how small it is. The panel shares their experiences of what things have gotten them attention and notoriety and talk about how other influential programmers got famous. They talk about interacting with central platforms like Medium and Github. Building a personal brand for software developers is the same as any other personal brand, such as having a consistent message, consistent logos and color schemes, and repeated exposure). Most people in the software world aren’t willing to do what’s necessary to build a personal brand, so it makes you stand out when you do it. John talks about the importance of controlling your image so that companies want to hire you. John gives a brief overview of his course How to Market Yourself as a Software Developer. Click here to cast your vote NOW for JavaScript Jabber - Best Dev Podcast Award Links John Somnez’s books Data Grid Girl Follow JavaScript Jabber on Facebook and Twitter Picks Charles Max Wood: To Sell is Human How to Win Friends and Influence People John Somnez: Follow John at bulldogmindset.com and simpleprogrammer.com The Little Book of Stoicism Training Peaks Christopher Beucheler: Strasborg, France AJ O’Neal Distant Worlds: Music from Final Fantasy Parallels Cam Slide Full Article
it JSJ 382: Mental Health with Anatoliy Zaslavskiy By devchat.tv Published On :: Tue, 13 Aug 2019 06:00:00 -0400 Sponsors Sentry– use the code “devchat” for $100 credit Panel Charles Max Wood With Special Guest: Anatoliy Zaslavskiy Episode Summary Anatoliy Zaslavsky works for Hover, made framework called Pickle.js, and has been on JavaScript Jabber before. Today Chuck and Anatloliy are talking about the importance of mental health. Anatoliy has Bipolar Disorder, and he talks about what it is and his experience with it and how his manic and depressive episodes have affected him. Thankfully, his employers at Hover have been extremely supportive. Chuck and Anatoliy talk about what people should do when they are suffering from a mental illness so that they can do the things they love again. Some of the best ways of coping with mental health issues are to keep a lifeline out to friends and family, go to a professional therapist, stay on a consistent exercise and sleep pattern, and stay away from substances. They talk about how to support someone that is suffering from a mental illness. Anatoliy talks about some of the symptoms and behavioral changes he has during both manic and depressive episodes and how it has affected him in the workplace. Mental health issues are almost always accompanied by changes in behavior, and Chuck and Anatoliy talk about ways to approach a person about their behavior. Anatoliy gives advice on how to work with your employer while you are suffering from a mental illness. For mental illnesses that aren’t as dramatic as Bipolar Disorder, Anatoliy talks about coping mechanisms such as staying away from triggers, knowing what motivates you and communicating it to your employer, and other practices that have helped him. He talks about some of his triggers and how it has affected his work, both for the better and worse. Finding out what helps you cope and what triggers you is often trial and error, but it can help to talk to other people in your field who struggle with the same mental health issues. Anatoliy talks about the pros and cons of working from home or in an office when you have a mental illness. They finish by talking about a few other points on mental health and resources for those suffering from a mental illness to get the help they need. Links Bipolar disorder Pickle.js Ketamine therapy Ruby Rogues ep. 142: Depression and Mental Illness with Greg Bauges JSJ 358: Pickle.js Tooling and Developer Happiness with Anatoliy Zaslavskiy NAMI DBS Alliance Follow DevChat on Facebook and Twitter Picks Charles Max Wood: ExpressVPN Anatoliy Zaslavskiy: Contact Anatoliy at toli@toliycodes.com Visit his website tolicodes.com Misu app (in beta) Full Article
it JSJ 384: FaunaDB: Support for GraphQL and Serverless Development with Evan Weaver By devchat.tv Published On :: Tue, 20 Aug 2019 06:00:00 -0400 Sponsors Sentry– use the code “devchat” for $100 credit Panel Charles Max Wood AJ O’Neal Joe Eames Aimee Knight With Special Guest: Evan Weaver Episode Summary Evan Weaver is the CEO and cofounder of FaunaDB, a serverless database and a great way to get started with GraphQL. Evan talks about what went into building the FaunaDB and his background with Twitter. FaunaDB arose from trying to fix Twitter’s scalability issues, and the panel discusses scalability issues encountered in both large and small companies. They talk about the difference between transient and persistent data. They discuss how to develop locally when using a serverless database and the importance of knowing why you’re using something. Evan talks about how developing locally works with FaunaDB. He addresses concerns that people might have about using FaunaDB since it is not backed by a tech giant. Evan talks about some of the services FaunaDB offers and talks about the flexibility of its tools. He talks about how to get started with FaunaDB and what the authentication is like. Finally, Evan talks about some well known companies that are using FaunaDB and what they are doing with it. Links FaunaDB GraphQL Netlify AWS Lambda Apollo.io SQL Jamstack Akkeris Graphile Follow DevChat on Facebook and Twitter Picks Charles Max Wood: Captain Sonar Canny JSJ Reccomendations Aimee Knight: Falling in Reverse Joe Eames: Battlestations Evan Weaver Forza Motorsport Follow Evan on Twitter and Github @evan Full Article
it JSJ 385: What Can You Build with JavaScript? By devchat.tv Published On :: Thu, 22 Aug 2019 06:00:00 -0400 Sponsors RxJS Live Panel Charles Max Wood Christopher Beucheler Episode Summary Today Charles and Christopher discuss what can you do with JavaScript. They talk about the kinds of things they have used JavaScript to build. They discuss non-traditional ways that people might get into JavaScript and what first drew them to the language. They talk about the some of the non-traditional JavaScript options that are worth looking into. Christopher and Charles talk about some of the fascinating things that have been done with JavaScript, such as Amazon Alexa capabilities, virtual reality, and games. They spend some time talking about JavaScript usage in game creation and building AI. They talk about how they’ve seen JavaScript change and progress during their time as developers. They talk about areas besides web that they would be interested in learning more about and what kinds of things they would like to build in that area. They finish by discussing areas that they are excited to see improve and gain new capabilites. Links Node.js WebGL React React Native Quake TenserFlow.js WebAssembly Hermes Follow DevChat on Facebook and Twitter Picks Charles Max Wood: Instagram JavaScript Jabber Reccomendations New shows: Adventures in Block Chain, Adventures in .Net Christopher Beucheler: Pair programming VS Code Live Share Full Article
it JSJ 386: Gatsby.js with Chris Biscardi By devchat.tv Published On :: Tue, 27 Aug 2019 06:00:00 -0400 Sponsors GitLab | Get 30% off tickets with the promo code: DEVCHATCOMMIT Sentry– use the code “devchat” for $100 credit Panel Chris Beucheler AJ O’Neal Aimee Knight With Special Guest: Chris Biscardi Episode Summary Chris is an independent consultant working with open source startups. He taught himself to program and started in open source. He talks about how he got into programming and how he learned to code. One of Chris’ current clients is Gatsby, a static site generator. Chris talks about his work with Gatsby themes, how he got started working with Gatsby, and how you can get started with Gatsby. Chris talks about how Gatsby differs from other static site generators and how difficult it is to use. The panel discusses possible use cases for Gatsby, and agree that if your site is going to get more complex and larger over time, something like Gatsby is what you want to use. Chris talks about what it’s like to migrate to Gatsby from another service. The panel discusses the pros and cons of server-side rendering. Chris talks about building more app-oriented sites with Gatsby and things that you can plug into a Gatsby theme besides a blog. The show concludes with Chris and the panelists agreeing that if you can write it in JavaScript, you can ship it in a Gatsby theme. Links Gatsby Shadowing Docker React GraphQL WordPress Hugo Follow DevChat on Facebook and Twitter Picks AJ O’Neal: Sam Walton Made America: My Story Cinematic by Owl City Aimee Knight: Some things that might help you make better software Chris Beucheler: Venture Cafe Providence Chris Biscardi: Jason Lengstorf Twitch show Chris’ Blog Full Article
it JSJ 388: Functional Programming with Brian Lonsdorf By devchat.tv Published On :: Tue, 03 Sep 2019 06:00:00 -0400 Sponsors Adventures in Blockchain Sentry– use the code “devchat” for $100 credit My Ruby Story Panel Aimee Knight Chris Buecheler AJ O’Neal With Special Guest: Brian Lonsdorf Episode Summary Brian Lonsdorf works for Salesforce, specializes in functional programming, and wrote a book called Professor Frisby’s Mostly Adequate Guide to Functional Programming. Brian talks about when he got into functional programming and when in their career others should be exposed to it. He talks about the fundamental tenets of functional programming (static mathematical functions), how it differs from object oriented programming, and how to manipulate data in a functional environment. The panel wonders if it is possible to use functional and object oriented programming together and discuss the functional core imperative shell. Brian talks about what is ‘super functional’ and why JavaScript isn’t, but includes methods for making it work. He shares some of the trade-offs he’s found while doing functional programming. Brian defines a monad and goes over some of the common questions he gets about functional programming, such as how to model an app using functional programming. The show concludes with Brian talking about some of the work he’s been doing in AI and machine learning. Links Promise Functional core, imperative shell RxJs Monad Professor Frisby's Mostly Adequate Guide to Functional Programming Follow DevChat on Facebook and Twitter Picks Aimee Knight: After The Burial (band) Chris Buecheler: Minecraft in JavaScript AJ O’Neal: Crazy Little Thing Called Love by Queen Greenlock v3 campaign Brian Lonsdorf: Follow Brian @drboolean Chris Penner Comonads Full Article
it JSJ 390: Transposit with Adam Leventhal By devchat.tv Published On :: Tue, 10 Sep 2019 06:00:00 -0400 Episode Summary Adam Leventhal is the CEO and cofounder of Transposit. Transposit was born from the desire to build a way for developers to work with lots of different APIs, take authentication and pagination off the table, and let developers focus on the problems they’re trying to solve. Transposit is a serverless platform that’s free and gives you a combination of SQL or JavaScript to start playing with your API. Since interacting with API data securely can be difficult, the panel discusses how Transposit might replace the personally built tools and how does it compare to JAMstack. They talk about some common things that people do wrong with security. Transposit is often used as the full backend, and Adam shares how that works. There is a list of APIs that Transposit can talk to, and you can build your own connector. You can also work with JavaScript and SQL simultaneously. Chris Ferdinandi asks some more specific questions about how Transposit can work with email lists. Adam clarifies the difference between connectors and apps in Transposit. He delves into more detail on what makes it work under the hood. There are some 450,000 Stack applications but the majority have one user because they built it to communicate specifically with their API. The panel discusses how Transposit can help with this. Since Transposit is still in startup mode, it is free for now, and can connect to any public facing API. Adam talks about their decision not to make it open source and gives more details on where the authentications occur. The show wraps up with the panel talking about the pros of going serverless Panelists Chris Ferdinandi Christopher Buecheler With special guest: Adam Leventhal Sponsors Adventures in .NET Sentry use the code “devchat” for 2 months free on Sentry’s small plan Elixer Mix Links Transposit SQL JAMstack OpenAPI Swagger YAML MailChimp React Redux Converting a string into Markup with Vanilla JS How to create a map of DOM nodes with Vanilla JS Custom events in Internet Explorer with Vanilla JS DOM diffing with Vanilla JS part 1 DOM diffing with Vanilla JS part 2 Follow DevChat on Facebook and Twitter Picks Christopher Buecheler: Manchester Orchestra Chris Ferdinandi: Reef Elizabeth Warren Adam Leventhal: Hamilton the biography Antler Follow Adam on Twitter @ahl Full Article
it JSJ 391: Debugging with Todd Gardner By devchat.tv Published On :: Thu, 12 Sep 2019 06:00:00 -0400 Episode Summary Todd Gardner is a software developer, podcaster on the show Script and Style, startup founder, and comedy host for Pub Conf, a ‘comedy after party for developers’. Since he was last on the show 6 years ago, he has seen his startup TrackJS become quite successful. TrackJS is a JavaScript error monitoring service which gives you visibility into your client side experience. It’s different from other tools because focused on simplicity, so you’ll never need a guy on your team dedicated solely to TrackJS because everyone can use it. The panel begins by talking about debugging methods and tools. Some rely solely on the debugger built into their platform while others prefer to use a third party service. They discuss the necessity of using a third party debugger and if there are better solutions than just the built in debugger. They then discuss what to do after you’ve fixed a bug, such as if it is necessary to write a test to make sure it was completely fixed They talk about things to do to make debugging more effective. Todd and Aimee believe that code needs to begin by being designed for debug-ability. The panel discusses issues with invisible boundaries encountered while debugging, such as running out of memory. They talk about ways to mitigate issues that happen outside of your code base. Todd talks about the dangers of ad-blockers, and the panel agrees that it is important to consider how your website will be crippled by the user’s own technology. The end user in a production environment will have a different experience than you did writing it on a professional computer. Todd talks about the difference between debugging for the web versus a mobile application. Todd has encountered particular problems with debugging on a remote device, and he talks about how he solved the issue. The show concludes with Todd giving a quick elevator pitch for TrackJS Panelists Chris Ferdinandi Christopher Buecheler Aimee Knight Charles Max Wood Steve Emmrich With special guest: Todd Gardner Sponsors Adventures in Blockchain Sentry use the code “devchat” for 2 months free on Sentry’s small plan React Round Up Links Track JS (free trial available) Script and Style podcast PubConf Console.log Blackbox for Firefox and Chrome Redux lager Remote JS Follow DevChat on Facebook and Twitter Picks Christopher Buecheler: React/TypeScript cheat sheet Chris Ferdinandi: Pokemon Brawl Space Invaders game Gomakethings.com newsletter Aimee Knight: TechLead Youtube channel Charles Max Wood: Atomic Habits Getting up at 4 am Steve Emmrich: Trello Babushkas and grandmas to help you with your newborn Todd Gardner: PubConf Follow Todd @toddhgardner or todd.mn Full Article
it JSJ 392: The Murky Past and Misty Future of JavaScript with Douglas Crockford By devchat.tv Published On :: Tue, 17 Sep 2019 06:00:00 -0400 Episode Summary Douglas is a language architect and helped with the development of JavaScript. He started working with JavaScript in 2000. He talks about his journey with the language, including his initial confusion and struggles, which led him to write his book JavaScript: The Good Parts. Douglas’ take on JavaScript is unique because he not only talks about what he likes, but what he doesn’t like. Charles and Douglas discuss some of the bad parts of JavaScript, many of which were mistakes because the language was designed and released in too little time. Other mistakes were copied intentionally from other languages because people are emotionally attached to the way things “have always been done”, even if there is a better way. Doug takes a minimalist approach to programming. They talk about his opinions on pairing back the standard library and bringing in what’s needed. Douglas believes that using every feature of the language in everything you make is going to get you into trouble. Charles and Douglas talk about how to identify what parts are useful and what parts are not. Douglas delves into some of the issues with the ‘this’ variable. He has experimented with getting rid of ‘this’ and found that it made things easier and programs smaller. More pointers on how to do functional programming can be found in his book How JavaScript Works Charles and Douglas talk about how he decided which parts were good and bad. Douglas talks about how automatic semicolon insertion and ++ programming are terrible, and his experiments with getting rid of them. He explains the origin of JS Lint. After all, most of our time is not spent coding, it’s spent debugging and maintaining, so there’s no point in optimizing keystrokes. Douglas talks about his experience on the ECMAScript development committee and developing JavaScript. He believes that the most important features in ES6 were modules and proper tail calls. They discuss whether or not progression or digression is occurring within JavaScript. Douglas disagrees with all the ‘clutter’ that is being added and the prevalent logical fallacy that if more complexity is added in the language then the program will be simpler. Charles asks Douglas about his plans for the future. His current priority is the next language. He talks about the things that JavaScript got right, but does not believe that it should not be the last language. He shares how he thinks that languages should progress. There should be a focus on security, and security should be factored into the language. Douglas is working on an implementation for a new language he calls Misty. He talks about where he sees Misty being implemented. He talks about his Frontend Masters course on functional programming and other projects he’s working on. The show concludes with Douglas talking about the importance of teaching history in programming. Panelists Charles Max Wood With special guest: Douglas Crockford Sponsors Sustain Our Software Sentry use the code “devchat” for 2 months free on Sentry’s small plan Views on Vue Links JavaScript: The Good Parts How JavaSript Works “This” variable ECMAScript C++ JS Lint ECMA TC39 Dojo Promise RxJS Drses Misty Tail call Frontend Masters course JavaScript the Good Parts Follow DevChatTV on Facebook and Twitter Picks Charles Max Wood: Superfans by Pat Flynn SEO course Agency Unlocked by Neil Patel Douglas Crockford: The Art of Computer Programming by Donald Knuth Game of Thrones Follow Douglas at crockford.com Full Article
it JSJ 393: Why You Should Be Using Web Workers with Surma By devchat.tv Published On :: Thu, 19 Sep 2019 06:00:00 -0400 Episode Summary Surma is an open web advocate for Google currently working with WebAssembly team. He was invited on the show today to talk about using web workers and how to move work away from the browser’s main thread. His primary platform is bringing multithreading out of the fringes and into the web. The panel talks about their past experience with web workers, and many of them found them isolated and difficult to use. Surma believes that web workers should pretty much always be sued because the main thread is an inherently bad place to run your code because it has to do so much. Surma details the differences between web workers, service workers, and worklets and explains what the compositer is. The panel discusses what parts should be moved off the main thread and how to move the logic over. Surma notes that the additional cost of using a worker is basically nonexistent, changes almost nothing in your workflow, and takes up only one kilobyte of memory. Therefore, the cost/benefit ratio of using web workers gets very large. They discuss debugging in a web worker and Surma details how debugging is better in web workers. Surma wants to see people use workers not because it will make it faster, but because it will make your app more resilient across all devices. Every piece of JavaScript you run could be the straw that breaks the camel’s back. There’s so much to do on the main thread for the browser, especially when it has a weaker processor, that the more stuff you can move away, the better. The web is tailored for the most powerful phones, but a large portion of the population does not have the most powerful phone available, and moving things over to a web worker will benefit the average phone. Surma talks about his experience using the Nokia 2, on which simple apps run very slow because they are not being frugal with the user’s resources. Moving things to another thread will help phones like this run faster. The panel discusses the benefit of using web workers from a business standpoint. The argument is similar to that for accessibility. Though a user may not need that accessibility all the time, they could become in need of it. Making the app run better on low end devices will also increase the target audience, which is helpful is user acquisition is your principle metric for success. Surma wants businesses to understand that while this is beneficial for people in countries like India, there is also a very wide spectrum of phone performance in America. He wants to help all of these people and wants companies acknowledge this spectrum and to look at the benefits of using web workers to improve performance. Panelists Charles Max Wood Christopher Buecheler Aimee Knight AJ O’Neal With special guest: Surma Sponsors Adventures in DevOps Sentry use the code “devchat” for 2 months free on Sentry’s small plan Adventures in Angular Links Web workers Service workers Worklets Ecto model Babel Swoosh Comlink WhatsApp Follow DevChatTV on Facebook and Twitter Picks Charles Max Wood: For Love of Mother-Not Surma: Follow Surma @DasSurma on Twitter and at dassur.ma WebAssembly Spec AJ O’Neal: The GameCube Ultimate Pikmin for Wii and GameCube Super Monkey Ball Christopher Buecheler CinemaSins Sincast podcast Full Article
it JSJ 394: SMS Integration with Dominik Kundel By devchat.tv Published On :: Tue, 24 Sep 2019 06:00:00 -0400 Episode Summary Dominik Kundel works as developer evangelist at Twilio. Dominik talks about the history of Twilio, which actually started with integrating phone calls into apps and then moved to SMS integration. Today Charles and Dominik are talking about how the SMS message approach can augment your user experience. Since many people are not familiar with implementing SMS, Dominik talks about how Twilio can help. Twilio created was a supernetwork where they work with carriers and gateways around the world to ensure that they provide reliable services. They also focus heavily on making sure that the developer experience is great. Uber and Lyft are two of the companies that use Twilio, and Dominik shares some of the interesting things that they’ve accomplished. He is particularly excited about phone number masking to support privacy. Uber and Lyft use phone number masking so that your driver doesn’t see your real number and you don’t see theirs. Instead, each of you sees a Twilio number. This use case is becoming more common. Twilio recently introduced Flex, which Dominik explains is their contact center solution. Flex is designed to keep with their philosophy of everything should be programmable and configurable, and take it on to a software shipment. This is their first time shipping software instead of just APIs. Flex is highly customizable and flexible, allows you to build React plugins that let you change anything you want. Charles asks Dominik about some of the gotchas in telephony. One major issues is spam calls, which Twilio is trying to work with some providers on a ‘verified by Twilio’ list. This list lets companies get verified, and they’re working on ways to let you know the reason why they’re calling without having to answer your phone. This can be difficult because each country has different regulations. Dominik talks about what it would take for someone who wanted to build an SMS gateway themselves. They would have to work with carriers and learn SMS protocols. It’s important to note that SMS and phone calls have different protocols Dominik talks about some of the unique use cases they’ve seen their system. Some examples are contextual communications, account verifications, and codex creation. There are other fun examples, such as a drone controlled via text message, a fake boyfriend app, and a dog that was taught to take selfies that are sent to his owner. Charles asks about ways to get started with Twilio. If you want to explore this and don’t know where to get started, try Twilio Quest, a game to teach you how to use Twilio. There is also documentation, which is good if you know exactly what you want to achieve, or if you just want to explore possibilities then download Twilio Quest. They delve into a more specific use case for Twilio to send text to subscibers of DevChatTV. Dominik talks about ways of dealing with sending notifications to people outside of the US. You can send with a US number to any country code, or you can personalize it, so that people in the UK receive it from a UK number and so on through automatic geocode matching. They talk about Twilio’s billing. Finally, they talk about security within telephony in light of recent hacks. They discuss the security of two factor authentication.Two factor authentication and security, especially in light of recent hacks. Dominik talks about the API called Authy, where you can implement different ways of doing two factor authentication, such as push notifications, time based one time password, sms, and phone calls. For most people in the world two factor authentication is very safe, unless you’re a very important person, then you’re more at risk for targeted attacks. They conclude by talking about Twilio’s acquisition of Sendgrid. Panelists Charles Max Wood With special guest: Dominik Kundel Sponsors iPhreaks Show Sentry use the code “devchat” for 2 months free on Sentry’s small plan Ruby Rogues Links Twilio Flex React Rust Twilio Quest Twilio docs Twilio Completes Acquisition of Sendgrid Authy Follow DevChatTV on Facebook and Twitter Picks Charles Max Wood: Superfans by Pat Flynn Neilpatel.com Dominik Kundel: Enable a setting called javascript.implicit Follow him @dkundel Full Article
it JSJ 395: The New Ember with Mike North By devchat.tv Published On :: Thu, 26 Sep 2019 06:00:00 -0400 Mike North is the Ember guy at Frontend Masters and LinkedIn’s web developer trainer. Today the panel is talking about the upcoming Ember update, which Mike calls a total reinvention of the way you build with Ember. Finally, they are letting go of the cruft and stuff they had to hold on to in order to support IE8 and using modern interface The panel talks about some of the issues with IE8, and agree that the reason Ember felt its age because it was built for IE8. Ember 314 is moving from the past into the present, a sleek modern way to build apps. Mike talks about how easy the new Ember is to use. Mike talks about the excitement in the Ember community because the new build is focused on stability and seamlessness. Charles talks about his less seamless experience with the Angular community. For context, Mike North’s first frontend masters course was recorded in 2014, and he’s only had to change two lines of code. Ember is the only framework that has managed to go all the way from IE7/IE8 to today without a major gap,breaks, or rewrites. They transition to talking about what keeps Ember going. There is an effort to make sure things are decentralized and not tied to any specific company, although Apple, Netflix, Nasa, and PlaysStation all use it. LinkedIn has also been hiring Ember core member to continue working on it, and sponsoring open source work. Next, they talk about how Ember works with TypeScript. You can install an Ember add on with one terminal command that will enable TypeScript in an Ember app.There are some issues that could cause misalignment with JavaScript and TypeScript, but Ember has designed things around it. MIke talks about the major change in the learning curve with using Ember and how far Vanilla JS will take you. Overall, it is a lot more approachable than it used to be. They move on to talk about the availability of third party solutions with Ember. Mike assures them that Ember has add-ons, and parts of the framework are opening up to allow experimentation with components. There are lots of ways to make Ember your own without running the risk of diverging, giving more flexibility than ever while maintaining the happy path. Testing within Ember is also a priority, and they want the code to be as readable as possible. The last topic discussed in this show is the importance of developer education. LinkedIn looks at employment numbers and the rate at which new jobs open, and software engineering is growing like crazy and will likely continue to grow.The rate at which new people are graduating with computer science and programming degrees, as well as those from unconventional backgrounds, is not keeping up with the number of jobs. This means that there will be fewer senior people spread across bigger groups of developers with less experience. The panel agrees that it is the responsibility of people who have been around or learned something period to pass on the knowledge because the more knowledge is passed on, the more stable things will remain as seniors become more scarce. It is also important for companies to level up junior developers. They conclude by talking about tools available for people who want to learn more about Ember Octane, and Mike makes an open request to the JS community. Panelists Charles Max Wood Steve Emmerich Chris Ferdinandi Aimee Knight AJ O’Neal Christopher Buecheler With special guest: Mike North Sponsors React Native Radio Sentry use the code “devchat” for 2 months free on Sentry’s small plan Dev Ed Podcast Links Ember Frontend Masters IE8 Ember Octane Sprout Core TypeScript ES6 Lodash Mocha Backstop.js Semver https://twitter.com/thefalken/status/1177483501777473537 Follow DevChatTV on Facebook and Twitter Picks Chris Ferdinandi: Vanilla JS Academy, get 30% off with code ‘jsjabber’ leanweb.dev Steve Emmerich: 123 Magic RGDK Aimee Knight: Recursion blog post Wholesome Provisions Protein Cereal AJ O’Neal: Carby V2 by Insurrection Industries GameCube Mods Charles Max Wood: Nikon D5600 Rode Newsshooter Viltrox light panel Quest Nutrition pumpkin bars Christopher Buecheler: Tool’s Fear Inoculum on Apple Music, Spotify, and Google Play Mike North: Github Universe Github Tracer Bench Follow Mike @mike-north on Github, @northm on LinkedIn, and @michaellnorth on Twitter Full Article
it JSJ 396: Publishing Your Book with Jonathan Lee Martin By devchat.tv Published On :: Tue, 01 Oct 2019 06:00:00 -0400 Jonathan Lee Martin is an instructor and developer. He got his start in teaching at Big Nerd Ranch doing 1-2 week trainings for mid to senior developers, and then transitioned to 16 week courses for career switchers. He also worked for Digital Crafts for a year, and then wanted to focus on building out his own personal teaching brand. One of his first steps toward building his own brand was to publish his book, Functional Design Patterns for Express.js.The inspiration for Jonathan’s book came from his experience teaching career switchers. He wanted to experiment in the classroom with teaching functional programming in a way that would be very approachable and applicable and dispel some of the magic around backend programming, and that became the template for the book. Jonathan loves the minimalist nature of Express.js and talks about its many uses. He believes that it knowing design patterns can take you pretty far in programming, and this view is related to his background in Rails. When he was working in Rails taming huge middleware stacks, he discovered that applying design patterns made builds take less time. He talks about other situations where knowing design patterns has helped. Express.js leans towards object oriented style over functional programming, and so it takes to these patterns well. Express.js has its shortcomings, and that’s where Jonathan’s favorite library Koa comes into play. The conversation switches back to Jonathan’s book, which is a good way to start learning these higher level concepts. He purposely made it appealing to mid and senior level programmers, but at the same time it does not require a lot of background knowledge. Jonathan talks about his teaching methods that give people a proper appreciation for the tool. Jonathan talks more about why he likes to use Express.js and chose to use it for his book. He cautions that his book is not a book of monads, but rather about being influenced by the idea of composition over inheritance. He talks about the role of middleware in programming. The panel asks about Jonathan’s toolchain and approach to writing books, and he explains how his books are set up to show code. They discuss the different forms required when publishing a book such as epub, MOBI, and PDF. Jonathan found it difficult to distribute his book through Amazon, so he talks about how he built his own server. Charles notes that your method of distributing your book will depend on your goal. If you want to make the most money possible, make your own site. If you want to get it into as many hands as possible, get it on Amazon. Many of the JavaScript Jabber panelists have had experience publishing books, and Jonathan shares that you can reach out to a publisher after you’ve self-published a book and they can get it distributed. Jonathan believes that If he had gone straight to a publisher, he would have gotten overwhelmed and given up on the book, but the step by step process of self-publishing kept things manageable. The panelists discuss difficulties encountered when publishing and editing books, especially with Markdown. Jonathan compares the perks of self-editing to traditional editing. Though he does not plan to opensource his entire editing pipeline, he may make some parts available. The show concludes with the panelists discussing the clout that comes with being a published author. Panelists Charles Max Wood Christopher Buecheler J.C. Hyatt With special guest: Jonathan Lee Martin Sponsors Adventures in Blockchain Sentry use the code “devchat” for 2 months free on Sentry’s small plan The Freelancers’ Show Links Big Nerd Ranch Digital Crafts JSJ 070: Book Club JavaScript Allonge with Reginald Braithwaite JavaScript Allonge by Reginald Braithwaite Functional Design Patterns for Express JS by Jonathan Lee Martin Node.js Express.js Koa Minjs Sinatra Http.createserver Monads Middleware Markdown Pandoc Diff-match-path library Epub MOBI LaTeX Stripe Checkout Fstoppers Softcover Bookseller API Follow DevChatTV on Facebook and Twitter Picks Christopher Buecheler: Cluisbrace.com newsletter J.C. Hyatt: Corsair wireless charging mouse pad Charles Max Wood: Magnetic whiteboard baskets Mrs. Piggle-Wiggle books Jonathan Lee Martin: Eric Elliot JS YellowScale Follow Jonathan and find his book at jonathanleemartin.com Full Article