js MJS 121: Sam Selikoff By devchat.tv Published On :: Tue, 03 Sep 2019 06:00:00 -0400 Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Ruby Rogues React Native Radio CacheFly Host: Charles Max Wood Joined by Special Guest: Sam Selikoff Episode Summary Sam Selikoff, Co-Founder at EmberMap shares his journey of how he became a developer. Sam was an Economics major in college and he really loved the theory of economics. When he graduated, he started working as a consultant and while working with data for statistical analysis he found that he enjoyed working with SQL and that how he started his developing career. Sam explains why he prefers Ember.js framework to other frameworks. He also talks about the projects he is working on currently. Apart from coding Sam enjoys reading economics books and playing music with his family. He shares some of his favorite books to read on the Theory Of Economics. Links JSJ 364: Ember Octane with Sam Selikoff EmberMap Podcast Sam's Twitter Picks Charles Max Wood Podcast Movement Sam Selikoff UPLIFT Desk Midsommar Movie Full Article
js JSJ 389: What Makes a 10x Engineer? By devchat.tv Published On :: Thu, 05 Sep 2019 06:00:00 -0400 Sponsors Sustain Our Software Sentry– use the code “devchat” for $100 credit Adventures in Blockchain Panel Charles Max Wood Episode Summary In today’s show, Chuck talks about the recent tweet thread about 10x engineers. He goes through each of the points in the tweet and talks about each of them in turn. There are only two points he sort of agrees with, and believes the rest to be absolute garbage. One of the issues with this tweet is that it doesn’t define what a 10x engineer is. Defining a 10x engineer is difficult because it is also impossible to measure a truly average engineer because there are many factors that play into measuring productivity. Chuck turns the discussion to what a 10x engineer is to him and how to find one. A 10x engineer is dependent on the organization that they are a part of, because they are not simply found, they are made. When a 10x engineer is added to a team, the productivity of the entire team increases. Employers have to consider firstly what you need in your team and how a person would fit in. You want to avoid changing the entire culture of your organization. Consider also that a 10x engineer may be hired as a 2x engineer, but it is the employer that turns them into a 10x engineer. Overall, Chuck believes these tweets are asinine because it’s impossible to measure what makes a 10x engineer in the first place, and hiring a person that fits the attributes in the list would be toxic to your company. Links 10x engineer twitter thread Follow DevChat on Facebook and Twitter Picks Charles Max Wood: Copyhackers.com Good to Great by Jim Collins Keto diet Podcast Movement Full Article
js 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
js MJS 122: Rachel Roumeliotis and Roger Magoulas By devchat.tv Published On :: Tue, 10 Sep 2019 06:00:00 -0400 Episode Summary Rachel Roumeliotis and Roger Magoulas from O'Reilly Media join Charles Max Wood at OSCON to talk about the process of content development for OSCON. Rachel is the Vice President of Content Strategy at O'Reilly and Roger is Vice President of Radar at O'Reilly. Rachel and Roger talk about the history of OSCON Conference as well as the key technologies they wanted to cover this year such as Artificial Intelligence, Machine Learning and Cloud-Native applications. They then talk about the future of OSCON and the highlights they wat to cover next year such as security. Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Adventures in DevOps Adventures in Blockchain CacheFly Host: Charles Max Wood Joined by Special Guests: Rachel Roumeliotis and Roger Magoulas Links Rachel's LinkedIn Roger's LinkedIn Open Source & Software Development| O'Reilly OSCON O'Reilly Radar O'Reilly Media - Technology and Business Training Full Article
js 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
js 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
js MJS 123: Nick Basile By devchat.tv Published On :: Tue, 17 Sep 2019 06:00:00 -0400 Episode Summary My JavaScript Story this week meets with Nick Basile, UX instructor at Lambda School from Austin, TX. Nick talks about how much he enjoys working with Laravel and Vue as well as his journey as a developer. Upon graduating from university in Switzerland with a degree in Economics, he started working for two start-ups doing UX/UI design. He then wanted to be able to build UI as well so he taught himself JavaScript and HTML. He then got a job as a front-end developer to further develop his skills. Charles makes a comment about how many developers don't have a Computer Science Degrees. Nick then talks about how he got into Laravel and Vue and also how he started working for Lambda. They briefly discuss Lambda's business model and Nick's approach to teaching. Finally Nick talks about how he spends his life outside work in Austin, which nowadays involves looking after his 4-month old daughter. Host: Charles Max Wood Joined by Special Guest: Nick Basile Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Adventures in DevOps Adventures in BlockChain CacheFly Links VoV 008: Getting Started with TDD on Vue.js with Nick Basile Nick's LinkedIn Lambda School Nick's Twitter https://nick-basile.com/ https://laravel-news.com/the-10-best-laravel-podcasts Picks Charles Max Wood: SEMrush SEO Tools https://neilpatel.com/ubersuggest/ ActiveCampaign Nick Basile: How It Actually Works Tailwind CSS Going Back to the Gym Full Article
js 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
js MJS 124: Daniel Gruesso By devchat.tv Published On :: Mon, 23 Sep 2019 06:00:00 -0400 This episode of My JavaScript Story is coming to you live from OSCON. Joining Charles Max Wood is Daniel Gruesso from GitLab to talk about developing in the Open Source and the Developer Report. GitLab works with an open core model, Daniel talks about the trade - offs of having code open to public, the first of which is having everything up-to-date so any contributions made will work with the latest version. Daniel calls this the "bus-factor" where if one of the team members gets hit by a bus, the rest of the team will have everything to work with. They then talk about the GitLab 2019 Global Developer Report results. One of the most interesting results of this survey with over 4,000 respondents, was that remote teams outperformed on site teams. This ties into the current Twitter discussion about "10x Performing Engineers". Remote teams are able to work on their own most productive hours and are not disturbed by their teammates when they are doing dedicated work on a deadline. Also remote teams by nature have to be more conscious of security. Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Adventures in DevOps Adventures in Blockchain CacheFly Host: Charles Max Wood Joined by Special Guest: Daniel Gruesso Links Daniel's LinkedIn GitLab Open Source & Software Development| O'Reilly OSCON GitLab 2019 Global Developer Report | GitLab 10x Engineer Twitter Full Article
js 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
js 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
js 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
js MJS 125: Dan Pastori By devchat.tv Published On :: Tue, 01 Oct 2019 06:00:00 -0400 In this episode of My JavaScript Story, Charles talks to Dan Pastori, Co-Founder, Software Architect at 521 Dimensions. Charles asks about Dan's average day and what his life looks like before diving into his coding journey. Dan talks about how he got into web development. Dan taught himself PHP and JavaScript. Charles talks about the Views on Vue episode Dan was on VoV 012: Re-using VueJS Mixins and Filtering Google Map Data with Dan Pastori, and wants to know how Dan got into Vue. Dan compares learning times of Vue and Angular and mentions he learned Vue in a week as opposed to the months he spent learning Angular. Dan talks about his involvement in the Vue community and the future of Vue as well as the projects he is currently working on. Dan then talks about his future projects and plans. They finish off with picks. Host: Charles Max Wood Joined by Special Guest: Dan Pastori Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Adventures in DevOps Adventures in Blockchain CacheFly Links VoV 012: Re-using VueJS Mixins and Filtering Google Map Data with Dan Pastori Dan's LinkedIn https://github.com/521dimensions/amplitudejs 521 Dimensions https://avotoast.app/ https://github.com/521dimensions https://serversideup.net Dan's Twitter Picks Dan Pastori: Clean Code by Robert C. Martin The Food Lab: Better Home Cooking Through Science by Cherie Mason and J. Kenji López-Alt Charles Max Wood: Headliner App Full Article
js JSJ 397: Design Systems with Kaelig Deloumeau-Prigent By devchat.tv Published On :: Thu, 03 Oct 2019 06:00:00 -0400 Kaelig Deloumeau-Prigent is a self taught web developer from west France. He has worked for BBC, The Guardian, and The Financial Times in the UK. He has also worked in the US for SalesForce and currently works for Shopify on their Polaris design system. Shopify has multiple design systems, and Polaris is open source. Today the panel is talking about design systems and developer tooling around design systems. To begin, Kaelig explains what a design system is. A design system is all of the cultural practices around design and shipping a product. It includes things like the words, colors, spacing grid system, and typography, plus guidance on how to achieve that in code. The panelists discuss what has made design systems so popular. Design systems have been around for a while, but became popular due to the shift to components, which has been accelerated by the popularity of React. The term design system is also misused by a lot of people, for it is much more than having a Sketch file. Next, they talk about whether design systems fall under the jurisdiction of a frontend developer or web designers. Kaelig has found that a successful design system involves a little bit of everyone and shouldn’t be isolated to one team. They talk about what the developer workflow looks like in a design system. It begins with thinking of a few common rules, a language, and putting it into code. As you scale, design systems can become quite large and it’s impossible for one person to know everything. You either give into the chaos, or you start a devops practice where people start to think about how we build, release, and the path from designer’s brain to production. The panelists then talk about how to introduce a design system into a company where there are cultural conflicts. Kaelig shares his experience working with SalesForce and introducing a design system there. They discuss what aspects of a design system that would make people want to use it over what the team is currently doing. Usually teams are thankful for the design system. It’s important to build a system that’s complete, flexible, and extensible so that you can adapt it to your team. A good design system incorporates ‘subatomic’ parts like the grid system, color palette, and typography, referred to as design tokens. Design systems enable people to take just the bits of the design system that are interesting to them and build the components that are missing more easily. The conversation turns to the installation and upgrade process of a design system. Upgrading is left up to the customer to do on their own time in most cases, unless it’s one of the big customers. They talk about the role of components in upgrading a design system. Kaelig talks about the possibility of Shopify transitioning to web components. Kaelig shares some of his favorite tools for making a design system and how to get started making one. A lot of design teams start by taking a ton of screen shots and looking at all the inconsistencies.Giving them that visibility is a good thing because it helps get everyone get on the same page. The panelists talk about the role of upper management in developing components and how to prioritize feature development. Kaelig talks about what drives the decision to take a feature out. The two main reasons a feature would be removed is because the company wants to change the way things are done and there’s a different need that has arisen. The show concludes by discussing the possibility of a design system getting bloated over time. Kaelig says that Design systems takes some of the burden off your team, help prevent things from getting bloated, allow you to ship less code. Panelists Chris Ferdinandi Aimee Knight Steve Emmerich With special guest: Kaelig Deloumeau-Prigent Sponsors Sustain Our Software Sentry use the code “devchat” for 2 months free on Sentry’s small plan Adventures in Blockchain Links Shopify Polaris Bootstrap React Sketch.ui Figma.ui CSS StoryBook ESLint Jest Ensign Webpacker Follow DevChatTV on Facebook and Twitter Picks Steve Emmerich: CedarWorks play beds Azure’s container instances Aimee Knight: Awesome Actions for Github Chris Ferdinandi: Free Meek docuseries Simplicity: Part 2 by Bastian Allgeier Kaelig Deloumeau-Prigent: Dependabot Ink by Vadim Demedez Follow Kaelig on Twitter @kaelig Full Article
js JSJ 398: Node 12 with Paige Niedringhaus By devchat.tv Published On :: Tue, 08 Oct 2019 06:00:00 -0400 Guest Paige Niedringhaus has been a developer full time for 3 years, and today she is here to talk about Node 12. One of the things she is most excited about is the ES6 support that is now available, so things that used to require React, Angular, or Vue can now be done in Node. The require function will not have to be used in Node 12. AJ is worried about some of these changes and expresses his concerns. Paige assures him that in the beginning you won’t have to switch things to imports. You may have to change file extensions/types so Node can pick up what it’s supposed to be using. They are also trying to make it compatible with CommonJS. Node 12 also boasts an improved startup time. The panel discusses what specifically this means. They talk about the code cache and how Node caches the built in libraries that it comes prepackaged with. The V8 engine is also getting many performance enhancements. Paige talks about the shift from promises to async. In Node 12, async functions will actually be faster than promises. They discuss some of the difficulties they’ve had in the past with Async08, and especially callbacks. Another feature of Node 12 is better security. The transcripted security layer (TLS), which is how Node handles encrypted strains of communication, is upgrading to 1.3. The protocol is simpler to implement, quicker to negotiate sessions between the applications, provides increased end user privacy, and reduces request time. Overall, this means less latency for everybody. 1.3 also gets rid of the edge cases that caused TLS to be way far slower than it needed to be. The conversation turns to properly configuring default heap limits to prevent an ‘out of memory’ error. Configuring heap limits is something necessary when constructing an incredibly large object or array of objects. Node 12 also offers formatted diagnostic summaries, which can include information on total memory, used memory, memory limits, and environment lags. It can report on uncaught exceptions and fatal errors. Overall, Node 12 is trying to help with the debugging process. They talk about the different parsers available and how issues with key pairing in Node have been solved. Paige talks about using worker threads in Node 12. Worker threads are really beneficial for CPU intensive JavaScript operations. Worker threads are there for those things that eat up all of your memory, they can alleviate the load and keep your program running efficiently while doing their own operations on the sideline, and returning to the main thread once they’ve finished their job. None of the panelists have really used worker threads, so they discuss why that is and how they might use Worker Threads in Node 12. In addition, Node 12 is making Native module creation and support easier, as well as all the different binaries a node developer would want to support. Paige makes it a point to mention the new compiler and minimum platform standards. They are as follows: GCC minimum 6 GLIVC minimum 2.17 on platforms other than Mac and Windows (Linux) Mac users need at least 8 and Mac OS 10.10 If you’ve been running node 11 builds in Windows, you’re up to speed Linux binaries supported are Enterprise Linux 7, Debian 8, and Ubuntu 14.04 If you have different requirements, go to the Node website Panelists J.C. Hyatt Steve Edwards AJ O’Neal With special guest: Paige Niedringhaus Sponsors Tidelift Sentry use the code “devchat” for 2 months free on Sentry’s small plan Sustain Our Software Links Async CommonJS njs Promise Node Event Stream llhttp llparse LLVM Papa Parse Json.stringify Json.parse Optimizing Web Performance TLS 1.3 Overlocking SSL Generate Keypair Follow DevChatTV on Facebook and Twitter Picks J.C. Hyatt: AWS Amplify framework 12 Rules for Life: An Antidote to Chaos by Jordan Petersen React and Gatsby workshops Steve Edwards: The Farside comic coming back? AJ O’Neal: Field of Hopes and Strings Link’s Awakening Dune Paige Niedringhaus: DeLonghi Magnifica XS Automatic Espresso Machine, Cappuccino Maker CONNECT.TECH Conference Follow Paige on Twitter, Medium, and Github Full Article
js MJS 126: Eduardo San Martin Morote By devchat.tv Published On :: Tue, 08 Oct 2019 06:00:00 -0400 In this episode of My JavaScript Story is Charles talks to Eduardo San Martin Morote. Eduardo is a freelance developer, a core team member of Vue.js, and loves contributing to open source. Eduardo started web development with games. He then majored in Computer Science and Mathematics. Eduardo works as a freelancer so he can work on Open Source projects in his free time. One of the problems he draws attention to is the sustainability of Open Source Projects. The developers that maintain the projects on Open Source are not funded, and even though many companies use Open Source code they don't have sponsor it even though they have the financial means to do so. Charles Max Wood recommends another podcast Devchat.tv hosts, Sustain Our Software that addresses this problem among others for Open Source. Eduardo and Charles talk about characters that have accents that have to be encoded and how they deal with this problem. Eduardo then talks about some of the projects he is working on currently with Vue.js. Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Adventures in Blockchain Adventures in DevOps CacheFly Host: Charles Max Wood Joined by Special Guest: Eduardo San Martin Morote Links VoV 038: Webassembly and Typescript with Eduardo San Martin Morote VoV 010: “Vue Libraries, Open Source, Meetups” with Eduardo San Martin Morote Eduardo's LİnkedIn Eduardo's Twitter J2EE jQuery Picks Eduardo San Martin Morote Tajin Eduardo's GitHub Charles Max Wood Subscribers Subscribe to your favorite podcast on Devchat.tv https://canny.io Suggest a Topic or a Guest for your Favorite Podcast on Devchat.tv by clicking on Suggest A Topic Or Guest Full Article
js JSJ 399: Debugging with Async/Await with Valeri Karpov By devchat.tv Published On :: Thu, 10 Oct 2019 06:00:00 -0400 Valeri Karpov is a maintainer on Mongoose, has started a few companies, and works for a company called Booster Fuels. Today’s topic debugging with Async/Await. The panel talks about some of the challenges of debugging with Async. AJ, however, has never encountered the same problems, so he shares his debugging method. Valeri differentiates between .catch vs try...catch, and talks about why he prefers .catch. There are two ways to handle all errors in an async function without leading to an unhandled promise rejection. The first is to wrap the entire body of the async function in a try...catch, has some limitations. Calling an async function always returns a promise, so the other approach is calling .catch on the promise to handle any errors that occur in that function body. One of the key differences is if you return a promise within an async function, and that return promise is wrapped in a try...catch, the catch block won’t get called if that promise is rejected, whereas if you call .catch on the promise that the function returns, you’ll actually catch that error. There are rare instances where this can get tricky and unintuitive, such as where you have to call new promise and have resolve and reject, and you can get unexpected behavior. The panel discusses Valeri’s current favorite JS interview question, which is, “Given a stream, implement a function called ‘stream to promise’ that, given a stream, returns a promise that resolves to the concatenation of all the data chunks emitted by the stream, or rejects if the stream emits an error event.” It’s really simple to get this qustion right, and really simple to get it wrong, and the difference can be catastrophic. AJ cautions listeners to never use the data event except in the cases Val was talking about, only use the readable event. The conversation turns to the function of a readable event. Since data always pushes data, when you get a readable event, it’s up to you to call read inside the function handler, and then you get back a chunk of data, call read again and again until the read returns null. When you use readable, you are in control and you avoid piling functions into RAM. In addition, the right function will return true or false to let you know if the buffer is full or not. This is a way to mix imperative style into a stream. The next discussion topics are the differences between imperative style and reactive style and how a waits and promises work in a normal four loop. A wait suspends the execution of a function until the promise is resolved. Does a wait actually stop the loop or is it just transpiling like a promise and it doesn’t stop the loop. AJ wrote a module called Batch Async to be not as greedy as promise.all but not as limited as other options. The JavaScript panelists talk about different async iterators they’ve used, such as Babel. They discuss the merits of Babel, especially since baseline Android phones (which a significant portion of the population of the world uses) run UC Browser that doesn’t support Babel, and so a significant chunk of the population of the world. On the other hand, if you want to target a large audience, you need to use Babel. Since frameworks in general don’t handle async very well, the panel discusses ways to mitigate this. They talk about different frameworks like Vue, React, and Express and how they support async functions. They discuss why there is no way for you to actually cancel an async option in an actual case, how complex canceling is, and what you are really trying to solve for in the cancellation process. Canceling something is a complex problem. Valeri talks about his one case where he had a specific bug that required non-generic engineering to solve, and cancelling actually solved something. When AJ has come across cancellation issues, it’s very specific to that use case. The rest of the panelists talk about their experiences with having to cancel something. Finally, they talk about their experience with async generator functions. A generator is a function that lets you enter into the function later. This makes sense for very large or long running data sets, but when you have a bounded items, don’t complicate your code this way. When an async generator function yields, you explicitly need to call next in order for it to pick up again. If you don’t call ‘next’, it’s essentially cancelled. Remember that object.keys and object.values are your friends. Panelists Christopher Buecheler AJ O’Neal Charles Max Wood With special guest: Valeri Karpov Sponsors The DevEd Podcast Sentry use the code “devchat” for 2 months free on Sentry’s small plan Adventures in DevOps Links Mongoose Express 5 Node Streams Pull Streams Masteringjs.io MongoDB Babel HTML Webpack Vue Express RxJS Console.log Json.stringify Batchasync.js How to Write Batch Async Functions Follow DevChatTV on Facebook and Twitter Picks AJ O’Neal: Ethan Garofolo YouTube Christopher Buecheler: Functional Design Patterns for Express.js Charles Max Wood: Microsoft Ignite Maxcoders.io Valeri Karpov: Follow Valeri on Twitter @code_barbarian and Github @vkarpov15 Masteringjs.io Jurassic Park: A Novel Full Article
js JSJ 400: The Influence of JavaScript Jabber By devchat.tv Published On :: Tue, 15 Oct 2019 06:00:00 -0400 JavaScript Jabber celebrates its 400th episode with former host Dave Smith and some other familiar voices. Each of the panelists talks about what they’ve been up to. Dave hasn’t been on the show for 3 years, but he and Jameson Dance have started a podcast called Soft Skills Engineering where they answer questions about the non-technical side of engineering. When he left the show he was the director of engineering on Hire View, and currently he works for Amazon on Alexa. Christopher Buecheler has been on several JSJ, RRU, and MJS episodes. His time is divided between contracting for startups and his own company closebrace.com, a tutorial and resource site for JavaScript developers. Dan Shapir has also been on JSJ as a guest, and is currently works for Wix doing performance tech. He enjoys speaking at conferences, such as JS Camp in Bucharest, Romania and the YGLF conference. Steve Edwards was previously on MJS 078. He started on Drupal in the PHP world, switched to JavaScript, and then a few years ago he started looking at Vue. Now he does Vue fulltime for ImageWare Systems. As for Charles, his primary focus is the podcasts, since DevChat.tv produces around 20 episodes per week. 5 new shows were started in July, and he talks about some of the challenges that that brought. One of his most popular shows recently was JSJ 389: What makes a 10x Engineer? This helped him realize that he wants to help teach people how to be a successful engineer, so he’s working on launching a new show about it. The panelists share some of their favorite JSJ episodes. They discuss the tendency of JSJ to get early access to these fascinating people when the conversation was just beginning, such as the inventor of Redux Dan Abramov, before their rise to stardom. The talk about the rise in popularity of podcasting in general. They agree that even though JavaScript is evolving and changing quickly, it’s still helpful to listen to old episodes. Charles talks about the influence JavaScript Jabber has had on other podcasts. It has spawned several spinoffs, including My JavaScript Story. He’s had several hosts start their own DevChat.tv shows based off JavaScript Jabber, including Adventures in Angular and The DevEd Podcast. JavaScript Jabber has also been the inspiration for other podcasts that aren’t part of DevChat.tv. There aren’t many podcast companies that produce as many shows as they do and they’re developing their own tools. DevChat.tv moved off of WordPress and is in the process of moving over to Podwrench. Charles talks about all the new shows that have been launched, and his view on ‘competing’ podcasts. Charles is also considering doing an audio drama that happens in a programming office, so if you would like to write and/or voice that show, he invites you to contact him. The show concludes with the panel talking about the projects they’ve been working on that they want listeners to check out. Christopher invites listeners to check out closebrace.com. He also has plans to write a short ebook on unit testing with jest, considered doing his own podcast, and invites people to check out his fiction books on his website. Dan talks about his involvement with Wix, a drag and drop website service, that recently released a technology called Corvid which lets you write JS into the website you build with Wix. This means you can design your user interface using Wix, but then automate it, add events functionality, etc. Dan is also going to be at the Chrome Dev Summit conference. Dave invites listeners to check out the Soft Skills Engineering podcast, and Charles invites listeners to subscribe to his new site maxcoders.io. Panelists Dan Shapir Christopher Buecheler Steve Edwards Dave Smith Charles Max Wood Sponsors Tidelift Sentry use the code “devchat” for 2 months free on Sentry’s small plan Adventures in .NET Links The Dev Rev MJS 099: Christopher Buecheler JSJ 338: It's Supposed to Hurt. Get Outside of Your Comfort Zone to Master Your Craft with Christopher Buecheler RRU 029: Christopher Buecheler Getting Ready to Teach Lessons Learned from Building an 84 Tutorial Software Course MJS 108: Dan Shapir JSJ 334: Web Performance API with Dan Shapir JSJ 371: The Benefits and Challenges of Server Side Rendering with Dan Shapir MJS 078: Steve Edwards JSJ 179: Redux and React with Dan Abramov JSJ 187: Vue.js with Evan You JSJ 383: What is JavaScript? JSJ 385: What Can You Build with JavaScript JSJ 390: Transposit with Adam Leventhal JSJ 395: The New Ember with Mike North JSJ 220: Teaching JavaScript with Kyle Simpson JSJ 313: Light Functional JavaScript with Kyle Simpson JSJ 124: The Origin of JavaScript with Brendan Eich JSJ 073: React with Pete Hunt and Jordan Walke JSJ 392: The Murky Past and Misty Future of JavaScript with Douglas Crockford JSJ 391: Debugging with Todd Gardner JSJ 389: What Makes a 10x Engineer? cwbuecheler.com Closebrace.com Corvid by Wix Soft Skills Engineering podcast maxcoders.io Follow DevChatTV on Facebook and Twitter Picks Steve Edwards: form.io Christopher Buecheler: Apollo GraphQL Playground @TheTimeCowboy Jake Lawrence Charles Max Wood: St. George Marathon GU Energy Original Sports Nutrition Energy Gel Vrbo devchat.tv/15minutes Dan Shapir: Revolutions by Mike Duncan podcast The Winter of the World book series Dave Smith: 13 Minutes to the Moon podcast by BBC The Mind Full Article
js MJS 127: Thorsten Lünborg By devchat.tv Published On :: Tue, 15 Oct 2019 06:00:00 -0400 In this episode of My JavaScript Story, Charles talks to Thorsten Lünborg. Thorsten is a Business Service Manager at MVV Energy Solutions from Frankfurt Germany. Charles asks about Thorsten's developer journey in particular how he was introduced to JavaScript. Thorsten is also a core team member for Vue.js and he talks about his involvement with the Vue community. Thorsten mainly focuses on working on Vue CLI and answering questions in forums. He describes the Vue community as a very friendly and helpful one. According to Thorsten, Vue is very stable and seems to satisfy a lot of the needs of Vue community and so people are not looking for the "next best thing" with Vue. Out of all the frameworks i tried to learn, i found Vue was the one that i liked the most and i started answering questions about Vue on the forums. Host: Charles Max Wood Joined by Special Guest: Thorsten Lünborg Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Sustain Our Software Adventures in DevOps CacheFly Links VoV 060: Our Least Favorite Parts of Vue with An Phan and Thorsten Lunborg VoV 022: How I became a Vue.js core team member without a professional background with Thorsten Luenborg Thorsten's Twitter Picks Thorsten Lünborg Preacher TV Series Borderlands 3 Vue.js London 2019 https://github.com/vuejs/rfcs Charles Max Wood Running a Marathon Honeywell wifi thermometer Full Article
js JSJ 401: Hasura with Tanmai Gopal By devchat.tv Published On :: Thu, 17 Oct 2019 06:00:00 -0400 Tanmai is one of the founders at Hasura. Hasura gives you instant graphQL APIs on top of a Postgres database. The eventual idea is to make data access secure and easy. Tanmai explains the challenges of doing this in the cloud. He talks about some of the difficulties with the tooling around using GraphQL and its bias towards working well with a monolith. Since GraphQL is basically a shared type system that describes your API, that means all your types need to be in the same code base. This is at odds with the folks who want to do microservices and serverless functions, because since their API is split across multiple services they have different types, and forcing these types to work together defeats the purpose of using microservices. Also, storing state across requests doesn’t work well with serverless and cloud native stuff. In short, learning to live without state is one of the general challenges with going serverless. This is where Hasura comes into play, and Tanmai explains how it works. Hasura is metadata driven, and each instance of the server can leverage multiple calls and exhibit a high amount of concurrency. It’s designed to be a little more CPU bound than memory bound, which means that configuring auto scaling on it is very easy and allows you to utilize the elasticity of cloud native applications. Tanmai clarifies his usage of the word ‘cloud native’, by which he means microservices. He explains that when you have a metadata based engine, this metadata has a language that allows you to bring to bring in types from multiple upstream microservices, and create a coherent graphQL API on top of that. Hasura is a middle man between the microservices and the consumer that converts multiple types into a single coherent graphQL API. Next, Tanmai explains how Hasura handles data fetching and a high volume of requests. They also invented PostgresQL, RLS-like semantics within Hasura. He explains the process for merging your microservices into a single graphQL interface. Back on data fetching, Tanmai explains that when the product is an app, preventing an overabundance of queries becomes easier because during one of the staging processes that they have, they extract all of the queries that the app is actually making, and in the production version it only allows the queries that it has seen before. Hasura is focused on both the public interface and private use cases, though private is slightly better supported. Tanmai talks about the customizations available with Hasura. Hasura supports two layers. One is an aliasing layer that lets you rename tables, columns, etc as exposed by PostgresQL. The other is a computer column, so that you can add computer columns so you can extend the type that you get from a data model, and then you can point that to something that you derive. The panelist discusses the common conception of why it is a bad idea to expose the data models to the frontend folks directly. They discuss the trend of ‘dumbing down’ available tooling to appeal to junior developers, at the cost of making the backend more complicated. They talk about some of the issues that come from this, and the importance of tooling to solve this concern. Finally, Tanmai talks about the reasons to use Hasura over other products. There are 2 technologies that help with integrating arbitrary data sources. First is authorization grammar, their version of RLS that can extend to any system of types and relationships, The second is the data wrapper, part of the compiler that compiles from the graphQL metadata AST to the actual SQL AST. That is a generic interface, so anyone can come in and plug in a Haskell module that has that interface and implement a backend compiler for a native query language. This allows us to plug in other sources and stitch microservices together. The show concludes with Tanmai talking about their choice to use Haskell to make Hasura. Panelists AJ O’Neal Dan Shapir Steve Edwards Charles Max Wood With special guest: Tanmai Gopal Sponsors Adventures in DevOps Sentry use the code “devchat” for 2 months free on Sentry’s small plan The Dev Ed Podcast Links Hasura Haskell Node.js Cloud Native Microservices PostGraphile Postgres PostgresQL RLS Swagger JAMstack Soap Rest Follow DevChatTV on Facebook and Twitter Picks AJ O’Neal: The Economic Singularity Capital Cities GameCube Homebrew Dan Shapir: Romania JSCamp Steve Edwards: Cold Blooded: The Clutter Family Murders Charles Max Wood: Maxcoders.io TripIt St. George Marathon VO2 Max app Tanmai Gopal: Follow Tanmai on Twitter @tanmaigo Broken Earth Trilogy The Three-Body Problem graphQL Asia Full Article
js JSJ 402: SEO for Developers with Vitali Zaidman By devchat.tv Published On :: Tue, 22 Oct 2019 06:00:00 -0400 Vitali Zaidman is a full stack developer who works for WellDone Software Solutions and is currently working on a SEO project. Today’s show is about SEO for developers. SEO stands for search engine optimization, which helps your website appear higher on search engines. SEO has changed a lot in the past 10 years. It has become much more regulated, and the “dirty tricks” of the past will actually penalize you, so it is important to do it properly. Today the best way to promote yourself on Google besides making good content is for developers to optimize the content, make it small, operational, secure, accessible, and operate on mobile. Much of it goes back to using semantic HTML since Google looks at it before looking at the structure of your website, how valuable it is, and how users interact with it. Having good semantics helps Google determine how valuable it is, so semantic HTML should be a top priority. Semantic HTML can also make your site more accessible to users, which will in turn give you a larger audience. The panel talks about some of the challenges of SEO faced by companies. While bigger companies have the privilege of dedicated SEO teams, small companies often lack these specialists. Thankfully, Google has made their guidelines for SEO very accessible and gives you a lot of tools to track your optimization. The panel talks about different methods of SEO, such as including FAQ at the bottom of the web page, optimizing page speed, and image optimization. Structured data like questions and answers enriches the data that is shown for users on the search results page. To score your website’s SEO, Google released the tool PageSpeed Insights, which will assign your website a performance score. Google uses two main tools to track a website’s SEO. First, they use real field data. If you opt in to ‘help improve Chrome’s features and performance’ when you install Chrome, it tracks how fast websites load on your Chrome, and they collect this information to understand how webpages load. It is required that your website has a certain amount of visitors to be tracked and added to the database. Second, Google has their own devices that will check your website. Currently, they are using a Moto G4 to test for mobile access, and a slow internet connection. Because of this, it is pretty easy to get a good score on desktop, but difficult to get a good score on mobile. The technology that drives all this is called Lighthouse. Overall, performance is the main thing users look for, so aim for good performance and fast websites. The panel discusses the correlation between performance and SEO. For example, Fox News and CNN are two of the top search results for ‘news’, but they have a dismal Google PSI score. They conclude that performance shouldn’t be ignored, but be careful about directly correlating performance and SEO. They also caution against getting obsessed over certain aspects of SEO by themselves. Panelists Dan Shapir Aimee Knight Charles Max Wood With special guest: Vitali Zaidman Sponsors Tidelift Sentry use the code “devchat” for 2 months free on Sentry’s small plan Elixir Mix Links SEO JSON Google Webmaster guidelines Google PageSpeed Insights Chrome CrUX Lighthouse Here's How the Google Speed Update Will Impact Your Site SEO for Developers - A Quick Overview Google Quality Guidelines Follow DevChatTV on Facebook and Twitter Picks Aimee Knight: Spotify CLI Dan Shapir: Chrome Dev Summit 2019 Dan Shapir on Twitter The Anubis Gates Charles Max Wood: St. George Marathon Vitali Zaidman: Vitali’s website Arzamas Academy Follow Vitali on Medium and Twitter Full Article
js MJS 128: Mike Hartington By devchat.tv Published On :: Tue, 22 Oct 2019 06:00:00 -0400 In this episode of My JavaScript Story is Charles talks to Mike Hartington. Mike Hartington is a Developer Advocate for Ionic Framework and a Google Developer Expert, but he is most famous in the developer community because of his beard. Charles asks how Mike got introduced to development. Mike tried to code Tic-Tac-Toe and that was a challenge because knowing the rules to the game and trying to tell a computer the rules are two very two different things. Mike then majored in Graphic Design at Rhode Island College, and started learning Flash and ActionScript. Mike talks about what kind of projects he created with Flash and ActionScript and then the process of teaching himself JavaScript. Host: Charles Max Wood Joined by Special Guest: Mike Hartington Links Mike's Twitter Ionic Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Adventures in DevOps Adventures in Blockchain CacheFly Picks Mike Hartington Star Wars: The Rise of Skywalker Trailer Charles Max Wood: Atomic Habits by James Clear Superfans by Pat Flynn Full Article
js JSJ 403: Why Developers Need Social Skills with Mani Vaya By devchat.tv Published On :: Thu, 24 Oct 2019 06:00:00 -0400 In this episode of JavaScript Jabber, Charles talks about the new direction he has for the company. He wants to drive people to the point that they have the skills that make people want to hire and work with them, to teach them how to ‘Max out’. Today the panel the skills that developers need to progress in their careers: social skills. The panel talks about their observations from work that the people who advanced and grow in their career were the ones with social skills, not necessarily with technical skills. The company wants to get stuff done, and if your social skills are getting in the way of projects getting done because you can’t work with others, you are not that useful to the company, and you will be stuck in the lower ranks while others who may not have the same technical skills will rise in the ranks because they are pleasant to work with. Mani talks about his personal experience getting laid off for lacking these soft skills. But then he read the book 48 Laws of Power by Robert Green, realized his shortcomings, and started to apply just one lesson from the book. Within 6 months, he was promoted. Mani delves deeper into the first lesson taught in 48 Laws of Power, Never Outshine the Master. Fundamentally, this means that you don’t try to prove in meetings how good you are, or that they’re wrong, or that you think that you are better than them. The more you the aforementioned things, the less likely you will be to get promoted or trusted. Mani talks about how he used to do these things and how it cost him multiple jobs. When he put this lesson into practice, he changed his methods and the boss started to like him, leading to his promotion 6 months later. The panel discusses this lesson and what benefits can come from it. Mani shares another lesson that he learned through the story of a friend trying to get him to invest in his business. After Mani refused to invest multiple times, his friend stopped asking him to invest, but instead asked him for business advice. Eventually, Mani invested in the business because when he saw that his friend was influenced by his advice, it engendered trust between them. The panel agrees that if you want to influence someone, you have to be influenced by them. It is important to treat someone as a person rather than an asset or wallet, and ensure them that their investment is not their end goal. One of the most fundamental social skills that you must be able to like people, because other people can smell manipulation. The panel transitions to talking about the paradoxical nature of social skills and that they are often the opposite of what you think will work in a situation. Unfortunately, there will always be difficult people to work with. To illustrate how to work with difficult people, Mani shares the story of how Gengis Khan was convinced not to destroy a city of artists and engineers by his advisor, Yelu Chucai. Gengis Khan agreed because Yelu Chucai was able to structure his plea in a way that would also benefit Gengis Khan. The conversation shifts to how to conduct an interview to see if a candidate will fit into your team culture. First, you must know what you’re looking for and understand your team culture, and then ask for stories of when they accomplished something in the interview. If every story is all about how they did something and they don’t include other people, then that may indicate their self-centeredness. They discuss the Ben Franklin Effect. For those listeners wondering where to begin with all this self improvement, Mani has read over 2,000 books on business and offers a course on his website, 2000books.com. Mani has teamed up with JavaScript Jabber to offer a special deal to the listeners of this podcast. To get lifetime access to Mani’s courses at a 40% discount, follow the links below. Panelists Steve Edwards Charles Max Wood With special guest: Mani Vaya Sponsors React Native Radio Sentry use the code “devchat” for 2 months free on Sentry’s small plan React Round Up Links 48 Laws of Power by Robert Green The 360 Degree Leader by John C. Maxwell The Ben Franklin Effect javascriptjabber.com/social and 2000books.com 40% off for the first 200 people Coupon code: Jabber Follow DevChatTV on Facebook and Twitter Picks Steve Edwards: Rex Chapman Charles Max Wood: BombBomb IndieHackers.com Stolen bike prank Mani Vaya: How I Built This by NPR As a Man Thinketh Full Article
js JSJ 404: Edge on Chromium with Chris Heilmann By devchat.tv Published On :: Tue, 29 Oct 2019 06:00:00 -0400 Guests Chris heilmann and Zohair Ali are developers for Microsoft working on the Edge project. Today they are talking about Edge on Chromium and the future of developer tools. Edge will now be built in Chromium rather than being its own engine, aligning it more with what is being used on the open web right now. The Edge team wanted to seize the opportunity to bring something into the Chromium project based on the needs of real users and contribute to the open source web. Edge on Chromium won’t be limited to Windows 10 either, but will be available on Mac, Windows 7, and Windows 8. This project is still in beta with no set release date, so the Edge team is looking for people to test it out on Mac and tell them how it works. Chris and Zohair talk about the different parts of a web browser and what distinguishes Chrome from Chromium. Chromium is not just a platform, it’s an entire browser that you can install. Google adds a bunch of Google services to Chromium, such as being able to sign into your Google account, and that’s how you get Google Chrome. Similarly, the new Edge adds its own features on top of Chromium, so you can sign into your Microsoft account. By now the browser engines are so similar to each other that the users are looking for the user experience, interface, and services around it, so it made more sense for the Edge team to contribute to Chromium than to maintain their own engine and help it improve. Chris and Zohair talk about some of the features in Edge on Chromium. One service they’re particularly excited about is the Collections feature, where you can drag images, text, etc into Collections and export it to Excel or Word. Collections was inspired by what users need, and they talk about some of the different use cases for it. The new Edge on Chromium will also have an IE mode for products that still require IE 11. If you define what services need IE 11, Edge will open an IE 11 tab within the browser so you will not have to jump between browsers. Unfortunately, this feature is only available on Windows. Edge on Chromium will also offer an integration with VS Code, called Elements for VS Code, which takes part of the developer tools from Edge and puts it inside VS Code. Since the tools are based on Chromium, it stays in the same context all the time so you don’t have to jump back and forth, and you can see the changes live in your browser. This feature is in beta right now and they are looking for people to test it. The Edge team talks about their process for creating tools. They are working on putting their tools into other languages so that they are accessible to more people. They talk about how they want to avoid creating Edge specific tools as much as possible because they want to make it better for everybody. One of their biggest struggles is everybody demands developer tools, but nobody wants to contribute, so they don’t have as much feedback and not as much outside contribution. That’s why they keep calling for people to try out the new Edge on Chromium and give them feedback. They want to make that change more transparent so that they build things that people want. They will have to make some of their own tools, but they make sure that they don’t have any third party dependencies. They mention that all Chrome extensions are compatible with Edge, so if it’s available in the Chrome webstore, you can add it to Edge, you just have to be sure to allow it. They talk about some of the testing tools available. The show concludes with a discussion of the fate of Chakra Node. Panelists AJ O’Neal Aimee Knight Dan Shapir Steve Edwards With special guests: Chris Heilmann and Zohair Ali Sponsors Tidelift Sentry use the code “devchat” for 2 months free on Sentry’s small plan Views on Vue Links Chromium Microsoft Edge Insider Microsoft Chakra Core Elements for VS Code MS Edge Driver Puppeteer Follow DevChatTV on Facebook and Twitter Picks Aimee Knight: Cypress testing library Steve Edwards: CSS Tricks Screencast episode 174: Using Local Overrides in Devtools Dan Shapir: The Chronicles of Amber AJ O’Neal: The Legend of Zelda: Oracle of Ages Lover by Taylor Swift Chris Heilmann: The Marvelous Mrs. Maisel TabNine doesthedogdie.com Zohair Ali: Saga graphic novel series Full Article
js MJS 129: Filipa Lacerda By devchat.tv Published On :: Tue, 29 Oct 2019 06:22:00 -0400 Charles Max Wood talks to Filipa Lacerda in this week's My JavaScript Story. Filipa has been working as a front end engineer since 2011 and she currently works at GitLab. Filipa originally wanted to study Economy but when she got to university she decided to major in Communications thinking it would be a lot more about communication and not as much about coding. At first she really didn't like the coding aspect of it but then as time went by she actually started to enjoy coding. When she first started working she started out on the User Experience side, but then she wanted to switch to building stuff with code because she wanted to see results really fast and enjoyed that aspect of coding. Charles asks why she stuck with that degree instead of switching it and Filipa explains that at first because she didn't want to go back and re - take the exams and also decided that this degree offered many job opportunities in many different industries and now she can't imagine herself doing anything else. Filipa then talks about why she is working with Vue and all the different kind of projects she has done using Vue as well as what working for GitLab looks like on a day to day basis. Host: Charles Max Wood Joined by Special Guest: Filipa Lacerda Links https://devchat.tv/views-on-vue/vov-025-gitlabs-journey-with-vue-with-filipa-lacerda-and-jacob-schatz/ https://devchat.tv/views-on-vue/vov-009-building-modal-component-with-filipa-lacerda/ https://filipa.gitlab.io/ https://twitter.com/FilipaLacerda Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Adventures in .NET Elixir Mix CacheFly Picks Filipa Lacerda: Why We Sleep by Walker PhD, Matthew Charles Max Wood: RxJS Live: Conference Nikon D5600 Camera RØDE Microphones Full Article
js JSJ 405: Machine Learning with Gant Laborde By devchat.tv Published On :: Thu, 31 Oct 2019 06:00:00 -0400 Gant Laborde is the Chief Innovation Officer of Infinite Red who is working on a course for beginners on machine learning. There is a lot of gatekeeping with machine learning, and this attitude that only people with PhDs should touch it. In spite of this, Gant thinks that in the next 5 years everyone will be using machine learning, and that it will be pioneered by web developers. One of the strong points of the web is experimentation, and Gant contrasts this to the academic approach. They conversation turns to Gant’s course on machine learning and how it is structured. He stresses the importance of understanding unicode, assembly, and other higher concepts. In his course he gives you the resources to go deeper and talks about libraries and frameworks available that can get you started right away. His first lesson is a splashdown into the jargon of machine learning, which he maps over into developer terms. After a little JavaScript kung fu, he takes some tools that are already out there and converts it into a website. Chris and Gant discuss some different uses for machine learning and how it can improve development. One of the biggest applications they see is to train the computers to figure monotonous tasks out while the human beings focus on other projects, such as watching security camera footage and identifying images. Gant restates his belief that in the next 5 years, AI will be everywhere. People will grab the boring things first, then they will go for the exciting things. Gant talks about his creation NSFW.js, an open source train model to help you catch indecent content. He and Chris discuss different applications for this technology. Next, the panel discusses where machine learning can be seen in everyday life, especially in big companies such as Google. They cite completing your sentences in an email for you as an example of machine learning. They talk about the ethics of machine learning, especially concerning security and personal data. They anticipate that the next problem is edge devices for AI, and this is where JavaScript really comes in, because security and privacy concerns require a developer mindset. They also believe that personal assistant devices, like those from Amazon and Google, will become even more personal through machine learning. They talk about some of the ways that personal assistant devices will improve through machine learning, such as recognizing your voice or understanding your accent. Their next topic of discussion is authenticity, and how computers are actually incredibly good at finding deep fakes. They discuss the practice of placing passed away people into movies as one of the applications of machine learning, and the ethics surrounding that. Since developers tend to be worried about inclusions, ethics, and the implications of things, Gant believes that these are the people he wants to have control over what AI is going to do to help build a more conscious data set. The show concludes with Gant talking about the resources to help you get started with machine learning. He is a panelist on upcoming DevChat show, Adventures in Machine Learning. He has worked with people with all kinds of skill sets and has found that it doesn’t matter how much you know, it matters how interested and passionate you are about learning. If you’re willing to put the pedal to the metal for at least a month, you can come out with a basic understanding. Chris and Gant talk about Tensorflow, which helps you take care of machine learning at a higher level for fast operations without calculus. Gant is working on putting together a course on Tensorflow. If you’re interested in machine learning, go to academy.infinite.red to sign up for Gant’s course. He also announces that they will be having a sale on Black Friday and Cyber Monday. Panelists Christopher Buecheler With special guest: Gant Laborde Sponsors React Round Up Sentry use the code “devchat” for 2 months free on Sentry’s small plan Adventures in Angular Links Machine Learning: How To go from Zero to Hero NSFW.js Tensorflow.js PyTorch Keras Academy.infinite.red Gantlaborde.com Follow DevChatTV on Facebook and Twitter Picks Christopher Buecheler: Next.js Big Wreck, But For The Sun Gant Laborde: Nicornot.com Free 5 day mini course on academy.infinite.red Full Article
js JSJ 406: Security in Node By devchat.tv Published On :: Tue, 05 Nov 2019 05:00:00 -0500 Today the panel is talking about security features that are being added to Node 13. AJ talks about the background and what he’s working with Let’s Encrypt. He talks about changes that Node has made to the TLS module. TLS is a handshake that happens between a client and a server. They exchange certificates, generate some random numbers to use for encryption, and TLS handles the encryption. The move to HTTP/2 is all about fixing legacy bugs and legacy features from the SSL days and reducing the number of handshakes. AJ talks about the difference between TLS and HTTPS. While TLS reduces the handshakes between client and server, HTTPS is just HTTP and has no knowledge that TLS is going on. HTTP/2 is more baked in as both encryption and compression are part of the specification and you get it automatically. HTTP/2 is also supposed to be faster because there’s fewer handshakes, and you can build heuristic based web servers. Since browsers have varying degrees of compatibility, a smart HTTP/2 server will classify the browser and anticipate what files to send to a client based on behavior and characteristics without the client requesting them A lot of these new features will be built into Node, in addition to some other notable features. First, there will now be set context on the TLS object. Second, if you’re connected to a server, and the server manages multiple domains, the certificate will have multiple names on it. Previously, each different server name had a different network request, but now a .gitcertificate will let you get all the metadata about the certificate, including the primary domain and all the secondary domains and reuse the connections. These new features are a great improvement on the old Node. Previously, the TLS module in Node has been an absolute mess. These are APIs that have been long neglected, and are long overdue core editions to Node. Because of these additions, Node Crypto has finally become usable. HTTP/2 is now stable, usable, and has backwards compatable API, and a dictionary of headers to make it more efficient in compression. The conversation turns back to certificates, and AJ explains what a certificate is and what it represents. A certificate has on it a subject, which is a field which contains things like common name, which in the case of HTTPS is the server name or host name. then it will have subject alternative names (SAN), which will have a list of other names that are valid on that certificate. Also included on the certificate is the name of the authority that issued the certificate. AJ talks about some of the different types of certificates, such as DV, OV, and EV certificates. They differentiate between encryption and hashing. Hashing is for verifying the integrity of data, while encryption can be used either as signing to verify identity or to keep data owned privately to the parties that are part of the connection. Encryption does not necessarily guarantee that the data is the original data. The show concludes with AJ talking about how he wants to make encryption available to the average person so that everyone can share securely. Panelists Steve Edwards AJ O’Neal Charles Max Wood Sponsors Tidelift Sentry use the code “devchat” for 2 months free on Sentry’s small plan Ruby Rogues Links Let’s Encrypt Greenlock HTTP/2 Node.js Node Crypto JWK LZMA Gzip Broccoli.js HTTPS GCM ASN.1 OWASP list jwt.io Diffie Hellman Key Exchange Khana Academy Diffie-Hellman Key Exchange pt.2 Follow DevChatTV on Facebook and Twitter Picks Steve Edwards: Panasonic SD-YD250 bread machine AJ O’Neal: Greenlock v.3 Samsung Evo 4 TOB paired with 2012 Macbook Pro Dave Ramsey on Christian Healthcare Ministries Charles Max Wood: Velcro straps Mac Pro Upgrade Guide Full Article
js MJS 130: Javan Makhmali By devchat.tv Published On :: Tue, 05 Nov 2019 06:05:00 -0500 This week, My Javascript Story welcomes Javan Makhmali,a Programmer at Basecamp from Ann Arbor, Michigan. Javan attended Community College to study Computer Science but then decided to work as a Freelancer developer. Javan and Charles debate whether having a 4-year college degree is better to become a developer and conclude that it depends on the person. Some people prefer a structured 4 year degree to feel ready for a full time jo and some people do better with bootcamps. Javan mentions he knows several people that switched careers after completing an 8 week bootcamp and that the industry was really flexible to accomodate both options. Charles and Javan then continue talking about Javan's journey as a developer and particularly his journey with Basecamp. Javan started out working with Ruby on Rails and after a couple of years applied for a job at Basecamp (then known as 37 Signals). Javan then started working with CoffeeScript which helped him understand working with JavaScript. Charles and Javan talk about the projects Javan is working on currently at Basecamp. Outside of work Javan, is a new parent and enjoys spending time with his daughter. He feels ever since he has become a parent, his work life balance has been better. Host: Charles Max Wood Joined by Special Guest: Javan Makhmali Links JSJ 376: Trix: A Rich Text Editor for Everyday Writing with Javan Makhmali Javan's Twitter Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Dev Ed Podcast Adventures in Blockchain CacheFly Picks Charles Max Wood: https://maxcoders.io/ Full Article
js JSJ 407: Reactive JavaScript and Storybook with Dean Radcliffe By devchat.tv Published On :: Tue, 12 Nov 2019 06:00:00 -0500 Dean is a developer from Chicago and was previously on React Round Up 083. Today he has come over to JavaScript Jabber to talk about reactive programming and Storybook. Reactive programming is the opposite of imperative programming, where it will change exactly when needed instead of change only when told to. Reactivity existed long before React, and Dean talks about his history with reactive programming. He illustrates this difference by talking about Trello and Jira. In Trello, as you move cards from swimlane to another swimlane, everyone on the board sees those changes right away. In Jira, if you have 11 tabs open, and you update data in one tab, probably 10 of your tabs are stale now and you might have to refresh. Reactive programming is the difference between Trello and Jira. The panel discusses why reactive JavaScript is not more widely used. People now tend to look for more focused tools to solve a particular part of the problem than an all in one tool like Meteor.js. Dean talks about the problems that Storybook solves. Storybook has hot reloading environments in frontend components, so you don’t need the backend to run. Storybook also allows you to create a catalogue of UI states. JC and Dean talk about how Storybook could create opportunities for collaboration between engineers and designers. They discuss some causes of breakage that automation could help solve, such as styles not being applied properly and internationalization issues. Dean shares how to solve some network issues, such as having operators in RxJs. RxJs is useful for overlapping calls because it was built with cancelability from the beginning. Dean talks about his tool Storybook Animate, which allows you to see what the user sees. Storybook is an actively updated product, and Dean talks about how to get started with it. The show concludes with Dean talking about some things coming down the pipe and how he is actively involved in looking for good general solutions to help people write bulletproof code. Panelists JC Hiatt With special guest: Dean Radcliffe Sponsors Hasura, Inc. Sentry use the code “devchat” for 2 months free on Sentry’s small plan Adventures in Angular ________________________________________________________________________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood will be out on November 20th on Amazon. Get your copy on that date only for $1. ________________________________________________________________________________________________________________________ Links RRU 083 Knockout.js Node.js Meteor.js RXJS Storybook Animate RX Helper library Follow DevChatTV on Facebook and Twitter Picks JC Hiatt: Joker DevLifts Dean Radcliffe: Twitter @deaniusol and Github @deanius The Keyframers Action for Healthy Kids Full Article
js MJS 131: Chris Biscardi By devchat.tv Published On :: Tue, 12 Nov 2019 06:00:00 -0500 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. Chris' first access to programming was writing index.hml files when he was younger and again when he was majoring in Arts in university he was introduced to ActionScript. Host: Charles Max Wood Joined by Special Guest: Chris Biscardi Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan iPhreaks Adventures in DevOps CacheFly _______________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood will be out on November 20th on Amazon. Get your copy on that date only for $2.99 _______________________________________________________ Links JSJ 386: Gatsby.js with Chris Biscardi Chris' LinkedIn Chris' Twitter https://www.twitch.tv/chrisbiscardi Picks Charles Max Wood: Follow Charles Max Wood on Instagram at CharlesMaxWood Follow Charles at https://devchat.tv/events/ Suggest a topic/guests on podcast pages at https://devchat.tv Follow Devchat.tv on Instagram at devchat.tv Join us on Discord by going to https://discordapp.com/invite/z7RNTHR Go to Maxcoders.io to find out more about MaxCoders movement Chris Biscardi: Follow Chris on Instagram at ChrisBiscardi Full Article
js JSJ 408: Reading Source Code with Carl Mungazi By devchat.tv Published On :: Tue, 19 Nov 2019 06:00:00 -0500 Carl Mungazi is a frontend developer at Limejump in London. He is a former journalist and switched to programming in 2016. Today the panel is discussing the benefits of reading source code. Carl began reading source code because he came into programming late and from a different field. His first project was with Mithril, and he read the source code and documentation to help him understand it. The panelists discuss how reading the source code has helped them and others to improve their coding. They compare reading and understanding source code to learning a foreign language, and discuss different methods. Carl gives some suggestions for reading source code effectively. He advises people to be patient and step through the code. Accept that you will probably take a wrong path at some point or another, but the more you read, the more you will see patterns in how libraries are structured. He also encourages listeners to approach the authors, as they are often happy to lend a hand. Reading source code is an active approach of stepping through, debugging, putting in break points, checking the stack, and so forth. It’s also important to do outside research. Since he has been reading source code, Carl has come to prefer plain JavaScript and libraries with as little code as possible. The panel discusses the benefits of small, simple libraries. Carl gives examples of techniques that he learned from reading a library source code and how he applied it to his own coding style. Reading source code has made him more careful about mixing logic and UI, and now he separates them. He also is more confident in seeing a problem, going to a preexisting library, and just importing the fix for that problem rather than the whole library. Reading source code is really about understanding the code you use in your project. It may slow you down, but you’ll be thankful in the long term because it will help you solve future bugs more efficiently. Carl talks more about his debugging process. He still relies on a debugger, but reading a library helps you to see patterns and guess the output of a function. These patterns persist in other libraries as well. Once you can guess correctly what will happen, you go back to reading the code and find instances where the output is unexpected, and fix it. Carl’s closing thoughts are that through reading source code, he has learned that although code is used differently in each library, they are all written in the same language, and therefore interrelated. This gave him more confidence in reading code because they’re all fundamentally the same. When a bug is discovered, he encourages listeners to look at the source code before googling a solution. Panelists AJ O’Neal Dan Shapir Steve Edwards Charles Max Wood Guest Carl Mungazi Sponsors Hasura.io Sentry | Use the code “devchat” for $100 credit Adventures in Angular Links Mithril.js Preact Limejump Picks AJ O’Neal Zen of Python The Go Proverbs Go with Versions Link’s Awakening soundtrack Dan Shapir Programming Pearls book Lord of Light Steve Edwards Jabra Elite 65T Charles Max Wood Garth Brooks The Rocky movies Carl Mungazi Follow Carl @CarlMungazi and carlmungazi.com EcmaScript Spec HTML 5.2 Snarky Puppy Full Article
js MJS 132: Douglas Crockford By devchat.tv Published On :: Tue, 19 Nov 2019 07:48:00 -0500 Douglas Crockford self-described as the person who discovered that JavaScript has good parts is on this week's My JavaScript Story. Charles and Douglas talk about how Douglas got introduced to programming. and how he specialized in JavaScript. Douglas realized that there's going to be a convergence of TV and computing very early in his career. So a lot of his career has been bridging those two things, helping the evolution toward digital media. After working for Atari he went to work at Lucasfilm where he stayed for 8 years. Charles asks Douglas what he is working on now, and what his plans are for the future. Douglas is planning to write more books one of which is Math for Programmers. Host: Charles Max Wood Joined by Special Guest: Douglas Crockford Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan My Angular Story React Native Radio CacheFly ________________________________________________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood will be out on November 20th on Amazon. Get your copy on that date only for $2.99 ________________________________________________________________________________________________ Links JSJ 392: The Murky Past and Misty Future of JavaScript with Douglas Crockford JavaScript: The Good Parts How JavaScript Works by Douglas Crockford https://www.crockford.com Picks Charles Max Wood: https://www.mypillow.com/ Full Article
js JSJ 409: Swagger and Open API with Josh Ponelat By devchat.tv Published On :: Tue, 26 Nov 2019 06:00:00 -0500 Today the panel discusses the difference between Swagger and Open API with Josh Ponelat. Josh details the difference between the two. Swagger is a set of protocols around describing restful APIs. Swagger was taken over by a company called SmartBear, who donated the donated the specification to the Open Linux Foundation, and that became the Open API. Swagger is the tooling surrounding these specifications. Open API is a standardized way to describe a restful API in a YAML file. Once you’ve got a YAML file to describe your API, you can use tooling like Swagger to leverage that and take it to the next level. Using the Open API process is useful for situations where you already have an API in place, but want to codify and document it so that it’s controlled. Then going forward, you won’t introduce contradictions and it remains consistent because it’s documented in a YAML file. The process leaves room for enhancement in the future as well. Josh talks about some of the benefits of standardizing your API and some of the use cases besides tooling. A standardized API can help show developers how to use your API, SDKs, and service stubs by knowing your API is consistent in style. This makes it easier to find breaking changes and more. Josh talks more about Swagger, a finite set of tooling around Open API, most of which are open source. He talks about other tools that test APIs and do linting on YAML files. Some of the companies that use Open API include Google, Amazon, and Microsoft. Josh talks about how Amazon implements Open API. Josh talks about the book he’s writing, Designing APIs with Swagger and Open API. The book goes over describing APIs today, how to design APIs without writing code first, and how to get the most out of the system. The show concludes with Josh talking about the power of consistency and writing things down on paper. He discusses where implications that the standardization of APIs has on the text industry. Panelists Dan Shapir Charles Max Wood Guest Josh Ponelat **To receive your the 40% OFF coupon for Manning Publications (good for all our products in all formats) visit us at Facebook - click on "Send A Message"and type "YES"** Sponsors Sentry | Use the code “devchat” for $100 credit Links Swagger Open API Difference Between Swagger and Open API GraphQL Designing APIs with Swagger and Open API Picks Dan Shapir Saga of Pliocene Exile Charles Max Wood DevChat.tv Merchandise BusyCal Josh Ponelat AsciiDoc FASD tool Full Article
js JSJ 410: Iterating on Open Source By devchat.tv Published On :: Tue, 03 Dec 2019 06:00:00 -0500 Today the panel is discussing iterating on open source projects. Aimee and AJ recall a conversation they had in the past on this subject and AJ talks about some of his experience iterating with open source. AJ believes that we have an obligation to capture the value of what you create so that we can reinvest and create more value, though he admits that making money in open source is a unique challenge because donations only really work if you have a project that gets billions of downloads a month. As your project grows, it has to change in order to survive, and eventually you will need to get financial support from your project. The panel agrees that some of the main issues with iterating in open source are maintaining the code and getting feedback from users, financial backing, and roadmapping and integrations. The panel discusses their methods for getting feedback from their users. This feedback is valuable because it can show you things that you missed. They acknowledge that there can be conflicts of interest between those who only use the project and those who financially support it, and you have to make a choice. Unfortunately, someone is probably going to be inconvenienced no matter what choice you make. When making these decisions, you have to consider who it helps, who it frustrates, and who it may cause problems for. The panelists talk about different ways they’ve handled making these decisions in the past. The JavaScript experts talk about the importance of having data on your user base in order to make good choices for your users. They talk about different methods for notifying your users of upcoming changes and how it will affect compatibility, and some of the challenges with communicating with your users. AJ talks about an iteration he thought was a good idea but that a lot of people hated and how he noticed that the new users liked it but the old users did not. They panel agrees that people in general don’t like change. AJ talks about what he learned from this experience. Another common issue is integrating with other services. Integrating with cloud services, or at least giving people the option to integrate gives you an opportunity to reach more people and maintain the project long term. AJ gives some final thoughts to close the show, namely that most projects never go anywhere, and that’s ok. If you’ve got something that starts going somewhere, think early on about how you can better serve the community and remember that these people are mostly grateful and semi-willing to support you. He believes that if you are helping people create value, you deserve to see the fruits of your labor. He advises listeners to stay true to your open source ideals, think about your users perspective, and that the earlier you can think about this and make these choices, the better it is for your project Panelists Aimee Knight Steve Edwards AJ O’Neal Charles Max Wood **To receive your 40% OFF coupon for Manning Publications (good for all our products in all formats) visit us on Facebook - click on "Send A Message"and type "YES"** Sponsors Sentry | Use the code “devchat” for $100 credit Links How-npm-am-i React Vue.js Let’s Encrypt Async/await Node Picks Aimee Knight: Debug Like a Ninja Steve Edwards: Jack Ryan AJ O’Neal: Why I, as a black man, attend KKK meetings Charles Max Wood: It’s a Wonderful Life Mr. Kreuger’s Christmas Full Article
js JSJ 411: Unit Testing Jest with Daniel Caldas By devchat.tv Published On :: Tue, 10 Dec 2019 06:00:00 -0500 Daniel Caldas is calling from Singapore. He currently works as a software engineer for Zendesk and has also worked in Portugal and Germany. He has worked primarily on the frontend with Node and JavaScript. He talks about his experience testing JavaScript, how he got started with Jest, and why he likes it. Daniel finds Jest very easy to use and straightforward. He likes that Jest has a single reference page for documentation. He feels that Jest is largely complete out of the box and has only made a small add on to get rid of Boilerplate in some tests. Daniel explains what a snapshot, how they work, and why he prefers fixtures over factories. He gives tips on how to set up your tests so that they are easy to follow. He finds it helps to structure your scenarios in the fixture description. He talks about gotchas in Jest. While Jest is largely easy to use, Jest has been around for a while and breaking changes do happen. It’s important to check what version your code base is using. While there are a lot of free sources around Jest online, he advises listeners to stick as close to the official documentation as possible, or to people associated with Jest, and to read recent stuff. As for conventions, Jest has pretty much everything out of the box and the built in conventions make it easy to navigate any project that uses Jest. Daniel talks about some of the features available in Jest, converting observables into promises, and tricks he has used to make tests easier to put together. He talks about his method for keeping his mocks and stubs straight. He advises listeners to have some organizational rules, such as starting the imports alphabetically, and to always follow those rules. He talks about how he runs tests and what environments he uses. While Jest is normally used for unit testing, Daniel has also used it for end to end tests, and he talks about his experience with an open source project doing both types in Jest. Daniel concludes the show by advising listeners starting with JavaScript and frontend, don’t think too much about the library you’re going to use because you’ll probably end up using Jest. It’s more important to have unit tests and a proper testing framework at the beginning than anything else. He also invites listeners to check out his open source work on Github. Panelists Aimee Knight AJ O’Neal Charles Max Wood **To receive your 40% OFF coupon for Manning Publications (good for all our products in all formats) visit us on Facebook - click on "Send A Message"and type "YES"** Guest Danile Caldas Sponsors Sentry | Use the code “devchat” for $100 credit Links Zendesk Jest React Babel ESLint Async/Await Cypress React-d3-graph Unrevealed tips for unit testing with Jest Picks Aimee Knight: The Difference Between Fault Tolerance, High Availability, and Disaster Recovery AJ O’Neal: Rubin Report with Lindsay Shepherd Charles Max Wood: White Christmas Holiday Inn Daniel Caldas: Home Alone Full Article
js JSJ 412: Svelte and Sapper with Svelte Master By devchat.tv Published On :: Tue, 17 Dec 2019 06:00:00 -0500 Noah, a.k.a. Svelte Master, is from Indiana and recently moved to San Francisco. He has been given title Computational Linguist by SoundHound. He starts the show by talking about his Youtube channel all about Svelte. Svelte is a JavaScript framework similar to React and Vue. When you write components, Svelte will compile it into Vanilla JS, CSS, or HTML, and create a small bundle that will be sent to the client. Svelte is a ‘disappearing framework’, so your bundles come out as DOM APIs and there is no Svelte in the end result. Because the Svelte framework doesn’t send with the bundle, bundle sizes are significantly smaller, and it runs on all browsers. Noah shares some Svelte’s performance statistics. Sapper is a companion technology to Svelte that gives you server side rendering, routing, code splitting, and other features. Noah talks about how to write plugins for Svelte and embedding components. One main difference between Svelte and other frameworks is that it lacks a virtual DOM. This is because since it is just compiling down to JavaScript and the framework is not sent with the package, it doesn’t need a virtual DOM and instead updates as things change. Noah talks more about how this works. Some of Svelte Master’s favorite things about Svelte is that you write less code, especially unnecessary code, and state management is simple. He talks about how routing is handled through other tools like Sapper. The panel talks about methods for testing a Svelte app, adding Svelte components into a website, and pulling in third party libraries. They discuss whether there are things that you can’t do with Svelte that would require React or Vue. The show ends with Noah talking about what the future holds for Svelte and how to get started with it. Panelists Steve Edwards Charles Max Wood **To receive your 40% OFF coupon for Manning Publications (good for all our products in all formats) visit us on Facebook - click on "Send A Message"and type "YES"** Guest Noah (Svelte Master) Sponsors Hasura.io Sentry | Use the code “devchat” for $100 credit ____________________________________________________________ > "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links SoundHound Svelte Master Youtube channel Syntax.fm Show 173: Hasty Treat Wes and Scott Look at Svelte Svelte Sapper Rollup Netlify Heroku Cypress Apollo Async/await Svelma Sveltstrap Svelte-Apollo Smelte Electron Svelte-Native Picks Steve Edwards: The Court Jester Charles Max Wood: The MaxCoders Guide to Finding Your Dream Developer Job The Bishop’s Wife Miracle on 34th Street Daniel Caldas: WaniKani Full Article
js JSJ 413: JavaScript Jabber at RxJs Live By devchat.tv Published On :: Tue, 24 Dec 2019 06:00:00 -0500 In this episode of JavaScript Jabber Charles Max Wood does interviews at RxJS Live. His first interview is with Hannah Howard at RxJS Live about her talk. Hannah is really enthusiastic about RxJS especially when it comes to frontend development. Her talk is about how to architect full-scale apps with RxJS. Hannah gives a brief summary of her talk. Charles having met Hanna previously at Code Beam asks her how functional programming and reactive programming work together in her mind. Hannah describes how she sees programming. Charles’s next interview is with Ben Lesh, a core team member of RxJS. Ben has been working on RxJS for the last four years. In his talk, he shares the future of RxJs, the timeline for versions 7 and 8. With Charles, he discusses his work on RxJS and the adoption of RxJS. Next, Charles interviews Sam Julien and Kim Maida. They gave a talk together covering the common problems developers have when learning RxJS. In the talk, they share tips for those learning RxJS. Charles wonders what inspired them to give this talk. Both share experiences where they encouraged someone to use RxJS but the learning curve was to steep. They discuss the future of RxJS adoptions and resources. Finally, Charles interviews Kim alone about her second talk about RxJS and state management. She explains to Charles that many state management libraries are built on RxJS and that it is possible to roll out your own state management solution with RxJS. They discuss why there are so many different state management libraries. Kim shares advice for those looking to roll out their own solutions. Panelists Charles Max Wood Guests Hannah Howard Ben Lesch Sam Julien Kim Maida Sponsors ABOUT YOU | aboutyou.com/apply Sentry use the code "devchat" for 2 months free on Sentry's small plan Links https://www.rxjs.live/ RxJS Live Youtube Channel https://twitter.com/techgirlwonder https://twitter.com/benlesh http://www.samjulien.com/ https://twitter.com/samjulien https://twitter.com/KimMaida https://www.facebook.com/javascriptjabber https://twitter.com/JSJabber Full Article
js JSJ 414: JavaScript Jabber Still at RxJs Live By devchat.tv Published On :: Tue, 31 Dec 2019 06:00:00 -0500 In this episode of JavaScript Jabber Charles Max Wood continues interviewing speakers at RxJS Live. First, he interviews Mike Ryan and Sam Julien. They gave a talk about Groupby, a little known operator. They overview the common problems other mapping operators have and how Groupby addresses these problems. The discuss with Charles where these types of operators are most commonly used and use an analogy to explain the different mapping operators. Next, Charles talks to Tracy Lee. Her talk defines and explains the top twenty operators people should use. In her talk, she shows real-world use cases and warns against gotchas. Tracy and Charles explain that you don’t need to know all 60 operators, most people only need about 5-10 to function. She advises people to know the difference between the different types of operators. Tracy ends her interview by explaining her desire to inspire women and people of minority groups. She and Charles share their passion for diversity and giving everyone the chance to do what they love. Dean Radcliffe speaks with Charles next and discusses his talk about making React Forms reactive. They discuss binding observables in React and how Dean used this in his business. He shares how he got inspired for this talk and how he uses RxJS in his everyday work. The final interview is with Joe Eames, CEO of Thinkster. Joe spoke about error handling. He explains how he struggled with this as did many others so he did a deep dive to find answers to share. In his talk, he covers what error handling is and what it is used for. Joe outlines where most people get lost when it comes to error handling. He also shares the three strategies used in error handling, Retry, Catch and Rethrow and, Catch and Replace. Charles shares his admiration for the Thinkster teaching approach. Joe explains what Thinkster is about and what makes them special. He also talks about The DevEd podcast. Panelists Charles Max Wood Guests Mike Ryan Sam Julien Tracy Lee Dean Radcliffe Joe Eames Sponsors ABOUT YOU |aboutyou.com/apply Sentry -use the code "devchat" for 2 months free on Sentry's small plan CacheFly ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ___________________________________________________________ Links https://www.rxjs.live/ RxJS Live Youtube Channel https://twitter.com/mikeryandev https://twitter.com/samjulien https://twitter.com/ladyleet? https://www.npmjs.com/package/rx-helper https://twitter.com/deaniusol https://twitter.com/josepheames https://devchat.tv/dev-ed/ https://www.facebook.com/javascriptjabber https://twitter.com/JSJabber Full Article
js JSJ 415: Progressive Web Apps with Maximiliano Firtman By devchat.tv Published On :: Tue, 07 Jan 2020 06:00:00 -0500 Maximiliano Firtman is a mobile web developer from Buenos Ares, Argentina. He has been a developer for 24 years and his most recent focus has been on progressive web apps, or PWAs. Steve and Max reflect on the technologies they were using when they first got started in web development and talk about their experience with mobile development. One area that Max emphasized was bringing the web into the mobile space. They discuss the progression of web access on mobile and some of the available tools. Max notes that responsible design has a very high cost in web performance for mobile devices, which requires unique approaches. They discuss some of the issues with latency in mobile, even on 4G. The solution to this latency is PWAs. Progressive web apps are a set of best practices to create web apps that are installable. They can work offline at high speeds on several operating systems. Once installed, it looks like any other app on the system. Max delves into more details on how it works. He talks about how the resources for your application are managed. He assures listeners that it’s just a website that’s using a new API, they’re not changing the way the web works, and that when that API is there, the app can be installed. It will also generally use your default browser. Steve and Max discuss how local data is stored with PWAs. To write PWAs, you can use Angular, React, JavaScript, or Vue, and it’s a pretty transparent process. Max talks about some common tools used for local storage and some of the PWAs he’s worked on in the past. The benefit of using PWAs is that they generally run faster than regular web apps. To get started, Max advises listeners to install one and start exploring. Panelists Steve Edwards Guest Maximiliano Firtman Sponsors G2i ____________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links Progressive Web Apps Appsco.pe IndexedDB Max's site Picks Steve Edwards: The Club Maximiliano Firtman: Llama Follow Max on Twitter Full Article
js JSJ 416: GraphQL Developer Tools with Sean Grove By devchat.tv Published On :: Tue, 14 Jan 2020 06:00:00 -0500 In this episode of JavaScript Jabber the panel interviews Sean Grove from OneGraph; asking him questions about GraphQL tooling and common complaints about GraphQL. Sean starts by explaining what GraphQL is and how it benefits frontend developers. GraphiQL is a frontend open sourced tool produced by OneGraph, Sean explains how this handy tool simplifies GraphQL. Authentication and authorization are one of the biggest criticisms of GraphQL. Sean walks the panel through the solution, getting a schema definition language and adding directives to build a simple authentication and authorization. The panel defines authentication and authorization and explains the difference. The next issue common with GraphQL that the panel discusses is migration. Sean explains how OneGraph helps with migration using a Rust network layer and how it works. They also discuss how to migrate without this tool. Without the tool it is painful and he recommends incremental migration. Sean explains that another problem in GraphQL is poor documentation. He explains why the documentation is poor and explains how they hope to fix it at OneGraph. The last issue they cover is the length of queries. Sean tells the panel how they can handle this problem with depth analysis or persistent queries. The episode ends with an elevator pitch for Reason. Panelists Aimee Knight AJ O’Neal Charles Max Wood Dan Shappir Guest Sean Grove Sponsors Split CacheFly ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links https://github.com/graphql/graphiql https://devchat.tv/js-jabber/jsj-401-hasura-with-tanmai-gopal/ Follow DevChatTV on Facebook and Twitter Picks Aimee Knight: http://ergonomictrends.com/hand-wrist-exercises-computer-users/ Cats in your lap AJ O’Neal: The Grievance Studies Affair Go Proverbs Music Dan Shappir: Guatemala Tigana Sean Grove: Yuki Li: “Breaking Out of Box” Charles Max Wood: A Christmas Story Rudolf the Red-Nosed Reindeer The Little Drummer Boy Santa Claus Is Comin' to Town The Ultimate Gift Frosty the Snowman Full Article
js JSJ 417: Serverless with Microsoft Azure with Burke Holland By devchat.tv Published On :: Tue, 21 Jan 2020 06:00:00 -0500 Burke Holland works for Microsoft on the Azure team in developer relations. He starts the show talking about how he got started in serverless. He’s careful to note that just because things are marketed as serverless doesn’t always make them so. In order for something to be serverless, it must be sufficiently abstracted in terms of technology, only require payment for what is used, and infinitely scalable. He talks about the statelessness of serverless, and the panel discusses what it means to be stateless. Burke reminds listeners that serverless is not for long-lived operations, but there are features in serverless providers that can help you get around this. Burke talks about how writing serverless code differs from standard or previous coding approaches and practices. He advises that serverless functions are best kept small, and talks about how to fit them in with other kinds of APIs. The panelists talk about the multi-cloud and why people would want to be on multiple cloud servers. Burke talks about what Microsoft has done with Serverless Frameworks to accomplish multi-cloud compatibility. The JavaScript experts discuss the advantages and disadvantages of picking JavaScript over other languages, and Burke talks about why he prefers TypeScript and the Easy-Off feature. They talk about speed on a serverless platform, especially concerning the cold start time, which Azure is relentlessly trying to lower. He does talk about some things that can be done to decrease load time and about premium functions. The panel discusses how to debug serverless functions and tools that are available, such as the Azure Functions extension. They talk about ways to set up more secure functions to keep things from racking up charges. Burke talks about some things Microsoft does internally to control cloud costs, such as sending monthly reports with reminders to delete and using tools like Azure Reaper to delete short-lived projects. Azure can also put spending caps on subscriptions, but when you hit that cap you can’t serve any more requests. Burke concludes by saying that most of the time, going serverless is a lower-cost way to improve productivity, and because it’s event-driven, it allows you to tie into things that you’re already doing in the cloud. Serverless almost always justifies itself from an ease of use point of view and a cost point of view. Panelists Aimee Knight Steve Edwards Dan Shapir AJ O’Neal Charles Max Wood Guest Burke Holland Sponsors G2i Split ____________________________ > "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links Microsoft Azure Swagger GraphQL Kong Serverless Frameworks TypeScript Serverless Doesn’t Have to Be an Infuriating Black Box Azure Functions CosmoDB Is Serverless Really as Cheap as Everyone Claims? Azure Reaper Picks Steve Edwards: Louis L'Amour books, especially The Lonesome Gods Ultra Sabers Azure Reaper Burke Holland: Follow Burke on Github Dan Shapir: Taking a vacation AJ O’Neal: Hello World by Hannah Fry Ikea Kallax Charles Max Wood: The MaxCoders Guide to Finding Your Dream Developer Job Buy Me a Coffee Devchat is looking for show hosts and sponsors! Full Article
js MJS 133: Jonathan Martin By devchat.tv Published On :: Tue, 21 Jan 2020 06:00:00 -0500 My JavaScript Story this week welcomes Jonathan Lee Martin. Jonathan is an educator, speaker, and author. He has been a developer since high school and he started out by teaching at Big Nerd Ranch and currently has his own teaching brand. He teaches career switchers and senior developers and also has written a book "Functional Design Patterns for Express.js". Teaching career switchers has led him to adopt a pedagogy approach to teaching where he focuses on getting people to absorb relevant information faster. Some of the lessons he has learned when working with career switchers is the role of failure in the classroom. He noticed when something did not work in their code career switchers tended to want to start out again instead of debugging what was wrong with the code. Jonathan had to show that most of developing is turning failure into success and getting code that doesn't work bu debugging and asking for help. Host: Charles Max Wood Joined By Special Guest: Jonathan Martin Sponsors G2i CacheFly ______________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ______________________________________ Links JSJ 396: Publishing Your Book with Jonathan Lee Martin Jonathan's LinkedIn Jonathan's Twitter https://jonathanleemartin.com/ Functional Design Patterns for Express.js Picks Charles Max Wood: Pomodoro Timer Amazon Fire tv stick Jonathan Martin: WebXR Device API Innergie USB C Charger Full Article
js JSJ 418: Security Scary Stories and How to Avoid Them with Kevin A McGrail By devchat.tv Published On :: Tue, 28 Jan 2020 06:00:00 -0500 In this episode of JavaScript Jabber the panel interviews security expert, Kevin A. McGrail. He starts by explaining what security frameworks and what they do. The panel wonders how to know if your developers are capable of self-auditing your security or if you need help. Kevin shares recommendations for companies to look at to answer that question. Aimee Knight explains the hell she has been in making changes to be compliant with CCPA. The panel considers how policies like this complicate security, are nearly impossible to be compliant with and how they can be weaponized. They discuss the need for technical people to be involved in writing these laws. Kevin explains how you can know how secure your systems actually are. He shares the culture of security first he tries to instill in the companies he trains. He also trains them on how to think like a bad guy and explains how this helps developers become security first developers. The panel discusses how scams have evolved and how the same scams are still being run. They consider the importance of automated training and teaching developers to do it right the first time. Finally, they consider the different ways of authentication, passwords, passphrases, sim card, biometrics. Kevin warns against oversharing or announcing vacations. The panel discusses real-world tactics bad guys use. Kevin explains what he trains people to do and look out for to increase security with both social engineering and technical expertise. Panelists Aimee Knight AJ O’Neal Charles Max Wood Dan Shappir Steve Edwards Guest Kevin A McGrail Sponsors ABOUT YOU | aboutyou.com/apply Split CacheFly ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links Ghost in the Wires https://www.infrashield.com/ Follow DevChatTV on Facebook and Twitter Picks Aimee Knight: The More Gender Equality, the Fewer Women in STEM AJ O’Neal: I'll Let Myself In: Tactics of Physical Pen Testers Copying Keys from Photos, Molds & More The LED Traffic Light and the Danger of "But Sometimes!" Regina Spektor The Weepies Dan Shappir: This is what happens when you reply to spam email What is Your Password? Kevin A McGrail: XKCD Security IT Crowd https://spamassassin.apache.org/ Steve Edwards: XKCD Password Generator Nerd Sniping Full Article
js MJS 134: Maximiliano Firtman By devchat.tv Published On :: Tue, 28 Jan 2020 06:00:00 -0500 My JavaScript Story this week welcomes Maximiliano Firtman. Maximiliano Firtman is a mobile web developer from Buenos Ares, Argentina. He has been a developer for 24 years and his most recent focus has been on progressive web apps. Maximiliano started coding when he was 11 years old by creating games and digital magazines. He got into web development by learning HTML in college. Host: Charles Max Wood Joined By Special Guest: Maximiliano Firtman Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan CacheFly ______________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ______________________________________ Links JSJ 415: Progressive Web Apps with Maximiliano Firtman Maximiliano Firtman Website Maximiliano Firtman Twitter Picks Maximiliano Firtman: Using Trusted Web Activities Charles Max Wood: Generation Z Unfiltered by Tim Elmore Full Article
js JSJ 419: Google App Script with Ben Collins By devchat.tv Published On :: Tue, 04 Feb 2020 06:00:00 -0500 Today’s guest is Ben Collins, who creates online courses, writes tutorials, and teaches workshops around G Suite and App Script. Apps Script is a scripting platform developed by Google for light-weight application development in the G Suite platform. It is an implementation of JavaScript with the express purpose of extending Google apps. App Script was started 10 years ago as a side project, and it eventually took on its own life. Ben talks about some of the different things that App Script can do and where things are stored. They discuss different ways you can get into the script and how to import external scripts from a CDN. Ben gives two examples, one simple and one sophisticated, that you might build from App Script. He talks about event triggers and how authentication is handled. He goes over the three deployment options, namely web app, app executable, sheets add-on, and deploying from the manifest. Ben talks about how triggers are managed in App Script and options for debugging. There is also the option to develop locally as well as in the browser. The show ends with him talking about how to build using HTML in App Script. Panelists Aimee Knight Steve Edwards Dan Shapir Guest Ben Collins Sponsors G2i Split ____________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links G Suite AppScript Clasp Picks Steve Edwards: King Kong Apparel Aimee Knight: Developers Mentoring Other Developers Dan Shapir: The Web Almanac AJ O’Neal: Photography Magic Lantern Bem Collins: Cold Turkey app Follow Ben at Benlcollins.com and Twitter Full Article
js MJS 135: Paul Cowan By devchat.tv Published On :: Tue, 04 Feb 2020 06:00:00 -0500 My JavaScript Story this week welcomes Paul Cowan. Paul works as a consultant in front end development. He learned how to program at a really early age but didn't own an email address until he was 30 years old. When he was 30 years old he wanted to change his lifestyle and attended a course in London and took a job as a software developer. Paul was interested in React because, for him, much of programming didn’t make a whole lot of sense until he read about the flux model and React Redux was one of the few frameworks that followed the flux model. Spending most of his life outside of the programming world has granted him a unique perspective framework like React. Host: Charles Max Wood Joined By Special Guest: Paul Cowan Sponsors G2i CacheFly ______________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ______________________________________ Links RRU 088: Frustrations with React Hooks with Paul Cowan Paul's Twitter Paul's Blog Picks Paul Cowan: https://blog.logrocket.com/ Fitness and MMA Fight Charles Max Wood: "#100daysofvue" Vue Learning Challenge @ Devchat.tv YouTube Channel https://www.youtube.com/channel/UCABJEQ57MIn6X3TIHIebJUw/videos Devchat.tv Upcoming Workshops: "How To Stay Current" "How to Find Your Dream Developer Job" "How to Start a Podcast" Sign up for the newsletter @ https://devchat.tv/subscribe/ to receive information about our upcoming workshops Full Article
js JSJ 420: OpenAPI, Redoc, and API Documentation with Adam Altman By devchat.tv Published On :: Tue, 11 Feb 2020 06:00:00 -0500 Adam dives into how to document your application using OpenAPI (formerly Swagger) and then how to generate great documentation for your API's using Redoc. He gives us the history of Redoc, breaks down the process for building API documentation, and understanding the OpenAPI specification. Panelists Aimee Knight Dan Shappir AJ ONeal Steve Edwards Guest Adam Altman Sponsors G2i ____________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links https://twitter.com/redocly Https://Redoc.ly https://www.facebook.com/redocly Picks Steve Edwards: https://wesbos.com/announcing-my-css-grid-course/ https://flexbox.io/ Aimee Knight: https://github.com/ErikCH/DevYouTubeList Dan Shappir: Old Kingdom Book Series AJ O’Neal: Final Fantasy VII and VIII (Physical Copy, English) on Play Asia Adam Altman: concepts.app Full Article
js MJS 136: Kaelig Deloumeau-Prigent By devchat.tv Published On :: Tue, 11 Feb 2020 06:00:00 -0500 This My JavaScript Story episode is a discussion with Kaelig Deloumeau-Prigent. Kaelig works on the Polaris design system from Shopify. We walk through his journey into programming, HTML, and CSS. We wander through is career until he was building design systems at Shopify. Host: Charles Max Wood Joined By Special Guest: Kaelig Deloumeau-Pregent Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan CacheFly ___________________________________________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ___________________________________________________________________________________________ Links JSJ 397: Design Systems with Kaelig Deloumeau-Prigent Design Tokens Community Group JSJ 388: Functional Programming with Brian Lonsdorf Polaris Picks Kaelig Deloumeau-Prigent: The Courage to Be Disliked Charles Max Wood: The Name of The Wind Full Article
js MJS 137: Florian Rival By devchat.tv Published On :: Tue, 18 Feb 2020 06:00:00 -0500 Florian Rival is a React developer who has built his own game engine. He's been a guest on both React Round Up and React Native Radio. This episode provides you a walkthrough on using gDevelop to build games from scratch and goes into his history as a game developer. Host: Charles Max Wood Joined By Special Guest: Florian Rival Sponsors G2i CacheFly ______________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ______________________________________ Links RNR 126: Native Web Apps with Florian Rival RRU 058: React.js and WebAssembly to Rewrite Native Apps with Florian Rival LinkedIn Florian Rival PixiJS Picks Florian Rival: GDevelop Charles Max Wood: Gmelius Full Article
js JSJ 421: Semantic HTML with Bruce Lawson By devchat.tv Published On :: Tue, 18 Feb 2020 06:10:00 -0500 Bruce Lawson is an expert in and proponent of semantic HTML. After receiving some good natured ribbing, Bruce walks the panel through the benefits of semantic HTML. He provides several examples on how it's used and in particular how it helps with other issues like accessibility and navigability on your websites. Panel AJ O’Neal Aimee Knight Charles Max Wood Dan Shappir Guest Bruce Lawson Sponsors G2i Springboard | Promo code "JABBER" gives $500 off the job-guaranteed Course ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links WebAIM: Web Accessibility In Mind <input type="date"> The 4 minute business case for accessible online shopping Picks AJ O’Neal: Better Mic Sound Canon T4i 650D Canon T5i Course Magic Lantern Filmic Pro & Promovie Aimee Knight: AddyOsmani.com - Native image lazy-loading for the web! Charles Max Wood: Codineer - 100 days of Vue challenge Dan Shappir: Alex Russell - The Mobile Web: MIA Bruce Lawson Website Bruce Lawson: Taffy music band Follow Bruce on Twitter @brucel Full Article