Detailed
Compact
Art
Reverse
July 21, 2020
Functional programming can be tricky to start with, especially in TypeScript aps. In today’s show, Robin Pokorny shares tips on how to start with functional programming, and how you can integrate functional programming into the apps you’re building today. He also shares tips on libraries to help make functional programming with TypeScript easier, including fp-ts. Panel TJ VanToll Guest Robin Pokorny Sponsors G2i | Enjoy the luxuries of freelancing React Native Remote Conf 2020 Links fp-ts Redux Elm io-ts Pragmatic Bookshelf: By Developers, For Developers Picks Robin Pokorny: Follow Robin on Twitter > @robinpokorny Cracking the Cryptic signup-form-react-native-web - CodeSandbox TJ VanToll: Oculus Quest AltspaceVR | Be there, together. Follow React Round Up on Twitter > @reactroundup
July 7, 2020
Dr. Meghna Srivastava joins React Round Up to share how she transitioned from a dentist in her native country of India to a software developer today in Berlin, Germany. Although she practiced for a few years after graduating dental school, Meghna wasn't completely satisfied with her career choice, and things at work began to feel stale to her. At the same time, she saw the flexibility her partner enjoyed as a backend developer, and began dabbling in Python to see if coding might be something she was interested in pursuing as well. Fast forward a year, and Meghna found herself in Germany due to her partner's job, and unemployed, giving her the time she needed to really focus on learning to code, and she discovered she enjoyed JavaScript's browser-focused interactions more than backend languages. Then she progressed on to the React framework as she began to build up her portfolio. Panel Charles Max Wood Paige Niedringhaus TJ VanToll Guest Meghna Srivastava Sponsors G2i | Enjoy the luxuries of freelancing React Native Remote Conf 2020 Links freeCodeCamp.org Codecademy Online Courses - Learn Anything, On Your Schedule | Udemy #100DaysOfCode Picks Meghna Srivastava: Follow Meghna on Twitter > @hellomeghna Into the Night (TV Series 2020 Charles Max Wood: Traffic Secrets One Funnel Away DotCom Secrets Expert Secrets TJ VanToll: "The Great" Series Paige Niedringhaus: Malazan Book of the Fallen Follow React Round Up on Twitter > @reactroundup
June 23, 2020
React Native Remote Conf July 28th to 31th Brice Ayres is a Youtube video author talking about programming and React. This is a wide ranging conversation across the spectrum of React tools, libraries like react-bootstrap, and the state of styling and state management in React. Panel Charles Max Wood Paige Niedringhaus TJ VanToll Carl Mungazi Guest Brice Ayres Sponsors G2i | Enjoy the luxuries of freelancing "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! Links Ant Design BEM Picks Brice Ayres: Follow Brice on Twitter > @codelife_io, Youtube phoenix_live_view Charles Max Wood: Board Game Arena React Native Remote Conference 2020 Paige Niedringhaus: Houseparty app TJ VanToll: SF Bay Coffee Carl Mungazi: A visual guide to React Mental models | Obed Parlapiano Follow React Round Up on Twitter > @reactroundup
June 9, 2020
Front end developer Maksim Ivanov talks about working for Mojang, the company behind the ridiculously popular game Minecraft. As it turns out, Maksim uses React to build different pieces of the game, and runs the code through a custom renderer to make it work in the game world. In addition to his day job, he also found time to write a book about TypeScript after realizing how much easier getting familiar with new code bases could be if TypeScript was used instead of JavaScript. The panel has used TypeScript to varying degrees themselves, but nobody's gone all in, and they talk about the pros and cons of it, including the initial learning curve and how it can help prevent bugs in the code. Maksim's book covers many aspects of TypeScript in great detail, and it sounds like a good read for anyone just picking up the language. Panel Charles Max Wood Paige Niedringhaus TJ VanToll Guest Maksim Ivanov Sponsors G2i | Enjoy the luxuries of freelancing "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! Links Custom Renderer react-game-engine - npm react-unity-webgl - npm gettext newline @tjfuller • Instagram React Hook Form Cheatsheets for experienced React developers getting started with TypeScript The RSpec Book TypeStrong Picks Maksim Ivanov: Follow Maksim on Youtube Harry Potter and the Methods of Rationality Charles Max Wood: Iron druid chronicles Percy Jackson Devchat.tv Remote meetups Devchat.tv Remote Conferences Paige Niedringhaus: The Name of the Wind TJ VanToll: OmniDiskSweeper, OmniWeb, and OmniPresence - The Omni Group https://rtmccormick.com/2018/01/10/clear-node-modules-folders-recursively-mac-linux/ Follow React Round Up on Twitter > @reactroundup
May 26, 2020
If you’ve tried using SVGs in your application, chances are you’ve found it tricky or difficult. In today’s show, Elizabet Oliviera shares some tips on how you can begin using SVGs to create scalable illustrations and animations. She also shares her experiences of building a library of SVG animations Panel Carl Mungazi Paige Neidringhaus TJ VanToll Guest Elizabet Oliveira Sponsors G2i | Enjoy the luxuries of freelancing "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! Links Figma gregberge/svgr svg/svgo: Node.js tool for optimizing SVG files Exploring audio with React and SVGs: Create amazing audio projects - Elizabet Oliveira React Kawaii Picks Elizabet Oliveira: Follow Elizabet on Twitter > @miuki_miu, Github, LinkedIn Women of React Conf Paige Neidringhaus: Coolors - The super fast color schemes generator! Carl Mungazi: Excalidraw TJ VanToll: Tiger King Follow React Round Up on Twitter > @reactroundup
May 12, 2020
JavaScript Remote Conf 2020 May 13th to 15th - register now! Despite JavaScript being a single-threaded language, you can now leverage multi-threaded computing thanks to modern browser features such as web workers, workouts and service workers. In this show, Majid explains how these features work and what problems they solve. We also discuss the strategies you can use to introduce them to production codebases and give your users a much more enjoyable experience on your web app. Panel Paige Niedringhaus Carl Mungazi Charles Max Wood TJ VanToll Guest Majid Hajian Sponsors G2i | Enjoy the luxuries of freelancing "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! Links Comlink makes WebWorkers enjoyable Workbox Figma The AssemblyScript Book Houdini: Demystifying CSS Picks Majid Hajian: Follow Majid on Twitter > @mhadaily Deep Work - Cal Newport Carl Mungazi: Off the Main Thread | The Web Platform Podcast Charles Max Wood: Natural Goat Milk Soaps for Healthy Skin — Goat Milk Stuff ‎Flip Timer & stopwatch on the App Store Desktop tripod Devchat.tv Remote meetups Devchat.tv Remote Conferences Paige Niedringhaus: DJI Phantom 4 Drone Ozark show on Netflix TJ VanToll: Goat-2-Meeting — Sweet Farm Follow React Round Up on Twitter > @reactroundup
April 28, 2020
JavaScript Remote Conf 2020 May 13th to 15th - register now! Panel Charles Max Wood Paige Neidringhaus TJ VanToll Guest Vladimir Novick Sponsors G2i | Enjoy the luxuries of freelancing "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! Links Enabling breakout rooms – Zoom Help Center Picks Vladimir Novick: Follow Vladimir on Twitter > @VladimirNovick, Twitch, Website Event Loop Krisp | Noise Cancelling App Keyboard Maestro Stream Deck Notion Charles Max Wood: ASUS 15.6" Full HD 1920x1080 IPS USB Portable Monitor The Chronicles of Narnia Adult Box Set Audiobookm Paige Neidringhaus: ShiftIt for Mac Tiger King on Netflix TJ VanToll: Twitch Follow React Round Up on Twitter > @reactroundup
April 14, 2020
JavaScript Remote Conf 2020 May 13th to 15th - register now! Paige Niedringhaus talks about the ever increasing need for developers and designers to be thinking about responsive web design as they build apps in today's world; a quick recap of a conference talk she gave at Connect.Tech, called 'Responsive Design featuring ReactJS'. Then, she talks about two possible solutions for making responsive web apps: CSS media queries and a new, React-specific NPM package called React Socks. Both options have their benefits and drawbacks (and can be used together too!), but getting started with either is relatively simple. Considering how many different ways users could be accessing our websites today and how important a good user experience is regardless of device size, responsive design is definitely worth investigating and incorporating into you own development going forward. Panel Charles Max Wood Guest Paige Niedringhaus Sponsors G2i | Enjoy the luxuries of freelancing ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links React Socks and Responsive Web Design With React - Better Programming - Medium react-socks npm notes Live site example Picks Paige Niedringhaus: Follow Paige on Twitter > @pniedri, Github, Medium Goliath TV Series Apple AirPods Pro Charles Max Wood: Devchat.tv Remote Meetups Devchat.tv Remote Conferences React Native Remote Conference Rich Dad's CASHFLOW Quadrant Follow React Round Up on Twitter > @reactroundup
March 31, 2020
JavaScript Remote Conf 2020 May 14th to 15th - register now! Patrick Stapfer from the Reason Association joins Charles Max Wood to talk about ReasonML, functional programming, and how it fits into the React ecosystem. ReasonML is a language built and maintained by Facebook and transpiled to JavaScript using the BuckleScript project. Patrick explains when to use Reason, how to get started, and the basics of using Reason. Panel Charles Max Wood Guest Patrick Stapfer Sponsors G2i | Enjoy the luxuries of freelancing ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links https://reasonml.org ReasonML Playground GitHub - davidkpiano/xstate: State machines and statecharts for the modern web. Flow: A Static Type Checker for JavaScript Picks Patrick Stapfer: Follow Patrick on Twitter > @ryyppy Mindset: The New Psychology of Success: Dweck, Carol S.: 9780345472328: Amazon.com: Books Charles Max Wood: Star Trek: The Next Generation Devchat.tv Remote meetups Devchat.tv Conferences JavaScript Remote Conf 2020   Follow React Round Up on Twitter > @reactroundup
March 24, 2020
Get Mani's 10x Entrepreneurship Bundle of Book Summaries! Use the coupon code HUSTLE. Mani Vaya joins Charles Max Wood to talk about how developers can add the entrepreneur hat to the others they wear by starting a side gig. They discuss various ideas around entrepreneurship, the books they got them from, and how they've applied them in their own businesses. Panel: Charles Max Wood Guest: Mani Vaya Sponsors: G2i | Enjoy the luxuries of freelancing ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Picks: Mani Vaya: Good to Great The Lean Startup Charles Max Wood: Expert Secrets The Masked Singer Follow React Round Up on Twitter > @reactroundup
March 10, 2020
Charles Max Wood monologues about how to get what you want and making a plan. The main focus of his discussion is about sticking it out through the boring or lonely parts and continuing to work for the career and life you’re looking for. Panel Charles Max Wood Sponsors Springboard | Click here NOW for $500 off the course ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Picks JS Remote Conf Expert Secrets Chronicles of Narnia Follow React Round Up on Twitter > @reactroundup
March 3, 2020
TJ VanToll hops on the Round Up to discuss when and where it makes sense to use open source UI components versus paying for them. The tradeoffs wind up being more subtle than you think. We dive into team make-up, pros and cons, and the approaches to making the right decision on which library to pick up. Panel: Thomas Aylott Charles Max Wood Guest: TJ VanToll Sponsors: Springboard | Click here NOW for $500 off the course G2i | Enjoy the luxuries of freelancing ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links: Reach UI Picks: TJ VanToll: Follow TJ on Twitter @tjvantoll, Github, Blog Stranger Things How Did This Get Made Thomas Aylott: OPT 9 Coin System exploration toy Objective Personality | Objective Personality Systems Charles Max Wood: The Expanse The Man In the High Castle Follow React Round Up on Twitter > @reactroundup  
February 25, 2020
Travis Ralph works with With You With Me to help veterans transition from military service to IT jobs. He discusses the process of making the move from military service to software development, why they use React as part of their curriculum, and how to learn new skills. Panel: Thomas Aylott Carl Mungazi Charles Max Wood Guest: Travis Ralph Sponsors: Springboard | Click here NOW for $500 off the course ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links: RRU 095: Designing Your Life Amplify.io React & React Native Docs Offensive Security Certified Professional Picks: Thomas Aylott: Watchtower Online Library Carl Mungazi: React Libraries in 2020 - RWieruch Loupe Teach Yourself Computer Science Charles Max Wood: New Devchat.tv Podcast - Clean Coders Interview Cake (Affiliate link) Hero Wars Mobile Game Travis Ralph: Follow Travis on Twitter - @Wreckittr, LinkedIn With You With Me Amplify Web App Workshop Learn to Code for Free – Grasshopper
February 18, 2020
Chuck and Thomas get together to discuss their favorite parts of the React Round Up. They talk about origins, favorite episodes, and the history of React. Panel Charles Max Wood Thomas Aylott Sponsors Springboard | Promo code "JABBER" gives $500 off the job-guaranteed Course G2i ________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Picks Thomas Aylott: Principles for Success by Ray Dalio Pandemic Charles Max Wood: Ready, Fire, Aim by Michael Masterson Legendary: A Marvel Deck Building Game
February 11, 2020
Tejas, Thomas, and Chuck talk about what Design Systems are, how they're used, and what goes into building them. The compare them to some UI libraries that don't quite meet the mark and talk about how they fit into the development ecosystem and people's career paths. Panelist Charles Max Wood Thomas Aylott Guest Tejas Kumar 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 Scalable Design Systems with TypeScript Tejas Kumar Talk Monaco Editor Operational UI Kent Dodds - Introducing Downshift for React Reach UI Picks Charles Max Wood Hasura The Name of the Wind Clean Coders Podcast Thomas Aylott The Checklist Manifesto Tejas Kumar Follow Tejas on Twitter https://github.com/TejasQ https://tej.as next.js Beautiful Letdown by Switchfoot Power Mentoring book by Susan Murphy
February 4, 2020
Brittany is a software engineer for Formidable Labs. She’s a team lead for some client work and likes to poke around in their open-source stuff in her free time. Last year she gave a talk at ReactConf called ‘Accessibility is a Marathon, Not a Sprint’. She talks about her background and how she came to specialize in accessibility. Brittany believes there are a lot of small things you can do to make your website more accessible, and that following best practices in accessibility makes the website easier to navigate for the able-bodied as well. She emphasizes that having accessibility in mind from the get-go will make your website more organized overall and that making things more accessible is as easy as starting with semantic HTML. Brittany and Charles discuss the moral responsibility for businesses to make their website accessible and whose responsibility it is to enforce accessibility. Brittany feels that accessibility really isn’t that hard, but people just don’t know what it looks like or where to get started. Brittany shares some methods to improve accessibility that take very little extra effort. One of the best things you can do is use semantic HTML. To learn things like what is a header, footer, article tag, etc. is, she advises listeners to consult the documents. She talks about the importance of a good pull request and even enlisting coworkers to help you to remember to use these accessibility-friendly methods. Charles and Brittany talk about using heading outline extensions to help you see what content is getting scraped off your site. Once semantic HTML is in place, they suggest testing to see if your site works with accessibility tools like screen readers, or if you can navigate with just a keyboard. They talk about different extensions that mimic visual impairments to ensure your pages are readable. The show concludes with Brittany talking about how this all ties into React. Panelist Charles Max Wood Guest Brittany Feenstra Sponsors NxPlaybook.com - Use code ‘NXDEVCHAT’ for 50% off the official https://nx.dev/React Advanced Workspaces course!  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 Formidable Labs Accessibility is a Marathon, not a Sprint Deaf man sues Pornhub over lack of captions HTML elements reference Eslint-plugin-jsx-a11y-npm headingsMap for Chrome headingsMap for Firefox Marcy Sutton noCoffee Color contrast analyzer Writing Automated Tests for Accessibility Lighthouse Axe by Deque JSJ 344: Inclusive Components with Heydon Pickering Picks Brittany Feenstra Follow Brittany on Twitter Inclusive Components by Hendon Pickering Becoming by Michelle Obama Charles Max Wood The Name of the Wind Group coaching course for finding jobs and staying current devchat.tv/workshops
January 28, 2020
Guest Becca Bailey gave a talk at ReactConf in 2019 called The State of React State in 2019 and will be giving another talk at an upcoming conference. She gives a summary of her ReactConf talk, which was inspired by her experiences she has had as a developer. In her talk, she talks about different tools and testing for state management. She and the panelists discuss how to recommend changing tools to a team instead of individuals. She shares some experiences from her job. They discuss ways to keep a work culture from turning toxic and how to start the conversation about state management. The React experts talk about strategies when you chose something for a project that ends up being the wrong decision, and prevent poor decisions like that in the future. It’s important to strike a balance between preparing for the future and anticipating it. Becca and the panel discuss alternatives to using Redux for state management, and some of the advantages of using it. They discuss how to decide what is put into local versus global state and how to know when you can depreciate shared state. Becca has helped teams decide what conventions they will use moving forward for managing local and global state, which gives you a standard for code reviews that reduces decision fatigue. They discuss common use cases for refactoring. Put simply, refactoring becomes necessary when it becomes hard to make simple changes. Becca also talks about being intentional about managing team culture and ways to prevent problems from arising in the future. Panelists Thomas Aylott Dave Cooper Charles Max Wood Guest Becca Bailey Sponsors NxPlaybook.com - Use code ‘NXDEVCHAT’ for 50% off the official https://nx.dev/React Advanced Workspaces course!  G2i ____________________________ > "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links Becca’s ReactConf Talk Formidable Redux React Context Angular Dojo.io Prettier Picks Thomas Aylott Rome research Charles Max Wood Bose Soundlink Headphones Dave Cooper Styled components Gatsby Becca Bailey Victory Brotopia
January 21, 2020
In this episode of React Native Radio 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 NxPlaybook.com - Use code ‘NXDEVCHAT’ for 50% off the official https://nx.dev/React Advanced Workspaces course!  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/React-Round-Up https://twitter.com/reactroundup
January 14, 2020
In this episode of React Round Up Charles Max Wood hosts a solo podcast sharing his perspective on designing your perfect life. In this episode he addresses finding your dream job, building your dream life, and staying current. Start by deciding where you want to end up. Do you see yourself retiring? Working forever? Charles shares his vision for his future and discusses the retirements of others in his life. Working back from the end of your life, Charles has you ask yourself what kind of life and career you want. Charles shares his vision for both his personal life and his career. After you pick your goal, build the skills, and knowledge to reach that goal. He uses the example of becoming a speaker at conferences. He also recommends you find a mentor or someone who has sone what you want to and get there help. Charles explains how important it is to get out of your own way mentally. Many people find reasons real or imagined as to why they can’t reach their goal. He agrees that the world is unfair and barriers can be real. The best way to show others they can overcome barriers is by doing it yourself and working towards your goals. You can if you believe you can and you work for it.  Panelists Charles Max Wood Sponsors NxPlaybook.com - Use code ‘NXDEVCHAT’ for 50% off the official https://nx.dev/React Advanced Workspaces course!  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 https://www.facebook.com/React-Round-Up https://twitter.com/reactroundup Picks Charles Wood: The Riftwar Cycle The Man in the High Castle
January 7, 2020
In this episode of React Round Up Charles Max Wood interviews speakers at GitLab Commit 2019. Eddie Zaneski from Digital Ocean talks about "Creating a CI/CD Pipeline with GitLab and Kubernetes in 20 minutes", Shamiq Islam from Coinbase talks about "Closing the SDLC Loop- Automating Security" and Jasmine James, from Delta Airlines, discusses " How Delta Became Cloud Native-Avoiding the Vendor Lock". Eddie, Shamiq, and Jasmine give the 5 min "elevator pitch" for the talks they gave at the conference. In his talk, Eddie deploys a fake startup going through the whole pipeline: building the application, containerizing an application and shipping it off to Kubernetes. Shamiq, talks about how the conventional approach to security is to consider it at the very end after all developer has wrapped up their work and why that should change. Jasmine explains more in-depth what it means for a big corporation like Delta to be in a Vendor Lock. Sponsors NxPlaybook.com - Use code ‘NXDEVCHAT’ for 50% off the official https://nx.dev/React Advanced Workspaces course! Sentry use the code "devchat" for 2 months free on Sentry's small plan ABOUT YOU | aboutyou.com/jobs Cachefly Links Creating a CI/CD Pipeline with GitLab and Kubernetes in 20 minutes by Eddie Zaneski Hacktoberfest presented by DigitalOcean and DEV Commit Brooklyn 2019: Closing the SDLC Loop - A Security Panel by Shamiq Islam Commit Brooklyn 2019: How Delta Became Truly Cloud Native - Avoiding the Vendor-Lock by Jasmine James
December 24, 2019
In this episode of React Round Up Charles Max Wood interviews speakers at JAMstack Conf SF. Mandy Michael gives a talk about responsive typography and variable fonts. Mandy explains what variable fonts are and how they can be used to shrink, stretch and do some very fun and creative thing with them. They discuss how to use them and Mandy explains some of the demos from her talk.   Charles asks Mandy what some of the things were that she had to cut from her talk. She had to cut a few longer demos, details and performance improvements that can be made with responsive typography. Mandy shares what she is working on now with responsive typography and explains how much fun she has had expressing herself through variable fonts. To see more of Mandy’s demos and to learn more about responsive typography and variable fonts see the links below.    Next, Charles interviews Shawn Erquhart work runs the Netlify CMS project. Charles shares his experience using Netlify and Shawn addresses some of the issues Charles has come across. Charles does say the using Netlify is simple, clean and nice. Shawn shares the origin story of Netlify. They discuss what it means to be a git-based content management system.    They discuss how to contribute to the Netlify CMS open source project. Charles mentions his book and they discuss how contributions to open source projects like these are a great way to get a job. Shawn explains how to get started implementing Netlify CMS and how they target different static site generators. Finally, Charles talks with Tammy Everts. Tammy gives a listeners a sneak peek into her talk about website performance, more specifically JavaScript performance. Charles discusses the performance of Devchat.tv and Google Lighthouse scores. Tammy explains that while Google Lighthouse is good it isn’t completely reliable and can miss chunks of time when your JavaScript is failing and you have unhappy users. Tammy shares ways to drill down and see how your JavaScript is behaving in the wild. She talks about blocking Javascript which every developer is familiar with and non-blocking JavaScript that has high blocking CPU time which makes for janky sites. Tammy and Charles discuss what CPU is and what it measures. Tammy names resources and tools to help avoid this problem.  Rules of thumb for avoiding these issues are explained by Tammy. First, Reduce, make sure all the JavaScript needs to be there. Next, Monitor, track your metrics. She also suggests working with vendors and maintaining a performance budget for metrics that matter. The interview ends with a little about Speedcurve and what they do. Tammy is the CXO of Speedcurve.  Panelists Charles Max Wood Guest Mandy Michael Shawn Erquhart Tammy Everts Sponsors NxPlaybook.com - Use code ‘NXDEVCHAT’ for 50% off the official https://nx.dev/React Advanced Workspaces course! Sentry use the code “devchat” for 2 months free on Sentry small plan Cachefly Links https://www.netlify.com/ https://www.netlifycms.org/ https://twitter.com/erquhart https://jamstackconf.com/sf/ https://variablefonts.dev/ https://codepen.io/collection/XqRLMb/ https://twitter.com/Mandy_Kerr? https://speedcurve.com/ https://twitter.com/tameverts? https://www.facebook.com/React-Round-Up https://twitter.com/reactroundup
December 17, 2019
Today the panel and Sean Grove are talking about the future of programming with GraphQL. GraphQL is a new way of building APIs that is more product and frontend focused. All of the panelists agree that it is easy to get exactly what they need with ease when using GraphQL. There are also benefits for backend developers too, since GraphQL lets you see exactly what fields your clients are using. You can also reach out to specific clients who have accessed specific fields before. This is possible because every GraphQL server is introspectable by a computer, and Sean explains how it works. This introspectivity is the basis for an idea he has that allows users to generate realistic fake data before signing up so they know exactly how their application will work before committing, and gives some examples of how it can be used. They all agree that GraphQL is very well formatted and that it provides solutions to real world problems, The conversation turns to the article How OneGraph Onboards Users Who are New to GraphQL. In particular, they discuss how the GraphiQL Explorer works versus OneGraph. GraphiQL Explorer is an extension that will look at your operations and generate a full React or Bash app from them. Sean talks about the different kinds of operations and how naming them can help you track their performance more easily. There is even a code generator that will flag unnamed queries to help you learn best practices, but won’t stop you from running your code. They talk about the benefits of using OneGraph, a single graphQL endpoint through which you can get all your data from other apps. By wrapping all the APIs in GraphQL, you get access to all the nice GraphQL tooling. They talk about how it works and some of the benefits it can have, such as helping you stay under rate limits. They talk about other interesting tools available for GraphQL and what the explosion of tools means for the GraphQL community. They talk more about how GraphQL fits into the React environment and what they think the future holds.  Panelists Thomas Aylott Charles Max Wood Guest Sean Grove Sponsors NxPlaybook.com - Use code ‘NXDEVCHAT’ for 50% off the official https://nx.dev/React Advanced Workspaces course!  Sentry | Use the code “devchat” for $100 credit Links GraphQL JS CodeShift Comby How OneGraph Onboards Users That Are New To GraphQL GrapiQL  Excel GraphiQL Explorer Bash OneGraph Hasura Framer Swift.ui  Picks Thomas Aylott Framer Famous Charles Max Wood Stop-motion animation Christmas movies (like Rudolph the Red-Nosed Reindeer) A Christmas Story Sean Grove Moon Highway Draftbit  SuperMario Land 2 Exploration
December 10, 2019
In this week’s episode of React Round Up the panel works their way through a blog post outlining best practices for React. The first is “keeping components small and function-specific”. The panel discusses the pros of using this best practice and how it relates to the single responsibility principle. This best practice also helps with the next, “reusability is important”. The panel considers this second best practice and points out some of its flaws. It recommends avoiding the creation of new components. The panel explains that by avoiding creating new components it saves time but can also cause problems as you adapt components to fit more projects. The next best practice is “consolidate duplicate code”, the panel shares their philosophies on dry code and when to consolidate. The fourth best practice is comment only when necessary, Charles explains how he uses comments to help him keep track of things inside his code and the panel warns against using too many comments as it may clog up your code making it hard to read.  The fifth best practice is, “name the component after the function”. The panel explains how it is an art finding a name that is not too generic but is not overly specific; mastering the art of naming is something that will benefit everyone.  Naming relates to the sixth best practice as well. “Use capitals when naming components”. The panel explains the need for convention and advises developers not to go off-book as this will slow down others.  The last six best practices are all self-explanatory says the panel. “Separate stateful aspects from rendering” is nothing new. “Code should execute as expected and be testable”, the panel explains how this allows for trust between developers.  “All files relating to a single component should be in the same folder”, this makes everything easy to find when necessary.  “Use tools like Bit”, while the panel doesn’t use Bit, they share tool recommendations. They also comment on the progress being made it tooling and the future of automated tools. “Use snippet libraries”, the panel discusses favorite libraries and building their own libraries. The final best practice is “Follow linting rules”. Panelists Charles Wood Christopher Reyes Thomas Aylott Sponsors NxPlaybook.com - Use code ‘NXDEVCHAT’ for 50% off the official https://nx.dev/React Advanced Workspaces course!  Sentry– use the code “devchat” for two months free on Sentry’s small plan CacheFly Links https://teachablemachine.withgoogle.com/  Practical React Hooks: How to refactor your app to use Hooks  12 React Best Practices You Need to Follow in 2020  https://github.com/nadeesha/saul  https://www.facebook.com/React-Round-Up https://twitter.com/reactroundup Picks Charles Wood: White Christmas  Holiday Inn  The MaxCoders Guide To Finding Your Dream Developer Job  Christopher Reyes: https://github.com/microsoft/vscode-eslint  https://www.playingwithfire.co/  Thomas Aylott: test && commit || revert
December 3, 2019
Today the panel is discussing how to introduce new tech at work. They agree that it’s important to get input from all teams on the decision, although it will primarily affect the development team. One should also consider the different ways people make decisions, such as through discussion or quiet thinking, and give everyone time to come to a decision. The panel talks about positive and negative examples of how to introduce new tech at work. Thomas believes that it is important to acknowledge your own biases in decision making and to try to avoid them. The React experts discuss the significance of the team dynamic and the necessity of different roles in decision making or if it is better to have an organic discovery phase. This relates to Thomas’ point about personal biases, and he believes that it is important to put people in roles that are opposite of their personality. When making decisions about new technology, it is also important to note that not all decisions require the same amount of input, and they discuss how to measure how much input is required for a decision. The discussion turns to methods for introducing testing, and the panelists talk about their experiences. The rule of thumb for introducing testing is to start simple, have an expected behavior, and test the output to see if it matches. Some other aspects of this discussion to consider are that introducing React Hooks could be considered introducing tech, testing is just a new process, introducing new tools, and budget concerns. Charles shares experience convincing his boss to introduce Agile practices which shows the importance of getting management to see the benefits of the new tech or strategy for themselves. The show concludes with the panel acknowledging that other than introducing tech, introducing philosophies on how to organize your code follows the same patterns as introducing technology. Panelists Thomas Aylott Charles Max Wood Chris Reyes Sponsors NxPlaybook.com - Use code ‘NXDEVCHAT’ for 50% off the official https://nx.dev/React Advanced Workspaces course!  Sentry | Use the code “devchat” for $100 credit Links Vue 12 React Best Practices You Need to Follow in 2019 Saul Test && commit || revert VS Code ESLint Picks Thomas Aylott Teachable Machine Charles Max Wood White Christmas Holiday Inn Chris Reyes Practical React Hooks
November 26, 2019
In this episode of React Round Up Charles Max Wood interviews Ire Aderinokun at JAMstack conf 2019. Ire works for Buycoins, a cryptocurrency exchange for Africa. She gave a lightning talk, “Headless Chrome & Cloudinary for progressively enhanced dynamic content on the web”. After giving a brief overview of her talk to Charles, Ire defines progressive enhancement for the listeners.   Walking through how progressive enhancement works, she explains how Headless Chrome and Cloudinary helped her with the project she shared in the talk. Ire and Charles consider the blindspot that developers experience because they work on high-end devices and how using progressive enhancement helps those who use lower-end devices.   Ire shares her experience with JAMstack and explains how progressive enhancement works with JAMstack. Charles shares his experience using JAMstack. The episode ends with Ire giving advice and resources to help get started with progressive enhancement.    Panelists Charles Wood Guest: Ire Aderinokun Sponsors Nrwl | Nx.Dev/React Sentry– use the code “devchat” for two months free on Sentry’s small plan CacheFly Links https://buycoins.africa/ Headless Chrome & Cloudinary for progressively enhanced dynamic content https://github.com/ireade/caniuse-embed https://ireaderinokun.com/ https://twitter.com/ireaderinokun https://github.com/ireade https://www.facebook.com/React-Round-Up https://twitter.com/reactroundup
November 20, 2019
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is available on Amazon. Get your copy here today only for $2.99!
November 19, 2019
Paul Cowan was a painter and decorator for 30 years until he switched to front end development. He got into 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 frameworks like React. He talks about some of his frustrations with React hooks. Hooks can be frustrating because it’s a new paradigm to learn JS, the dependencies array can get bungled, React relies on the order in which hooks are called, and closures can be difficult. Overall, hooks come off at deceptively simple. Paul believes that we shouldn’t need external tooling to keep the dependency array on the right track. To avoid these frustrations, Paul reminds listeners that hooks have to be called in the same order each time at the beginning of your functional components. You also cannot have a hook in an if statement or event handler. It’s also important to remember the declarative nature of React. In production code, updating states is the best way to go. The panel agrees that it’s good that react has clarified their position on what hooks are supposed to be used for, and how we are beginning to see the limitations of React hooks. They discuss unit testing with hooks and how to determine when the React framework becomes too big. They talk about some of the new features that are coming out and how they benefit new developers. When mistakes do happen, Paul talks about how he determines what went wrong. If you want to get advice from other humans, they suggest consulting StackOverflow, ReactiveFlux, and IRC chat. When you do consult these sources, it’s important that your problem is reproducible so that it’s easier for people to help you out. It’s also important that you learn how to ask questions.  The show finishes with them discussing how they handle changes in the industry. They have found that reusing components is difficult across Angular and React. They talk about the positive ways that React went version to version. They discuss complexity management in apps. The panel talks about some ways to do things in React without hooks, but also caution that avoiding the popular thing can also get you into trouble.  Panelists Thomas Aylott Charles Max Wood Chris Reyes Guest Paul Cowan Sponsors Nrwl |  Nx.Dev/React Sentry | Use the code “devchat” for $100 credit Links Flux model React Redux useReducer Frustrations with React Hooks Solutions to Frustrations with React Hooks ESLint Next.js Relay Selenium StackOverflow ReactiveFlux Picks Thomas Aylott Shada Charles Max Wood The MaxCoders Guide to Finding Your Dream Developer Job It’s A Wonderful Life Mr. Kreuger’s Christmas Chris Reyes Netlify React Hooks deep dive AirPods Pro Paul Cowan Solutions to Frustrations with React Hooks Stay fit
November 12, 2019
Vitali Zaidman works for the WellDone Software consultancy. He has worked with a lot of different technologies, but currently works with React. In a recent React meetup, he talked about React performance. When someone says that React is not performant, Vitali disagrees and says that it is very performant unless you do certain things. If your React application is slow, it’s down to the tools you use. The panelists all agree that premature optimization is the root of all evil. The difference between premature optimization and good architecture comes down to experience. It is important to be data driven and consider performance a business environment. Vitali believes that performance is a feature and should be treated like any other. The panel discusses accessibility versus internationalization. Launching to one language is different than launching to one set of abilities. While you don’t need to internationalize on day one, don’t make it impossible to internationalize. They talk about how creating a timeline of changes in your project can help you pinpoint where your performance issues came from. It is also important to remember that developers have strong computers, while users generally do not. As you build, check your product on slower devices to make sure that it works for your users.  Vitali talks about his tool why-did-you-render, which will notify you of avoidable re-renders. He also talks about considering why you are choosing to use React and whether or not is the correct choice for your project. The panel discusses their feelings on pure components. They talk about the importance of code review and manual QA since not everything can be automated, again suggesting having a slow computer or phone in the office to test as you go. They also agree that it is important to understand how your library works. They talk about the huge amount of work that is required to maintain an open source project, and how development is a team effort if you want to create sustainable software. The show concludes with Vitali talking about a performance issue he encountered and how he recognized it, diagnosed the problem, and fixed it.  Panelists Thomas Aylott Lucas Reis With special guest: Vitali Zaidman Sponsors Nrwl | Nx.Dev/React Sentry use the code “devchat” for 2 months free on Sentry’s small plan Ruby Rogues Links Knockout Why did you render Fusion.js: A Plugin-based Universal Web Framework - Leo Horie React Element's 'Parent' vs Rendered By How To Reduce Unnecessary Re-Renders Why Performance Matters Performance Impact Calculator Welldone Software Follow DevChatTV on Facebook and Twitter Picks Thomas Aylott: Face-API.js React force graph React 3 Fiber Lucas Reis: Opendoodles.com Adopting Optimizely at Compass Vitali Zaidman: JSJ 402: SEO for Developers with Vitali Zaidman
November 5, 2019
In this episode of React Round Up the panel interviews Chris Biscardi. Chris is now working with Gatsby. He shares a bit about his background and how he got into programming. Chris explains his move from Kubernetes and Docker over to Gatsby. His overall drive is to increase leverage for other people and what drew him to these projects. Chirs explains what Gatsby is and what it has to offer to React developers. Gatsby is like a creat react app which is attached to a static site generator that has an API that allows you to pull in data from anywhere. Also, by using Gatsby developers do not have to operate alone, they get the whole Gatsby ecosystem to help them.  The panel considers Gatsby and if it would be a good way for developers to learn React. Chris explains with Gatsby’s documentation it would be great for learning React. The panel believes it would be a good place to learn because of the hands-on goal-oriented work engaged in when using Gatsby. Chris shares what developers get when using Gatsby and why it appeals to programmers today.  Chris explains what Gatsby themes are and how they are more powerful than CSS themes. The panel discusses how to use themes and how to write them. ThemeUI library is shared and Chris explains how it works. They consider what is next for both Gatsby and React.  Panelists Lucas Reis Charles Wood Thomas Aylott   Guest: Chris Biscardi Sponsors Nrwl | Nx.Dev/React Sentry– use the code “devchat” for two months free on Sentry’s small plan Adventures in Angular CacheFly Links JSJ 386: Gatsby.js with Chris Biscardi  https://www.gatsbyjs.org/ https://www.christopherbiscardi.com/ Views on Vue https://vuejs.org/ https://www.facebook.com/React-Round-Up https://twitter.com/reactroundup Picks Lucas Reis: Don’t procrastinate Charles Wood: Find solid people in your life Get away Chris Biscardi: Chris's Discord Thomas Aylott: Real relationships with real people outside of work. 
October 29, 2019
Monica Lent has been interested in software from a very young age, and made her first domain name when she was 9 years old. She studied legacy languages Latin and Ancient Greek in university, but ended up keeping her college development job and going into software. She recently left her job and founded a startup, analytic tool designed for bloggers designed around affiliate marketing. She talks about some of the lessons she’s learned, including how to sift through data and how to make it useful for people. Monica gave a talk at React Finland and she first applies some of her principles from that talk to what she’s learned founding a startup. One of the main differences she’s found is a small startup has different needs and levels of stability than a business. In early stage business, you have to decide where you want to invest in quality and where you shouldn’t be investing. For example, her primary focus is on her algorithm that runs the tool, and UI is less of a priority. In a large company, this might be structured differently. The panel discusses how to distill the priorities from the project manager so you know where to spend your time, something that takes a lot of experience and failure. They agree that if something is business critical and will cause the business to lose money if it fails, those things should be a top priority.  Second, the panel discusses the merits of different practices such as whether or not to deploy on Friday and having engineers on call. In Monica’s React Finland talk, she talks about the importance of constraints, which can help with these kinds of decisions. She explains that instead of thinking of architecture as something super abstract, think of it as enabling constraints, as picking ways to do less and end up with code that is safer to run, longer lasting, and has fewer bugs. Thomas shares how he used to oppose constraints and architecture, and how he changed his mind. They discuss the importance of automation over documentation for building sustainable code.  Third, Monica explains her opinion on how copying and pasting code instead of adding dependencies is a positive constraint. She prefers this method because it keeps your code flexible and avoids unnecessary specialization.  Sometimes, when you create an abstraction and combine two pieces of code, this new combination makes code more brittle than it would be otherwise Components put in the shared folder almost never leave. This causes the  component to become very specialized and not work in all scenarios. The panel discusses where this method may not work. Thomas talks about some of his favorite tools for simplifying complexity, React Hooks and Relay. Monica and the panelists discuss the merits of using TypeScript and proper methods for coupling code. Fourth, the panel discusses how so much of programming is dealing with other people and the importance of keeping your ego out of it when designing constraints, especially since developers hate other developer’s abstractions. They debate whether pride is a characteristic of junior or senior developers. They note that it is easier to get prideful and opinionated when you’re not working on a team. Thomas believes that if you aren’t working on a big team, you should force yourself to talk to people with opposing positions. The show concludes with the panelists agreeing that it all comes down to the balance between priorities and making things work. Sometimes we can get so focused on making something work that we lose sight of what actually matters. They agree that  collaboration generally yields better results than leaving it to one person. Monica talks about the importance of senior developers nurturing their team by leading from behind to help people come up with their own solutions. The panelists talk about different methods they’ve seen for doing this.    Panelists Leslie Cohn-Wein Thomas Aylott Lucas Reis With special guest: Monica Lent Sponsors Progress KendoReact | Try now for FREE: kendoreact.com/reactroundup Sentry use the code “devchat” for 2 months free on Sentry’s small plan Views on Vue Links Monica's React Finland talk Narcissistic design talk A Philosophy of Software Design React Hooks Relay TypeScript Webpack gRPC Prettier 7 Absolute Truths I Unlearned as a Junior Developer Follow DevChatTV on Facebook and Twitter Picks Leslie Cohn-Wein: Xochimilco, Mexico City, Mexico List of CSS mistakes Thomas Aylott: Get the Truth book Lucas Reis: Lovevery Zero Fasting app Monica Lent: The Mom Test by Rob Fitzpatrick
October 22, 2019
In today’s show, Chuck talks about the recent Twitter 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. Panelists Charles Max Wood Sponsors Progress KendoReact | Try now for FREE: kendoreact.com/reactroundup Sentry use the code “devchat” for 2 months free on Sentry’s small plan iPhreaks 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
October 15, 2019
Dean Radcliffe has been web developing since the table tag was the new hotness. His interests include his wife and two kids, music, sports, and he likes to say he helps people make whatever they can dream of. Since starting to move towards the frontend, React has been his weapon of choice, which he got started with in 2014. Dean works at G2.com, a software review site. They are developing a review form, which requires the code to react to events. For example, a person’s position in the company would affect what questions they see, so the form needs to react to which box is checked. Dean talks about the use cases for building a reactive form and what kind of things are going to happen when you fill in an input. For his form, the input will be remembered, and they want to increase the user’s involvement with the form through incentives. To accomplish this, Dean uses component driven development with Storybook. Storybook is a tool available for React and other frameworks, which lets you jump directly to each state you want to view instead of having to go through them all one by one. Basically, it gives you shortcuts directly to the visual states of your components. These states facilitate development and the feedback cycle going back to the designers, allowing them to see more than just the finished application and enabling them to circumvent mistakes.  Storybook relates to reactive programming because component driven development lets you discover the API and what sets of props are necessary to put this component into each possible state that can be displayed. Dean does not use it as a test environment on his team, but it does help them write unit tests. It has an addon that lets you write unit tests in Storybook, but he hasn’t used it. Dean compares where reactivity and Storybook come together by comparing it to a thermometer.A thermometer will get readings over time of discrete values, and that timing is how people experience your components. You can create an observable of those states, and Storybook Animate ties them together. Your components, however, are still your responsibility. Dean talks about how he creates the observables. The observables are hardcoded, but the great thing is you don’t need to know where it came from. Dean describes how the observables are connected to the components. Dean feels that having this dynamic feed cycle makes it kind of fun to write tests. There is also a function called After which creates a set time out, which creates an observable of that value over time.  Dean talks about his other tool, RX Helper. RX Helper provides an ‘after’ abstraction, and an event oriented layer in React. RX helper allows you to listen for custom events raised from the individual components of a form, and you respond to those events with observables, and the observables produce values over time.The goal of RX Helper provides some transparency and makes it easier to try out concurrency designs. The show concludes with Dean talking about some of the changes he’s made to his tools and how he came up with the idea.  Panelists Charles Max Wood With special guest: Dean Radcliffe Sponsors Progress KendoReact | Try now for FREE: kendoreact.com/reactroundup Sentry use the code “devchat” for 2 months free on Sentry’s small plan My JavaScript Story Links Knockout.js G2.com Storybook StorybookAnimate RX Helper Meteor JS Follow DevChatTV on Facebook and Twitter Picks Dean Radcliffe: Follow him on Github and Twitter  Kent C. Dodds @davidkpiano XState Gangstagrass Charles Max Wood: St. George Marathon The 360 Degree Leader
October 8, 2019
Dinesh Pandiyan is a developer from India. He started as a backend engineer and then moved to frontend. Currently he is working for ThinkMill in Sidney, Australia. Today Dinesh and the panel are talking about devtools and progressive SSR. Dinesh got started with React Redux. The panelists talk about their experiences using primarily Redux for projects. Dinesh talks about his transition from backend to frontend and how it’s a totally different world. On the backend he was working in Java and it ran on a server, but on the frontend, code runs in a browser and the browser is very different for each user. Frontend development is tricky because you don’t know where your code is going to run. One of the trickiest parts of frontend development is debugging something in production. Unless you have good logging tools, you won’t know what’s going on. Debugging this stuff when it’s running on client browsers is hard, but when you’re in development mode your own browser you’ve got handy tools. They talk about some of the tools in React, and agree that console.log is the greatest debugging tool of all time. Dinesh talks about some of the most surprising features about React dev tools. You can benchmark your preferences and identify weaklings in your project, which are things that slow down your application or things that might slow it down. On an application level, you have to build a mental model of how the data flows from the top, where things change, etc, and dev tools can help you build that pretty easily. They talk about how things had to be done before great React tools. In fact, Dinesh chose React just for the devtools. They talk about how the dev tools for React compare to Java. The most important thing is that you have a good debugger that can stop where you want it to.  They transition to talking about the differences between SSR and progressive SSR For SSR (Server Side Rendering), rendering happens on the server and you send it to the client. CSSR (Client Server Side Rendering) is when all the rendering happens on the client’s side. PSSR (Progressive Server Side Rendering) is where you render small chunks on the server and then send it to the client bit by bit. They talk about how this has been occurring from the beginning of the internet. This concept is similar to microfrontends.  Dinesh gives advice on how to implement PSSR. He says that when you surver render, it loads on differently. Your framework has to do one complete pass of the histiema, so this means you cannot send things to the client until the whole histema is designated. To beat this they’ve been doing a mix of SSR and CSR, with the header, body, and non critical content rendering on the client side. PSSR bridges the gap between SSR and CSSR. How do we make it real and how do we use it? The panel discusses ways to make PSSR a reality. Dinesh has been experimenting with it with extra services, and he gives his method for doing it, emphasizing the importance of where you divide your code is very important, it has to be in sequence. CSS Grid solves this problem, so you could render things out of order and the browser puts it in the right spot. They talk about other ways to get around it. Lucas shares some of the difficulties he’s encountered with streaming and rendering. They talk about the new feature for the Phoenix framework for Elixir, Live View Now. For this feature, you don’t need client side frameworks to generate dynamic content and it enables two way streaming. However, it does not scale well for extremely large apps. They talk about some of the tradeoffs for using this feature. They conclude by discussing the gap between website optimization and device performance.  Panelists Thomas Aylott Dave Ceddia Lucas Reis With special guest: Dinesh Pandiyan Sponsors ​Progress KendoReact | Try now for FREE: kendoreact.com/reactroundup  Sentry use the code “devchat” for 2 months free on Sentry’s small plan My JavaScript Story Links React Redux Console.log  Puppeteer Webpack Datadog  CSS Grid Transport headers Phoenix Elixir Follow DevChatTV on Facebook and Twitter Picks Lucas Reis: Ben Hoyt Wholesome Learning Elm Cast iron skillet Thomas Aylott: 6 Lessons Children Need to Learn Dinesh Pandiyan: To-Do List app David Ceddia:  On the Utility of Phoenix Live View
October 1, 2019
Jeffrey Cross and Victor Savkin are the cofounders of NRWL. They used to work together at Google on the Angular team and started NRWL so that people could use Angular 2 well. Victor talks about NRWL’s tool NX, which came from the desire to help people develop like the tech giants. Companies like Google and Facebook develop in the same repository so that people can collaborate. NX is an open source tool for this collaborative development, known as a monorepo. Monorepo style development is a way to develop applications such that you develop multiple projects in the same repository and you use tooling to orchestrate development. The tooling connects everything, makes the experience coherent, and ultimately makes the monorepo style work. The benefits of monorepo development are that the tool chain enables you to interact with different projects in the same fashion, collaboration is more effective, and multiple apps can be refactored at once.  The panel discusses what situations are appropriate for a monorepo and which are not. Victor believes that any company with more than one large product would benefit from a monorepo, but it would not benefit a company that wants to keep their teams distinct from one another. The hosts express some concerns about implementation, such as scaling and creating the infrastructure. Victor assures them that a monorepo is inherently scalable, and most tools will work for years and years. As for the infrastructure, companies like NRWL specialize in helping companies set up monorepos, and NX provides many of the necessary tools for a monorepo. A monorepo can be tailor-made to fit any size of company, and can even be created for already established projects.  If you wanted to start your own monorepo, you can start by taking a project or handful of projects and moving them to the same place. As you develop, pull pieces of your applications out and put them into packages. Victor cautions that monorepos tend towards a single version policy, so you’ll want to get on the same version as your third party dependencies before you move your next application in. You can move things in and temporarily have different versions, but plan to make them the same version eventually. Victor talks about how the CI in a monorepo setup looks different, because you run tests against everything that might be broken by that change, not just the project its in. So, when you change something in your code, you need to consider what other pieces of code need to be taken into account. A monorepo does make dependencies more explicit, and when you have good tooling it’s easier to see the effect the changes you make have. This is where NX excels. One of the big advantages of NX is that it allows you to partition your application into packages with a well defined API, and prevents the project from becoming one giant node. You can then interact with those packages, and see what happens when you change something. You have a lot more clarity of how your app is partitioned and what the restraints are. NX allows you to share stuff between the front and backend.  The show concludes with the conversation turning to Jeffrey and Victor’s consulting work. They talk about some of the interesting features that are happening outside of React that we are missing out on. Victor is very impressed with tooling in the Angular community. He talks about a tool called Console for NX. They end by talking about the schematic powered migrations in Angular.  Panelists Leslie Cohn-Wein Dave Ceddia Lucas Reis With special guest: Jeffrey Cross and Victor Savkin Sponsors Sustain Our Software Sentry use the code “devchat” for 2 months free on Sentry’s small plan My JavaScript Story Links NRWL Angular NX Building Fullstack React Applications in Monorepo Angular CLI Follow DevChatTV on Facebook and Twitter Picks Lucas Reis: Dear Startup Cryptocurrencies video by 1Blue1Brown Dave Ceddia: Help, I’ve Fallen (into code) and I Can’t Get Up! Code maps frontend Victor Savkin: Ember Mug Heal the Internet Jeffrey Cross:  lululemon Commission pant Leslie Cohn-Wein Why I’m No Longer Talking to White People Everylayout.dev
September 24, 2019
Zain Sajjad is a frontend developer at his company Peekaboo Guru, an app built in React. The show begins with Zain explaining why he chose to build Peekaboo Guru in React. Ultimately, he chose React for its composability and reusability. He talks about how much data is shared between his React and React Native applications. Zain explains what he means by a container since he is not talking about Docker, and how he has the app organized. He talks about the differences between routing and navigation between React and React Native. When approaching these differences, he breaks things down into components, containers, and platform, paying careful attention to how they work together. This differentiation can actually help a lot with testing as well. The panel asks Zain about choosing between React navigation and React Native navigation, but Peekaboo Guru uses both React navigation and React Native navigation, but on different platforms. They use each on different platforms because React Native doesn’t let you configure it with existing native apps. He talks about the pros and cons of each, but prefers React Native navigation. They decided to use both because Peekaboo Guru is based in a region where there aren’t many users with high end devices, so this decision was made to accommodate them.  They then discuss how to approach making important software decisions with a team and how to make an objective decision away from your bias against old or new technology. Zain believes that you have to step out of your comfort zone and think of the team rather than yourself. They talk about the thought process of making these decisions, especially concerning who is going to do the maintenance. They talk about ways to give good feedback even when the maintenance is not going to be your responsibility and the importance of staying humble. Making decisions like this can be tricky because it is where hard skills and soft skills intersect.  The panel moves on to talking about machine learning, and Zain talks about his experience using it to screen comments on Peekaboo Guru. Machine learning is getting more and more common, with giants like Snapchat and Facebook doing it as well. There is also a lot of machine learning on our phones that we don’t think about. Zain gives advice for those who want to start learning about machine learning. He advises people to think of it in two parts, preparing a model and using a model. Thomas feels that machine learning is more approachable than it first appears to be, though it is always related to how good the abstraction is. They compare machine learning to AI and a database to assist with understanding.  If you want to play around with AI, Zain counsels that programming has the addiction of success. Keep your tasks small to keep getting those tastes of success. He advises that it is best to start by using the inference part and then make a model. He talks about different tools to help with the math. The show concludes with the panel agreeing to his counsel and reminding listeners that failure is trying to go from 0 to perfect in one step.   Panelists Thomas Aylott Lucas Reis With special guest: Zain Sajjad Sponsors Adventures in Blockchain Sentry use the code “devchat” for 2 months free on Sentry’s small plan My Angular Story Links Peekaboo Guru React React Native React Native Navigation React Navigation SQL TensorFlow Fun Fun Function Immer.js Follow DevChatTV on Facebook and Twitter Picks Lucas Reis: Ember.js 3Blue1Brown Thomas Aylott: Rite in the Rain notepad
September 17, 2019
Episode Summary Today’s guest is Farzad Yousef Zadeh, a developer from Iran with a unique path into computer programming. He started by studying astrophysics and aerospace engineering in college, then dropped out in his last semester because it wasn’t the right path. He then taught himself to code, working mostly in web programming and frontend development. Despite his change in course, Farzad remains passionate about observing the night sky. Farzad is here today to talk about the ideas in his talk Explicitness and Consistency in UI, where he talks about the difficulties of developing a user interface and how the experience can be improved by using state machines and state charts. He talks about his inspiration for the talk and how he has implemented state machines and state charts into his work.  The panel backtracks and talks about the definition of state machines and state charts. A state machine, from an academic background, is a model for computing something. It's for managing and controlling, taking over branching and managing a finite amount of state declaratively. State machines are not so much about sharing or reusing, but about how your communicate a certain behavior. Despite the fact that event driven programming permeates the programming consciousness, thinking about state charts and state machines is actually more natural than it first appears. The panel explains how it’s the same principle as whiteboarding to solve a problem. Lucas asks how state charts are different from pure React. Farzad talks about how it’s important not to just treat your static states as first class, but also the transitions between them. Otherwise, you would end up with something that looks like a map with cities and towns, but no roads. Using statecharts and state machines makes testing an application much easier, and in some ways you let the machine test itself. The machine will know what to do with your states because you define the path, and the machine will take the path for you.  They again talk about the difference between state machines and state charts. A state machine defines a finite set of states and defining the events that the machine can take and respond to when transitioning from state A to B. If you use only this, you will encounter a snag called ‘state explosion’ because not non-concrete things cannot be modeled. So, state charts were invented to compensate for this. A state chart brings the idea of an extended state, or the context and data you need to hold and reason from.  Farzad talks about other types of machines and supports that exist for branching, entry actions, and exit actions. This is similar to the use effect hook in React. He gives examples of where you would use this logic and how it would be worked into frameworks. Farzad talks about how your machine is just a definition, a declarative model of how something is supposed to behave, and how having that separation between the definition of the logic and behavior vs the implementation of API has given us so much more freedom and portability The panel talks about how using state machines and charts is an investment in the long term maintainability of your code. They agree that using state machines and charts makes it easier to communicate with other developers, new team members, and even non developers. They talk about Cerebral.js and its contributions and model.  As with everything in programming, state machines are not a silver bullet and don’t work in every situation. Farzad talks about situations where state machines can be unhelpful. It is still valuable to consider state machines and charts because it forces you to dedicate time thinking and organizing your thoughts so that you can build something maintainable that won’t just be thrown away. The panel discusses how thinking things out before starting to code can be beneficial. They finish by talking about how React Hooks has started them on the path to implement state machines and charts into their code.  Panelists David Ceddia Lucas Reis Leslie Cohn-Wein Thomas Aylott With special guest: Farzad Yousef Zadeh Sponsors Sustain Our Software Sentry use the code “devchat” for 2 months free on Sentry’s small plan My Angular Story Links Explicitness and Consistency in UI David Khourshid xstate library RRU 069: The State Machines in React with David Khourshid State machine State chart Cerebral JS Origami by Facebook Elm  The GaryVee Content Model Overmind JS Follow DevChatTV on Facebook and Twitter Picks David Ceddia: Reverse Interview Thomas Aylott: Machine Learning Zero to Hero TensorFlow at Google I/O 2019 channel Lucas Reis: How to Learn D3.js Leslie Cohn-Wein: Write Fewer Tests! From Automation to Autogeneration by David Khourshid Farzad Yousef Zadeh: Don’t Let Architecture Astronauts Scare You
September 10, 2019
Episode Summary Today’s guest is Håkon Krogh, and the panel is discussing his talk on lightning fast SSR React apps given at React Amsterdam. He gives a brief overview and defines his use of the Uncanny Valley (called the Valley of Lies in his talk). In this instance, the Uncanny Valley in programming occurs when everything in a website or application looks great, but none of the buttons work or users simply can’t connect. This is especially common when users try to connect to a site or app with their cell phone rather than a computer. The panel discusses what can be done. It’s important to begin by measuring the lag in your applications. Designing the progressive loading experience first is suggested as a solution, as well as organizing what loads first and using React and HTML for different parts of the app. It’s important to realize that some tools don’t work in every situation. The panel talks about the merits of Next.js. Next they talk about what kinds of applications require SSR that make the loading slow. They discuss the importance of SEO ratings and how it can affect your rank in a Google search. Services like Lighthouse can give you an SEO rating so that you can improve.  Håkon and the panel talk about other ways to improve on the Uncanny Valley. It’s important to make sure that users have a way to use your site even if they’re stuck in the Uncanny Valley. One way to do this is to provide fallbacks so that if your React isn’t working, the site is still usable. They discuss the merits of micro frontends, using SSR for only part of the app, and reducing bundle size. Unfortunately there is no silver bullet, so solutions will vary by what you’re building.  In spite of these setbacks, one of the great features of React is you don’t have to do everything in React. They discuss the emerging idea of shipping different JavaScript for different things and talk about some of the React-like alternatives available. Bridging the Uncanny Valley is vital because it is the reason many people are afraid of their computers, and a good user experience can make people gravitate towards your product. The show concludes with Håkon talking about things in the React community that are piquing his interest.  Panelists David Ceddia Thomas Aylott With special guest: Håkon Krogh Sponsors Sustain Our Software Sentry use the code “devchat” for 2 months free on Sentry’s small plan GitLab | Get 30% off tickets with the promo code: DEVCHATCOMMIT Links Håkon Krogh’s React Amsterdam talk Next.js SEO ratings Gatsby Lighthouse  Apollo GraphQL npm TypeScript Preact Inferno.js Follow DevChatTV on Facebook and Twitter Picks David Ceddia: FX microjs.com Thomas Aylott: Mindset by Carol Dwek Håkon Krogh: Bundlephobia 
September 3, 2019
Episode Summary Andrey Okonetchnikov is a specialist in frontend architecture and design systems. He runs his own consultancy and made the package lint-staged. Andrey has been in programming for 20 years and talks about his background, how he got into React, and why he started component-driven.io. Andrey has always been interested in design tools and design systems, it just wasn’t the right time because the right tools weren’t available. Since Andrey has been working in frameworks for 20 years and has watched them come and go, Lucas asks Andrey how he has seen the communication between developers and business owners evolve over that time. Andrey reflects on his first conference talk and believes that not much has changed, even if the tools have. His perfect interaction between developers and business owners would be codeless, and would instead draw his design on a napkin.  This idea ties into Andrey’s ideas of creating things in primitives instead of wireframes. He relates his idea to the pattern philosophy of the building architect Christopher Alexander, the idea that specific design problems require specific solutions. He talks about since everything in React is a component, we can encapsulate a design decision into a component.  Since the power of components is redistributing knowledge, the panel discusses how components promotes reusability, accessibility, and sustainability in code. However, Frankenstein components are the dark side of reusability. Andrey talks about the dynamic view of a design system that does reuse and how to make sure that it evolves cleanly. They discuss how much of can be planned in advance the first time you’re creating a component versus how much should you not try to think too far ahead and fix it when it comes up. They all agree that early abstraction can be almost as destructive as early optimization Panelists Leslie Cohn-Wein Thomas Aylott Lucas Reis With special guest: Andrey Okonetchnikov Sponsors Sustain Our Software Sentry use the code “devchat” for 2 months free on Sentry’s small plan GitLab | Get 30% off tickets with the promo code: DEVCHATCOMMIT Links Lint-staged  Component-driven.io  Primitive Shape Up book Create prototype using AI : Airbnb test Monica Lent twitter Wireframe  jQuery CoffeeScript  Backbone.js Christopher Alexander Follow DevChat on Facebook and Twitter Picks Leslie Cohn Wein: Frontend Masters Intro to Vue course Gatsby.js glossary Thomas Aylott: Designing Web Interfaces by Bill Scott Lucas Reis: Shape Up book MIT open courseware Andrey Okonetchnikov: Components.ai
August 27, 2019
Sponsors React Native Radio Sentry use the code “devchat” for 2 months free on Sentry’s small plan GitLab | Get 30% off tickets with the promo code: DEVCHATCOMMIT Panel David Ceddia Lucas Reis With special guest: Jamon Holmgren Episode Summary Today’s guest is Jamon Holmgren from Oregon. Jamon is the the CTO for Infinite Red, a consultancy that designs and builds mobile apps. The show starts with Jamon talking about his background in coding, which goes all the way back to when he was 12 years old. The panel brings up his React Finland presentation on building a community around Ignite. Ignite is a plugins and boilerplate maker for React that can speed up app creation. Jamon talks about how it works and how it came about. The panel believes this to be an excellent product that will contribute to code quality and doesn’t contribute to the jumble of boilerplates out there. Since Infinite Red engineers work on both web and mobile applications, Jamon talks about how they navigate the differences between the two platforms. Their primary tool for doing this is MobX, and Jamon expounds on how it works. The panel discusses situations where using React Hooks and React Context are too low level for a state management solution for a big application, and thus where tools like MobX become necessary.  The conversation turns to the React Core team and how they view the community coming up with their own solutions. The panel discusses the lack of executive decisions in React and compare it to other languages like Ruby, and how it affects the longevity of a language. They weigh the benefits of a core team that makes executive decisions and causes conflict versus one that doesn’t and the chaos that ensues. They discuss the benefits of standardization, but ultimately agree that collaboration almost always comes up with the best solution.    Links Infinite Red Building a Community Around Ignite Ignite Boilerplate MobX State Tree MobX React MobX Emer React Redux React Context React Hooks Apollo Elm Prettier @jevakallio Tweet Follow DevChat on Facebook and Twitter Picks David Ceddia: Devurls.com Reducing Motion to Improve Accessibility Lucas Reis: CSS Grid like you are Jan Tschichold Jamon Holmgren: React Node GUI
August 20, 2019
Sponsors Adventures in Devops Sentry use the code “devchat” for 2 months free on Sentry’s small plan My JavaScript Story Panel David Ceddia Thomas Aylott Leslie Cohn-Wein Lucas Reis With special guest: Bruno Lourenco Episode Summary Bruno is a developer specializing in multimedia. He is currently building websites with React and the creator of React Morph, an animation library. Bruno talks about what React Morph is, how it originated, and the flip animation technique. React Morph is uniquely designed to be compatible with many platforms. Bruno talks about his goal to make everything simpler, from having animations on your website, to making things easier for users of the application. The panel discusses the importance of animation and how it relates to user accessibility. They discuss how animation is interpreted in the brain to create meaning and purpose. On the other hand, it can be easy to go overboard with animation and can even make people feel sick. Since animation is important, Bruno outlines ways to avoid causing motion sickness in users. They discuss the difficulty of communicating animation intention between designers and developers. Animation should not be the last thing a team thinks about and should be given the same kind of considerations as for color and typography. They discuss the difficulties of adding animation to a project and whether or not animations should be included in the design system. They talk about the differences between mobile apps and web apps in how animations are used, and what the different expectations users have for them. React as a framework emphasizes static states, so Bruno and the panel discuss whether or not React is an animation friendly framework. Bruno talks about ways to get animations to fit the React paradigm so that they can be added. His hope is that React Morph will take care of a lot of animations automatically without CSS. He talks about other animation libraries that have influenced React Morph. The show finishes with Bruno talking about what he would like to accomplish next, which is to bring the design world and developer world closer together.  Links Render Props React Morph React Hooks Flip technique Change blindness Qartz composer Origami Keynote Popmotion Popmotion Popcorn Node.JS Designing Web Interfaces Reduced motion preference Follow DevChat on Facebook and Twitter Picks David Ceddia: DevJoy Thomas Aylott: Lecture on Jung’s Typography Thomas’ Youtube channel Lucas Reis: Information Theory for Intelligent People Leslie Cohn-Wein: Resilient Management by Laura Hogan Spider-Man: Into the Spiderverse Bruno Lourenco: A-Frame React Bruno’s React Finland talk
August 13, 2019
Sponsors Netlify Sentry use the code “devchat” for 2 months free on Sentry’s small plan Panel David Ceddia Thomas Aylott Leslie Cohn-Wein Lucas Reis With special guest: Shawn Wang Episode Summary Today’s guest Shawn Wang is a career changer starts off the show about how he got from finance to programming. The panel talks about how they each got started in programming. Shawn explains his Learn In Public manifesto. They discuss the benefits of learning in public and how concepts like Cunninham’s Law and lampshading can be a good thing. Shawn talks about the differences between inbound and outbound marketing. The two biggest benefits of learning in public is that people will come to help you, it helps you to build capital, and it os the fastest way to learn. They discuss the balance between sharing too little and oversharing.  Leslie brings up some possible safety concerns, and the panel discusses ways to stay safe while learning in public. Ultimately, it’s ok to learn in public and maintain anonymity. They discuss ways to adjust public learning to your comfort zone and how to know when you’ve done well with your public learning. Shawn talks about why he started doing TypeScript and React and the importance of saying thank you to your teachers, which also comes with some unexpected perks. They finish by discussing how to know if people care about what you’re producing.  Links VBA Microsoft Excel Haskell Hoogle Cunningham’s Law Lampshading Nerd sniping Julia Evans cartoons React Suspense talk by swyx Lin Clark code cartoons Lin Clark - A Cartoon Intro to Fiber - React Conf 2017 Samantha Ming React/TypeScript Cheat Sheet Learn In Public Follow DevChat on Facebook and Twitter Picks David Ceddia: Why React Hooks Thomas Aylott: Atomic Habits by James Clear  Lucas Reis: Tweet from James Clear Leslie Cohn-Wein: Storybook Accessibility Add-on Shawn Wang: Lizzo’s Juice  12 Leverage Points
August 13, 2019
Sponsors Netlify Sentry use the code “devchat” for 2 months free on Sentry’s small plan Panel David Ceddia Thomas Aylott Leslie Cohn-Wein Lucas Reis With special guest: Shawn Wang Episode Summary Today’s guest Shawn Wang is a career changer starts off the show about how he got from finance to programming. The panel talks about how they each got started in programming. Shawn explains his Learn In Public manifesto. They discuss the benefits of learning in public and how concepts like Cunninham’s Law and lampshading can be a good thing. Shawn talks about the differences between inbound and outbound marketing. The two biggest benefits of learning in public is that people will come to help you, it helps you to build capital, and it os the fastest way to learn. They discuss the balance between sharing too little and oversharing.  Leslie brings up some possible safety concerns, and the panel discusses ways to stay safe while learning in public. Ultimately, it’s ok to learn in public and maintain anonymity. They discuss ways to adjust public learning to your comfort zone and how to know when you’ve done well with your public learning. Shawn talks about why he started doing TypeScript and React and the importance of saying thank you to your teachers, which also comes with some unexpected perks. They finish by discussing how to know if people care about what you’re producing.  Links VBA Microsoft Excel Haskell Hoogle Cunningham’s Law Lampshading Nerd sniping Julia Evans cartoons React Suspense talk by swyx Lin Clark code cartoons Samantha Ming React/TypeScript Cheat Sheet Learn In Public Follow DevChat on Facebook and Twitter Picks David Ceddia: Why React Hooks Thomas Aylott: Atomic Habits by James Clear  Lucas Reis: Tweet from James Clear Leslie Cohn-Wein: Storybook Accessibility Add-on Shawn Wang: Lizzo’s Juice  12 Leverage Points
August 6, 2019
Sponsors Netlify Sentry use the code “devchat” for 2 months free on Sentry’s small plan Panel Thomas Aylott David Ceddia Lucas Reis With special guest: Christoffer Niska Episode Summary Christoffer Niska has been in web development for over a decade and works with mainly PHP and JavaScript, but knows about 8 different languages, often working in multiple languages simultaneously. The panel discusses the affect learning another language has on how you write the code you’re working on. They talk about TypeScript and Christoffer shares how he got into it. They discuss the prevalence of TypeScript and some of the tools available for it, like Fable.io. TypeScript is a very beneficial language because it can help with refactoring and automation. Christoffer believes that it is better to write libraries in TypeScript. He shares how to release an NPM package with Typescript. They talk about more tools that work with TypeScript. The panel talks about Reason ML, which is an alternative syntax on top of OCaml.They discuss how the success of ReasonML is evaluated. ReasonML has been found to dramatically reduce bugs and has many features, such as a pattern matching feature. The panel talks about the availability of ReasonML to those who are not on the Facebook team. ReasonML and Typescript can also be compiled into WebAssembly and other languages. They finish by talking about some of the many tools that Reason ML has built in.  Links Elm Flow Typescript Fable.io F# Rollup.js Node.js Next.js Apollo The Platform React Restricted TSDX Clojure spec Article on why you should look into ReasonML ReasonML OCaml BuckleScript Prettier   Follow DevChat on Facebook and Twitter Picks David Ceddia: Smashtest  Thomas Aylott: Brian Vaughn’s React Tools rewrite Lucas Reis: Complexity Explained Christoffer Niska: Exploring ReasonML Diagonal Line
July 30, 2019
Sponsors Netlify Sentry use the code “devchat” for 2 months free on Sentry’s small plan Triplebyte offers a $1000 signing bonus Panel Thomas Aylott David Ceddia Lucas Reis With special guest: Daishi Kato Episode Summary Todays guest Daishi Kato is a freelance programmer and has many open source libraries. He starts off by talking about how he got from tail call optimization to Redux and global state. Daishi talks about his definition of global state, how it differs from a regular state, and why it is a problem with the current context implementation. Thomas talks about his work with Android and how React has helped solved some of the problems they encountered. They talk about when different rendering issues they’ve encountered. Daishi shares his unique approach to solving rendering issues and how it applies to his libraries. His solution is to combine the system in React with proxy based tracking to solve issues with rendering. Daishi explains why this works and the importance of benchmarking. Daishi’s solution is designed as a same use state API, so someone can drop this in and see if it works. Daishi talks about his definition of proxies and how it triggers the rerender. He also talks about how it handles conditional reads. This tracking happens every render and it doesn’t have the same limitations as hooks. The panel talks about the new version of React Redux library implementation and how it compares to Daishi’s. Daishi’s approach is useful for people earning Redux because the used tracked state gives you all the benefits without a lot of the complexity. Daishi talks about how it deals with deeply nested pieces of code. The panel discusses the delicate balance of optimizing, but not doing it too soon, but to also remember how vital it is to maintain the performance of your app. Daishi’s work with Reactive React Redux to make sure things perform from the beginning is really important. It’s also important to understand how your product works so that when things do go wrong, you know how to fix it. Daisho talks about his other library React Tract for people who don’t like to use Redux. Links Mobex GraphQL Proc SQL React-Tracked Immer Reactive React Redux React Redux   Follow DevChat on Facebook and Twitter Picks David Ceddia: A Compiler From Scratch video Verbal Expressions Thomas Aylott: The Making of a Manager by Julie Zhou Thomas’ Youtube channel Lucas Reis: Shun knives Daishi Kato: Remote Faces
July 23, 2019
Sponsors Netlify Sentry use the code “devchat” for 2 months free on Sentry’s small plan Panel Lucas Reis Thomas Aylott Episode Summary Today, Lucas and Thomas discuss how companies enforce what technology gets used, especially when companies get really large. Thomas talks about his experience with Facebook’s an ‘all carrots, no sticks’ approach, and says that if Facebook hadn’t given its employees the freedom to use whatever technology they needed, React would have never come about. Thomas talks about how he built his 2018 React Conference talk. He says that the hard part of being a programmer is not the technical aspect, it’s the social aspect and balancing the old and new. Lucas talks about his experience as a consultant, the path from analyst to manager, and how things change. Thomas brings up Facebook’s philosophy of “abstraction through extraction”. Thomas and Lucas agree that in the real world, it’s really difficult to have linear/boolean things, and as a result there is no one cure for everything. The great challenge is of solving problems is moderation in solutions and avoiding extremes. They agree that a lot of engineering is just moving complexity around, and it’s important to be aware of where you are storing the complexity and how it affects your workers, especially those who are just starting. This shifting is kind of where react came from. Ultimately, it’s important to leave a little room for chaos so that your project can evolve.  Links Hooks CSS Follow DevChat on Facebook and Twitter
July 16, 2019
Sponsors Netlify Sentry use the code “devchat” for 2 months free on Sentry’s small plan Triplebyte offers a $1000 signing bonus Panel Lucas Reis David Ceddia Leslie Cohn-Wein With special guest: Glenn Reyes Episode Summary Special guest Glenn is a software programmer based in Vienna, Austria and has been working in programming since 2013. He is the creator of the Graphpack library. Today the panel discusses how to choose between picking a 3rd party or handcraft component in React. They discuss the popular notion to avoid “reinventing the wheel” and always using 3rd party components. Glenn gives advice on approaching the decision between 3rd party components or making it yourself, including considering time constraints, risks of using premade components, and the popularity of the library and how up-to-date it is. It is also important to understand the big picture of your project and know what already exists that could be of use. The panel discusses different indicators of how well kept up a library is. Glenn talks about situations when his library Graphpack would come in handy. He advises listeners to always test software before purchasing it. The panel talks about the issue of being able to change a component later if it doesn’t work. They agree that it’s important to consider the end goal and what other people on the team need when choosing whether to use 3rd party or custom make your code. Some decision will be your companion for years and years, like what language your project is written in. Glenn suggests that when you are trying something new, try it out in a clear and isolated  experiment, something React is very useful for. Last, it is important to leave notes for future developers as to why you made the decision you did   Links Lodash Moment library Graphpack Elm   Follow DevChat on Facebook and Twitter Picks David Ceddia: boringtechnology.club Leslie Cohn-Wein: The Ladybug Podcast Big Green Egg Lucas Reis: Top 20 CSS Navigation Menus Glenn Reyes: Lydia Hallie Instagram
July 9, 2019
Sponsors Netlify Sentry use the code “devchat” for 2 months free on Sentry’s small plan Triplebyte offers a $1000 signing bonus Panel David Ceddia Lucas Reis Thomas Aylott With special guest: David Khourshid Episode Summary David Khourshid is the author of a library called Xstate, He has been a developer for 7 years, currently works for Microsoft, his passion is frontendTalks a. In college, he actually studied piano performance, and so he talks about how he got into programming and where he started. The panel discusses his unique husky animation and how he came up with the idea for it and went about programming it. The panel discusses what a state is in React. David defines a state as a moment in time. States can change, when they do, that’s a state transition. They talk about the utility of states and thinking about your app as a state machine. They agree that describing your code as a state machine makes it easier to communicate and connect with non developers. The panel discusses the importance of learning from other industries, such as approaching programming the same way construction workers build a house. They debate the Waterfall versus the Agile mindset.  They talk about the advantages of programming in React and focusing on the state machine, especially because it is important to be intentional about dealing with concepts separate from other concepts. They share different ways to switch to state machine thinking, one of which is to look at your event handlers and make sure they are doing anything besides dispatching events. David talks about his library called Xstate and the basics of his library and his inspiration, and who else is working in state machines. The finish by discussing industry standards.  Links Xstate Keyframers Bootstrap David’s husky animation The Checklist Manifesto Sion SCXML QT Elm Thunk Observable NoFlo Sketch Systems State Charts  Follow DevChat on Facebook and Twitter Picks David Ceddia: Atomic Habits by James Clear  Bullet Journal Thomas Aylott: The Checklist Manifesto Thomas’ Youtube Channel David Khourshid: Constructing The User Interface with State Charts (check the library first) Follow David @davidkpiano
July 2, 2019
Sponsors Netlify Sentry use the code “devchat” for 2 months free on Sentry’s small plan Triplebyte offers a $1000 signing bonus Panel David Ceddia Lucas Reis Leslie Cohn-Wein With special guest: Varya Stepanova Episode Summary Today’s guest is Varya Stepanova, who started her career in programming as a front end developer in Russia for Yandex. Now she is an independent consultant specializing in design systems. For Varya, a design system is a systematic approach to providing coherent products under the same brand. The necessity of a design system for a company is dependent upon how large it is and how quickly it is developing. Varya talks about how a component library turns into a design system and shares some of her experience. She talks about how the concepts in a design system are influenced and created by the existing interface. The panel discusses the importance of design system ownership. They all agree that the design system should be owned by either a team or a single person in order to avoid problems. Varya talks about dealing with breaking changes in a design system and the importance of working visual regression tests into a system. She shares a story about a time where broken code was released which ultimately lead her to find a way to automate visual regression tests. The panel discusses some solutions for dealing with the fact that the library is going to be used for multiple different projects and infrastructure technology tools available for a design system. Links CSS Visual regression test Cypress Storybook Styleguidist Percy Gatsby Metalsmith Follow DevChat on Facebook and Twitter Picks Lucas Reis: Webpagetest.org SpeedCurve David Ceddia: Captain Marvel Leslie Cohn-Wein: Design Systems by Allah Kholmatova Varya Stepanova: Learn about service design and design thinking Follow Varya on Twitter         
June 25, 2019
Sponsors Netlify Sentry use the code “devchat” for 2 months free on Sentry’s small plan Triplebyte offers a $1000 signing bonus CacheFly Panel Nader Dabbit Dave Ceddia Lucas Reis Summary The panel shares their first experiences with CSS and compares CSS and CSS-in-JS. The best ways to learn CSS is considered. The panel shares some coding tips; considering when to use libraries and when to use homegrown solutions. Nader Dabbit shares his predictions for the future of frontend technology. The panel discusses these predictions and shares some of their own. Links https://www.facebook.com/React-Round-Up Picks Nader Dabbit: 21 Lessons for the 21st Century Dave Ceddia: CSS Mastery: Advanced Web Standards Solutions https://conference.convertkit.com/  Lucas Reis: https://workflowy.com/  https://www.futureme.org/ 
June 18, 2019
Sponsors Netlify Sentry use the code “devchat” for 2 months free on Sentry’s small plan Triplebyte offers a $1000 signing bonus CacheFly Panel Dave Ceddia Thomas Aylott Joined by Special Guest: Leslie Cohn-Wein Summary Leslie Cohn-Wein joins the panel to discuss accessibility. She explains how she got passionate about accessibility. The panel discusses what you have to do to become accessible. Leslie brings up divs and explains how these get in the way of accessibility. The panel discusses roles; Leslie explains what roles does and how to use roles. Accessible testing is discussed and Leslie shares some resources for testing your sites for accessibility. The panel discusses ways to make sites more accessible and how doing something is better than doing nothing. Leslie advises having an accessibility champion on your team whose job it is to think about how to make sites and apps for accessible. The panel discusses the importance of accessibility and how accessibility changes the lives of disabled users. Links https://www.w3.org/WAI/standards-guidelines/wcag/ https://www.npmjs.com/package/eslint-plugin-jsx-a11y https://github.com/reakit/reakit https://reach.tech/router https://reactjs.org/docs/accessibility.html https://www.tobii.com/ https://ofone.co/ https://twitter.com/lesliecdubs https://www.facebook.com/React-Round-Up Picks Dave Ceddia: https://egghead.io/courses/start-building-accessible-web-applications-today https://egghead.io/lessons/tools-building-forms-with-accessibility-in-mind \ Company of One: Why Staying Small Is the Next Big Thing for Business Thomas Aylott: Journey By Starlight: A Time Traveler's Guide to Life, the Universe, and Everything Photoviz: Visualizing Information through Photography Leslie Cohn-Wein: https://www.udacity.com/ https://inclusive-components.design/ https://www.modsy.com/
June 11, 2019
Sponsors Netlify Sentry use the code “devchat” for 2 months free on Sentry’s small plan Triplebyte offers a $1000 signing bonus CacheFly Panel Lucas Reis David Ceddia Thomas Aylott Justin Bennett Summary The panel starts by discussing if useEffect is a good API or a bad API. The problems that useEffect solves are considered. The panel agrees it is a much better abstraction where subscriptions are concerned. Suspense and data fetching is discussed, the panel considers what the react team has in store concerning data fetching. The panel discusses what it was like to be a beginner to React and how using React is not an intuitive language. The panel shares some of their mistakes with useEffect, and try to consider useEffect from a beginners perspective. The panel gives advice for using hooks. Links https://twitter.com/ryanflorence/status/1125041041063665666 Picks Lucas Reis: https://github.com/kkuchta/css-only-chat David Ceddia: https://twitter.com/kentcdodds/status/1125876615177629696 https://twitter.com/ryanflorence/status/1125041041063665666 Fun with React Hooks - Michael Jackson and Ryan Florence Thomas Aylott: The Design of Everyday Things: Revised and Expanded Edition Justin Bennett: https://dusk.now.sh/ https://developers.facebook.com/videos/2019/building-the-new-facebookcom-with-react-graphql-and-relay/
June 4, 2019
Sponsor Netlify Sentry use the code “devchat” for 2 months free on Sentry’s small plan Triplebyte offers a $1000 signing bonus CacheFly Panel Nader DAbit Justin Bennett David Ceddia Joined by Special Guest: Aggelos Arvanitakis Summary Aggelos Arvanitakis shares things he has learned from his mistakes in his blog posts. The panel discusses the most common problems in react that causes poor performance. Aggelos gives a lot of advice on how to fix or avoid these problems and how to optimize performance. The panel discusses using CSS to optimize performance. The new React API’s are discussed and their effect on performance. Vue state and vue reducer are compared and Aggelos gives tips for maintain state. The episode ends with Aggelos sharing techniques for using redux. Links https://www.orfium.com/ https://itnext.io/@aggelosarvanitakis Picks Nader Dabit: https://twitter.com/Eli_White https://devchat.tv/react-native-radio/react-native-open-source-the-react-native-community-feat-christoph-nakazawa/ https://dev.to/dabit3/the-complete-guide-to-user-authentication-with-the-amplify-framework-2inh Justin Bennett: https://github.com/vadimdemedes/pastel https://github.com/DevExpress/testcafe https://www.cypress.io/ David Ceddia: https://svelte.dev/ Aggelos Arvanitakis: https://vx-demo.now.sh/ https://technology.riotgames.com/
May 28, 2019
Sponsors Netlify Sentry use the code “devchat” for 2 months free on Sentry’s small plan Triplebyte offers a $1000 signing bonus Panel Nader Dabit Lucas Reis David Ceddia Thomas Aylott Episode Summary On today’s show the panel discusses what what jobs should be delegated to the front and backend when doing fullstack development with React. They talk about where the data fetching starts coming into play in a react app and the big changes from the old web to the modern web in data fetching. They discuss how much interaction with the backend there is when working with front end applications, but also the importance of properly separating backend and frontend teams. They discuss the pros and cons of separating the front and backend teams, and agree that the problem space between both back and frontend is the user interface. They talk about where middlewares fit in. The panel notes that it is important to ensure that your new app can still communicate with older versions, and talk about different ways of dealing with it, such as continually evolving schema, installing new versions, or even never deleting anything and only adding new events. The panel talks about who should work the middle layer and who, between frontend and backend developers, should be put in charge of maintaining it. They discuss the misconception that using React makes server-side jobs irrelevant and how React actually helps. They note how automation in programming has changed the way that people use the web. They conclude by saying it is important to understand there are different ways to do these kinds of things, and encouraging listeners to look at the abstractions being built out in the serverless world Links State jQuery Middleware Rest BFFs (Backend for Frontend) Syscalls AWS Follow DevChat on Facebook and Twitter Picks Nader Dabit: The Never Hero Listening to books in the car with your kids. Lucas Reis: Why Softer Projects Take Longer Than You Think by Erik Bernhardsson Interviewing is a noisy prediction problem by Erik Bernhardsson David Ceddia: 11ty Thomas Aylott: Groovy Tie Squad The Laws of Human Nature by Robert Green
May 21, 2019
Sponsors Sentry– use the code “devchat” for $100 credit Netlify TripleByte Panel Justin Bennett Thomas Aylott Dave Ceddia Notes Today’s show has the panel discussing image lazy loading in React. Image lazy loading is the notion that images that are below the fold (rendered outside of your browser view when you initially load a page) are deferred and loaded later, so that your page loads faster. As you scroll down the page and things get close, then they are loaded in. This is a commonly suggested performance optimization, but often it doesn’t work well in React. The panelists talk about their experiences with lazy loading and different methods they’ve seen on other sites. They discuss the tradeoff between having a lot of images and slower loading and the importance of communicating with the design team. Since lazy loading is a unique challenge in React, they give recommendations for implementing lazy loading and tools for tracking site usage. They talk about dealing with JavaScript payloads, bundle and load splitting, and automating performance tracking. They discuss different performance tracking tools. The panelists address the NIH bias (Not Invented Here) and the trend that designers tend to be willing to pay money for good tooling, while engineers are cheap. There have been great improvements in the marketplace for good tools, so much so that oftentimes buying the tools is cheaper than making them yourself. They finish by discussing the pros and cons of building vs. buying and the future of the frontend. Links Lighthouse Gatsby Above the fold optimizations Below the fold optimizations Crump Survive JS on Webpack React lazy load image component Calibre SpeedCurve Bundle Analyzer Inspect Pack by Formidable Labs Cypress Github Actions Follow DevChat on Facebook and Twitter Picks Justin Bennett: Netlify Dev Products Easy Peasy Thomas Aylott: Displaced: Stories from the Syrian Diaspora React Rewind Dave Ceddia: Notion Understanding By Design
May 14, 2019
Sponsors Netlify Sentry use the code “devchat” for 2 months free on Sentry’s small plan Triplebyte offers a $1000 signing bonus CacheFly Panel Nader Dabit Lucas Reis Thomas Aylott Episode Summary Today the panel is discussing the necessity of companies having a dedicated frontend team. They begin by discussing the technologies that might be used by a dedicated frontend team. According to the panel, the necessity of a frontend team is determined by the size of the company. When you try to have a frontend team too soon, it ends up being a huge debacle, but once you get bigger and have multiple teams, it gets more useful. A company is ready for a dedicated frontend team when it is able to build with a common set of components. The panel discusses the concept of ownership in a company. Nader believes that things should be run where there is a team that’s in charge of building a component, and once the component has shipped, they are no longer in charge. The other panelists disagree with that method because they believe there is a danger of the project getting bloated. Thomas shares his experience with working for Facebook and Lucas talks about how he has previously set up his teams. They talk about the necessity of having a design system before having a React design system, and they all agree that it is useful Nader shares his experience with his brother working for Cartoon network and the design rules they had for the websites for each show like Dexter’s Lab and PowerPuff Girls. Since the panel agrees on the importance of consistency in visual communication and designs, they delve into deciding what is owned by the design system and what is shared between other teams, who maintains these things, and how to differentiate between the different kinds of components. They talk about the idea of Atomic Design in programming, separating component into categories called names like atoms, molecules, organisms, etc. Nader talks about his experience with this method. He found it difficult because components didn’t always fit cleanly into one category. The panel believes that it all comes back to ownership and it is important that companies are handling ownership well Links Storybook Frontend Cloudera Next.js Gatsby React Native Web Docz Material Follow DevChat on Facebook and Twitter Picks Nader Dabit: React Native in Action by Nader Dabit Lucas Reis: Kickstarting a Library of Internal React Components for Multiple Teams by Javier Lefevre Thomas Aylott: The E-Myth Revisited The Design of Everyday Things Atomic Design by Brad Frost
May 7, 2019
Sponsors Netlify Sentry use the code “devchat” for 2 months free on Sentry’s small plan Triplebyte offers a $1000 signing bonus CacheFly Panel Nader Dabit Justin Bennett Lucas Reis Dave Ceddia Charles Max Wood Joined by Special Guests: Thomas Aylott, Conlin Durbin Episode Summary Conlin Durbin is a front end software engineer for a company called Lessonly and occasionally writes about React. Thomas Aylott is a web guy from the 90’s who was briefly on the React team, and he makes thingsthatdostuff.com and groovytiesquad.com. The panel discusses  Conlin’s article Link Lists in the Wild: React Hooks. They begin by talking about the relationship between linked lists and React hooks. Linked lists are used under the hood to render hooks every time that they’re created and maintain integrity of the hook chain. They discuss the importance of knowing what goes on under the hood share their methods of learning. They give tips for learning on the job. The panel agrees that one of the best ways to learn is to teach. Conlin shares his experience working for Lessonly, a company that builds lesson-building software. The panel discusses WET (Write Everything Twice) vs DRY (Don’t Repeat Yourself) programming. They talk about when it is beneficial to have abstractions in code and when it is not. It’s also important to think about the humans that are going to be using it, and to write the code so that it’s humane. They praise good error messages that tell you exactly where you went wrong and how to fix it. They talk about the dangers of putting invariants everywhere, and finish by talking about ways to improve. Links Linked list React Fiber Hooks Backbone JavaScript Redux Gatsby Flow Jake Archibald: In The Loop-JS Conf Asia 2018 (video) What the heck is the event loop anyway? (video) Practical 00 Design in  Ruby, Sandi Metz Stop trying to be so DRY, instead Write Everything Twice (WET) Sebastian Markbage: Minimal API Surface Area – Learning patterns instead of frameworks Someone Is Changing Your Code Conlin Durbin username for most places is ‘wuz’, except Twitter for twitter it’s @CallMeWuz Follow DevChat on Facebook and Twitter Picks Justin Bennett: The 3 most effective ways to build trust as a leader article Pheonix Live View Lucas Reis: Pamela Zave Small Functions Considered Harmful article Dave Ceddia: New Redux course Kinesis Advantage 2 Keyboard Charles Max Wood: MicroConf BuzzSprout Thomas Aylott: Noflojs.org The Laws of Human Nature by Robert Greene Conlin Durbin: https://dev.to/ Soft Skills Engineering Conlin’s Discord server
April 30, 2019
Sponsors Netlify Sentry use the code “devchat” for 2 months free on Sentry’s small plan Triplebyte offers a $1000 signing bonus CacheFly Panel Justin Bennett Lucas Reis Joined by Special Guest: Parashuram Summary Parashuram (aka Ram) and the panel compares various frameworks including the differences between React Native and NativeScript. Ram discusses what it’s like introducing react native to mobile teams which leads to a panel discussion of web app developer experience compared to mobile app developers. Ram shares the changes that are being made to React Native and what this means for its developers. Some of the things to look forward to are a leaner and more browser-like React Native. The episode ends with Ram sharing a little of his story. Links http://artsy.github.io/blog/2017/07/06/React-Native-for-iOS-devs/ http://artsy.github.io/artsy-x-react-native.html https://github.com/necolas/react-native-web https://github.com/vincentriemer/react-native-dom https://microsoft.github.io/reactxp/ https://facebook.github.io/react-native/blog/2018/11/01/oss-roadmap http://nparashuram.com/ https://twitter.com/nparashuram https://www.facebook.com/React-Round-Up https://twitter.com/reactroundup Picks Justin Bennett: http://artsy.github.io/blog/2017/07/06/React-Native-for-iOS-devs/ http://artsy.github.io/artsy-x-react-native.html https://github.com/vadimdemedes/ink Parashuram: https://github.com/react-native-community/discussions-and-proposals https://github.com/facebook/react-360 Lucas Reis: Family Time
April 23, 2019
Sponsors Netlify Sentry use code “devchat” for 2 months free Triplebyte Panel Lucas Reis Charles Max Wood Special Guest: Florian Rival Episode Summary Florian is a software engineer working for Facebook. He has previously worked with React Native making apps. He has also created an open source game creation software called GDevelop. Florian talks about his inspiration for GDevelop. He delves into the nature of GDevelop as a desktop app built on the web. Florian talks about his decision to not go full JavaScript in his app and to redo the interface. He ultimately decided to combine C++ and JavaScript, and top it with a React interface. Florian discusses how C++ is used in this web application and how it connects to react. The panel discusses the use cases for WebAssembly and the performance quality. They discuss the bundle sizes in WebAssembly compared to other languages and compatibility with different browsers. Florian talks about how WebAssembly and React work together in his app. He talks about some of the issues and solutions you had in desiging the UI and how he created the editable lists and trees. Florian concludes by saying that any LLVM language can be compiled into web assembly Links React Native React WebGL JavaScript HTML Storybook Feedback Loop C++ The DOM Angular Clank QT5 Enscripten C Make EV computation C# WebAssembly Domain Driven Design Slack React Sortable Tree Canvas Godot Pixy LLVM Picks Lucas Reis: American food Charles Max Wood: Podfest Alita: Battle Angel Florian Rival: Material UI Gatsby
April 16, 2019
Sponsors Netlify Sentry use the code “devchat” for 2 months free on Sentry’s small plan Triplebyte CacheFly Panel Justin Bennett Lucas Reis Joined by Special Guest: Nat Alison Summary Nat Alison shares with the panel her work in translating Reactjs. Lucas Reis thanks her for her work in this very important project. Nat updates the panel on how the translation is going and discusses some of the specifics of updating, changing language direction and how it all got started. The panel moves on to discussing Nat’s work with her Polyhedra application. Nat discloses what she learned while creating this app, how she tested the app and why she used the react framework for this project. The panel discusses suspense features and what they could do for this app. Nat ends the episode by sharing her inspiration for this app. Links https://github.com/reactjs/reactjs.org-translation https://reactjs.org/languages https://isreacttranslatedyet.com/ https://polyhedra.tessera.li/ https://github.com/tesseralis https://twitter.com/tesseralis https://www.linkedin.com/in/nat-alison-2768a449 https://www.facebook.com/React-Round-Up https://twitter.com/reactroundup Picks Lucas Reis http://shadow-cljs.org/ Justin Bennett https://zeit.co/now https://github.com/artsy/dupe-report Nat Alison https://www.npmjs.com/package/cron
April 9, 2019
Sponsors Netlify Sentry use the code “devchat” for $100 credit Triplebyte offers a $1000 signing bonus CacheFly Panel Charles Max Wood Nader Dabit Justin Bennett Joined by Special Guest: Adam Laycock Summary Adam Laycock describes his experience at React conf 2018, the atmosphere, the people and the talks. The panel shares how the approach conferences, taking notes, getting to know people, accessing information and getting out of their comfort zone. Adam shares some of the major topics covered at including, hooks, suspense, and concurrent rendering. The panel considers these topics and React conferences they look forward to attending. The episode ends with the panel comparing Angular and React, conferences, upgrades, and routers for React. Links https://www.microsoft.com/en-us/build https://medium.com/curated-by-versett/talks-worth-watching-react-conf-2018-bfbdd40922aa https://reactjs.org/community/conferences.html https://twitter.com/atlaycock https://github.com/alaycock https://adamlaycock.ca/ https://medium.com/@adam.laycock https://twitter.com/reactroundup https://www.facebook.com/React-Round-Up Picks Charles Max Wood https://www.notion.so/ The Effective Executive by Peter F. Drucker http://entreprogrammers.com/ Michael Feathers Kent Beck Nader Dabit https://dev.to/dabit3 Justin Bennett https://github.com/Bogdan-Lyashenko/codecrumbs https://medium.com/palantir/tslint-in-2019-1a144c2317a9 https://www.npmjs.com/package/rate-limiter-flexible Adam Laycock https://kentcdodds.com/blog/please-stop-building-inaccessible-forms-and-how-to-fix-them https://medium.com/curated-by-versett/dont-eject-your-create-react-app-b123c5247741 Clean Architecture: A Craftsman's Guide to Software Structure and Design by Robert C. Martin
April 2, 2019
Sponsors Netlify Sentry use the code “devchat” for 2 months free on Sentry’s small plan CacheFly Panel Lucas Reis Justin Bennett Charles Max Wood Special Guest: Ajay NS Episode Summary In this episode of React Round Up, the panel talks with Ajay NS, a Computer Engineering student at National Institute of Technology Surat who is passionate about frontend development and design. Ajay talks about his article Why you should use GatsbyJS to build static sites on Medium and why he felt the need to write it. After attending the Plone Conference in Tokyo where he gave a talk about GatsbyJS, he realized that compared to React or Angular, Gatsby helped new developers learn about frontend development without facing too many complications. Ajay explains that he decided to write the article and share his experiences with Gatsby to help ease the learning process for new developers who are curious about frontend development. They discuss best cases to use Gatsby for and also cases where it may not be a good idea to use it. They then discuss the best tools for people who are new to web development and are trying to find jobs as remote developers. One of the best methods recommended is pair programming which can also be done remotely. Links Why you should use GatsbyJS to build static sites Ajay NS — Plone Conference 2018 – Tokyo Ajay's Talk in the Plone Conference Ajay’s LinkedIn Ajay’s Twitter Ajay’s GitHub Netlify Eleventy https://www.facebook.com/React-Round-Up https://twitter.com/reactroundup Picks Justin Bennett: gatsby-starter-typescript-rebass-netlifycms https://github.com/artsy/palette https://github.com/FormidableLabs/inspectpack Lucas Reis: react-spring Charles Max Wood: Green Screen LED lighting for video  Ajay NS: https://github.com/storybooks/storybook Bodymovin Plugin
March 26, 2019
Sponsors Sentry use the code “devchat” for $100 credit Triplebyte CacheFly Panel Lucas Reis Justin Bennett Charles Max Wood Joined by special guests: Chris Toomey Episode Summary In this episode of React Round Up, Chris Toomey introduces himself, talks about his work and his podcast and moves on to explaining the differences between a React vs GraphQL centric application. Justin explains in detail how the Relay framework works, and Chris describes the scenarios where GraphQL stands out in the process of building an application and also throws some light on the benefits of choosing it over other APIs such as REST. The panel then discusses how GraphQL is advantageous in the documentation context since it has a good schema, and also in data modeling. Chris shares some past examples of creating React applications where GraphQL and Apollo made things much simpler, and also elaborates on the trade-offs and challenges associated with it. Links The Bike Shed Chris Toomey: React & GraphQL – Bringing Simplicity to Client-Side Development / React Boston 2018 Chris’s Twitter The Past, Present, and Future of GraphQL Native - Nick Schrock @ GraphQL Europe Picks Justin Bennett: Where art thou, my error? Auto by Intuit on GitHub Lucas Reis: MDX Deck library Code Surfer library Charles Max Wood: HubSpot Zapier Google Docs Chris Toomey: Tell me when it closes Quicklink Upcase
March 19, 2019
Sponsors Sentry use the code “devchat” for $100 credit Triplebyte CacheFly Panel Lucas Reis Nader Dabit Charles Max Wood Joined by special guest: Thomas Aylott Episode Summary In this episode of React Round Up, Thomas Aylott, Founder at Things That Do Stuff, gives an overview of Framer X, explains what it is used for and how it can be beneficial for web designers. The panelists then discuss the timeline and usage of different design and developer tools along with their compatibility with various platforms. Thomas shares his front-end development experiences from 2005, the kind of technologies he learnt and how, with interesting and fun anecdotes, and also talks about about his time at Facebook. They discuss the fact that how Ruby on Rails has brought about a significant change in web development, work-life balance in general, and in the end, the importance of making checklists and taking ownership. Links Things That Do Stuff Thomas’s website Thomas’s Twitter Thomas’s GitHub Thomas’s YouTube Prettier Picks Nader Dabit: Gödel, Escher, Bach: An Eternal Golden Braid Lucas Reis: CSS-Tricks Indirection is not Abstraction Charles Max Wood: Check out the recent milestone episodes on Devchat.tv! DevRev Hiring Show Notes writers for podcasts Extreme Ownership: How U.S. Navy SEALs Lead and Win Thomas Aylott: Objective Personality Notion The Checklist Manifesto: How to Get Things Right
March 12, 2019
Sponsors Sentry use the code “devchat” for $100 credit Triplebyte CacheFly Panel Lucas Reis Charles Max Wood Joined by special guest: Jared Palmer Episode Summary  In this episode of React Round Up, Jared Palmer, Lead Engineer at Palmer Group, gives the listeners an overview of React Suspense, how it helps to resolve conflicts with resource scheduling and how it differs from current practices. He mentions that it is developed completely by the React team and talks about some of its applications, especially in handling images. He explains how React Suspense will reduce code size for loading states, the mechanism of parallel execution and how complexity in logic can be simplified with it. Jared also mentions some modules where Suspense can already be integrated with and advises on where it is not recommended to be used yet. The panelists then discuss server-side rendering with Suspense and their approach in technology adoption, which is incremental. Finally they talk about Redux and move on to picks. Links The Platform - Suspense-ready components  Jared’s GitHub Jared’s Twitter Jared’s website The Palmer Group https://www.facebook.com/React-Round-Up-297859274397129/ https://twitter.com/reactroundup Picks Lucas Reis: Sunlight Alarm Clock Charles Max Wood: Gel Pads Notion Jared Palmer: DevHub The Undefined Podcast
March 5, 2019
Sponsors Sentry– use the code “devchat” for $100 credit TripleByte offers a $1000 signing bonus CacheFly Episode Summary In this episode of React Round Up, Justin Bennett speaks with co-founder of Couchbase, Chris Anderson. Chris has been working with NoSQL databases for approximately a decade, and is currently working on FaunaDB, doing development outreach, while writing codes to connect with the different eco systems: Serverless, JAMStacks and React Native. He is also a blogger on a platform he calls ‘Serverless’ and enjoys decoding web applications and converting them to mobile. Chris elaborates on the particulars and functions of JAMstacks, FaunaDB, React Native, Expo, Firebase and Netlify along with their databases. He tells of his journey with FaunaDB and explains what led to its introduction. He also gives a detailed explanation on Serverless functions, Multi-cloud deployment and extends advice to apprentices in the similar field. Links https://serverless.com/author/chrisanderson/ https://twitter.com/jchris https://github.com/jchris https://fauna.com/ Serverless Netlify React Native Firebase https://www.facebook.com/React-Round-Up https://twitter.com/reactroundup Picks Chris Anderson: React Native Starter Kit Netlify Fauna Todo Justin Bennett: Refactoring UI Build Your Own Mint
February 27, 2019
Sponsors Sentry use the code “devchat” for $100 credit Netlify Triplebyte CacheFly Panel Lucas Reis Justin Bennett Nader Dabit Charles Max Wood Episode Summary In this 50th episode of React Round Up, the panelists start with talking briefly about themselves, their work, as well as their side projects. Lucas Reis is a Senior Frontend Engineer at Zocdoc, and is working on the Zocdoc website, specifically on performance and SEO. He is also involved in sharing frontend knowledge throughout the company. Justin Bennett is a Senior Engineer at Artsy and focuses on web performance along with several open source projects. He is also interested in release processes and continuous integration. Nader Dabit is with Amazon Web Services as a Developer Advocate, working on GraphQL, React to React Native, Vue and is involved in community work too. Charles Max Wood is mainly focused on making this podcast better that includes things like getting sponsors, dealing with business issues, releasing the episodes on time, etc. He talks about his mission to help people find fulfillment from coding and enabling them to achieve their ideal lifestyle. They discuss hard and soft skills in software development, their interdependence and importance, and also the fact that the skills required to become a good developer are needed for personal development in general as well. They then mention their favorite past episodes and the growth of different programming ecosystems and communities such as React, Vue, Angular, etc. With respect to upcoming projects in React, they talk a bit about Suspense, Concurrent React, server-side rendering, performance issues, Prepack, compiler optimizations and Reason React. Finally, they each mention what they do apart from regular development work to unwind and relax. Links Artsy The Dev Rev React 16 Roadmap Reason ReasonReact ClojureScript Thinkster Disney Heroes Battlemode Picks Justin Bennett: Inter Can’t Unsee design game Lucas Reis: The Law of Leaky Abstractions Nader Dabit: React Native Open GraphQL newsletter Charles Max Wood: Libsyn WordPress DigitalOcean Microphones – Electro-Voice RE20, Audio-Technica ATR2100
February 19, 2019
Sponsors: Netlify Sentry use the code “devchat” for $100 credit TripleByte   Panel: Charles Max Woods Special Guests: Donovan Brown In this episode, the Charles speaks with Donovan Brown. He is a principal DevOps Manager with Microsoft with a background in application development. He also runs one of the nation’s fastest growing online registration sites for motorsports events DLBRACING.com. When he is not writing software, he races cars for fun. Listen to today’s episode where Chuck and Donovan talk about DevOps, Azure, Python, Angular, React, Vue, and much, much more! Links: Donovan Brown’s GitHub Donovan Brown’s Twitter Donovan Brown Donovan Brown – Channel 9 Donovan Brown – Microsoft Azure YoTeam Azure.com/devops GitHub Azure DevOps’ Twitter Picks: Charles Jet Blue Beta Testers Donovan YoTeam VSTeam Powershell Module
February 12, 2019
Sponsors: Netlify Sentry use the code "devchat" for $100 credit CacheFly Panel Lucas Reis Nader Dabit Charles Max Wood Special Guest: Kay Plößer Episode Summary In this episode of React Round Up, the panel talks with Kay Plößer, describing their experiences learning React. Kay is a software developer from Stuttgart, Germany and the author of the book React from Zero. They discuss the best approach to learning React from scratch. Kay describes the process of writing and producing his book 'React from Zero'. Initially he started with tutorials and lessons and then turned those into a book. It is constructed in two sections: basic and advanced and it's purpose is to help developers learn React without being overwhelmed. He has received great feedback from the people who have bought the book. Kay then describes his experiences teaching React to developers and talks about his blog post React Hooks Demystified which became really popular. The panel then about how developers can increase and diversify income through writing books and side projects. Links Kay's Book: React from Zero Kay's Blog Post: React Hooks Demystified Kay’s LinkedIn Kay’s Twitter Kay’s GitHub Kay's Website Kay's Skillshare Kay's Facebook https://www.facebook.com/React-Round-Up https://twitter.com/reactroundup Picks Nader Dabit: Finite and Infinite Games by James Carse Lucas Reis: An Introduction and Guide to the CSS Object Model AST Explorer Charles Wood: Charles' New Devchat.tv Build on Eleventy on GitHub Kay Plößer: Wardley maps
February 12, 2019
Sponsors Sentry use the code "devchat" for $100 credit
February 5, 2019
Sponsors: KendoUI Sentry use the code "devchat" for $100 credit TripleByte $1000 signing bonus Cachefly Panel: Nader Dabit Justin Bennett Charles Max Wood Special Guest:  Charlie Cheever Notes: This episode of React Round Up has the panelists talking to Charlie Cheever, a former Facebook employee, who currently works on Expo.  The panel discusses Charlies article called “Should we be using React Native?”,  Airbnb sunsetting their React Native app, and the nature of the Expo app. Charlie describes Expo as the easiest way to do React Native using just JavaScript, and making it as easy and powerful as possible. Expo works kind of like a web browser for JavaScript, and is available on iOS, Android, and and Google app stores. Expo CLI has replaced Create React Native CLI because Expo is more user friendly. Many features are already included in Expo, including OTA updates, dealing with fonts, video player, Facebook ad and Google ads, barcode scanner, Native maps, and much more. To get started on your computer, go to snack.expo.io or download the Expo app on your phone. The panelists chat about the success of Charlie’s company and how he has attracted so many great programmers to his company. Charlie gives a history of how Expo got started. Charlie gives advice on how to start a business around a free tool, and the goal of Expo to make every service available on the app before focusing on making money. The panel discusses sustainability in the software world, as making people pay for things can drive them to write their own stuff. They talk about the benefits of using Expo and its ability to cross platforms, and enterprise companies such as Youtube and Instagram shifting over to using React. Charlie attributes this shift to two things; the increase in software developer salaries driving down the number of available software engineers, which makes it difficult for smaller companies to hire engineers, thus pushing them to use things like React and Expo to make up for it. Last, the panelists talk about the possibility that the world is moving towards a future characterized by a “write once, run everywhere” and more uniform experiences across operating systems. Terms: React Native Expo Expo CLI VS Code Emacs Vim Xamarin Titanium Native Script AWS Picks: Nader: Video series on Egghead On Grand Strategy Justin: rePNG Dark Reader Charles: Pomodoro method Kanbonflow John Somnez video Charlie: React navigation React Native Gesture Handler React Native Reanimated Wiliam Candelon “Can It Be Done in React Native” videos
January 30, 2019
Sponsors KendoUI Sentry use the code “devchat” for $100 credit TripleByte Cachefly Panel Lucas Reis Justin Bennett Charles Max Wood Joined by Special Guest: Max Desiatov Summary Max Desiatov shares his experience transitioning from REST to GraphQL. The panel discusses Max’s migration strategy and other strategies. REST and GraphQL are compared, the problems with both are discussed. The panel shares their favorite things about GraphQL including workflow and data modeling. The solutions for GraphQL problems are discussed and the things the panel would like to see are mentioned. Max Desiatov and Justin Bennett share the different tools they use including Apollo and Graphiql. Charles Max Wood steers the conversation to the adoption of GraphQL by companies. Links https://sailsjs.com/ https://graphql.org https://spring.io/understanding/HATEOAS https://www.graphile.org/postgraphile/ https://www.apollographql.com/docs/react/ https://github.com/expo/apollo-codegen https://github.com/graphql/graphiql https://www.apollographql.com/docs/graphql-tools/schema-stitching.html https://www.apollographql.com/docs/react/essentials/local-state.html https://desiatov.com/why-graphql/ https://desiatov.com/ https://twitter.com/maxdesiatov https://github.com/maxdesiatov Picks Justin Bennett https://renovatebot.com/ The Wheel of Time by Robert Jordan and Brandon Sanderson Charles Max Wood https://www.11ty.io/ https://devchat.tv/ruby-rogues/rr-383-rbspy-a-newish-ruby-profiler-with-julia-evans/ Max Desiatov https://nadiaeghbal.com https://jvns.ca/blog/2018/09/18/build-impossible-programs/
January 24, 2019
Sponsors KendoUI Sentry use the code “devchat” for $100 credit TripleByte Cachefly Panel Charles Max Wood Lucas Reis Justin Bennett Joined by Special Guest: Dave Ceddia Summary Dave Ceddia introduces hooks and what they let you do. The panel discusses how hooks work and how they will clean up the code. Dave explains what react does behind the scenes when hooks are being used. Hooks are simple to use but hard to explain, so the panel asks Dave how he would teach hooks. Dave explains there is a learning hump and shares what trips most developers up. The panel considers the switch from life cycles to effect and the mindset shift it requires. The difficulties of hooks are explored, such as there are now three ways to share functionality in react components. Dave shares the advantages of using array destructing instead of object destructing. The panel considers how hooks change the react framework and whether it is worth going back and refactoring everything or to refactor as you go. Different migration paths are discussed and the panel gives advice for different company types and sizes. Jokingly the panel contemplates the hype surrounding hooks and suspense. Links https://www.youtube.com/watch?v=Z2DU0qLfPIY&feature=youtu.be&t=2445 https://reactjs.org/docs/hooks-faq.html#should-i-use-hooks-classes-or-a-mix-of-both https://english.stackexchange.com/questions/12980/how-to-pronounce-tuple https://reactjs.org/blog/2018/11/27/react-16-roadmap.html https://reactjs.org/docs/hooks-intro.html https://daveceddia.com/tags/#hooks https://youtu.be/CpPCJigsPNY https://daveceddia.com/ https://twitter.com/dceddia Picks Charles Max Wood mastermindhunt.com/devchat https://devchat.tv/get-a-coder-job/ Lucas Reis https://xstate.js.org/docs/ https://github.com/carloslfu/use-machine Justin Bennett https://github.com/zeit/ncc https://parceljs.org/ https://bcrikko.github.io/NES.css/ Dave Ceddia https://codesandbox.io/docs/live https://jamesclear.com/atomic-habits
January 15, 2019
Sponsors KendoUI Sentry use the code “devchat” for $100 credit TripleByte CacheFly Panel Charles Max Wood Nader Dabit JC Hiatt Joined by Special Guest: Spencer Miskoviak Summary In this episode, Spencer Miskoviak shares his experience and answers questions about using typescript in React. Spencer starts by answering why react developers tend to use es6 and what the tradeoff is using typescript instead. The panel contemplates the advantages and disadvantages of using typescript and its gaining momentum in the React community. Spencer discusses how they are using typescript at Handshake and how it has paid off. Create react app and its support of typescript is discussed. The episode ends with Spencer answering questions about using dot notation with typescript and how it works. Links https://webpack.js.org/ https://parceljs.org/ https://medium.com/@skovy/using-component-dot-notation-with-typescript-to-create-a-set-of-components-b0b2aad4892b https://app.joinhandshake.com/login https://medium.com/@skovy https://twitter.com/SpencerSkovy https://github.com/Skovy Picks Nader Dabit https://medium.com/open-graphql https://reinvent.awsevents.com/ JC Hiatt Sony Noise Cancelling Headphones WH1000XM3 Charles Max Wood https://devchat.tv/dev-rev/ https://www.garyvaynerchuk.com/podcast/ https://player.fm/series/refactor-your-body Spencer Miskoviak http://www.rubberducking.fm/ The Future of React Endurance: My Year in Space, A Lifetime of Discovery by Scott Kelly
December 25, 2018
Panel: Lucas Reis Justin Bennett Charles Max Wood Special Guest: Kent C. Dodds In this episode, the panelist talk with today’s guest, Kent C. Dodds who works for PayPal, is an instructor, and works through open source! Kent lives in Utah with his wife and four children. Kent and the panel talk today about testing – check it out! Show Topics: 0:00 – Kendo UI 0:32 – Chuck: Hello! My new show is TheDevRev – please go check it out! 1:35 – Panel: I want all of it! 1:43 – Chuck: Our guest is Kent C. Dodds! You were on the show for a while and then you got busy. 2:06 – Guest. 3:09 – Panel: The kid part is impressive. 3:20 – Guest: Yeah it’s awesome, but the kid part is my wife!  4:09 – Panel: 10 years ago we weren’t having any tests and then now we are thinking about how to write better tests. It’s the next step on that subject. What is your story with tests and what sparked these ideas? 4:50 – Guest. 7:25 – Panel: We have a bunch of tests at my work. “There is no such thing as too many tests” are being said a lot! Then we started talking about unit tests and there was this shift. The tests, for me, felt cumbersome. How do I know that this suite of tests are actually helping me and not hurting me? 8:32 – Guest: I think that is a valuable insight. 11:03 – Panel: What is the make-up of a good test? 11:13 – Guest: Test every line – everything! No. 11:19 – Chuck: “Look at everything!” I don’t know where to start, man! 11:30 – Guest: How do you avoid those false negatives and false positives. 15:38 – Panel: The end user is going to be like more of integration test, and the developer user will be more like a unit tester? 16:01 – Guest: I don’t care too much of the distinction between unit and integration tests. 18:36 – Panel: I have worked in testing in the past. One of the big things that fall on the users’ flow is that it’s difficult b/c maybe a tool like Selenium: when will things render? Are you still testing things in isolation? 19:33 – Guest: It depends. When I talk about UI integration testing I am still mocking the backend. 23:10 – Chuck: I am curious, where do you decide these are expensive (so I don’t want to do too many of them), but at what point is it worth it to do it? 23:30 – Guest mentions the testing pyramid. 28:14 – Chuck: Why do you care about confidence? What is confidence and what does it matter? 28:35 – FreshBooks! 29:50 – Guest. 32:20 – Panel: I have something to add about the testing pyramid. Lucas talks about tooling, Mocha, JS Dong, and more! 33:44 – Guest: I think the testing pyramid is outdated and I have created my own. Guest talks about static testing, LINT, Cypress, and more! 35:32 – Chuck: When I was a new developer, people talked about using tests to track down bugs. What if it’s a hairy bug? 36:07 – Guest: If you can, you can use this methodical approach... 39:46 – Panel: Let’s talk about the React library for a little bit? Panel: Part of the confidence of the tests we write we ask ourselves “will it stand the test of time?” How does the React Testing library go about to solve that? 41:05 – Guest. 47:51 – Panel: A few more questions. When you are getting something and testing and grabbing the label by its text have you found that to be fragile? Is it reasonably reliable? 48:57 – Guest: Yeah this is a concern and it relies on content. 53:06 – Panel: I like this idea of having a different library. Sometimes we think that a powerful tool is better, but after spending some time with other tools that’s not always the case. 54:16 – Guest: “You tie your hands to free your mind.” It does less but what it does less it does better. 55:42 – Panel: I think that with Cypress, too? 55:51 – Guest: Yeah that’s why Cypress is great to use. 57:17 – Panel: I wrote a small library here at work and it deals with metrics. I automated all of those small clicks – write a bit – click a bit – and it was really good. I felt quite efficient. Those became the tests. 57:58 – Panel: One more question: What about react Native? That comes up a lot. At looking at testing libraries we try to keep parody between the two. Do you have any thoughts on that? 58:34 – Guest talks about React Native. 1:00:22 – Panel: Anything else? It’s fascinating to talk about and dive-into these topics. When we talk about confidence that is very powerful, too. 1:01:02 – Panelist asks the last question! 1:01:38 – Guest: You could show them the coverage support. Links: Ruby on Rails Angular JavaScript Elm Phoenix GitHub Get A Coder Job Enzyme React Testing Library Cypress.io Hillel Wayne Testing JavaScript with Kent C. Dodds Kent Dodds’ News Kent Dodds’ Blog Egghead.io – Kent C. Dodds Ready to Write a Novel? Practical TLA+ GitHub: Circleci-queue GitHub: sstephenson / bats Todoist Discord Kent’s Twitter Sponsors: Get a Coder Job Cache Fly Fresh Books Kendo UI   Picks: Lucas Hillel Wayne Practical TLA+ Justin Circle CI Queue Bats Todoists Charles MFCEO Project Podcast The DevRev Kent Discord Devs Who Write Finding your Why! TestingJavaScript.com kcd.im/news kcd.i./hooks-and-suspense NaNoWriMo
December 18, 2018
Panel: Lucas Reis Nader Dabit Special Guest: Radoslav Stankov In this episode, the panelists talk with today’s guest, Radoslav Stankov, who is a senior developer at Product Hunt. The panel and the guest talk about React, jQuery, Backbone, and much more! Check it out! Show Topics: 0:00 – Kendo UI 0:31 – Nader: Hello! Our guest today is Radoslav. 4:02 – Nader: What is your role and what are your main responsibilities? 4:10 – Guest answers. 4:39 – Panel: Can you tell us the story of how you started to use React? 4:55 – Guest: We started 4 years ago. The guest answers the question and mentions jQuery and Backbone. 9:01 – Panel: That’s nice – so you are trying to use a simpler application but the React server still need to be separated right? 9:14 – Guest: Yes, we tried to keep it as simple as possible. 10:38 – Panel: How was the adoption of React and how painful was it? You mentioned that you were used Flux and others, so was it messy and complicated for you? Or was it easy for you? 11:15 – Guest: It had its moments. 16:03 – Nader: So what are some of the reasons why you would be messing around with service-side rendering? 16:20 – The guest lists the reasons why they use it. 18:07 – Nader: Interesting. It helps for mobile clients? What do you mean – is it for the people with slower connections? 18:22 – Guest: Yes. The mobile plan can see the page. It can actually see how it’s rendered. 19:53 – Panel: How do you detect that it’s a mobile request from the server? 20:00 – Guest. 31:04 – Panel: We wanted to make it much faster and started using Node and streaming the library. Instead of creating a big string and then sending back to the user we were using the function...It’s super cool. We started using 30% less resources once we’ve deployed. (Wow!) Yeah I know! When you stream then the Node can be smarter and streaming at the same time. 32:03 – Guest. 33:21 – Panel: Interesting thing about the streaming is that we were fetching data after it started. After it was streaming HTML it was already... 38:21 – Nader: We talked about the WEB but you are all using REACT with mobile, too. Can you talk about how your company is using REACT? I know you’ve made things natively, too. 38:40 – Guest: I bit of history first then I will answer the question. 41:29 – Nader: Do you think the changes will happen in the right time to help with your fruition or no? 41:45 – Guest answers. 43:33 – How does the team manage working with all of these technologies? Does everyone have his or her own role? 43:54 – Guest answers. 48:03 – Panel: What are the drawbacks to that? 48:10 – Guest answers. 50:52 – Nader: Anything else? 51:00 – Guest: I think we covered a lot of great topics! Ads: FreshBooks! Get A Coder Job! Cache Fly! Links: Ruby on Rails Angular JavaScript Elm Phoenix GitHub Get A Coder Job React Round Up Guest’s LinkedIn Guest’s GitHubGist Introducing Hooks Idle Until Urgent Nader’s Tweet Sponsors: Get a Coder Job Cache Fly Fresh Books Kendo UI Picks: Radoslav Getting to know React DOM’s event handling system inside and out React Fiber Architecture React Hooks React.NotAConf Lucas Idle Until Urgent Introducing Hooks Nader Writing Custom React Hooks for GraphQL React Native Hooks
December 11, 2018
Panel: Lucas Reis Charles Max Wood Justin Bennett Special Guest: Soumyajit Pathak In this episode, the panelists talk with Soumyajit Pathak (India) who is a full-stack developer and cybersecurity enthusiast. The panel and the guest talk about design patterns and designing simpler code for clarity and less confusion. Check out today’s episode! Show Topics: 0:00 – Kendo UI 0:31 – Chuck: Our panelists are and our guest is Soumyajit! Introduce yourself please! Are you doing React on the side? 1:02 – Guest: I am a master’s student and I am doing freelancing. 1:42 – Panel. 1:49 – Guest. 2:10 – Chuck: I am feeling very up-to-date. Woo! Universities are teaching this and that and they are focused on theory. The flipside is that they are going to write real code for real systems. 3:10 – Panel: I like your well-written blog posts. You talk about design patterns. 3:50 – Guest: The design patterns at the university had to do with real JavaScript applications. 4:09 – Chuck: I am curious you are talking about the design patterns – how can people from React find/use it? 4:45 – Panel: It depends on your definition of design patterns. 5:35 – Lucas: Maybe you are using one or two here and reading through the design patterns is like going through your toolbox. You only need a screwdriver but you bought the whole toolbox. Get familiar with it and from time to time solve problems and thing: what tool can help me here? It’s clear to me with this toolbox analogy. I understand now – that tool I saw 2 months ago could help me. 7:00 – Guest: I have an interesting story with this about design patterns. Let me share! 7:36 – Justin: It was a similar thing but I wasn’t in JavaScript at the time. I’ve used a lot of C++ code. Design patterns became very useful. I saw it the same way Lucas! 9:23 – Justin continues: How and why to use a certain tool. That’s important. 10:28 – Chuck: Okay this is the default pattern and that’s where we can go for the fallback. Here is the fallback if this doesn’t work here or there. 10:49 – Lucas: This is important to remember. It’s not how to use the tool but it’s why am I using this tool here or there? 11:57 – Justin: It’s so much information in general. People get information overload and they have to just start! One of the challenges we do is that we over-engineer things. Do what you need to know. Look it up but play with it. 12:40 – Lucas: It’s interesting by another blog post that you wrote Soumyajit – and you are using a render prop. You showed a problem and showed the solution. 13:30 – Guest: Yeah I’ve written a lot of blog posts about this topic. 13:48 – Panel: Often times – it’s hard for people just to dive-in. People need to see you solving a problem and it really helps with the learning process. 15:03 – Chuck: What patterns do you find most useful? 15:11 – Panel: Functional components have changed my world! 16:23 – Guest: Around these functional components... 17:17 – Panel: I will go with the patterns that are not useful. Don’t make your code pattern-oriented. This is my favorite pattern now and going back to basics. 18:53 – Panelists go back-and-forth. 19:01 – Lucas. 19:41 – Chuck: You talk about over-engineering things and that’s what I found myself doing sometimes with my new project. When I figure out how to make it simpler I get excited and it’s easy to follow. 20:15 – Panel: We celebrate the person who deleted the most lines of code. 20:28 – Panel: I am going to steal that idea. 21:04 – Guest: I have an interesting story of over-engineering something – let me share! 21:53 – FreshBooks! 22:59 – Panel: Building too much is b/c I don’t have a clear understanding of what I am doing. I get excited about problems. What’s the more simple way / most naïve way possible! 24:36 – Lucas: If you are going to change something you will be changing it in several different places. 25:50 – Chuck: When I heard the concept, all the codes that change together should be together. 26:08 – Lucas comments. 26:53 – Panel: Keeping things contained in one place. We have our presentational component and higher-level component, so you can see it all. 28:28 – Lucas: Different people working on different technologies. 29:15 – Panel: Can I break this down to smaller parts, which makes sense to me? 29:48 – Guest: Looking for keywords will cause a distraction. Finding a balance is good. 30:04 – Chuck: If you have a large rile there could be a smaller component that is there own concern. That feels like the real answer to me. It has a lot less than the length of the file versus... Chuck: If I cannot follow it then I need to keep the concept simple. 30:51 – Lucas: The quantity of lines and the line count – I think it’s better how many indentations you have. 32:43 – Guest. 32:48 – Lucas: Yes, so in the horizontal scrolling you have to keep things in your mind. 33:41 – Panel: There are so many different metrics that you can use and the different line count or different characters. There are more scientific terms that we could plugin here. If you have a lot of these abstract relations that can...write it 34:23 – Chuck: So true. 34:52 – Chuck: I want to move onto a different problem so it’s an attention thing for me too. 35:06 – Panel: We have to get okay with not always writing the best code in that it just needs to do what it needs to do. 35:30 – Chuck. 35:57 – Panel: We write it once – then it falls apart and then we write it again and learn from the process. Learning is the key here – you see where it works and where it doesn’t work well. 36:31 – Panel. 36:47 – Chuck mentions service-side rendering. Chuck: Should we schedule another episode? 37:11 – Panel: I think it’s own episode b/c it’s a complex problem overall. 39:33 – Lucas: Try to find memory leaks in the file components and server-side rendering. Where we have lost a lot of sleep and a higher level of complication. Sometimes it’s necessary. 41:42 – Chuck: Yeah let’s do another episode on this topic. Sounds like there is a lot to dive into this topic. Soumyajit, how do people find you? 42:10 – Guest: Twitter and GitHub! 42:28 – Picks! 42:30 – Advertisement – Get A Coder Job! End – Cache Fly Links: Ruby on Rails Angular JavaScript Elm Phoenix GitHub Get A Coder Job React Patterns on GitHub Calibre Book: Engineering a Safer World Designers’ Secret Source Monster Hunter Guest’s GitHub Guest’s Twitter Sponsors: Get a Coder Job Cache Fly Fresh Books Kendo UI Picks: Justin https://reactpatterns.com/ Calibre App Lucas Engineering a Safer World Soumyajit Blog Muzli - Chrome Extension Charles Monster Hunters International Series Metabase Stripe Work for DevChat TV
December 4, 2018
Panel: Charles Max Wood Aaron Frost Shai Reznik   Divya Sasidharan Joe Eames Lucas Reis Special Guest: Sean Merron In this episode, The panelist of React Round-Up, View on Vue, Adventures in Angular, Ruby Rogues, and JavaScript Jabber speak with Sean Merron about Mastermind Groups of Startups and much more. Sean is the founder of today's topic and product “Mastermind Hunt.” This product is design to skillfully find a mastermind to take your business and skills to the next level. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 3:00 – Webinar announcement January 3rd, 2p EST. 4:10 - Sean talks about the importance of a Mastermind and his evolvement in mastermind groups. Sean breakdowns what exactly what a mastermind is about. 6:10 - Charles ask the panelist if they have engaged in Masterminds. Shai talks about his experience and seeing one-sidedness in Masterminds. Sean talks about how to avoid this issue and staying on track. Sean shares on how to keep the meeting moving forward and meet accountability tasks. 10:10 - Joe asks about examples of chatting on topics with co-workers and how is this different from masterminds. And how to keep topics on track. Sean provides using the round robin method to give each person a chance to bring their needs to the table. Sean talks about how developers share advice and topics in Masterminds. 14:43 -  Charles shares about how this works in using exercise workbooks as a group and who the rotation works for the hot seat. Sean explains that this is used to find others at your same level to help one another. 16:50 - Shai ask about the benefits of mastermind, but how can we integrate higher level issues among a group. Sean shares a story about meeting and benefits of networking in Masterminds. Sean and Chuck continue with the power of networking among these types of groups. 22:00 -  Charles talks about the complexity of personal issues. Shai asks about how to build a mastermind. Sean gives examples of formats and schedule, number of people, and how to conduct successfully. Sean gives examples of technologies to use to help conduct masterminds, like Facebook groups, Skype, Zoom.  Sean explains how this led to building  mastermindhunt.com 27:00 – Advertisement: Get A Coder Job! 27:00 -  Charles talks about how he did a lunch meetup as a mastermind. Lucas gives examples of guilds in his job. Lucas explains the guilds and how this works among the software development team. Lucas shares about presenting in a guild. Lucas says this is great for accountability and success. 30:00 -  Sean asks about the size or how many people are in the guild. Lucas mentions that if you do not understand something, bring it to the guild. Sean mentions how this could help shy people and build trust. Sean talks about “Friend D A” 34:00 -  Charles again talks about that BrownBag lunch mastermind. Charles talks about how to keep masterminds on track and not a chatfest. Joe asks about the accountability goals. Sean talks about how this works in Mastermind Hunt.  Sean gives examples of how to keep people accountable in fun ways. 37:00 -  Shai talks about having to shave his head when he was not meeting accountability goals.  Sean continues about respecting people’s time and keeping on topic with hot seat questions. 39:00 -  Shai asks about how to approach people who are not meeting goals and take-up to much time. Sean says the person with the best relationship should approach the person before they have to bump them out of the mastermind spot. 42:00 - Charles talks about EntreProgrammers as a mastermind and the freeform style of the format. Charles talks about leaving the group if it is not meeting your value needs. 44:00 - Sean talks about the introduction and application programs to enter into a mastermind. Lucas talks about diminishing quality of a mastermind, and how he raised the quality of engaging in a way that heightens the program. Sean shares more aobuu the initial attitude of the person who starts the meeting. 49:00 -  Divya ask about those who are not hitting their goals, but how do you keep them engaged without leaving the group. Sean mentions breaking down the goals or create achievable goals. Sean talks about figuring out the organization and finding where the issues are at that might be the problem to hitting goals. 51:00 - Divya ask about how enthusiasm can diminish about how to keep that from happening in masterminds. Sean says you have to be consistent with your goals and make it fun. 55:00 - Shai gives a quick recap of masterminds. Shai ask about how to rotate the hot seat. Sean give a webinar link for mastermindhunt.com/devchat on January 3rd, 2pm EST. 57:30 – Advertisement – Fresh Books! 30-day free trial! END – Advertisement – Cache Fly! Links: Sean’s Twitter 2frugaldudes  podcast Sean’s LinkedIn mastermindhunt.com mastermindhunt.com/devchat Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Shai Bob Proctor Joe  Coolstuffinc luxor NG Conf Minified Lucas Radical Candor Divya Alan Watts Framework Summit Videos Several Short Sentence about Writing Charles CES - devchat.tv/events Modern Medicine Sean (757) Area Code RevolutionConf.com
November 27, 2018
Panel: Nader Dabit Lucas Reis Charles Max Wood Special Guests: Ben Nelson In this episode, the panelists talk with Ben Nelson who is a co-founder and CTO of Lambda School. The panelists and Ben talk about Lambda School, the pros & cons of the 4-year university program for developers, and much more. Check it out! Show Topics: 0:00 – Kendo UI 0:33 – Chuck: We have Nader, Lucas, and myself – our special gust is Ben Nelson! 0:50 – Guest: Hi! 0:54 – Chuck: Please introduce yourself. 0:58 – Guest: I love to ski and was a developer in the Utah area. 1:12 – Chuck: Let’s talk about Lambda School, but I think explaining what the school is and how you operate will help. Give us an elevator pitch for the school. 1:36 – Guest: The school is 30-weeks long and we go deep into computer fundamentals. They get exposed to multiple stacks. Since it’s 30-weeks to run we help with the finances by they start paying once they get employed. It’s online and students from U.S. and the U.K. 3:23 – Chuck: I don’t want you to badmouth DevMountain, great model, but I don’t know if it works for everyone? 3:43 – Guest: Three months part-time is really hard if you don’t have a technical background. It was a grind and hard for the students. 4:03 – Nader: Is it online or any part in-person. 4:11 – Guest: Yep totally online. 4:40 – Nader: Austen Allred is really, really good at being in the social scene. I know that he has mentioned that you are apart of...since 2017? 5:20 – Guest: Yeah you would be surprised how much Twitter has helped our school. He is the other co-founder and is a genius with social media platforms! 6:04 – Guest mentions Python, marketing, and building a following. 7:17 – Guest: We saw a lot of students who wanted to enroll but they couldn’t afford it. This gave us the idea to help with using the income share agreement. 8:06 – Nader: Yeah, that’s really cool. I didn’t know you were online only so now that makes sense. Do you have other plans for the company? 8:33 – Guest: Amazon started with books and then branched out; same thing for us. 8:56 – Chuck: Let’s talk about programming and what’s your placement rate right now? 9:05 – Guest: It fluctuates. Our incentive is we don’t get paid unless our students get employed. Our first couple classes were 83% and then later in the mid-60%s and it’s averaging around there. Our goal is 90% in 90 days. Guest continues: All boot camps aren’t the same. 10:55 – Lucas: Ben, I have a question. One thing we have a concern about is that universities are disconnected with the CURRENT market! 11:47 – Guest: We cannot compare to the 4-year system, but our strength we don’t have tenure track Ph.D. professors. Our instructors have been working hands-on for a while. They are experienced engineers. We make sure the instructors we hire are involved and passionate. We pay for them to go to conferences and we want them to be on the cutting-edge. We feel like we can compete to CS degrees b/c of the focused training that we offer. 13:16 – Chuck: Yeah, when I went to school there were only 2 professors that came from the field. 14:22 – Guest: Yeah, look at MIT. When I was studying CS in school my best professor was adjunct b/c he came from the field. I don’t know if the 4-year plan is always the best. I don’t want to shoot down higher education but you have to consider what’s best for you. 15:05 – Nader: It’s spread out across the different fields. It was a model that was created a long time ago, and isn’t always the best necessarily for computer science. Think about our field b/c things are moving so fast. 15:57 – Chuck: What you are saying, Nader, but 10 years ago this iPhone was a brand new thing, and now we are talking about a zillion different devices that you can write for. It’s crazy. That’s where we are seeing things change – the fundamentals are good – but they aren’t teaching you at that level. Hello – it’s not the ‘90s anymore! I wonder if my bias comes from boot camp grads were really motivated in the first place...and they want to make a change and make a career out of it. 17:34 – Chuck: There is value, but I don’t know if my CS major prepared me well for the job market. 17:42 – Guest: Probably you didn’t have much student loan debt being that you went to Utah. 17:58 – Nader: Why is that? 18:03 – Chuck talks about UT’s tuition and how he worked while attending college. 18:29 – Lucas: I don’t stop studying. The fundamentals aren’t bad to keep studying them. Putting you into a job first should be top priority and then dive into the fundamentals. Work knowledge is so important – after you are working for 1 year – then figure out what the fundamentals are. I think I learn better the “other way around.” 20:30 – Chuck: That’s fair. 20:45 – Guest: That’s exactly what we focus on. The guest talks about the general curriculum at the Lambda School 22:07 – Nader: That’s an interesting take on that. When you frame it that way – there is no comparison when considering the student loan debt. 22:30 – Chuck: College degrees do have a place, too. 22:39 – Chuck: Who do you see applying to the boot camps? 23:05 – Guest: It’s a mix. It’s concentrated on people who started in another career and they want to make a career change. Say they come from construction or finances and they are switching to developing. We get some college students, but it’s definitely more adult training. 24:02 – Guest: The older people who have families they are desperate and they are hungry and want to work hard. We had this guy who was making $20,000 and now he’s making $85K. Now his daughter can have his own bedroom and crying through that statement. 24:50 – Chuck: That makes sense! 24:52 – Advertisement – FRESH BOOKS! 26:02 – Guest: Look at MIT, Berkeley – the value is filtering and they are only accepting the top of the top. We don’t want to operate like that. We just have to hire new teachers and not build new buildings. We raise the bar and set the standard – and try to get everybody to that bar. We aren’t sacrificing quality but want everybody there. 27:43 – Chuck: What are the tradeoffs? 28:00 – Guest: There is an energy in-person that happens that you miss out on doing it online. There are a lot of benefits, though, doing it online. They have access to a larger audience via the web, they can re-watch videos that teachers record. 28:45 – Nader: Is there a set curriculum that everyone uses? How do you come up with the curriculum and how often does it get revamped? What are you teaching currently? 29:08 – Guest answers the question in-detail. 30:49 – Guest (continues): Heavily project-focused, too! 31:08 – Nader: What happens when they start and if they dropout? 31:22 – Guest: When we first got started we thought it was going to be high dropout rates. At first it was 40% b/c it’s hard, you can close your computer, and walk away. If a student doesn’t score 80% or higher in the week then they have to do it again. Our dropout rate is only 5-10%. In the beginning they have a grace period of 2-4 weeks where they wouldn’t owe anything. After a certain point, though, they are bound to pay per our agreements. 33:00 – Chuck: Where do people get stuck? 33:05 – Guest: Redux, React, and others! Maybe an instructor isn’t doing a good job. 34:06 – Guest: It’s intense and so we have to provide emotional support. 34:17 – Nader: I started a school year and I ran it for 1-3 years and didn’t go anywhere. We did PHP and Angular 1 and a little React Native. We never were able to get the numbers to come, and we’d only have 3-4 people. I think the problem was we were in Mississippi and scaling it is not an easy thing to do. This could be different if you were in NY. But if you are virtual that is a good take. Question: What hurdles did you have to overcome? 35:52 – Guest: There was a lot of experimentation. Dropout rates were a big one, and the other one is growth. One problem that needed to be solved first was: Is there a demand for this? Reddit helped and SubReddit. For the dropout rates we had to drive home the concept of accountability. There are tons of hands-on help from TA’s, there is accountability with attendance, and homework and grades. We want them to know that they are noticed and we are checking-in on them if they were to miss class, etc. 38:41 – Chuck: I know your instructor, Luis among others. I know they used to work for DevMountain. How do you find these folks? 39:15 – Guest: A lot of it is through the network, but now Twitter, too. 40:13 – Nader: I am always amazed with the developers that come out of UT. 40:28 – Chuck: It’s interesting and we are seeing companies coming out here. 40:50 – Guest: Something we were concerned about was placement as it relates to geography. So someone that is in North Dakota – would they get a job. The people in the rural areas almost have an easier time getting the job b/c it’s less competitive. Companies are willing to pay for relocation, which is good. 41:49 – Nader: That is spot on. 42:22 – Chuck: Instructor or Student how do they inquire to teach/attend at your school? 42:44 – Guest: We are launching in the United Kingdom and looking for a program director there! 43:00 – Advertisement – Get A Coder Job! End – Cache Fly Links: Ruby on Rails Angular JavaScript Elm Phoenix GitHub Get A Coder Job Income Share Agreement’s Definition DevMountain Charles Max Wood’s Twitter Nader Dabit’s Twitter Lucas Reis’ GitHub Ben Nelson’s Talk: Rethinking Higher Education – ICERI 2016 Keynote Speech Ben Nelson’s LinkedIn Ben Nelson’s Twitter Lambda School Sponsors: Get a Coder Job Cache Fly Fresh Books Kendo UI   Picks: Lucas Cypress Looking a Cypress as a Development Environment. Nader Egghead.io Nader’s courses on Egghead.io Suggestions for courses Charles Opportunity to help liberate developers Extreme Ownership Hiring a developer Sales Rep. for selling sponsorships Show note writer Ben Air Table
November 20, 2018
Panel: Charles Max Wood Special Guests: Ed Thomson In this episode, the React Round Up Charles speaks with Ed Thomson who is a Program Manager at Azure through Microsoft, Developer, and Open Source Maintainer. Ed and Chuck discuss in full detail about Azure DevOps! Check out today’s episode to hear its new features and other exciting news! Show Topics: 0:59 – Live at Microsoft Ignite 1:03 – Ed: Hi! I am a Program Manager at Azure. 1:28 – Rewind 2 episodes to hear more about Azure DevOps! 1:51 – Ed: One of the moves from Pipelines to DevOps – they could still adopt Pipelines. Now that they are separate services – it’s great. 2:38 – Chuck talks about features he does and doesn’t use. 2:54 – Ed. 3:00 – Chuck: Repos and Pipelines. I am going to dive right in. Let’s talk about Repos. Microsoft just acquired GitHub. 3:18 – Ed: Technically we have not officially acquired GitHub. 3:34 – Chuck: It’s not done. It’s the end of September now. 3:55 – Ed: They will remain the same thing for a while. GitHub is the home for open source. Repos – we use it in Microsoft. Repositories are huge. There are 4,000 engineers working in these repositories. Everyone works in his or her own little area, and you have to work together. You have to do all this engineering to get there. We bit a tool and it basically if you run clone... Ed continues to talk about this topic. He is talking about One Drive and these repositories. 6:28 – Ed: We aren’t going to be mixing and matching. I used to work through GitHub. It’s exciting to see those people work close to me. 6:54 – Chuck. 6:59 – Ed: It has come a long way. 7:07 – Chuck: Beyond the FSF are we talking about other features or? 7:21 – Ed: We have unique features. We have branch policies. You can require that people do pole request. You have to use pole request and your CI has to pass and things like that. I think there is a lot of richness in our auditing. We have enterprise focus. At its core it still is Git. We can all interoperate. 8:17 – Chuck. 8:37 – Ed: You just can’t set it up with Apache. You have to figure it out. 8:51 – Chuck: The method of pushing and pulling. 9:06 – Chuck: You can try DevOps for free up to 5 users and unlimited private repos. People are interested in this because GitHub makes you pay for that. 9:38 – Ed and Chuck continue to talk. 9:50 – Ed: Pipelines is the most interesting thing we are working on. We have revamped the entire experience. Build and release. It’s easy to get started. We have a visual designer. Super helpful – super straightforward. Releases once your code is built – get it out to production say for example Azure. It’s the important thing to get your code out there. 10:55 – Chuck: How can someone start with this? 11:00 – Ed: Depends on where your repository is. It will look at your code. “Oh, I know what that is, I know how to build that!” Maybe everyone isn’t doing everything with JavaScript. If you are using DotNet then it will know. 12:05 – Chuck: What if I am using both a backend and a frontend? 12:11 – Ed: One repository? That’s when you will have to do a little hand packing on the... There are different opportunities there. If you have a bash script that does it for you. If not, then you can orchestrate it. Reduce the time it takes. If it’s an open source project; there’s 2 – what are you going to do with the other 8? You’d be surprised – people try to sneak that in there. 13:30 – Chuck: It seems like continuous integration isn’t a whole lot complicated. 13:39 – Ed: I am a simple guy that’s how I do it. You can do advanced stuff, though. The Cake Build system – they are doing some crazy things. We have got Windows, Lennox, and others. Are you building for Raspberries Pies, then okay, do this... It’s not just running a script. 15:00 – Chuck: People do get pretty complicated if they want. It can get complicated. Who knows? 15:26 – Chuck: How much work do you have to do to set-up a Pipeline like that? 15:37 – Ed answers the question in detail. 16:03 – Chuck asks a question. 16:12 – Ed: Now this is where it gets contentious. If one fails... Our default task out of the box... 16:56 – Chuck: If you want 2 steps you can (like me who is crazy). 17:05 – Ed: Yes, I want to see if it failed. 17:17 – Chuck: Dude, writing code is hard. Once you have it built and tested – continuous deployment. 17:33 – Ed: It’s very easy. It’s super straightforward, it doesn’t have to be Azure (although I hope it is!). Ed continues this conversation. 18:43 – Chuck: And it just pulls it? 18:49 – Ed: Don’t poke holes into your firewall. We do give you a lot of flexibility 19:04 – Chuck: VPN credentials? 19:10 – Ed: Just run the... 19:25 – Chuck comments. 19:36 – Ed: ...Take that Zip... 20:02 – Ed: Once the planets are finely aligned then...it will just pull from it. 20:25 – Chuck: I host my stuff on Digital Ocean. 20:46 – Ed: It’s been awhile since I played with... 20:55 – Chuck. 20:59 – Ed and Chuck go back and forth with different situations and hypothetical situations. 21:10 – Ed: What is Phoenix? 21:20 – Chuck explains it. 21:25 – Ed: Here is what we probably don’t have is a lot of ERLANG support. 22:41 – Advertisement. 23:31 – Chuck: Let’s just say it’s a possibility. We took the strip down node and... 23:49 – Ed: I think it’s going to happen. 23:55 – Ed: Exactly. 24:02 – Chuck: Testing against Azure services. So, it’s one thing to run on my machine but it’s another thing when other things connect nicely with an Azure set-up. Does it connect natively once it’s in the Azure cloud? 24:35 – Ed: It should, but there are so many services, so I don’t want to say that everything is identical. We will say yes with an asterisk. 25:07 – Chuck: With continuous deployment... 25:41 – Ed: As an example: I have a CD Pipeline for my website. Every time I merge into master... Ed continues this hypothetical situation with full details. Check it out! 27:03 – Chuck: You probably can do just about anything – deploy by Tweet! 27:15 – Ed: You can stop the deployment if people on Twitter start complaining. 27:40 – Chuck: That is awesome! IF it is something you care about – and if it’s worth the time – then why not? If you don’t have to think about it then great. I have mentioned this before: Am I solving interesting problems? What projects do I want to work on? What kinds of contributions do I really want to contribute to open source? That’s the thing – if you have all these tools that are set-up then your process, how do you work on what, and remove the pain points then you can just write code so people can use! That’s the power of this – because it catches the bug before I have to catch it – then that saves me time. 30:08 – Ed: That’s the dream of computers is that the computers are supposed to make OUR lives easier. IF we can do that and catch those bugs before you catch it then you are saving time. Finding bugs as quickly as possible it avoids downtime and messy deployments. 31:03 – Chuck: Then you can use time for coding style and other things. I can take mental shortcuts. 31:37 – Ed: The other thing you can do is avoiding security problems. If a static code analysis tool catches an integer overflow then... 32:30 – Chuck adds his comments. Chuck: You can set your policy to block it or ignore it. Then you are running these tools to run security. There are third-party tools that do security analysis on your code. Do you integrate with those? 33:00 – Ed: Yep. My favorite is WhiteSource. It knows all of the open source and third-party tools. It can scan your code and... 34:05 – Chuck: It works with a lot of languages. 34:14 – Ed. 34:25 – Chuck: A lot of JavaScript developers are getting into mobile development, like Ionic, and others. You have all these systems out there for different stages for writing for mobile. Android, windows Phone, Blackberry... 35:04 – Ed: Let’s throw out Blackberry builds. We will ignore it. Mac OS dies a fine job. That’s why we have all of those. 35:29 – Chuck: But I want to run my tests, too! 35:36 – Ed: I really like to use App Center. It is ultimately incredible to see all the tests you can run. 36:29 – Chuck: The deployment is different, though, right? 36:40 – Ed: I have a friend who clicks a button in... Azure DevOps. 37:00 – Chuck: I like to remind people that this isn’t a new product. 37:15 – Ed: Yes, Azure DevOps. 37:24 – Chuck: Any new features that are coming out? 37:27 – Ed: We took a little break, but... 37:47 – Ed: We will pick back up once Ignite is over. We have a timeline on our website when we expect to launch some new features, and some are secret, so keep checking out the website. 39:07 – Chuck: What is the interplay between Azure DevOps and Visual Studio Code? Because they have plugins for freaking everything. I am sure there is something there that... 39:30 – Ed: I am a VI guy and I’m like 90% sure there is something there. You are an eMac’s guy? The way I think about it is through Git right out of the box. Yes, I think there are better things out there for integration. I know we have a lot of great things in Visual Code, because I worked with it. 40:45 – Chuck: Yes, people can look for extensions and see what the capabilities are. Chuck talks about code editor and tools.  41:28 – Ed: ... we have been pulling that out as quickly as possible. We do have IE extensions, I am sure there is something for VS Code – but it’s not where I want to spend my time. 42:02 – Chuck: Yes, sure. 42:07 – Ed: But everyone is different – they won’t work the way that I work. So there’s that. 42:30 – Ed: That Chuck. 42:36 – Chuck: Where do people get news? 42:42 – Ed: Go to here! 42:54 – Chuck: Where do people find you? 43:00 – Ed: Twitter! 43:07 – Chuck: Let’s do Picks! 43:20 – Advertisement – Fresh Books! Links: GitHub Microsoft’s Azure Microsoft’s Pipeline Azure DevOps Erlang WhiteSource Chuck’s Twitter Ed Thomson’s Twitter Ed Thomson’s GitHub Ed Thomson’s Website Ed Thomson’s LinkedIn Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Picks: Ed Podcast - All Things Git
November 13, 2018
Panel: Nader Dabit Lucas Reis Justin Bennett Special Guests: Carly Litchfield In this episode, the panelists talk with Carly Litchfield who is a Full-stack engineer of React and React Native. The panel and Carly talk about frontend and backend developing and the issues that teams could face day-in and day-out. Listen to today’s episode to hear about that and much more! Show Topics: 0:00 – Kendo UI 0:30 – Nader: Welcome! Our panel is Justin, Lucas, myself, and our guest is Carly. Welcome to the show! Thanks for joining us. Introduce yourself please. 0:56 – Carly: I am a fullstack engineer at a company called Zocdoc. I have been there for 4 years, and we use C# framework. 1:17 – Nader: C# interesting! 1:26 – Nader: You can do game development and other stuff. 1:33- Carly: I haven’t gotten into game development at all, just using C# for web development. 1:50 – Nader. 1:55 – Carly. 2:08 – Nader: The topic for today is: being a frontend developer and a team that is mostly focused on backend. Also, other topics with testing if we have time. How did you get into web development? 2:32 – Carly goes into detail about how she got into web development. 5:02 – Carly: I have worked with React Native, too. 5:22 – Nader: That is my favorite thing to work with (React Native). 5:27 – Panel: Everyone was learning about this new domain and this frontend domain. How was the knowledge spread? How was it spread throughout the company? 5:50 – Carly: One of the people someone that was on this 3 – person team (Thomas) and he went around to anyone who knew React. He made a lot of tooling. He made a lot of configuration libraries. You’d have your NPM integration like everyone else. It was cool to hook it into our servers. It was crucial to help with adoption. Those libraries aren’t being well maintained and it’s causing some pain. 7:32 – Panel: I remember this one case when I was working with an engineer and he was working on backend stuff. He was like I don’t understand here is JSS and JavaScript. Did you have those cultural differences? 8:27 – Carly: Yeah, definitely. You will see a thousand two-thousand lines that are written by us and it’s impossible to know how it hooks-up, etc. It’s painful to work with and some of the internal tooling nobody is updating. That served a forcing mechanism b/c we built tons of the frontend that it’s so complicated and we are paralyzed. That served us b/c frontend is hard and we just can’t go plopping around wherever we want. That’s how they tried to use Backbone. We never hired a specific frontend engineer. We just kept hiring backend to learn frontend. It’s harder to hire someone to avoid those mistakes. They will have to learn the hard way, where a Senior Developer can help. Even our Backbone apps were heavy and hard to work with. At that time we thought we were going to go to React. We thought we could hire someone with true frontend experience. We started an interview process and hard to get off the ground. We have gotten a lot better b/c we have Senior and Principle engineers to help. 12:12 – Panel: This isn’t easy and this is hard. Building UIs are extremely difficult. 13:06 – Carly: I have an old manager that posted a quote...that just shows how much things are changing. These are advanced strategies. On the backend you have all of these services and go to AWS. However, on the frontend the problems aren’t solved, yet. WE don’t have a perfect answer. A lot of the dynamics are interesting and the right answers are yet to be found. 14:32 – Panel: I think that in some ways, an application we are finding better ways with static websites and blogs through the WordPress model. We are finding practices to enable people to build intricate things. 15:07 – Panel: I used C++ in the beginning of my career. I use a framework called QT. QT is good to building native UIs, but it’s extremely complicated and difficult. And thinking about that from the idea of building not only a UI, but also...we are essentially using tools that aren’t supposed to be used in the way they were designed. 16:46 – Carly: I agree. When I was using style components at the beginning – after you do it for a while it’s not weird anymore. It’s great not to have to reuse things. I hear a lot of people concerned with these separations, but maybe they were 3 separate concerns. Maybe one component is one concern, if you will. 17:59 – Panel: I agree. If you look at the page model vs. the web model...you want a button to look like THAT button. You want them to look the same, it’s a component or an app. Maybe if you have a Wikipedia page where you have headers and sections, the CSS model makes sense on that particular domain, but with application it’s so complicated. I am a fan of cell components, and... Things are getting better. Another topic – we are in this frontend world and one big problem with the old days was reliability. You talked a lot about testing in the frontend. Let’s talk about testing in your professional life. 19:48 – Carly: I moved slowly into backend, and it’s comfortable that you knew you weren’t going to break anything. This testing stuff is great and I actually love it. We need to figure it out on the frontend, too. I built a bunch of tools that doctors use. We started thinking about what can we do to make the frontend more testable. 21:40 – Panel: I call that: Layer Oriented Design. 21:51 – Carly: When we were on Backbone we used this screen-shot testing framework. We obviously should be focusing on how we made this app rather than how do we test frontend code. But we did it. You could have a Backbone view... 22:43 – Advertisement – FRESH BOOKS! 23:47 – Nader: How would you change the pictures – were you running it through what? 24:02 – Carly: An array of pixel colors. 24:10 – Carly: It was cool! We called it Lena. We used it for a year or so and it caught some bugs and it did other things. We built Percy and Storybook. We are ahead of the game with that. In general that is what we have moved to instead. 25:30 – Panel: What is Percy? 25:37 – Carly: It will render your components, then it will grab...and every time you push code it will compare the old/new screenshot. You can do mobile stuff, too, which is awesome. 26:25 – Panel: When I saw the Percy tests – I thought: this makes a difference! 26:48 – Carly: How do you know if this random stuff matters? 27:15 – Panel: It makes a huge impact. Percy can give it to you and easier to review code that has visual changes. If you added a border and you can see all the red sea of change, so let’s use a border box, etc. It’s really mind-blowing! They have a GitHub hook. If there are changes people have to improve. 28:22 – Panel: You mentioned it supporting a bunch of different browsers? What sort of context does Percy run in? Does it have a specific execution...? 28:44 – Carly: Options in Firefox and Chrome so far. People at Percy talk about cross-browsers and it will have a pipeline. It’s really hard to do. Who knows if it will come but we will see. 29:13 – Panel: How do we ensure that things are continuing to work across the browsers? Did we render anything that is completely broke? How do you do testing across browsers? 29:44 – Carly: Yeah, we use Browser Stack. We run Selenium IO. 31:12 – Nader: It sounds like you have great tools on the frontend. Nader asks a question. 31:28 – Carly: We have a fairly broken-up frontend. If someone changes something... Running all of those tests can get crazy. 32:11 – Panel: Cypress... Why did you decide on Cypress – what has been your experience with that? 32:35 – Carly: I have not yet figured out a good debugging experience, and I don’t know how you guys are doing it? It’s impossible to debug and it’s not a pleasant experience. I saw Cypress’ advertisement and you can see the difference. They highlight the target, etc. I had to try it! In just a little app that I have – I tested it there. I thought it was awesome b/c it will show you where it failed, etc. I had to get everyone on board and tried to persuade my team to use it. I used these slides and presented it, and it worked fine. It didn’t flake at all. People had to work with the tests and work with Cypress to get the feel for it. Everyone decided to use it, too. 35:16 – Panel: The spread of knowledge and it goes back to the beginning. What is this secret group: Frontend Guild? 35:33 – Carly answers the question. 37:04 – Panel: How does knowledge spread happen in other companies? Such different companies and different scales – how does that happen? 37:23 – Panel: As your company grows, communication is definitely a hard thing to accomplish. At ARTSY we try to do different things. One of our principles is...we try to document everything that goes on. Document from a process-level, and other levels, too. We have working practice groups (like the Guild) we talk about frontend issues, and other topics. Lots of meetings and lunch and learns (show and tell). We bring in outsiders in to the company to share their information. 38:57 – Nader: At AWS we have Meetups that are internal and external. We have talks, too. Every week you can find a few dozen talks around AWS and/or Amazon. You can take an hour or two out of your day to check those out. We also have demo-days that can show people what they are working on. 40:06 – Panel: Demo-days sounds very exciting. 40:49 – Panel: Find out what motivates people and go from there. 40:57 – Panel: Security as a healthcare company there is a lot of regulations, paper, and you have to keep up with standards. Can you talk about that? 41:20 – Carly: Yes, GitHub has a great feature... 43:20 – Carly: A Web Package I saw recently, and it’s called NPM / audit resolve. 44:40 – Panel: That audit resolve was purchased by NPM. Yeah, we primarily use... 45:04 – Carly: This stuff was existing out there before, and now we know. 45:12 – Panel: There is s this cognitive load that is just sitting out there. Being aware of what licenses out use and the features that you aren’t actively investing in. Building something is more than just putting JavaScript on the page – there are more concerns. 46:19 – Panel. 46:25 – Panel: Building the product is just the tip of the iceberg. It’s all of the other things you have to do to make the delivery good. 46:49 – Carly: I agree – especially on the performance-side. 48:00 – Panel: I would like to talk about these topics now: Monitoring and CI. How do you set that up? 48:19 – Carly: We have these things called Bundlesize. 49:06 – Panel: What’s the name of the library called? 49:10 – Carly: Bundlesize, I think. 50:41 – Nader: That’s all the time I have for today and thanks for coming on the show, Carly! 51:12 – Panel: Wait! Picks! 51:23 – Advertisement – Get A Coder Job! End – Cache Fly Links: Ruby on Rails Angular JavaScript Elm Phoenix GitHub Get A Coder Job Charles Max Wood’s Twitter Lenna Percy.io Percy – GitHub GitHub – Bundlesize NPM – Audit Resolver Meet Libby Backbone React – Blog The Selfish Gene Cypress.io Carly Litchfield LinkedIn Carly Litchfield Twitter Sponsors: Get a Coder Job Cache Fly Fresh Books Kendo UI Picks: Lucas App – Libby Carly Book: The Selfish Gene Justin TestCafé Create React 2.0
November 6, 2018
Panel: Charles Max Wood Special Guest: Brady Gaster In this episode, Chuck talks with Brady Gaster about SignalR that is offered through Microsoft. Brady Gaster is a computer software engineer at Microsoft and past employers include Logical Advantage, and Market America, Inc. Check out today’s episode where the two dive deep into SignalR topics. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:56 – Chuck: Hello! We are going to talk about SignalR, which is an offering through Microsoft. 1:09 – Guest: It started in 2011 that’s when I got involved, but I wasn’t with Microsoft, yet, at that point. I was working on the technology, though. Effectively you can do real time HTMP but what they did (Damon and David) let’s create a series of abstractions but not we have for Java. They basically cam up this idea let’s do web sockets and then go back to pole / pole / pole. It’s to see what the server and the client can support. Guest talks about Socket.io, too. 6:45 – Chuck: What we are talking about real time coordination between apps. 6:56 – Guest: Web sockets, 1 million...and 2.6 million messages a second! 7:05 – Chuck: I can set that up like I usually set up web sockets? 7:17 – Guest: There is a client library for each. Effectively you have a concept called a connection. 9:48 – Chuck: How do you handle authentication on the frontend? 9:56 – Guest: We have server side things that we can attribute things. 10:09 – Chuck. 10:12 – Guest: If you authenticate to the site then the site passes the token and it basically sits on top of the same plumbing. 10:38 – Chuck. 10:42 – Guest. 10:54 – Chuck. 10:58 – Guest: We recently just had the DOT NET CONF. We had an all night, 24-hour thing. 11:48 – Chuck: Here you are, here you go. You hook it all up, JavaScript into your bundle. 12:05 – (The guest talks about how to install.) 13:12 – Chuck: I could come up with my own scheme. 13:25 – Guest: The traditional example is SEND A MESSAGE and then pass you string. Well tomorrow I do that and I just change the code – it’s great b/c I send up a ping and everybody knows what to do what that ping. It’s just a proxy. 14:17 – Chuck: I am trying to envision what you would use this for? If you are worried about it being stale then you refresh. But if you want the collaborative stuff at what point do you ask: Do I need SignalR? 15:00 – Guest: When I do my presentations on SignalR and being transparent I want to send you 1,000 messages but 1 or 2 messages will be dropped. You don’t want to transmit your order data or credit card information. Do you have a hammer and you need a screw? If you need stock tickers and other applications SignalR would work. Keeping your UI fresh it is a great thing. 19:02 – Chuck: You do that at the Hub? You set up the Hub and it passes everything back and forth. What can you do at the Hub for filtering and/or certain types of events? 19:26 – Guest: I am looking at a slide. What’s the cool thing about SignalR and the API is it’s deceptively simple on purpose. If you want to call out to clients, you can get a message to all of your clients if you select that/those feature(s).  Some other features you have are OTHERS, and Clients.Group. 20:57 – Chuck: Can you set up your own? 20:58 – Guest: I don’t know. 21:12 – Chuck: Clients who belong to more than one group. 21:23 – Guest: Dynamics still give some people heartburn. (The guest talks about C#, Dev, Hub, and more!) 23:46 – Advertisement: Get A Coder Job! 24:23 – Chuck: How do people get started with this? Do they need Azure? 24:30 – Guest: You don’t need Azure you can go to Microsoft and it’s apart of the .NET team, too. 26:39 – Guest talks about how to install SignalR – see links below! 27:03 – Chuck: You don’t have to KNOW .NET. 27:11 – Guest: It was created by that team (*fair enough*) but you don’t have to know .NET. 27:57 – Guest: You can I could do JavaScript all the way. 29:04 – Chuck: Yes, we keep moving forward. It will look different what people are using. 29:21 – Guest: That was an early thing and I was reading through the old bugs from 2011/2012 and that’s one thing that kept coming up. I didn’t want to use jQuery to use SignalR – now you don’t. It’s a happy thing. 30:45 – Guest: Someone suggested using PARCEL. I have a question do you have any recommendations to have NODE-SASS workflow to have it less stressful?  31:30 – Chuck: It’s out of Ruby that’s my experience with Node-Sass. 31:40 – Guest: I haven’t used Ruby, yet. 31:46 – Guest: I haven’t heard of Phoenix what is that? 31:50 – Chuck answers. Chuck: It’s functional and very fast. Once you’ve figured out those features they almost become power features for you. Elixir has a lot of great things going for it. 32:50 – Guest: I tried picking up GO recently. 33:08 – Chuck: Lots of things going on in the programming world. 33:18 – Guest: I have always had a mental block around Java. I was PMing the Java guys and I asked: will this stuff work on... Once I got it then I thought that I needed to explore this stuff more! I want to learn Ruby, though. 34:16 – Chuck: Anything else in respect to SignalR? 34:15 – Guest: I really think I have dumped everything I know about Signal R just now. I would draw people to the DOCS pages. A guide for anything that could happen on the JavaScript side – check them out! We have tons of new ideas, too! 37:33 – Picks! 37:42 – Advertisement – Fresh Books! 47:54 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter SignalR SignalR’s Twitter GitHub SignalR Socket.io Node-SASS ASP.NET SignalR Hubs API Guide – JavaScript Client SignalR.net Real Talk JavaScript Parcel Brady Gaster’s Twitter Brady Gaster’s GitHub Brady Gaster’s LinkedIn Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Brady Team on General Session Korg SeaHawks Brady’s kids Logictech spot light AirPods Charles Express VPN Hyper Drive J5 ports and SD card readers Podwrench
October 30, 2018
Panel: Lucas Reis Justin Bennett Special Guests: Alexey Ivanov and Andy Barnov In this episode, the panelists talk with Alexey Ivanov and Andy Barnov. They all discuss Alexey’s article titled: “Optimizing React Virtual DOM.” Listen to today’s episode to hear all the details about this article, the guests’ backgrounds and much, much more! Show Topics: 0:32 – Panel: Thanks for joining us and talking about this article. 0:52 – Guest: Thanks for having us on your podcast! The guest talks about his community of developers and the offices are in San Francisco, Russia and other places. He talks about how the company helps their customers and how they can scale. Some of their companies are Groupon and Ebay. 2:39 – Alexey. 3:09 – Panel: The article is here. What is JSX how does it boil down to? It’s all supposed to help people and help them understand. 3:45 – Alexey: It’s about how to structure your state, etc. 4:15 – Panel: This keeps things small. He said when I have one idea I write a song and when I have 2 ideas I write 2 songs. If you try to put too many ideas into one post it maybe won’t go too far. 4:48 – Alexey. 5:50 – Panel. 5:56 – Panel: That’s a topic for another episode. The article is interesting in that the large percentage don’t think about rendering performance, so it’s a needed piece of content. Let’s talk about – what is the React Virtual DOM? 6:32 – Alexey goes into detail with his answer to the panelist’s question. 8:50 – Panel: What I like about this article is that you go through a good progression: here is the JSX that you would write and here is the trans piled function is. And you show the virtual DOM pre-presentation is. I think that is a helpful thing. Let’s talk about that. How does React change to those things when it’s rendering? 9:50 – Alexey. 12:58 – Panel: Okay to recap...when you are rendering an element you write some JSX and the first thing (component) that will map over to the type property is for the Virtual DOM object? And then all of that is compared – when does that happen, the comparison? 13:28 – Alexey: You have React and you create... 15:20 – Panel: So it’s both React and set state these are the only 2 things that triggered state or is there anything else out there? 15:31 – Alexey. 15:47 – Panel: Interesting. You talked about the imperative way we did it before – and it’s much simpler to say what you want, but a question is that is there any world case where it does not work well? What are the trade-offs? Have you ever encountered one? 16:34 – Alexey: If you have changes in the browse, implementations...it’s simplest and easiest way. You just need to have some little changes... 17:53 – Panel: If it’s basic then you don’t have to do manual updates. 18:03 – Alexey. Alexey: To make it work you need competence in your bundle. 18:36 – Panel: I’ve heard – haven’t worked with – when we have these projects that are really web time based, hundreds of elements in real time on a screen, on a Virtual DOM it’s too slow. You have to be precise. They had performance issues, I’m sure 98.99% of the applications probably perform better with the Virtual DOM. 19:46 – Alexey. 21:38 – Panel: That is to reduce the amount of state changes so you are reducing the amount of time it renders – right? 21:50 – Alexey. 22:03 – FRESH BOOKS! 23:11 – Panel: We talked about how type is the first thing that is checked. It does equal comparison to compare these types. What was really interesting is that class components are the same thing but not so. Is it always going to re-render for those components? 24:24 – Alexey: We have to talk about 2 things about this first. In my article... 27:49 – Panel: That is a beneficial tool too to control your rendering. You talked about tools to show updates and we will include the link to the article in the links, also I would read it and check out that particular function. It’s cool to see HOW it’s actually rendering. 28:29 – Panel: Apparently sometimes things help us in principle cause we need performance. We need to open the tools and understand what is happening? Is it really a bottleneck like I think it is? One of those Twitter things I saw a few months ago... 30:52 – Alexey: Yes, do what makes sense to you at the time. 32:08 – Panel: We talked about render performance and the pure component and not creating functions...you have a big quote in your article... I have a big question for me: You have a component, and there is a child / parent component. I am curious about that pattern – will it re-render every time? Tell us your thoughts, please. 33:16 – Alexey. 34:11 – Panel: My only issue with the render props is not a performance issue it’s more of an architectural issue. Sometimes we want things to be interjected. I want to have access to this or that. Sometimes we want to access those on a life cycle. The higher the component makes it easier to add a... That’s my only complaint about render comps. 35:35 – Alexey. 36:00 – Panel: Like composing consumers? 36:06 – Alexey: What we are talking about is... 37:00 – Panel: I agree. There are some interesting cases with that pattern when you have a lot of those chained together – function, function, etc. – there are some components that will help you compose... 37:34 – Panel: It’s like callback hell all over again. Everything is a tradeoff somewhere. After the tree it looks clean with render props. I like it even with the drawbacks. 38:25 – Panel: You spent some time talking about lists of children and how you (if one of the children are removed) then it ends up re rendering all the children cause it’s comparing their positions. You mentioned key is one way to deal with that. Let’s talk about keys. When people use keys they are using an array of an index. It seems like it defeats the purpose of it – is that right? 39:20 – Alexey: Yes, you are right.  40:19 – Panel: I think that continually and it’s a smaller known thing but people want this key error to go away and they just shove something in there. To some extent it’s good to know if your tool requires something it’s good to know WHY it requires that. 40:52 – Panel: Last question. Is that the person to program and be a web developer and they are learning React. This is the tool and they are learning how to use React for an app then when we are throwing articles at them. If they are learning React and these articles are at them I think it’s a cognitive overload. What are your thoughts / advice? 42:07 – Guest: How beginner should you be before you learn React? Ideally you should be aware of JavaScript, right? Sometimes people do this to catch up to something shiny. This is just my 2 cents.  43:03 – Alexey. 44:49 – Panel: When you are going to hire someone to do something or choose a framework always try to do a little bit of work without it. Try to build an application w/o React, and then React is introduced to you, you will only see the benefits that they are brining. One thing that happens inside the React world is that people don’t write an application... Start with the basic building blocks – that makes sense to me. 46:05 – Panel: Let’s go to picks! 46:13 – Advertisement – Get A Coder Job! Links: Ruby on Rails Angular JavaScript Elm Phoenix GitHub React: The Virtual DOM Elixir and Phoenix Bootcamp Alexey Ivanov’s Twitter Andy Barnov’s Twitter Rob Pike’s YouTube Video Understanding Comics Understanding Comics – Book Get A Coder Job Charles Max Wood’s Twitter Sponsors: Get a Coder Job Cache Fly Fresh Books Kendo UI Picks: Lucas Check your room for sound Andy Go Programming Language Alexey Understanding comics Justin The Complete Elixir and Phoenix Bootcamp
October 23, 2018
Panel: Charles Max Wood (DevChat T.V.) Special Guests: Aaron Gustafson In this episode, the Chuck talks with Aaron Gustafson who is a web standards and accessibility advocate working at Microsoft. Aaron and Chuck talk about PWAs and the ins and outs of these progressive web apps. Check out today’s episode to hear more! Show Topics: 0:36 – Chuck: Our guest is Aaron, say HI! 0:41 – Aaron: Hi! I have been working on the web for 20 plus years. I am working on the Edge team for accessibility among other things. I have done every job that you can do on the web. 1:08 – Chuck: That is one of OUR publications? 1:14 – Aaron: No the communities. I joined the staff as editor in chief for 1.5 year now. It’s a nice side project to do. 1:36 – Chuck: I thought it was a commercial thing. 1:40 – Aaron: No it’s volunteer. 1:52 – Chuck: Talk about your web background? 2:02 – Aaron: I remember the first book I got (title mentioned). My first job on the web (cash) I was the content manager in Florida and this was in 1999. Gel Macs just came out. I relocated from FL to CT and worked for other companies. I got into CSS among other things. It’s been a wild ride and done it all. 3:52 – Chuck: Let’s talk about web standards? 4:05 – Aaron: It depends on the organization and what the spec is and where it originates. It’s interesting to see how HTML developed back in the day. When standardization started working then everything started to converge. Everything is a little different now. Some specs come out from companies that... (Apple, Responsive Images, and Grid are mentioned among other things.) 7:37 – Chuck: We set up to talk about PWAs. Where did PWAs come from? 7:57 – Aaron: Modern web design, best web applications. Being secure. One of the underpinnings came out from Google and they have been supporters of that. Firefox is working on installation as well. The Chrome implementation is weird right now, but it becomes an orphaned app. It’s like the old chrome apps where in Windows you can install from the Microsoft store. But the case of Chrome you don’t have to go through the store. 10:14 – Chuck asks a question. 10:24 – Aaron answers. 11:53 – Chuck: What makes it a progressive web app rather than a regular website? 12:05 – Aaron: The definition is running on HTPS and... Aaron defines the terms that Chuck asks at 11:53. 12:43 – Aaron: Of course you can push forward if it makes sense from the baseline. 12:56 – Chuck: We have an Angular podcast, and we talked about PWAs and nobody had a good definition for it. 13:18 – Aaron. 13:22 – Chuck: What are the pros of having a PWA? Let’s start with the basics first. 13:33 – Aaron: The ability to control how you react to the network. We development is challenging maybe in other areas because of the lack of control and how your code gets to your users. Any special needs that YOU might have. Aaron goes into detail on this topic. 17:14 – Chuck: Is the service worker the star for PWAs? 17:20 – Aaron: In a way, kind of. Aaron goes into detail on this topic. Share 2 is mentioned, too. 19:42 – Chuck: If the service worker intermediates between the browser and the page / Internet would it make sense to have your worker have it load and then load everything else? Cause you have those Web Pack now. 20:14 – Aaron: Some people would consider it but I wouldn’t necessarily. I am not a fan for that. If anything goes wrong then nothing loads. I remember back when... 22:23 – Aaron: That is a lot of overhead. 22:34 – Chuck: I am wondering what is the best practice? How do you decide to pull in a service worker and then move into more complicated issues? 22:53 – Aaron: Progressive Web App where they talk about their evolution about this. 25:17 – Advertisement – Fresh Books! Code: DEVCHAT. 26:25 – Chuck: In order to be a PWA you don’t need to have a push notification. 26:38 – Aaron: I don’t think anyone would want a push notification from me. 27:12 – Chuck: What features do PWAs have? 27:18 – Aaron: Features? None of them really, other than push notifications, it’s just standard it’s going to make an App feel more App “y”. If that’s something you want to do. It’s up to you to determine that. There is going to be like push notifications – sending person new updates about the order. If you were a new site you want to make sure you are not doing a push notifications on everything cause that would be too much. Exercising care with the capabilities with what the users are doing on your computer. This is a person that you are dealing with. We need to seem less needy. Give users control of how they want to use it. For example, Twitter will give you that control per user. 30:56 – Chuck: Could you also do it for different parts of the page? 31:01 – Aaron: It’s different scopes. Your servicer worker has different scopes and it needs to be in the root folder or the JavaScript folder. You can have different workers but they will come from different scopes. 31:32 – Chuck gives a hypothetical example. 31:50 – You can do a bunch of different service workers. 32:11 – Chuck: This is why we create different hierarchies in our code. 32:26 – Chuck: Is there a good point where people can be more informed with PWAs? 32:40 – Aaron: PWA stats website and Twitter account with Cloud 4. 33:22 – Chuck asks a question. 33:26 – Aaron: Yes. If you are a photographer you don’t want to cash all of your photos on someone’s hard drive. We have to be good stewards of what is operating on people’s hard drives. Even something as simple as a blog can benefit from being a PWA. 35:01 – Chuck: Are there new things that are being added to a PWA? 35:12 – Aaron: A new feature is the background sync. Aaron: What is native and what is web? 36:33 – Chuck: Yeah it can detect a feature in your machine. Dark mode is... 36:48 – Aaron: It would be nice to see things standardized across the board. 37:00 – Chuck: How does this play into Electron or Android or...? Do those need to be PWAs? 37:16 – Aaron: It depends on what you are building. So I talked with people through Slack and they want total control. If you r desire is to shift the same experience then Electron can make a lot of sense. They will have to pay a premium, though, your users. If you are aware of that then go the Electron route. But for most cases then Electron might be overkill for you. You don’t need that extra overhead. 39:55 – Aaron continues. Aaron: I think the major benefit of PWA is... 41:15 – Chuck: The other angle to that is that in an Electron app does it make sense to use a PWA things? 41:23 – Aaron: Yes that makes sense. 41:34 – Unless for some reason you need to unlock into an older version, which I hope is not the case b/c of security reasons. 41:55 – Aaron continues. 42:34 – Chuck: Where can we find you? 42:35 – Aaron mentions Twitter and other sites. See Links! 43:02 – Advertisement – Get A Coder Job! Links: Ruby on Rails Angular PWA States Website PWA Twitter Electron Aaron’s Website Aaron’s LinkedIn Aaron’s Twitter Aaron’s GitHub Aaron’s YouTube Channel Aaron’s Medium Get A Coder Job Charles Max Wood’s Twitter Sponsors: Get a Coder Job Cache Fly Fresh Books Kendo UI Picks: Aaron Home Going by Yaa Gyasi Zeitoun What is the What Affect Conf. Charles Armada
October 16, 2018
Panel: Charles Max Wood (DevChat T.V.) Nader Dabit Justin Bennett Lucas Reis In this episode, the panel talks amongst themselves about: What is THE dream job? How do you define YOUR dream job? And how do you GET your dream job? Check out today’s episode to find out more! Show Topics: 1:02 – What does a dream job even mean? 1:08 – Nader: It means that you wake-up and you are excited to go to work instead of dreading it. 1:34 – Lucas: Dream jobs I think change depending on your life’s moments. It changes from person-to-person and from time-to-time. After some months there you are feeling like you are always growing as a person and as a professional. 2:24 – Chuck. 2:38 – Justin: My idea is that it has some impact on the people in your world. What is my impact on the world – what is my footprint – what am I doing? My last job was advertisement, and my job was to drive eyeballs to ads. That wasn’t what I wanted to do anymore. 3:49 – Charles: What do I want to do with DevChat? It’s not always fun, and why am I doing this. For me it’s personal freedom and an impact within the world. What are your big three that will make a big difference to you? There are all sorts of reasons, but once you know that then it’s easier. When my resume comes across their desk it comes with an endorsement. If you don’t have anything else to sell them, especially if you are a new developer. The last few jobs you’ve gotten how did you find them? 6:25 – Nader. 6:52 – Panelists: Recruiters. I used that to build myself up. Then I got into: Where DO I want to work? I will check Twitter, GitHub, Hacker News, and I keep my eyes open. At Artsy we try to build on those relationships. We are hiring! 8:31 – Chuck: I think most companies are like that – they will hire the people that they know. Doing the research, figuring out what company you want 9:10 – Panelists: Don’t be afraid to meet-up with people and ask them questions. You aren’t just trying to leech off of them and figure out what YOU can contribute back. 9:47 – Chuck: Even if you are trying to network with people to get a job – make sure you don’t look like you are trying to leech off of them. 10:20 – Lucas: When I moved to the U.S. about a year ago... A question I asked myself: Where will I contribute well? There are some markets that I am not interested in and there are some that I am interested in – that’s where I want to go. I like helping people with their health. Their website (company I am working for) is very eCommerce like. I know I can contribute, and it’s a mission that I am all about. Where do MY skillsets help? For junior levels time is on your side – contribute your time. You can help them with When you are young you have time. Everyone can follow their skillset. Try to find the places where you want and where do you want to contribute. 13:06 – Chuck. 13:20 – Even senior engineers we undervalue ourselves – it’s easy to do. When friends are trying to break into the industry I tell them to track their projects. 14:26 – Chuck: It shows the eagerness to learn and be willing to learn and contribute. On GitHub – be consistent with your contributions; it shows initiative. 15:33 – Nader, how did you get your job? 15:40 – Nader: Developer Advocate is the job I have now. Nader talks about how he got his current job. The main thing that I would recommend is to learn in public. Even if it’s not that impressive – overtime you will standout. It’s all about standing out, because you don’t want to sell yourself. 17:52 – Advertisement – Fresh Books! 30-day trial. 18:58 – Chuck. 19:20 – Lucas: I am doing a lot of interviews now – a lot of times we want to hire people but we can’t for a certain skillset. One interesting thing is that even though you have an initial “no,” we could use that person later. 20:04 – Chuck: If it comes down to a good relationship then you can make that work to your advantage. People should be following-up to see if HR is reposting the job. Give them a lot of reasons to hire you! 22:30 – Panelist: If you aren’t excited to work there then it’s really telling. Searching for any opportunity just to grow is okay but it will be telling to your possible future employers. 23:40 – Chuck: Nader talked about standing out, and here you are talking about the same thing. Nobody goes to this level of effort to get a job at a company. 24:13 – Lucas: Do you think this applies to the big companies like Facebook or Google? 24:28 – Nader: I think these same principles do apply. When you start thinking about these big companies as actual people – then you have a better shot of getting hired. Go through Meetups and finding people who work there. Building relationships is what it’s about. 25:40 – Chuck: Companies are made-up of people – that’s it. Sometimes the company will go to bat for you and try to convince HR that you could be the right person. Give them reasons to hire you – sometimes it works and sometimes it doesn’t. 27:03 – Lucas: Sometimes you THINK you want to work for a company, but how do I gather that this is the correct decision. In the middle of the interview – I realized that this wasn’t the right place for me. How do I got about that? 27:50 – Chuck: I lay out the TOP Three in my eBook. The best place to find out this information is finding out through past or current employees through X company. A lot of information, too, you can get through GlassDoor. You can do a people search through LinkedIn. Have that conversation with them over lunch and ask them those questions and find out. 31:48 – Justin: As you are reaching out to these people, keep them in mind as a possible mentor. Someone who you can learn from and that they can possibly mentor you. I think that can be undervalued. Really focus on “is this someone I could build a relationship with to help me with my career.” The relationship is a give and take – you don’t want that to show through. You should be interested in the person and helping them in some way, too. 33:11 – Chuck: I agree. Chuck talks about mentor / advisor relationship some more. 34:00 – Lucas asks Chuck some questions. Lucas: Some people have a difficult time reaching out – what are some great tips for this? 34:31 – Chuck: Everyone is different. For me, I have to put out a certain number. You have to be willing to go out and do it. If you can’t work with people, then sorry tough luck. Nowadays you will be working with a team of other programmers. Relationships are all about give-and-take; like my wife and me. 36:17 – If you aren’t comfortable in social situations there are things to slowly get you comfortable. Maybe send a tweet through Twitter. Being visible and contribute to slowly put yourself out there. Do whatever you feel comfortable with and challenge yourself just to TRY. Most people aren’t trying. 37:45 – Chuck: Sometimes that direct approach is or isn’t there. You can strike up a conversation about code and then it can go from there. It can happen in stages. 38:37 – If our experiences don’t align then that’s okay. Really try. Make sure you put in more effort than the people that are applying just via their website. Do more than just the 39:17 – Chuck: The more personal you can make it the better chance you have of getting hired. 40:00 – Picks! 40:04 – Advertisement – Get A Coder Job! Links: Kendo UI Ruby on Rails Angular Redux Meetup Get A Coder Job Charles Max Wood’s Twitter Nader Dabit’s Twitter GitHub – MDX-DECK Jasper DocZ Sponsors: Get a Coder Job Cache Fly Fresh Books Kendo UI Picks: Charles The Great British Baking Show Get A Coder Job Nader WatermelonDB Lucas GitHub – MDX-DECK Justin DocZ Jasper
October 9, 2018
Panel: Charles Max Wood (DevChat T.V.) Nader Dabit (Poland) Special Guests: Tomas Eglinskas In this episode, the panel talks with guest speaker, Tomas Eglinskas, and the panel talks to him about an article he wrote via Free Code Camp Medium. Currently, Tomas is a software developer at Zenitech. The panel and the guest dive-into lessons that not only apply to being a developer, but great life lessons that everyone can learn from. Check-out today’s episode! Show Topics: 1:18 – Chuck: Our special guest is Tomas Eglinskas. We want to talk to you about your article you wrote on the Free Code Camp Medium. How do you get something posted/published there? 1:29 – Tomas – It’s not that hard to get something published there. You can send your articles via email and they will publish it. You can get feedback and resend it, and perhaps they will publish it. 2:06 – Chuck: Quincy and you are besties, right? 2:11 – Chuck: We should get Quincy on this show. 2:21 – Chuck: How did you get into React? 2:25 – Tomas: How I got into React is a bit interesting. It started at the university; at first it was really, really hard for me. Time pressed on and I got hooked. It’s really, really fun. That’s how it initially started. 3:06 – Chuck: Article is titled: “The Most Important Lessons I’ve Learned After a Year of Working with React.” 3:18 – Tomas: What started behind it: I was doing my bucket list. I wanted to publish something at some point. I wanted to try to write and share something from my side of things. I wanted to prove to myself that I can/could. 4:05 – Nader: What do you do now with React? 4:13 – Tomas: We do everything: frontend and backend. In my company we usually use everything with React with production and with my own projects. I have tried Angular but I like React best. 4:45 – Chuck: I am curious...How do you get past that? Where my way is the right way. 5:10 – Thomas: That sentence came from when I was learning it. People would say: this is the way, or someone else would say: no, this is the way. People are afraid of doing their own projects and using the technology. Finding information and figure out what is right and what is wrong, but you eventually figure out your own opinion. There are so many opinions and tutorials and it’s frustrating, because there are too many things to learn. 6:26 – Chuck: Nader, what is the right way to do it? 6:33 – Nader: Yeah, I agree. It’s hard to decipher. What is right or what is wrong? How did you come to your conclusions? My best practices might not be the best practices for someone else. 7:18 – Tomas: Everyone is learning all the time. Their experiences are different. You have to decide what is best for the long-term. At least for me, it was practice and learning and reading from other people; from podcasts, articles, etc. I am open to say that I am not right, but want to know why it’s not “right.” Always trying, always making mistakes. I guess something like that. 8:42 – Nader: Don’t stick to the basics and become advanced. In any career right now you don’t know how to do everything, but to do one thing (topic) really well. The generalists aren’t the people they are hiring; they are hiring the specialists. 9:24 – Tomas comments. 9:37 – Chuck: There is something to be said – I think it’s good to know general things, but you are right. They are hiring the specialists. They are going to look at you differently than other people. You like your thinking challenged a bit. Where do you go to do that to upgrade your skills? 10:18 – Tomas: The silliest one is going to interiors. That’s the fastest way of feedback: what is right or wrong about my code. Going to conferences and Meetups, and doing projects with someone else. I was doing a project with a friend – everybody used Java – but we all used it differently. We all worked together and challenged each other. 11:43 – Chuck: Talking to people – asking them: how do you do this, or why do you do it this way? 12:01 – Tomas: Don’t be shy and have a presence. I guess in America there are a lot of Meetups, in my country we don’t. In the States you have the people who do the tutorials, and such. You can be challenged everyday. 12:40 – Chuck: It depends on where you are. Utah we have a strong community. It’s interesting to say. There was a talk given my Miles Forest at a conference. He would drive to Seattle to be apart of a users group to be apart of it – he would drive 2-3 hours to do this. Eventually, he made his own user group. 13:55 – Nader: I am here in Europe now. I have seen a lot of events going on. Just all of the countries I have heard of different events. I haven’t heard about Lithuania, where you are at Tomas. 14:28 – Chuck: Get A Coder Job. Find Meetups – I will tell people to do this. They will say: There aren’t any in my area. I tell them to type in different search words. To me, it’s telling because it’s “just TRY it!” You never know what will be out there. Go look and see if there is something out there for you. 15:28 – Nader: I agree. I learned a lot through those. 15:59 – Tomas: It is a dream to be an organizer of event but people are afraid that nobody will show. Nobody expected for people to show-up, but they did! Don’t be afraid – you’ll have a great time! 16:44 – Chuck: React is revolving so you need to be up-to-date – good point in your article. People want to reach some level of proficiency. You have to keep learning. How do you stay up-to-date with all of the new features? How do you know what to look at? 17:58 – Tomas: Don’t forget fundamentals. Now understand React from under the hood. You must know the reason behind it. I think that is the basic thing and the most important one, at least in my opinion. We get so wrapped up with the new things, but forgot the basics. 18:41 – Advertisement – Digital Ocean 19:27 – Nader: I am always checking Twitter. This is a good place to start, because I will see something being discussed and then maybe a year later how it all comes together. Twitter is real time. I follow the few top dozen important people through Twitter; Facebook people and other important people. They will talk about what is happening NOW and proposed things. Also, following people through Medium as well as GitHub. 21:01 – Tomas: I agree about Twitter. It’s fun to see what people are talking about. Things that you normally don’t hear through normal avenues. 21:27 – Nader: What interests you for the future? What do you want to specialize in? 21:41 – Tomas: As I progress, and I know more things (than I did before) I find that I want to KNOW more, in general! I am focused on React and try new things. I think about DevOps, but it’s important to know at some level different things as a whole: the backend and the frontend, too. Why is DevOps is important in the first place. I like to understand the system as a whole. And little by little I want to specialize in the frontend, too. It’s good to know the whole infrastructure, too. 23:23 – Nader comments. 22:45 – Tomas comments. 23:55 – Nader and Tomas go back-and-forth. 25:15 – Tomas: How big is your workshop? 25:24 – Nader: We just did one in Croatia. It depends really 2 days, etc. Different lengths. 25:47 – Chuck: Nader, how do people find these different workshops? 25:54 – Nader: Just follow me through Twitter! 26:11 – Tomas: I would like to attend. 26:19 – Chuck: What was one of these lessons that were the hardest for you to learn? 26:33 – Tomas: Not sticking to the basics. When you can show things that are more advanced. When you push yourself to know advanced topics then you are pushing those around you, too. You are encouraging others to learn, too! So that way both, you and the other people, aren’t stagnant. 27:51 – Chuck comments. 28:00 – Tomas: It’s not even “fancy” it’s knowing the basics. Tomas was talking about tutorials and other topics. 30:02 – Nader and Tomas go back-and-forth. 30:24 – Chuck: I think it’s telling and what you are pointing out in your article. Some people get to a level of proficiency, get the job, and then they go home, and that’s it. They aren’t pushing themselves. I’m not knocking these people. But there are people out there saying: Here is what I learned, this is what I want to share. 31:29 – Tomas: Yes, share your knowledge! 31:43 – Chuck: Other thing I want to talk about is another point in your article. 32:07 – Tomas: You will look at your code a few days/weeks later and you will say: Wow, I can do this better. Don’t bash yourself; learn from it. The most interesting screw-up was when I deleted a GitHub... 33:43 – Chuck: What is your good / bad story, Nader? 33:55 – Nader: My first job and have written the most terrible code. Go back a week / month later and notice major issues. The first year writing React was rough / interesting times. I learned a lot, because you are learning how the different architectural things work. 34:48 – Tomas: What was the hardest thing to learn? 34:56 – Nader: Something being “buggy” and over-complex. It wasn’t the original Flux, and it was a variant. Everything after Redux was easier. If you understand Redux then it’s pretty nice. 36:07 – Thomas: I think Redux was the biggest headache for me. When you are starting off it’s magic. 36:38 – Tomas: I like when people don’t over-engineer things. I am happy from time-to-time if you need Redux, great, if not then that’s fine. 37:28 – Chuck: Let’s do picks! Where can people find you, Tomas? 37:35 – Tomas: Medium. There are other things I want to talk about, so Medium is a good platform. A little bit of GitHub, too. I follow Twitter people, but I’m not active. In Europe, people use Twitter – we follow the famous people, but aren’t that active. 38:45 – Advertisement – Get A Coder Job! Links: Kendo UI Ruby on Rails Angular Redux Meetup Get A Coder Job Charles Max Wood’s Twitter Nader Dabit’s Twitter Nader Dabit’s Website Tomas Eglinskas’ GitHub Tomas Eglinskas’ LinkedIn Tomas Eglinskas’ Medium GitHub’s Twitter Free Code Camp Medium Tomas’ Article: “The Most Important Lessons I’ve Learned After a Year of Working with React.” Sponsors: Kendo UI Digital Ocean Get A Coder Job Picks: Charles CodeBadge.Org – Kickstarter Book – Get A Coder Job Video Course ^ Zapier ConFreaks Kent C. Dodds Nader Frontend Conference – December – Warsaw – Some speakers have been announced, not all AWS Tomas Egghead and Frontend Masters! Dribble – to progress as a frontend developer
October 2, 2018
Panel: Charles Max Wood Lucas Reis Justin Bennett Special Guests: Peter Mbanugo In this episode, the panel talks with guest speaker, Peter Mbanugo. Peter is a computer software specialist who works with Field Intelligence and writes technical articles for Progress Software and a few others. He studied at SMC University and currently resides in Nigeria. They talk about his creation, Hamoni Sync, and article, Real-time editable data grid in React. Also, other topics such as Offline-First, Speed Curve, Kendo UI are talked about, too. Check out today’s episode Show Topics: 1:30 – Chuck: Let’s talk about what you built and how it works. Topic: Real-time editable data grid in React. 1:40 – Peter: Real time editing. It allows you to edit and have the data go across the different devices. Synchronizing your applications. For the  2:47 – I saw that you built also the... 2:58 – Peter: Yes, I built that with Real-time. Most of the time I have to figure out how to build something to go across the channel, such as the message. Then I built the chats. Next month 4:33 – Justin: It says that it can go offline. That is challenging. How are you going about that? 4:51 – Peter answers the question. Peter: When you loose connections and when the network comes back on then it will try to publish anything to the server while offline. If you are trying to initialize the... 5:42 – Awesome. 5:45 – Peter continues his thoughts. 5:56 – Lucas: This is really interesting. Form something really simple to tackle this problem. I have gotten into so many problems. Congratulations on at least having the courage to try such a system. 6:35 – Justin: When you have someone interacting with one of these applications, lose connectivity, is the service handling this behind the scenes? 6:56 – Peter: Yes.  Peter goes into detail. 7:19 – Justin: Neat. That would be interesting to dig more into that. 7:35 – Lucas: I had a friend who sent me links and I was like WHOAH. It’s not an easy task. 7:57 – Peter: Yes, offline – I am learning each and everyday. There are different ways to go about it. Then I go write something about conflict free of different types. I thought that was the way to go. I didn’t want it to be something of the declines. 8:50 – Lucas: How did React work for you? 9:24 – Peter answers the question. 9:58 – Panelist: I was trying to synchronize the system. There are 2 types: Operational Transformations and CRDTs. It’s a really hard problem. 10:35 – Lucas: Now we have multiple devices and they can be far away from each other. Updates to send to the same server. I think that this is really complicated world. Even consider new techniques that we use in RI. You have a long in process. You need to react to them. Maybe dates that you cannot get. Hard problem we are solving now. 11:56 –Justin: Even interacting with applications that ... it has made our products that aren’t approachable if someone doesn’t have a good Internet connection. Synchronizing connections while offline. So you can have offline support. These are problems that we can resolve hopefully. 13:01 – Lucas: It affects everyone. Back in Brazil we had problems with connections, because it’s connections. Now I live in NY but the subway my connection is hurt. 13:40 – Peter: Yes, I agree. Peter talks about his connections being an issue while living in Africa. 14:52 – Justin: How does that affect your development workflow? 15:08 – Peter answers the question. 17:23 – Justin: Shout-out to the Chrome team. Tool called LIGHTHOUSE. It can test for accessibility, SEOs and etc. Good same defaults and trying to test Mobile First. When I was learning about performance I wasn’t thinking about the types of devices that people would use. The edits tab really helps think about those things. 18:41 – Digital Ocean’s Advertisement 19:18 – Justin: Any tools to help test your download speeds or anything authentication tools? 19:36 – Peter answers this question. 20:15 – Panelist asks the same question to Lucas. 20:22 – Lucas: interesting question. Even though the website was doing pretty well we were in the dark. We did a huge migration and it wasn’t clear about the performance. So my first mission here was start using a tool called SPEED CURVE. It only gets better. For a company who needs to acquire a tool SPEED CURVE is great. They have the LIGHTHOUSE measurements in their dashboards. So it can follow through time your scores and all of your analysis. These are the tools we use today. They have both synthetic and real user monitoring. So when we are measuring things on our Chrome it is a picture of your machine (biased picture) they make it both synthetic and film your page and compare through time. Analyze your assets. Some code on your application and collects statistics for each user. Relic I have used before, too. I do believe those tools are of great help. I am sure there are opensource initiatives, but I haven’t played 22:56 – Peter: Have you tried...? 23:07 – Lucas continues. LIGHTHOUSE. 23:56 – Justin: It gives great visualizations for people to see. SPEED CURVE. Where we are at – so they can see that – it’s powerful. 24:40 – Lucas: Interesting story we used SPEED CURVE. Real users and synthetic measurements; our website was getting slower and slower. We couldn’t figure it out. What is happening to our application? It turned out that the app more people were using it on the mobile. The real user speed was going up because they were using mobile. The share of mobile users and performance was getting better. You look at the overall average it was getting slower. Interesting lesson on how to look at data, interpret data and insights. It was really interesting. 26:21 – Peter. 26:25 – Lucas continues the previous conversation from 24:40. 27:00 – Justin: Taking the conversation back. It’s always a challenging problem because the implications are hard to use. What was your experience with React Table? What are the pros and cons? 27:40 – Peter: React Table is quite light. It is pretty good on data. I haven’t had much of a problem. It is okay to use. The other ones I haven’t tried them, yet. 28:08 – Justin: Same question to Charles and to Lucas. 28:21 – Lucas: I have never worked with big tables to render the massive data or tables that need to be edits and stuff like that. I don’t have experience with those components. Play here and there. It is interesting, because it is one of those components that are fighting the platform and it’s a good source of interesting solutions. 29:05 – Chuck: Kendo UI has one. I need something that his more barebones. AG Grid. 30:03 – Justin: React Windows. It optimizes long lists. It just renders what is in the current window. 30:22 – Ryan Vaughn. 30:28 – Justin: Cool library. 30:36 – Lucas: Use it as a learning tool. How do you all decide when to actually start using a library? As early as you can? Libraries to solve our problems? 31:19 – Peter: It depends on what I am doing. 31:53 – Fascinating question. Not one size fits all. It’s a balance between product deliverable needs and... There can be risks involved. Fine balance. I find myself doing a lot is I will default using a library first. Library that isn’t too large but what I need for that project. If there is a hairy feature I will use the library until my needs are met.  33:49 – Lucas adds his comments. Lucas: You want to differentiate yourself. I love GitHub. 35:36 – Question to Charles: I know you have tons of stuff going on. What’s your thought process? 35:53 – Chuck: If I can find stuff on the shelf I will pay for it. My time adds up much more quickly then what the dollars do. I will pay for something off the shelf. I only mess around for a while but if I can’t find something to help me then I will go and build something of my own. I got close with Zapier, but I got to the point that I wanted to put something together that I built my own thing through Ruby on Rails. Generally I will pay for it. 37:07 – Panelist: Yes, I don’t think we all don’t value our time and how expensive time is. 37:25 – Chuck: I own the business. My time is of value – it’s more important to me. It’s a trap that people fall into not to value their time. 38:11 – Lucas: We are not all working on what we SHOULD be working on. This isn’t going to bring business Productive time that we are using with stuff that is not our business or our main focus. Focus on the core product. Try to get the customers to have a better life. The mission of the company. The web community that started that most is the Ruby community. Having solutions and focusing on the problem. I think that JavaScript is now doing a better job of this. As we know it’s easy to fall into this trap and play with building blocks. 39:52 – Chuck: I have had a few people remind me that I am a DEVELOPER! 40:19 – Justin: The thing I have estimating is the difficulty of something. I can build it because I am a developer. Is it valuable for me? 41:10 – Lucas: The sunken costs sink in – I have done all this work and now look where I am at? 41:33 – Chuck: Anything else? 41:43 – Peter: Check out me through Twitter and the Dev blog. Message me anytime. 42:13 – Chuck: Picks! 42:18 – Advertisement. Links: Kendo UI Ruby on Rails Angular Get A Coder Job Redux Agile Real-time editable data grid in React Peter Mbanugo’s Twitter Peter Mbanguo’s LinkedIn Peter Mbanguo’s Dev.To Peter Mbanguo’s GitHub Peter Mbanguo’s WordPress Lucas Reis’ Email: lucasmreis@gmail.com Charles Max Wood’s Twitter Sponsors: Kendo UI Digital Ocean Get A Coder Job Picks: Charles Book: The ONE Thing Get A Coder Job – It will be out next week! T-Shirts & Mugs – Podcast Artwork - SWAG Kickstarter – Code Badge.Org Justin RC BLOG Podcast: Indie Hackers Indie Hackers Lucas Blog Post: Thirteen Ways of Looking at a Turtle Peter Library – Opensource Masters of Skill – Podcast Book: Ego is the Enemy Book
September 25, 2018
Panel: Charles Max Wood Lucas Reis Justin Bennett (guest host) Special Guests: Gant Laborde In this episode, the panel talks with Gant who has been programming for twenty years. In the past, he has been an adjunct professor and loves to teach. Finally, he talks at conferences and enjoys sharing his ideas. The panel talks about the React State Museum, among many other topics, such as: React Native, Flux, Redux, Agile, and XState. Show Topics: 1:24 – Chuck: What do you do? 2:02 – Chuck and Gant: We met at React Rally at 2016. 2:17 – Gant: I have my own sticker branding with a friend in Japan who is genius. She draws all these characters. They are my business card now. 2:41 – Chuck: React State Museum- talk about its brief history and what it is? 2:54 – Gant: React is this beautiful thing of passing these functional capsules around and managing them. Once you start creating another component, the question is how do you actually manage all of these components? We are all so happy to be on the cutting edge, but state management systems come up and die so fast. For like Facebook, there are 2 people who understand Flux. What happens is Redux is the one thing that shows up and... 6:34 – Chuck: I want to say...I think we need to change the topic. You said that JavaScript USED to be bad at classes, but it’s still bad at classes! 6:52 – Gant: Yep. 7:21 – Chuck: Typescript gets us close-ish. 7:31 – Chuck: Do you get feedback on the library? 8:12 – Gant: The requests that I’ve got - it’s from people who are better at (that0 than me. I wanted to test the lines of code. But that’s unfair because there are a lot of things to do. It really was a plan but what happens is – components that are used in this example is that in this node module... 9:41 – Panel: This is an interesting topic. When you assess any technology...if you are not a technology expert than you really can’t say. That’s interesting that you are doing this an open-source way. 10:25 – Gant: I am a huge fan of this vs. that. I am okay with say “this” one wins and “that” one looses. I don’t declare a winner cause it’s more like a Rosetta Stone. I had to find pitfalls and I respect that for the different perspectives. At the end of the day I do have opinions. But there is no winner. They are all the same and they are all extremely different. Are you trying to teach someone in one day? I learned Redux in 2 different days. 12:00 – Panel: Is there a library that helps with X, Y, Z, etc. 12:16 – Gant: I love for teaching and giving people a great start. I just set state and live life. I had to show what X is like. 13:59 – Chuck: Like this conversation about frameworks and which framework to use. Everyone was using Redux, because it was more or less what we wanted it to do. But at the time it cleaned up a bunch of code. Now we have all these other options. We are figuring out... How to write JavaScript if web assembly really took off? Do I write React with X or with Y. And how does this affect all of this? We had all of these conversations but we haven’t settled on the absolute best way to do this. 15:50 – Panel: This is great, and I think this is from the community as a whole. 17:20 – Chuck: I need to ask a question. Is this because the requirements on the frontend has changed? Or... I think we are talking about these state management systems, and this is what Lucas is talking about. 17:45 – Gant: I think it’s both. 18:43 – Panel: Websites have gotten bigger. We have always been pushing CSS. Panelist mentions Facebook Blue, among other things. What does your state look like? What does your validation look like? We are on so many different devices, and so on. 20:00 – Gant: I agree to echo everything that you all have said. I think the expectations are tighter now; that we have less drift. People are being more cognoscente and asking what is our brand. And it’s about brand consistency. And we are expecting more out of our technology, too. We keep pushing the envelope. What about these features? We want to be feature rich, and pushing these envelopes – how can we build more faster with less complexity while building it. You have to put that complexity somewhere. It’s interesting to watch. 22:00 – Chuck: How do we use this React State Museum...where are we going next? 22:19 – Gant: It’s a loaded question. Being able to ID new and interesting concepts. If you had a terrible version and Redux comes along, Redux is great for some companies but not all. You won’t see bugs that are crazy, there is a middle-wear, and maybe for your team going into Redux will make things more manageable. 25:25 – Advertisement – Digital Ocean 26:05 – Panel: Understanding your problem is the first thing to do. Talking about evolutionary architecture – to build your software to evolve. What does tha fit really well? So if you have to pick something new you are in a good position. What are my needs? Don’t look too much forward or 27:38 – Chuck: Advice on looking at your problem-sets? 27:52 – Panel: We have gone from planning too much to not planning at all. I don’t need to plan for too much or else it will “hurt” me. 28:42 – Chuck comments and mentions Agile. 29:29 – Panel and Guest chime in. 29:39 – Panel: I worked on a project (3 months) we needed to do a big change. I asked them why didn’t we take that into consideration. And their answer was... 30:30 – Gant: You might get away with... 30:55 – Chuck: What are some of the knobs on this? If I turn this know Redux is looking good, but if I do this... 31:12 – Gant: There are a lot of attractive knobs. Using app sync, not using app sync. 32:33 – Gant: Is your app really effective? That’s your first important question. How much state do I need on the frontend. And vice versa. 34:02 – Gant: How easy will this be to test? Can I teach someone how to do this? If I cannot teach it then it won’t do my team any good. 34:35 – Panel adds in comments. 35:08 – Gant: Looking at tests. 37:25 – Panel: If you have a great backend team then you can move the work across the team. You have a strong team to move that work along that line – normally you can’t cross that sort of thing. 38:03 – Chuck: There are so many options, too. I see Apollo getting reach here. I don’t see it as a statement tool instead I see it as... 38:31 – Panel: Apollo State – seems like they are pushing the envelope. It’s interesting to watch. 38:54 – Chuck. 39:12 – Gant: I am going to go ahead and use this tool – I am not going to worry about it. But now you are being held accountable. 39:29 – Panel: Question for folks: React not having a blessed ecosystem can hold people back in some ways? You have the freedom to use what you want. Here are the tools that you can use. Do you tink it be better if the Facebook team could do... 40:20 – Gant: I find that I don’t like (being told) this is what you will be using. I am a person with idea. We’d all be using Flux and all be very upset. 41:00 –Then there would be 3 people who don’t understand it. 41:17 – Gant: I loved Google Wave. Fool on my once and shame on me twice... Google Video! Google comes out and says here is BLESSED and you don’t have any choice. But it’s any author for themselves. It’s a little bit silly 0 I would like a beacon from Facebook saying: Here is a guide. It seems that they can’t focus. They are running a large company; I would like to keep it open – friendly energy. 42:24 – Chuck: I am mixed feelings about this. It only plays as far as people play into it. IN a React community there are so many voices. They all have opinions on what you should/shouldn’t use. The one thing that I like about a blessed / recommended stack – brand new person – it’s a good place to art. After that if they realize that Flux is hard then they can go and try other options. There are other things out there; there is a good balance there. 43:36 – Panel: That is the Angular way right? 43:38 – Chuck: Yes but Angular is more opinionated. It’s a different feel. 44:38 - Panel + Guest continue this conversation. 45:00 – The book DRIVE is mentioned. 45:21 – Gant: ... we need more recommendations. 45:43 – Chuck: Let’s talk about Repot and how to use this? If you go and get Repot – Google React State Museum it’s really easy. How should people come to this and pick it up? 46:18 – Gant: The table that comes in there – it links to the main Repot. A lot of people showed up and contributed. First of all show up. Gant mentions a sandbox link – and he talks about getting your hands dirty. React Native is mentioned, too. 48:10 – Gant: There are many opportunities for contributors. I could use my links. Typos, documentations, etc. - anything friendly is accepted here. 49:20 – Gant continues this conversation. 50:33 – Chuck: Anything else to dive into? 50:41 – Panel: I think there could be other things you can bubble up 51:26 – Gant: I would love some help with that. I did have some contributors write some tests. I wrote a test – 4 hours later – and it tells me if it passed or not. It has to go into a new directory, and work in Android, etc. It’s insane testing library. Then there are some checks to see if there is a link in the README. Animation if there is anyone who wants to do some cool stuff – like modules. Maybe it’s apple to oranges comparisons there. I would like to identify that for people. We would like some outside feedback out there. The more the merrier to help with the data is out there. Sanity check complete – yes! 53:24 – How to do that? 53:31 – File a ticket to help contribute. So you can say: I will do this. If you do it in a reasonable amount of time, then heck yes. If you do some open source...Do 10 (I think) and you get a free t-shirt? 54:28 – Advertisement. Links: Kendo UI Ruby on Rails Angular Get A Coder Job Redux Agile A Philosophy of Software Design – book XState Book: Spellmonger Did Someone Steal the Declaration of Independence Again? Book: The Culture Code Gant Laborde’s Twitter Lucas Reis’ Email: lucasmreis@gmail.com Charles Max Wood’s Twitter Sponsors: Kendo UI Digital Ocean Get A Coder Job Picks: Charles My journey – it’s been a rough year – with my dad passing. Willing to think it and process it, and it’s a healthy thing. Book: The Traveler’s Gift by Andy Andrews Book: The Shack by William Paul Young Gant Book: Harry Potter - Methods of Rationality Magicians XState is amazing! Culture Code - especially if you work remote. The pains that can happen by working remotely. Helps you identify those issues. Talk in Poland – Secret project. Lose the Declaration of Independence. “Where’s Waldo?” I am going to find Nicholas Cage in the audience and he will have the Declaration of Independence in backpack. Fake government website. Justin XState – Not Reactive specific Spellmonger: Book One of the... by Terry Mancour Book: Building Evolutionary Architectures Lucas Book: A Philosophy of Software Design by John Ousterhout
September 18, 2018
Panel: Charles Max Wood Lucas Reis (NY) Nader Dabit Special Guests: Christopher Buecheler In this episode, the panel talks with Christopher Buecheler who is a web developer and moved into JavaScript in 2000. Christopher runs his own business, and records and edits videos among many other responsibilities. He also has a lot of hobbies, and guitars are one of them. Check out today’s episode where the panel and Christopher talk about how to form a tutorial course from start to finish. Show Topics: 2:38 – Chuck: I always am fascinated by how there are a lot of programmers who are musicians. 3:00 – Panelist: Yes, I agree. Coding takes creativity. People who are programmers are surprisingly into different arts where it asks for the person’s creativity. 3:17 – Panelist: Video games, music, cocktails, etc. 4:05 – Guest: Yes, for a while I liked to make beer. My current kitchen doesn’t allow for it now, though. 4:25 – Chuck: So your 84/86 tutorial course... 4:46 – Guest: I liked to be one or two weeks ahead. Now building the entire app, instead of doing it week-to-week. 5:35 – Chuck: What is the process like – building these videos? 5:51 – Guest: I try to focus on MVP products that are super easy, and that aren’t too complicated. For example, Music List. Add albums and artists, and see other people’s lists. It ended up being a long tutorial. The process: I build the app, rebuild the app from scratch, I start with a script, read the pretty version and have the marked-down one for my use. The script goes up as the text tutorial. Do my video editing in Adobe Premiere. 7:55 – Question from panel. 8:52 – Panelist: I have found that extremely hard to do. 9:29 – Chuck talks about his process of recording his tutorials. Chuck: I don’t have a script; I just walk through it as I am going along. You can get it transcribed, which I have done in the past. I have a license for Adobe Premiere. 11:04 – Panelist: I never recorded a tutorial before but I have written a lot of blog posts. I reviewed it, and reviewing it is a very interesting take. I learn a lot in the process. The things cement in my mind while reviewing. Videos you have the real-time thing going on. 12:00 – Guest adds additional comments. 13:39 – Chuck chimes in. Chuck: We really appreciate you leaving the mistakes in. 14:11 – Guest: Yes, they watch you debug. 14:20 – Panelist: Most of your tutorials are beginner focused, right? 14:23 – Guest: Yes. Christopher goes into detail here. 17:13 – Chuck chimes in. Chuck: My thought is to learn x, y, z in 1 hour. 17:35 – Guest: People are attracted to shorter tutorials. 5-minute React. Don’t build an 84 tutorial course. They are built up to digestible chunks. It’s not wall-to-wall coding, because that would seem overwhelming to me. Let’s learn something in a bite-size chunk. 18:41 – Panelist: Egghead. Because of their guidelines they do good work. 1-5 minutes long tutorials. You can get a good run-down and a good introduction. 19:24 – Panelist: You can find it really easy. You don’t need a 1-hour video. 19:40 – Chuck: Yeah, to break it up in small sections. People will see this in my e-book course. 20:02 – Panelist: Do people give you a lot of feedback? What parts of this React course do people have most difficulty with? 20:21 – Guest: It’s not React based, it’s actually other issues. 210:6 – Guest: Redux. 21:53 – Guest: What’s the best way to use props? Where should I put my Logic versus... 22:15 – Panelist: This is very similar when I teach... 22:46 – Guest: I have seen people say that if you truly see how this works in JavaScript then you really understand how JavaScript works. React can be confusing if you are using class-based components. You have to use binder or error functions, etc. It becomes confusing at times. Another area you mentioned was state: component state or your application state. Two different things, but they interact with each other. Understanding the difference between the two. Should I store it in this store or...? 24:09 – Digital Ocean Advertisement. 24:47 – Panelist: Were you doing this as a side thing? How do you keep up in the industry if you aren’t making “real” projects? 25:25 – Guest gives his answer plus his background with companies, clients, and programs. Guest: I really wanted to build my own company, when I was thinking of ideas I came across some great brainstorming ideas. I have a lot of traffic coming to these tutorials. I really liked giving something back to the web development community. I liked interacting with people and getting them to their “Ah Ha!” moment. It’s able to support me and helps me moving forward. I follow a ton of people on Twitter – the React team. I pay a ton of attention to what people are looking to learn. I play around those things for my own edification. I pick up some contract work and it helps me to stay current. It’s always a culmination for things. Part of the job is not to fall behind. If you are creating tutorials you have to reteach yourself things as things changes. 28:46 – Panelist asks another question. How do you get new leads and new customers? 20:02 – Guest answers questions. Guest: I was on a mentality if “I build it they will come.” This isn’t the best mentality. That was not a good approach. I started working with a consultant: how do we get this out to people? No ads, no subscription service. My e-mail list. I have gone from 1,600 to 4,600 people on my email list. Find the people who are interested. 32:52 – Guest: Find your voice, and how you choose to deliver your information. Text? Video? Or both? What do you want to teach? Don’t teach what you think will sell the most. It’s more important to be excited an interested what you are teaching. 34:05 – Panelist: When I am teaching something I try to remember of the feeling when I was learning it. For example, Harrison Ford. What was I thinking? How did I learn this concept? 35:01 – Guest: When I learned React it was because a client asked me to learn it. 4-6 weeks of exhausting terror and me trying to learn this to make useful code for this client. In about that time (4-6 weeks) “Oh I understand what I am doing now!” We are still on good terms today with this said client. When I am trying to learn something, the next level is here is a blog, and comments. There aren’t a lot of intermediary steps. They explain every kind of step. I took a similar approach with my other course. That’s informed by my own experience when learning these different technologies. 37:08 – Guest: Yes – check out my newsletter, and my new resource every week. Follow me at Twitter or my personal Twitter where I talk about the NBA too much. Email me if you have any questions. 38:11 – Chuck: Anything else? Okay, picks! 38:24 – Chuck’s Advertisement for His Course! 39:01 – Picks! Links: Kendo UI Ruby on Rails Angular Get A Coder Job Redux Adobe Premiere Close Brace Five Minute React Egghead State of JavaScript Statecharts James R. Nelson Christopher Buecheler’s Website Christopher Buecheler’s Books Christopher Buecheler’s Twitter Christopher Buecheler’s LinkedIn Sponsors: Kendo UI Digital Ocean Get A Coder Job Picks: Charles Pre-Sale: Get A Coder Job DevChat TV Website – Notion.So Lucas Statecharts Nader Book Title: Evicted: Poverty and Profit in the American City by Matthew Desmond Author is a sociologist. Going through their day-to-day lives of these low-income families. A lot of it has to do with a room over their head. How they struggle and how poverty goes from one generation to the next. Christopher Shout-Out to a friend – Christopher’s Site 5-Minute React Videos
September 11, 2018
Panel: Charles (Chuck) Max Wood Lucas Reis Special Guests: Charles Lowell & Taras Mankovski In this episode, the panel talks with two special guests Charles and Taras. Charles Lowell is a principle engineer at Frontside, and he loves to code. Taras works with Charles and joined Frontside, because of Charles’ love for coding. There are great personalities at Frontside, which are quite diverse. Check out this episode to hear about microstates, microstates with react, OM, Redux, and much more! Show Topics: 2:32 – Chuck: Why do we need it (microstates) and why do we need another state library? 2:42 – Charles answers Chuck’s question. Charles goes to explain that if you need to increment the number, you don’t need to do it with microstates. 3:41 – Another suggestion is given on this topic. 5:13 – The application isn’t hard in-of-itself. 6:45 – Chuck makes comments, and asks: It seems to be more like object-oriented approach? 7:44 – Objects compose much more easily. When you are dealing with pure functional code you are de-structuring and restructuring. Check-out LENSES. 9:53 – Taras makes comments. What were your inspirations for microstate? 10:27 – Charles: The personal journey it started for me started back in 2015. When I was working primarily in Ember.” Charles makes a reference to OM, check it out! 15:40 – Charles: “We had a goal in mind, and we kept that goal on mind and kept ‘dipping into the candy jar.’ We had to learn about the functional mumbo-jumbo. The goal was never to use those things. Whatever tools we needed from the functional world, we borrowed from freely.” 16:50 – Chuck asks a question. 17:00 – Taras answers chuck’s question. 19:58 – Charles (guest) keeps the conversation going and goes into detail about how to handle different scenarios with different tools. 21:00 – Question: How do you think microstate enters into this situation? 21:45 – The design of microstate is that it gives you a solution that is flexible. Other options aren’t as comprehensive like where you can use it; for example Redux. 23:49 – Another way to say it is...check-out this timestamp to hear other ideas about this topic. 24:53 – Digital Ocean’s Advertisement 25:28 – Conversation is back into swing. Question: There is a very interesting design with people who are not developers. What are the benefits or do they play together? 26:41 – As a frontend shop, there is a very clean mapping between state machine and type. The type corresponds to the state transitions, among others. For every state you have a class, and you have a method for every transition. It’s a great design tool. 29:07 – We don’t talk about states very often, right now, but in the near future we will. The valuable goals for us are to give people tools that will work correctly for them. To help people be more productive that is a great goal. One thing from people, I’ve learned, is to ask yourself ‘what needs to change?’ 33:03 – Now you are touching on the subject of teaching. What about mentoring with microstates? 33:26 – Success (to one of the panelists) is defined of how confident a person is with X program or tool. If they have ease, then they are on the right path. With mentoring in microstates the design speaks its purpose, the transitions are clear, so the panelist feels that he doesn’t really have to go into a lot of detail explaining the features. 36:25 – In the React community... 39:12 – Curious: Would we really be able to distribute state like how we distribute components? What is out-of-reach now, is that we have the state machine for the autocomplete component. 40:27 – Chuck: Is there a way to test microstates? 41:28 – Shameless plug...check it out! 42:31 – Anything else? Microstates and Microstates with React. 42:48 – If anyone is interested in this, then we are interested in talking with these people and/or companies. 43:29 – Let’s go to Picks! 43:31 – Advertisement for Charles Max Wood’s course! Links: Kendo UI OM Frontside Redux Microstates Microstates with React Taras Mankovski’s Twitter Taras Mankovski’s GitHub Taras Mankovski’s LinkedIn Taras Mankovski’s Frontside Bio Charles Lowell’s Twitter Charles Lowell’s GitHub Charles Lowell’s Frontside Bio Schedule Once Ruby on Rails Angular Get A Coder Job Sponsors: Kendo UI Digital Ocean Get A Coder Job Picks: Charles (Chuck) Framework Summit – Chuck will be talking at this conference in UT. Ebook – Finding a Job. Prelaunch in August. Final version launches on Labor Day. Lucas Take care of your health! Martial Arts and Jujitsu Nutrition Charles (guest) Fantasy Land JS - Tom Harding Funcadelic.JS Taras (guest) BigTest
September 4, 2018
Panel: Charles Max Wood Nader Dabit Special Guests: Josh Saint Jacque In this episode, the panel talks with Josh St. Jacque who is married with two kids and with one on the way. He is a professional product manager and software engineer. Ruby on Rails got him started on his career path and journey. Check-out today’s episode where the panel discusses functional and class components, among many other things! Show Topics: 2:12 – Let’s have a conversation about functional components. 3:20 – Chuck to Nader: “What is your preference between class and functional components?” 4:18 – Nader to Josh: “What is your take on pure components” 5:20 – Who makes these architectural decisions at T-Mobile? 5:46 – Josh: It really depends on the team and the project depending on how they want to proceed. Josh mentions Angular among other things. 7:38 – Chuck to Josh: It seems that through your post you are trying to make code easier? 8:01 – Josh’s background is Ruby, and basic principles. 9:12 – Question directed to Josh about components. 11:05 – Functional components. 11:35 – Some say that functional components are faster/slower than others. 12:50 – When do you know you need/do not need a functional component? 13:15 Josh uses functional component as his default but, of course, there are different factors for him to consider. The presentational stuff is separated. Sometimes he does convert it over. 14:21 – Let’s talk through the log post. 18:15 – Digital Ocean’s mid-roll advertisement! 20:58 – The panel talks about pros and cons of the different components.  21:33 – Ruby on Rails 22:06 – “Why aren’t you using...?” I understand what the tradeoffs are and will change when that time comes. 23:03 – Is there a certain thing that you would tell them about React applications? Is it more just best practice and it doesn’t really change their learning of the framework? 23:28 – Whenever you get comfortable then start exploring another pattern. When you get really comfortable, then you might never see the tradeoffs by using other options. It’s good for a developer to always be open-minded. Keep yourself uncomfortable, and don’t have just one tool in your belt. Try functional components just to keep it fresh. 25:00 – Josh answers a question from Chuck. 27:00 – Josh talks about things to avoid, etc. 27:42 – Nader: “Have you seen the new features and possibly the new features that will be added on later?” 28:01 – Josh has started using new features and he talks about the pros and cons of these.  29:55 – Chuck to Josh: “Are there any features to the components that you wish they would add?” 30:08 – Josh: I never really have run into anything, yet, that is too frustrating. I really like that it is a little limited, and no real big complaints. I would imagine that there are good components around function. 31:42 – Nader to Josh: “Any other topics?” 31:54 – One thing Josh would like to say is that you and your team are on the same page. You don’t want to get into fights on what style you are using. You don’t want to constantly be changing the code. Use one thing at a time or it will get real messy too quick. One example of this is from Ruby: hash rockets. 33:35 – How to find Josh online...look at links below! Links: Kendo UI Ruby on Rails Josh St. Jacque’s LinkedIn Josh St. Jacque’s Medium Josh St. Jacque’s GitHub Josh St. Jacque’s Article on Medium T-Mobile Angular Get A Coder Job Sponsors: Kendo UI Sentry Digital Ocean Get A Coder Job Picks: *Charles Conference in October (UT) Frameworks Summit Podcast Movement CES Home Depot Tool Rental *Nader “A Tale of Four Components” by Pearl Latteier Nader’s Blog *Josh Video Game Soundtracks – Spotify VS Code Extension Weight Loss – Ice Cream – Enlightened
August 28, 2018
Panel: Charles Max Wood Nader Dabit Lucas Reis Special Guests: Luis Vieira In this episode, the React Round Up panelists talk to Luis Vieira about his “Building large scale react applications in a monorepo”. Luis works in Portugal at a company called FarFetch as a front-end architect where he works mostly on JavaScript and infrastructure. They talk about the rationale behind his article, shared components, and what Lerna is and what is does. They also touch on Semantic Versioning, the difference between monolithic application and a monorepo, and more! In particular, we dive pretty deep on: Luis intro Front-end architect at FarFetch Works with JavaScript Rationale behind his article Dividing a project in multiple packages Sharing components between multiple applications Editing shared components Working in a monorepo Simplifies managing between different projects Requires more tooling What is Lerna? If you put multiple packages in one repo, how do you deal with things like the Git history getting mixed up? Versioning How does Semantic Versioning interplay with monorepos? What if you’re not using Semantic Versioning? Using the conventional commit How is the state of CI tooling regarded? He is currently more focused on React What he is experimenting with currently Building monolithic apps Monolithic aps VS monorepo Bazel Nrwl Nx And much, much more! Links: “Building large scale react applications in a monorepo” FarFetch JavaScript Lerna Semantic Versioning React Bazel Nrwl Nx Luis’s Medium @luisvieira_gmr Luis’s Newsletter Sponsors Kendo UI Digital Ocean Get a Coder Job Picks: Charles Take some time off Take a step back to reevaluate Nader Free workshop with Tyler McGinnis to come soon. Keep an eye out at Nader’s Twitter or Tyler’s Newsletter React Native EU Lucas Sketch.systems Luis Vue CLI
August 21, 2018
Panel: Nader Dabit Sia Karamalegos Lucas Reis Special Guests: Orta Therox In this episode, the React Round Up panelists talk to Orta Therox about his 2 years of experience with React Native at Artsy. Orta has about 15 years of native Mac and iOS development experience and about 2 ½ years ago, his team decided to start writing their iOS app in React Native. They talk about the different popular blog posts about React Native, why his team decided to switch over to React Native, and the effects of team size on the success of the fit of React Native in each company’s app. They also touch on professional growth, how they have trained their employees, and more! In particular, we dive pretty deep on: Orta intro React Native and JavaScript React Native at Artsy blog post React Native at Airbnb blog post Suspense Web engineering Taking different approaches Being a better way to build an iOS app Adoption coming from a native perspective Does the size of the team matter? Product verticals How do you balance the need for professional development VS what’s needed at the moment? Vertically oriented teams Professional growth after the change GraphQL API Training everyone over multiple years React Allowing anyone to contribute anywhere within their domain How they describe their native engineers More excited about React Native now than when it was released Artsy React Native Conference And much, much more! Links: Artsy React Native JavaScript React Native at Artsy React Native at Airbnb GraphQL React @orta orta.io Orta’s GitHub Artsy Engineering Sponsors Kendo UI Digital Ocean FreshBooks Picks: Nader AWS Amplify Artsy Engineering blog Nader’s GitHub Sia Styled components Web Summer Camp Lucas MDN web docs Orta vscode-inline-types Coalition for Queens (C4Q)
August 14, 2018
Panel: Sia Karamalegos Lucas Reis Special Guests: Jordan Eldredge In this episode, the React Round Up panelists talk to Jordan Eldredge about his project Webamp. Jordan’s first introduction to programming had to do with music which led him to work both as a singer to now being an engineer. They talk about how common it is for programmers to have diverse backgrounds, especially in front-end developers, what Webamp and Winamp are, and what he originally wrote Webamp in. they also touch on his inspiration for creating this project, his journey in creating Webamp, and more! In particular, we dive pretty deep on: Jordan intro Studied music (opera) in college Forced himself to learn PHP and MySQL Common in front-end developing to have people with diverse backgrounds Why do you think it’s so common to have diverse backgrounds? Front-end web development is very young Self-taught developers What is Webamp? Reimplementation of Winamp in JavaScript What is Winamp? What did you originally write Webamp in? What was the inspiration for creating Webamp? CSS Sprites Wanting to recreate Winamp skins jQuery originally Rewrote in “vanilla” JavaScript The process of learning real JavaScript Managing transitions VS managing state React with Redux Do you believe your struggle with “vanilla” JS made you more aware of what React really brings? You Might Not Need Redux by Dan Abramov How did you deal with the audio API? The thing he loves about side-projects Not having a deadline Using a Redux middleware And much, much more! Links: Webamp MySQL Winamp JavaScript jQuery React Redux You Might Not Need Redux by Dan Abramov Jordaneldredge.com @captbaritone Jordan’s GitHub Sponsors Kendo UI Digital Ocean FreshBooks Picks: Sia Google Docs Lucas Timing App Jordan @winampskins Inspiring Online WACUP
August 7, 2018
Panel: Nader Dabit Sia Karamalegos Special Guests: Tanmai Gopal In this episode, the React Round Up panelists talk to Tanmai Gopal. Tanmai is the founder at Hasura, where they have been building a GraphQL tooling that helps accelerate being able to use GraphQL for app developers. They talk about what Hasura is and what inspired him to build it, what Haskell does to Postgres, and query variables in GraphQL. They also touch on the importance of being aware of the database, how authorization works, and more! In particular, we dive pretty deep on: Tanmai intro Founder of Hasura Has been building applications for about a decade Focus on functional programming How did you get into React? Using Redux and GaphQL How long has Hasura been around? What inspired you to build Hasura? Eliminating the middle layer The elevator pitch of Hasura Do you offer a database as a service? Slightly different than writing your own resolvers What Haskell does to Postgres Query variables in GraphQL Prepared statements in Postgres Making queries from aps GraphQL ORM for apps Being aware of the database How does authorization work? PostGraphile, Prisma, and Hasura How do PostGraphile and Prisma compare to Hasura? And much, much more! Links: Hasura React Redux GaphQL Haskell Postgres PostGraphile Prisma @tanmaigo Tanmai’s Blog Tanmai’s GitHub @HasuraHQ Sponsors Kendo UI Digital Ocean FreshBooks Picks: Nader React Native EU talk Sia Gatsby.js Tanmai Building a new tool
July 31, 2018
Panel: Nader Dabit Sia Karamalegos Special Guests: Tracy Lee, Jay Phelps, and Ben Lesh In this episode, the React Round Up panelists talk to Tracy Lee, Jay Phelps, and Ben Lesh about RxJS and redux-observable. Tracy, Jay, and Ben are the RxJS ThisDot Media group and where they do support contracts for RxJS, staff augmentation, developer relations, and put on events. They talk about what observables are and what they are trying to solve, the most common use cases for getting started with observables, and what Promises and Async/Await are. They also touch on what they like most about RxJS, how versatile it is, and more! In particular, we dive pretty deep on: Tracy, Jay, and Ben intro ThisDot RxJS What is an observable? What problems are observables trying to solve? JavaScript Learn observables Making everything functional in the library Means of encapsulating values you want pushed at you later on Downside to observables Little bit of a learning curve Most common uses for getting started with observables Can Promises and Async/Await be mixed with observables? What do Promises and Async/Await allow you to do? Defer function Await values coming in from observables What do you like about RxJS? Allows you to work with all different languages RxJS is very versatile ngrx “Rx all the things” What inspired you to write Redux observable? Redux-observable RxJS docs Epics And much, much more! Links: ThisDot JavaScript RxJS ngrx Redux Redux-observable RxJS docs @ladyleet Tracy’s GitHub @BenLesh Ben’s Medium Ben’s GitHub @_jayphelps Jay’s GitHub RxJS GitHub @ThisDotLabs Sponsors Kendo UI Digital Ocean FreshBooks Picks: Nader JSCamp Sia Sprint by Jake Knapp Tracy Fashionnova.com Francesca’s Jay deno applitools Ben react-streams StackBlitz
July 24, 2018
Panel: Charles Max Wood Special Guests: Vesa Juvonen In this episode, the React Round Up panel talks to Vesa Juvonen about building SharePoint extensions with JavaScript. Vesa is on the SharePoint development team and is responsible for the SharePoint Framework, which is the modern way of implementing SharePoint customizations with JavaScript. They talk about what SharePoint is, why they chose to use JavaScript with it, and how he maintains isolation. They also touch on the best way to get started with SharePoint, give some great resources to help you use it, and more! In particular, we dive pretty deep on: Vesa intro What is SharePoint? Has existed since 2009 People either know about it and use it or don’t know what it is Baggage from a customization perspective Why JavaScript developers? Modernizing development SharePoint Framework Microsoft Ignite Conference Is there a market for it? System integrators Angular Element and React React for SharePoint Framework back-end Supports Vue React Round Up Podcast How do you maintain isolation? What’s the best way to get started with SharePoint extensions? Office 365 Developer Program SharePoint documentation SharePoint YouTube What kinds of extensions are you seeing people build? And much, much more! Links: SharePoint JavaScript SharePoint Framework Microsoft Ignite Conference Angular Element React Vue React Round Up Podcast Office 365 Developer Program SharePoint documentation SharePoint YouTube @OfficeDev @vesajuvonen Vesa’s blog Vesa’s GitHub Sponsors Angular Boot Camp Digital Ocean FreshBooks Picks: Charles Zig Ziglar Conversations with My Dog by Zig Ziglar Pimsleur Lessons on Audible Vesa Armada by Ernest Cline
July 17, 2018
Panel: Charles Max Wood Lucas Reis Sia Karamalegos In this episode, the React Round Up panelists talk about finding a job as a developer. Charles is getting ready to release a course on finding a job and he finds that he is always getting asked about how new developers can find a job. They talk about how they all found their first coder job, picking your target company, and understanding what you want in a job. They also touch on Charles’ upcoming course, the importance of showing initiative, and more! In particular, we dive pretty deep on: Sign up to chat with Charles at DevChat.tv/15Minutes Why they want to touch on this topic Get used to failure CodeSchool Hack Night meetup Going to meetups to slowly start networking Making friends with developers in your community Networking before you need a job Learning and helping mindset Don’t be afraid to ask if people are hiring How did you figure out what your target company was? Checking out the culture of a company Understanding the travel involved Figure out what you like in a job as you go Always be looking at your portfolio and resume Gain as much experience as you can everywhere you go Stick to learning one language/system Really master the languages/systems of the company you want to uses Show initiative Finding a champion at your target company And much, much more! Links: DevChat.tv/15Minutes CodeSchool Hack Night meetup Charles’ Course How to interview your interviewers blog post Ruby Rogues Episode 184 Sponsors Kendo UI Digital Ocean FreshBooks Picks: Charles Orphan Black His Course Lucas The Best Software Engineering Paper You Haven’t Read Sia Family
July 10, 2018
Panel: Charles Max Wood Alyssa Nicholl Ward Bell Special Guests: David Cramer In this episode, the React Round Up panelists talk to David Cramer about error tracking and troubleshooting workflows. David is the founder and CEO of Sentry, and is a software engineer by trade. He started this project about a decade ago and it was created because he had customers telling him that things were broken and it was hard to help them fix it. They talk about what Sentry is, errors, workflow management, and more! In particular, we dive pretty deep on: David intro Founder and CEO of Sentry What is Sentry? Working with PHP De-bugger for production Focus on workflow Goal of Sentry Triaging the problem Workflow management Sentry started off as an open-source side project Instrumentation for JavaScript Ember, Angular, and npm Got their start in Python Logs Totally open-source Most compatible with run-time Can work with any language Deep contexts Determining the root cause And much, much more! Links: Sentry JavaScript Ember Angular npm Python Sentry’s GitHub @getsentry David’s GitHub David’s Website @zeeg Sponsors Kendo UI Loot Crate FreshBooks Picks: Charles Socks as Swag David VS Code Kubernetes
July 3, 2018
Panel: Charles Max Wood Lucas Reis Nader Dabit Special Guests: Alex Moldovan In this episode of React Round Up, the panel discusses the article Evolving Patterns in React with its author, Alex Moldovan. Alex is from Romania and works at Fortech as an engineering manager where he works mostly with the front-end development. He also is one of the co-founders of JSHeroes, which is the biggest JavaScript conference in Romania that also has a growing international community behind it. They answer some of Charles questions about React, talk about his article, their thoughts on the new changes, and more! In particular, we dive pretty deep on: Lucas was on React Round Up Episode 11 Lucas intro – works for Zocdoc as a senior front-end developer Alex intro At Fortech as an engineering manager Co-founder of JSHeroes His article Evolving Patterns in React React.createClass rather than ES6 class Started working with React in 2015 React and Redux Nobody knew how to actually build an application in React in the beginning Mixins What has replaced the idea of mixins? Higher Order Components Render Props article by Michael Jackson Implicit with mixins to explicit with render props What about Context? Do you think these new changes are addressing how we build React apps? Thoughts on the new APIs and changes from 16 to 17 Error boundaries Suspense Server-side rendering Using the Constructor Evolving patterns And much, much more! Links: React Round Up Episode 11 Zocdoc Fortech JSHeroes JavaScript Evolving Patterns in React React Redux Render Props article by Michael Jackson React Context React Constructor Alex’s Medium Alex’s GitHub @alexnmoldovan Sponsors Kendo UI Loot Crate FreshBooks Picks: Charles Star Realms Hogwarts Battles Lucas SpeedCurve Nader AWS AppSync GitHub Repo Building AI Enabled GraphQL Applications by Nader appsync-lambda-ai Alex Graphcool Prisma TensorFlow.js
June 26, 2018
Panel: Charles Max Wood Special Guests: Ori Zohar and Gopinath Chigakkagari In this episode, the React Round UP panelists discuss Cloud-Hosted DevOps with Ori Zohar and Gopinath Chigakkagari at Microsoft Build. Ori is on the product team at VSTS focusing on DevOps specifically on Azure. Gopinath is the group program manager in VSTS primarily working on continuous integration, continuous delivery, DevOps, Azure deployment, etc. They talk about the first steps people should take when getting into DevOps, define DevOps the way Microsoft views it, the advantages to automation, and more! In particular, we dive pretty deep on: Ori and Gopi intro VSTS – Visual Studio Team Services VSTS gives developers the ability to be productive Developer productivity What’s the first big step people should be taking if they’re getting into DevOps? The definition of DevOps The people and the processes as the most important piece DevOps as the best practices Automating processes What people do when things go wrong is what really counts Letting the system take care of the problems Have the developers work on what they are actually getting paid for Trend of embracing DevOps Shifting the production responsibility more onto the developer’s Incentivizing developers People don’t account for integration Continuous integration Trends on what customers are asking for Safety Docker containers And much, much more! Links: Azure Microsoft Build VSTS @orizhr Ori’s GitHub Gopi’s GitHub @gopinach Sponsors Kendo UI Linode FreshBooks Picks: Charles .NET Rocks! Shure SM58 Microphone Zoom H6 Ori Fitbit Pacific Northwest Hiking Gopinath Seattle, WA
Loading earlier episodes...
    15
    15
      0:00:00 / 0:00:00