July 21, 2020
In this episode of Adventures in Angular, Will Gant, author of Remote Work talks about working from home and working outside of the client's office. He and Brooks share their experience with working through the challenges, benefits, and methods of working remotely. Panel Brooks Forsyth Guest Will Gant Angular Remote Conf 2020 Picks Will Gant: Follow Will's work on > Brooks Forsyth: NGXS Tiger King Follow Adventures in Angular on Twitter > @angularpodcast
July 7, 2020
Subrat Kumar Mishra is a full stack developer who has worked with Angular and Java. He's the host of the Fun of Heuristic YouTube channel. He talks about OOP principles, Node.js, lazy loading components, and why he chose Angular. Panel Alyssa Nicoll Brooks Forsyth Chris Ford Eddie Hinkle Guest Subrat Kumar Mishra Angular Remote Conf 2020 Picks Subrat Kumar Mishra: Follow Subrat on > YouTube - Fun Of Heuristic Deno Eddie Hinkle: WestWorld Sentry Alyssa Nicoll: Debugging Features in v9 I did a tl;dr stream for ng-conf each night after the talks, check them out here Chris Ford: The World According to Jeff Goldblum @SoVeryBritish (Very British Problems on Twitter) Mansions of Madness Brooks Forsyth: Tiger King Theia - Cloud and Desktop IDE Platform Gitpod - Online IDE for GitHub and GitLab Follow Adventures in Angular on Twitter > @angularpodcast
June 23, 2020
Angular Remote Conf August 25th to 28th Maxim joins the Adventure to discuss building Progressive Web Apps using Angular. He starts out talking about some of the features of native apps and how to get some of that on the web. Then he walks through the benefits and methods of using PWA's. Panel Younes Jaaidi Brooks Forsyth Chris Ford Guest Maxim Salnikov "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! Links Building Progressive Web Apps @angular/pwa schematic PWA-POLICE/pwa-bugs Progressive Web Apps on iOS are here 🚀 - Maximiliano Firtman Maximiliano Firtman – Medium Trusted Web Activity the StackOverflow issue Workbox Picks Maxim Salnikov: Follow Maxim on Twitter @webmaxru What PWA Can Do Today PWABuilder Brooks Forsyth: Paper Dolls by Cory Younes Jaaidi: Tiny Angular application projects in Nx workspaces Service Workies Chris Ford: Progressive Web Apps (PWA) - The Complete Guide Course | Udemy Academind Follow Adventures in Angular on Twitter > @angularpodcast
June 9, 2020
Nishu Goel joins the Adventure to talk about how Web Components can be used in Angular applications and how to use them to share functionality across multiple applications written in different frameworks. We also dive into how web components are used and compatibility across browsers. Panel Brooks Forsyth Chris Ford Charles Max Wood Eddie Hinkle Guest Nishu Goel "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! Links Angular elements overview manfredsteyer/ngx-build-plus Web Components in Action Stencil Web Components web-component-tester Can I use... Custom Elements Everywhere Dyo is it canceled yet? Picks Charles Max Wood: Step-by-Step Angular Routing by Nishu Goel The Masked Singer Expert Secrets Chris Ford: Rhod Gilbert Clips on Youtube Brooks Forsyth: Capacitor: Universal Web Applications Eddie Hinkle: NestJS Sunlight and Warm Weather Nishu Goel: Follow Nishu on Twitter > @Dcoustawilson WebAssembly WASM game Playing with rabbits Follow Adventures in Angular on Twitter > @angularpodcast
May 26, 2020
Evan Weaver is the CEO and founder at Fauna. He starts out talking about the problems that existed when working at Twitter with databases and scaling. They began as a consultancy and the grew into a serverless database company. Panel Charles Max Wood Brooks Forsyth Chris Ford Eddie Hinkle Guest Evan Weaver "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! Links JSJ 384: FaunaDB: Support for GraphQL and Serverless Development with Evan Weaver .NET 007: What We Know About LINQ Picks Charles Max Wood: The Chronicles of Narnia Adult Box Set (Audiobook) by C. S. Lewis Brooks Forsyth: Chris Ford: Spider-Man 3 Eddie Hinkle: LinkedIn Evan Weaver: Follow Evan on Twitter > @evan, Quick start - jwt-auth Follow Adventures in Angular on Twitter > @angularpodcast
May 12, 2020
JavaScript Remote Conf 2020 May 13th to 15th - register now! Brooks Forsyth is an Ionic and Angular developer who has coined a new stack called the IAN stack. The panel discusses the pros and cons of using a combination of Ionic, Angular, and NestJS to build mobile apps and their supporting APIs Panel Charles Max Wood Shai Reznik Chris Ford Guest Brooks Forsyth "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! Links nestjs/nest LoopBack Picks Charles Max Wood: The Expanse Star Trek: Picard Shai Reznik: Demystifying Dependency Injection: Angular vs NestJS - Kamil Mysliwiec Chris Ford: Green Lantern Ionic 5 Brooks Forsyth: Follow Brooks on Twitter @brooks_forsyth “Pizza is an investment in your future” IAN Stack Follow Adventures in Angular on Twitter > @angularpodcast
April 28, 2020
JavaScript Remote Conf 2020 May 13th to 15th - register now! Tracy Lee joins the adventure to talk about where the panel thinks Angular is headed. The conversation ranges from features of Angular 9 and Ivy to Scully to what we all thing the next thing will be. Panel Charles Max Wood Chris Ford Eddie Hinkle Guest Tracy Lee "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!   Links Scully Version 9 of Angular — Project Ivy has arrived! Web Components in Action Geo for Bootstrap, a Timeless Theme by Divshot Investing in Underrepresented Minorities in Tech Picks Charles Max Wood: Clean Coders Podcast Theme Forest Templates Legendary: A Marvel Deck Building Game React Native Chris Ford: Arkham Horror Third Edition London | RxJS Live!!! Eddie Hinkle: Improved Build Errors on Angular 9 Crisis on Infinite Earths (CW TV show) Tracy Lee: Follow Tracy on Twitter @ladyleet, Github, LinkedIn Funeral Potatoes Tater Tot Hotdish Toad in the Hole Follow Adventures in Angular on Twitter > @angularpodcast
April 7, 2020
JavaScript Remote Conf 2020 May 14th to 15th - register now! Doguhan Uluca, the author of "Angular for Enterprise-Ready Web Applications", explains the concepts of enterprise and the Angular ecosystem. He is a strong proponent of the evergreen motto, which means the fundamentals and techniques you learn and master will be useful to you for years to come. Panel Chris Ford Shai Reznik Alyssa Nicoll Charles Max Wood Guest Doguhan Uluca ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Picks Chris Ford: Emoji Tetra Your Roadmap to Angular Testing Mastery Shai Reznik: Joe Rogan Experience #1309 - Naval Ravikant Doguhan Uluca: Microsoft Edge Chromium Browser Follow Doguhan on Twitter > @duluca Charles Max Wood: Clean Coders Podcast Follow Adventures in Angular on Twitter > @angularpodcast
March 24, 2020
JavaScript Remote Conf 2020 May 14th to 15th - register now! Chris is new at working from home. Chuck and Brooks have been working from home for several years. They walk through the ins and outs of how to be productive at home with kids, family, and others at home and how to maximize communication with your team when you're not in the same place. Chuck also offers some advice to managers who find themselves suddenly managing remote workers. Panel Charles Max Wood Chris Ford Brooks Forsyth ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links How Infinite Red Improved Remote Video Meetings With a Few Hand Gestures Toggl - Free Time Tracking Software RescueTime: Fully Automated Time Tracking Software TimeFlip – smart time tracker Picks Charles Max Wood: JavaScript Remote Conf 2020 Bad Lip Reading Chris Ford: Honest Trailers Honest Trailers - The X-Men Trilogy Shia LaBeouf Live By Rob Cantor Honest Game Trailers Wash Your Lyrics Brooks Forsyth: Going on a hike Follow Adventures in Angular on Twitter > @angularpodcast
March 10, 2020
Alyssa, Chris, and Chuck dive into whether or not Angular is declining in popularity. They begin talking about a tweet by @wellpaidgeek and things like State of JS and what it says about the growth and relative popularity of Angular when compared with Vue, React, and Svelte. The discussion also weaves into whether or not it's worth starting in or finding a job in today. Panel Alyssa Nicoll Charles Max Wood Chris Ford ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links The myth Angular is in decline The State of JavaScript 2019 Angular, React - Google Trends The State of JavaScript 2019: Front End Frameworks Apache Wicket Picks Charles Max Wood: DevsWhoWrite Writing Excuses NaNoWriMo Workshops with Chuck Chris Ford: Ninth House by Leigh Bardugo Star Trek: Picard   Follow Adventures in Angular on Twitter > @angularpodcast
February 25, 2020
Christian walks Charles and Younes through the 10 commandments of building Angular applications. We talk about how to arrange Angular applications, design components, and best practices. We also talk through tools, teams, and performance. Panel: Younes Jaaidi Charles Max Wood Guest: Christian Lüdemann ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links: angular/flex-layout Jest Nx husky immer Angular Architect Accelerator The Ten Commandments of Angular Development Picks: Younes Jaaidi: Dark Charles Max Wood: LinkedIn Hunter HubSpot Christian Lüdemann: Follow Christian on Twitter - @chrislydemann How Google Works: Eric Schmidt, Jonathan Rosenberg
February 11, 2020
Dale Spoonemore joins the adventure to talk about his journey from no coding experience to writing one of the most popular gardening apps on the web with Ionic. Dale explains how learning to garden sparked a journey that led him to teach himself Angular and Ionic to build the Seed to Spoon app. Panelists Alyssa Nicoll Charles Max Wood Younes Jaaidi Dave Cooper Guest Dale Spoonemore ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links The Depression Cure Essentialism Picks Dave Cooper: Alyssa Nicoll: On Becoming Babywise: Giving Your Infant the Gift of Nighttime Sleep Younes Jaaidi: Outcome Over Output: Also Impact and Effort Charles Max Wood: Raymond Feist The Riftwar Saga The Man In A High Castle Dale Spoonemore: Smart Pots Gardening Containers SodaStream Boom Town
January 28, 2020
In this episode of Adventures in Angular Charles Max Wood interviews Jamie Perkins, creator of Podfan. Podfan is a membership for podcasts. Charles invited Jamie on the show to talk about building Podfan with Angular. Jamie built Podfan with Angular Fire and Firebase. He highly recommends them, explaining that it is a fast and easy way to build applications. They discuss how easy it is to get started with Firebase and Jamie shares things to watch out for when getting started. Firebase pricing is discussed. Jamie explains how his Firebase plan works. Walking Charles through getting started with Firebase, Jamie explains how the different databases work and what to watch out for with security and authentication. The panel discusses the customer experience and what Jamie used for design. They discuss his process and the time he spent on the project. Jamie shares what he is working on and what he is adding to Podfan. Charles asks questions about Podfan’s capabilities.  Panelists Charles Max Wood Guest Jamie Perkins Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Cachefly ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________   Links Picks Jamie Perkins: Freecell Egg Inc Charles Max Wood: Raymond Feist  The Riftwar Saga Kingdoms of Heckfire 
January 14, 2020
In this episode of Adventures in Angular the panel interviews Juan Stoppa about what it is really like working on an enterprise application for a large company. They start by discussing state management and the solutions that they are using and the benefits of using a custom solution.   Juan then explains that it can be difficult getting features out to clients quickly and what their flow looks like. The panel wonders about their architecture and explains the difference between trunk-based development and branch-based development. Juan considers how Angular 9 will improve their use of feature flags. The panel explains what feature flags are.    Shai Reznik aks Juan about their testing. The panel considers how important end to end testing is in an enterprise application. Juan shares the tools they use for testing. Another challenge they face developing an enterprise application is meeting the requirements for the clients since they have so many and they have long release cycles. They finish by discussing the culture in large companies. Panelists Shai Reznik Charles Max Wood Alyssa Nicoll Guest Juan Stoppa Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Cachefly ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________   Links Picks Shai Reznik: Silicon Valley Alyssa Nicoll: Family Game Night Star Wars Movies Juan Stoppa: Angular 9 VisBug  Charles Max Wood: The Expanse The Mandalorian Letters from Whitechapel Shadow Hunters King of Tokyo
January 7, 2020
In this episode of Adventures in Angular 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 Sentry -use the code "devchat" for 2 months free on Sentry's small plan CacheFly ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________   Links RxJS Live Youtube Channel
December 31, 2019
In this episode of Adventures in Angular Charles Max Wood does interviews at RxJS Live. His first interview is with Hannah Howard at RxJS Live about her talk. Hannah is really enthusiastic about RxJS especially when it comes to frontend development. Her talk is about how to architect full-scale apps with RxJS. Hannah gives a brief summary of her talk. Charles having met Hanna previously at Code Beam asks her how functional programming and reactive programming work together in her mind. Hannah describes how she sees programming.   Charles’s next interview is with Ben Lesh, a core team member of RxJS. Ben has been working on RxJS for the last four years. In his talk, he shares the future of RxJs, the timeline for versions 7 and 8. With Charles, he discusses his work on RxJS and the adoption of RxJS.    Next, Charles interviews Sam Julien and Kim Maida. They gave a talk together covering the common problems developers have when learning RxJS. In the talk, they share tips for those learning RxJS. Charles wonders what inspired them to give this talk. Both share experiences where they encouraged someone to use RxJS but the learning curve was to steep. They discuss the future of RxJS adoptions and resources.    Finally, Charles interviews Kim alone about her second talk about RxJS and state management. She explains to Charles that many state management libraries are built on RxJS and that it is possible to roll out your own state management solution with RxJS. They discuss why there are so many different state management libraries. Kim shares advice for those looking to roll out their own solutions. Panelists Charles Max Wood Guests Hannah Howard Ben Lesch Sam Julien Kim Maida Sponsors Sentry -use the code "devchat" for 2 months free on Sentry's small plan CacheFly Links RxJS Live Youtube Channel
December 24, 2019
In this episode of Adventures in Angular 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. Panelists Charles Max Wood Guest Mandy Michael Shawn Erquhart Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Cachefly Links
December 17, 2019
In this episode of Adventures in Angular the panel interviews Dave Cooper, who recently gave a talk at AngularConnect about using Mock Data. Dave starts by explaining more about his talk and sharing the benefits of using data mocking solutions and rapid prototyping. He shares the secrets of doing rapid prototyping.   There are challenges to using mock data, Dave shares a few of them and explains how to overcome them. The number one challenge of using mock data is keeping it in sync with your real data and making it look real.    Dave explains how to get started with mock data and shares library recommendations. The panel discusses the use cases for mock data and Dave walks them through a few scenarios for using mock data. He shares use case recommendations and discusses using mock data for testing.    The panel discusses the benefits of using mock data for demos and courses. The possibilities and future of mock data and pact testing are explored. Dave shares his coding process and explains how much faster he can code by using mock data.    Panelists Shai Reznik Younes Jaaidi Charles Max Wood Guest Dave Cooper Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Cachefly Links Mocking made easy | Dave Cooper | Picks Shai Reznik:  Angular 9: Getting Ready To Update to Angular 9  Dave Cooper: Dough: Simple Contemporary Bread Younes Jaaidi: Charles Max Wood: A Christmas Story Holiday Inn White Christmas The Bishop’s Wife Frozen 2
December 10, 2019
In this episode of Adventures in Angular the panel interviews Phillipe De Ryck. Phillipe is a web security expert out of Belgium. He shares ways for Angular developers to better secure their apps. Phillipe explains to the panel that his goal is not to shame developers but inspire them to do what they can. He knows most developers are just trying to get as much done in the time that they have. In this episode, he shares ways for developers to improve the security of their apps.   The episode starts with some security scary stories. Phillipe invites everyone to check out the OWASP top ten projects. They have lists of the top ten security measures you should be doing, they have lists for different ecosystems and types of projects so there is something there for everyone. Phillipe explains what types of attacks are most common today.    The panel wonders how do you know something is safe to install. Phillipe explains that there are no guarantees. Sharing statistics Phillipe tells then panel that it is worse than they thought, each package is most likely dependent on more packages and the odds are high that one of those packages has vulnerable code. He explains what you can do to check for those vulnerabilities and to see if they are exploitable.    Phillipe shares recommendations for continuous monitoring services and other tools. He explains why Angular is the best framework for securing your apps and lists all the security features that come with Angular. He compares Angular, React, Amber, and Vue.   Phillipe gives his opinion and recommendation on authentication libraries. He explains the differences between OpenID Connect and Allout, explaining how they work. The episode ends as Phillipe shares his contact information and the conferences he will be attending and speaking at.    Panelists Aaron Frost Jennifer Wadella Brian Love Alyssa Nicoll Guest Philippe De Ryck Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Cachefly Links OWASP Top Ten Project  GitHub dependency graph Angular and the OWASP top 10 | Philippe De Ryck |  The Parts of JWT Security Nobody Talks About | Philippe De Ryck, Google Developer Expert Picks Brain Love: Angular Ivy Jennifer Wadella: Red vs Blue Buttermilk-Marinated Roast Chicken  Aaron Frost: The listeners The sponsors The panel Alyssa Nicoll: On a Scale of One to T-Rex  Philippe De Ryck:  
December 3, 2019
In this episode of Adventures in Angular Charles Max Wood joins Tammy Everts at JAMstack Confer. Tammy gives a listeners a sneak peek into her talk about website performance, more specifically JavaScript performance. Charles discusses the performance of 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 Wood Guest: Tammy Everts   Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs Sponsors CacheFly Links
November 26, 2019
In this episode of Adventures in Angular the panel interview Loiane Groner about her Portuguese content creation. She starts by sharing her story and how she got into content creation and why she creates content for developers in Brazil. She gives advice on how to get started creating blog content and shares strategies for pushing out posts and organizing post ideas.   Moving on to video content, the panel share editing, and recording tips. Loiane shares recommendations for editing and recording software. They advise keeping videos short and to be consistent in creating content. Loiane answers questions about revenue and analytics. She also gives advice on dealing with internet trolls.    The episode ends as Loiane dives into the struggles of learning to code as a native Portuguese speaker in an English based coding language. She explains how translation works and shares opportunities for people to help. The Angular community’s translation efforts are outlined, including translating documentation and their work with ng-Girls.   Panelists Jennifer Wadella Brian Love Guest Loiane Groner Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Cachefly Links Open source libraries and frameworks Picks Brain Love:  Jennifer Wadella: Merino wool Loiane Groner: Ivy
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
In this episode of Adventures in Angular 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   Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs Sponsors CacheFly Links Headless Chrome & Cloudinary for progressively enhanced dynamic content
November 12, 2019
In this episode of Adventures in Angular the panel interviews Stephen Cooper about his recent talk at Angular Connect. His talk was about ngTemplateOutlets. Stephen answers the questions of the panel about ngTemplateOutlets and explains how and when to use them. He starts by explaining the difference between component outlets and template outlets.  Aaron Frost, Frosty, asks Stephen to walk through how to make a ngTemplate and explain what it is useful for. The panel considers the various use cases they would use this for. Frosty wonders why he would use a ngTemplateOutlet instead of a bunch of ngIfs. Stephen explains when it would be wise to use ngIfs and when it would be better to use ngTemplateOutlets.    The panel discusses ngComponentOutlets, Stephen explains how they relate to ngTemplateOutlets and how they give you another level to reusing components. He overviews the best way to use ngComponentOutlets and warns listeners of the tricky parts.    Stephen shares the best times to use ngTemplateOutlets and overviews some of the common use cases he has seen for them. He explains that they are very useful when creating shareable components or repeating similar chunks of code in a component. He shares some resources to help listeners get started.  Panelists Aaron Frost Alyssa Nicoll Brian Love Shai Reznik Guest Stephen Cooper ________________________________________________________________________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood will be out on November 20th on Amazon.  Get your copy on that date only for $1. ________________________________________________________________________________________________________________________ Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Flatfile Cachefly Links ngTemplateOutlet: The secret to customisation | Stephen Cooper  Advanced Angular: Implementing a Reusable Autocomplete Component Picks Brain Love: Being back in the USA Zelda: Breath of the Wild Alyssa Nicoll: Mr. Milks Destiny 2:Shadowkeep Aaron Frost: Garrett Reisman Shai Reznik: One Strange Rock Stephen Cooper: Visiting museums near you
November 5, 2019
In this episode of Adventures in Angular the panel interviews Tara Manicsic. Tara is an Angular Developer Experience Engineer at Netlify. Tara explains what she does at Netlify. She explains what Netlify is and introduces the topic for today’s episode, JAMstack. She explains what services Netlify offers and the packages they offer.   She explains that the JAM in JAMstack stands for JavaScript API Markup, which outlines the best practices of a JAMstack architecture. During her explanation of JAMstack and the benefits of a microservice architecture, she references Smashing Magazine and their switch to JAMstack.    Tara overviews each letter of JAM and how they affect JAMstack. J or Javascript refers to the use of a JavaScript language, like Angular and others. Tara lists the API’s one might use for the A in JAM. The panel discusses the M or Markup. Markup serves up fast and safe prerendered content. Tara explains what prerender means and it makes the content safer and the sites faster. Tara then overviews the entire JAMstack process and explains atomic deployment.    The panel considers how JAMstack is picking up in the Angular ecosystem. Tara outlines a few of the benefits seen when using JAMstack and the panel considers the possible use cases. She shares a few real-life examples of the success seen when JAMstack is used in an enterprise application.    Panelists Brian Love Shai Reznik Guest Tara Z. Manicsic Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Flatfile Cachefly Links Picks Brain Love: Living with Yourself Shai Reznik: Angular Testing Tip — The Easiest Way To Start Your Test  Joker Tara Z. Manicsic: Fleabag Netlify Tutorial - How to build and deploy websites using Netlify
October 29, 2019
In this episode of Adventures in Angular the panel has fun interviewing David East about Firebase. David starts by sharing what it was like at the recent Firebase Summit in Madrid. There were so many announcements they had a tough time fitting them all into the one-hour keynote address.   One of the cool new features announced at the Firebase Summit is Firebase Extension, David describes it as serverless without any code. The panel discusses this feature and how it works. Another cool feature announced is Google Analytics for Firebase. This allows you to use Firebase tools in conjunction with Google Analytics. The panel considers the smart things you can do in your app with this feature.    The next feature the panel discusses is Remote Config which allows you to store data and then pull out that information on demand. If you use the Google Analytics for Firebase you can target specific data for certain audiences. David explains that before this could only be done with native apps. He also explains how in doing this you no longer have to worry about the gtag loader and defines gtag for the panel.    The panel gets a little off track as David jokingly explains his beef with Aaron Frost, Frosty. Frosty host My Angular Story and a while back had twitted looking for awesome angular stories. David had responded but never heard back from Frosty. Frosty jokingly says he faxed an invite to David. The panel jokes about how awesome David’s episode will be and tells everyone to look out for his episode.    Getting back on track, David gives more examples of ways to use the Remote Config feature on with the Google Analytics for Firebase. Frosty confesses he needs to get better at looking at analytics. Sharing an example from a company he is currently working for, Frosty explains how they made nearly 2 million dollars just by changing the color of a button. The panel considers how minor changes like that can make such a big difference and how analytics helps you target your audience.    David shares the story behind writing Angular Fire. Jeff Cross worked on the angular team and started writing angular fire but then left for Nrwl. After Jeff left, David took over and ended up rewriting the entire library. He explains some of the mistakes that they made that led to the rewrite and how he fixed them.    The panel wonders at David about using Angular Fire and NgRX. David tells the panel that the Firebase console uses NgRx under the hood and shares what he learned while working on it. Using firebase and NgRx can be very confusing because of the mass duplication of responsibility. David’s advice is to let Firebase and NgRx do their own thing and connect the dots with RxJs.    David discusses Firestore, a very advanced caching system and what you can do with it. Including, working offline and setting security rules. Frosty brings up Firebase Messaging Cues, he explains that it is similar to three-way messaging cues except its n-way. David explains that even though he is intrigued by the idea, he does not approve of the name. The panel considers possible use cases for an n-way messaging cue. David explains some of the costs and benefits of this architecture.    The episode ends with a discussion of Firebase’s documentation, which is currently a group of markdown files. David defends the simplicity of this documentation style and gives recommendations and resources for those who need more help.  Panelists Aaron Frost Brian Love Alyssa Nicoll Shai Reznik Guest David East Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Flatfile Cachefly Links My Angular Story Fireship Youtube Picks Brain Love: Bonnie Love Aaron Frost: Stop shaming people Miss Saigon Alyssa Nicoll: David East David East: Alyssa Nicoll Freakonomics The Signal and the Noise: Why So Many Predictions Fail-But Some Don't  
October 22, 2019
In this episode of Adventures in Angular the panel interviews Zama Khan Mohammed about his recent book and other open source work he has done in the Angular community. Zama explains what is so different about his book and why it is worth reading. His book takes an approach different than the common practice of walking readers through concepts, instead, his book walks readers through using a project perspective.   The first chapter walks through setting up Angular, installing Angular CLI and Angular console. After the set up is complete he walks readers through a very basic flashbase application. Zama explains how this first chapter is geared toward beginners. In his book, Zama shows users how to use the whole platform. He covers PWA and how to create brand new projects from scratch.     The panel asks him about his unique project perspective strategy for this book. Each chapter of Zama’s book walks the readers through a different project, unlike most technical books that walk readers through one project introducing a different concept each chapter. Zama explains why he wrote the book this way. He wanted to bring different libraries and tools into each project to highlight how deep and rich the Angular community and ecosystem are. The panel shares how the ecosystem and community make Angular so great to use.    Zama’s book is called Angular Projects and was published by Packt Publishing. Zama shares where to find it for those interested. The panel considers how hard writing a book must be. Zama explains the time and stress involved in writing a book. He admits he has been approached to write more books but has resolved to wait a bit before diving back into writing.    The panel discusses Zama’s open source efforts in the Angular community. They consider a few of his projects including, ngx-formly, codelyzer, and ngx-loading. He wrote ngx-formly after using formerly and he decided he wanted to use it with Angular 2.0. The panel was impressed with his contributions to codelyzer, where he helped with the accessibility requirements.    After using react-loadable Zama knew he wanted a similar feature in Angular to provide more control over loading so he built ngx-loadable. The panel defines lazy loading for listeners and explains how having control over what can load and how fast it can load can be useful in applications. Zama shares some of the improvements he has made in version 2.0.    Zama shares his hopes for speaking at ng-conf 2020, this takes the panel down a tangent discussing the exciting workshops that will be at ng-conf next year. Brian Love will be teaching a two-day workshop on Angular fundamentals. Aaron Frost is teaching and observables class and a reactive angular class. They advise everyone to buy an ng-conf ticket and not to be afraid to submit a CFP.    Back on topic, Zama shares the challenges in writing, publishing and maintaining an opensource library. He explains how contributing to open source is a great way to learn and a great way to see what a framework can do. He shares advice for those looking to get into open source and invites everyone to try Hacktoberfest.   Panelists Aaron Frost Brian Love Guest Zama Khan Mohammed Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Flatfile Cachefly Links Audit your Angular app's accessibility with codelyzer Picks Brain Love: ng-conf: CFP Office Hours Aaron Frost: Late Night with Seth Meyers Zama Khan Mohammed: Hacking the Angular Compiler
October 8, 2019
In this week’s episode of Adventures in Angular the panel has fun interviewing Narwhal rocks star and NgRx expert, Wes Grimes. Wes starts by sharing how he got started in NgRx. In a previous company, Wes was the lead architect for a project that had need of a state management solution, so it was his job to figure out how to use NgRx. While figuring it out he created a structure for using NgRx and used that structure to write a blog article about best practices for NgRx.   This blog article took the world by a storm and now has over 200,00 views. People are now building libraries and courses based on his article. The panel has a little considering the possible searches that lead people to his article. Jennifer Wadella shares some of the weirder searches that have led people to her posts. After their fun, the panel tries to get back on track.    This article thrust Wes into the world of helping people understand NgRx, what he calls a mystical machine. He explains how this article was only the beginning of learning NgRx and that he is currently working on revising that first post. The main point covered in the article was how to organize the store and how to store it in the file system. It walks through creating angular modules for each slice of the store. The second point is covers heavily is the use of barrels.   The biggest problem Wes see people run into in NgRx is they do not know where all their actions are. He shares the solution he uses for this problem, using a public API to group actions so they are easier to find. The panel expresses their frustration with the hard time the CLI has with barrel files. Wes explains why this is a common problem and shares a solution.    The panel asks for other gotcha’s to watch for when using NgRx. Wes explains how and what developers miss out on when they fail to use selectors to their fullest. When selectors are used correctly and completely developers receive all the benefits of the testing they do on NgRx. The other benefits are builtin memoization and reusability.    Another gotcha he warns against is using facades before fully understanding NgRx. This really fires up the panel, who then debates the use of facades in NgRx. Aaron Frost expresses his opinion that NgRx isn’t for everything and that by using facades you may not need to use NgRx. Wes explains that the large companies he works for are already committed to NgRx as their solution and he advises them not to use facades.   Wes explains the downsides of using NgRx, the first is when developers jump in before they understand it and back themselves into a corner. Another downside is the upfront investment cost when learning NgRx.    The panel jumps in wondering what Wes thinks of hiding those developers unfamiliar in NgRx with a facade. Wes explains how in doing this the team would be compromising architecture in order to avoid teaching developers to use NgRx properly. He clarifies that he doesn’t think facades are bad but in order to use them correctly in NgRx developers must first understand how NgRx works. Aaron explains why when working with developers unfamiliar with angular he advises them not to learn NgRx right away.   Wes shares how he has seen developers misuse facades. When using a facade it entices developers to hop back and for between imperative and declarative code. Aaron jumps in and explains that imperative code in reactive programming is very bad. He invites listeners to go out and learn more about this because it is very important to understand.    The panel considers strategies to help teams code reactively. Wes recommends requesting data from the server. This pattern is straight forward to implement and handles a lot of the common use cases in the store. Aaron suggests turning off default change detection, doing so will force the programmers to code reactively. Another way suggested is to structure teams separating concerns.    The episode ends with Wes sharing his experience joining the NgRx core team by working in the documentation, filling in gaps that he found. He also shares what will be coming to NgRx. The platform will be expanding beyond just state management, supplying reactive libraries for angular. They are also getting ready for an experimental release of NgRx component.  Panelists Aaron Frost Brian Love Jennifer Wadella Shai Reznik Alyssa Nicoll Guest Wes Grimes Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Flatfile Cachefly Links NgRx — Best Practices for Enterprise Angular Applications  The Facade of NgRx Facades  Building with Ivy: rethinking reactive Angular | Mike Ryan | #AngularConnect 2019 Picks Brain Love: The Great Hack Shai Reznik: RxJS: A Better Way To Write Frontend Applications - Hannah Howard - JSConf US 2018  Complex Features Made Easy With RxJS - Ben Lesh  Aaron Frost: Lizzo Jennifer Wadella:  Wes Grimes: ngGirls
October 1, 2019
In this week’s episode of Adventures in Angular the panel interviews Shlomi Assaf, talking about ngrid. After some playful banter about the naming of Ngrid, Shlomi shares the reasons behind building ngrid. The company he was working for at the time need a grid, he tested nggrid but wanted something completely opensource, so he built one. He also explains that nggrid caused some problems in their project which made him want something more customizable. Shlomi explains how much work is needed on the application and asks listeners to contribute to documentation or other areas of the project. Shai Reznik endorses Shlomi as one of the smartest peoples he knows and tells listeners if they want to learn from someone who knows a lot about angular to step up and join this project.    The panel asks about the challenges Shlomi faced while building this app and what it was like using the CDK. Nggrid has a how company working on it but ngrid has only Shlomi. Shlomi explains that the CDK had a lot of the building blocks need to building blocks to build this application and was the power behind the project. The CDK’s lacks the ability to extend easily which was a challenge. He explains that his biggest frustration while building the application was the drag and drop feature.    Shlomi shares many of the features he built into the application that even though he built it over a three year period he could do it piece by piece because of the way he designed it. He considers the selling points of the application and shares them with the panel. Shlomi compares ngrid to other grid, explaining how templating, creating columns and pagination are all made easier with ngrid. With ngrid there is also virtual scrolling and you can control the width of each column.    Next, the pane considers performance, asking how the grid would handle if you loaded thousand or even tens of thousands of records and data onto the grid. Shlomi explains that unless the cells were extremely complex that ngrid’s performance would not suffer. The panel how ngrid could work with serverside rendering but not with NativeScript. Shlomi explains version support and advises listeners to use Angular 8.   The panel ends the episode by sharing information about next year's ng-conf. Tickets go on sale on October 1, 2019, the best deals go fast so watch out for them. Many of the panel will be there, Brian Love will be giving the Angular Fundamentals Two-Day Workshop. The CFP also opens October 1, 2019, and will close January 1, 2019. Aaron Frost invites anyone who would like to submit to reach out to the veteran panelists to nail down ideas for their conference proposals. He also recommends submitting more than one.    Panelists Aaron Frost Brian Love Jennifer Wadella Shai Reznik Alyssa Nicoll Guest Shlomi Assaf Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Cachefly Links Picks Brain Love: NG-DE 2019  Angular Connect Shai Reznik: The magic of RXJS sharing operators and their differences Let Me Off at the Top!: My Classy Life and Other Musings  Aaron Frost: Connecting with your children Shlomi Assaf: How we make Angular fast | Miško Hevery
September 24, 2019
In this week’s episode of Adventures in Angular the panel interviews Manfred Steyer, the creator of ngx-build-plus and angular architecture expert and consultant. Ngx-build-plus is a way to extend how the CLI is doing its build. Manfred explains how ngx-build plus works in two different ways. The first is that it provides a partial webpack configurations file that merges with the webpack configuration that the CLI is using. The second, it provides a plugin with free methods that influence the CLI.   Manfred consults with companies on architecture, he explains that the main problem when people take a simple application and make it complex, big, with a lot of entities and forms. This makes it difficult to manage in the long term. He borrows ideas from domain-driven design to help these companies structure their applications.    Strategic domain-driven design is one of the main strategies he uses when structuring an application. Strategic domain-driven design is subdividing a big application into subdomains, then modeling those subdomains separately. By modeling the separately, the coupling is limited. This makes it easier to change parts of the code without breaking anything unrelated in the application.    The panel asks Manfred for recommendations for using domain-driven design in their architecture. Manfred recommends using libraries within monorepos and outlines the benefits. Using this method creates isolation, you can’t easily access everything in the library because of the public API. Manfred explains how a public API works like a facade.    Nx is the recommended tool for the monorepos, as it adds many great features to the CLI and is not as heavyweight as other monorepo solutions. Manfred explains one of his favorite features called tagging. This restricts which libraries can access another library. The panel discusses some examples of tagging.    The panel wonders about Manfred’s opinions on state management solutions. Manfred explains that he doesn’t believe that every application needs a state management solution. When used at the wrong time a state management solution is an overkill. He also explains that not using a state management library does not make someone a bad person.   The panel discusses how you know if you need a state management solution. Manfred indicates two things to look for when considering the use of a state management library. First, is there a lot of state? Second, is the state going to be used by many different components?    If you are not sure he recommends starting with a facade and adding a state management library later if needed.  The panel explains what a facade is. A facade is when you combine a lot of systems under a single API, like jquery. Manfred gives an example of what a management facade should look like. The panel shares experiences explaining how it works and gives advice and examples of using a facade.    The topic turns to the importance of testing. Manfred shares his testing philosophy, asking how do you sleep at night knowing you have to change a part of the application? Does it scare you because you know you are going to break everything in a terrible and painful way? Or, Do sleep soundly because you know you are safe to do what needs to be done. Shai Reznik equates this to the shake meter, how much does your hand shake when you push the button to execute a change.   Manfred’s recommends starting with unit testing, testing where you need it and avoid a testing coverage goal. Unit testing he explains are more stable than end-to-end testing. You do need end-to-end testing but very little in comparison to unit testing. Aaron Frost shares the tool protractor flake as a way to combat the flakiness of end-to-end testing.   Manfred explains that there are two common mistakes people make in their angular architecture. The first is over-engineering and under-engineering an application. He explains the problems that arise with each and how to combat this problem. The sweet spot can be found by knowing what you want, finding the right structuring to fit what you want.    The panel wonders how to measure the cleanliness of code in an application. Manfred recommends looking at each indirection and deciding if it is necessary. The panel explains what indirections are, an example is event mechanisms, you can’t see a direct effect. The panel discusses NgRx as an indirection framework. Manfred warns not to use NgRx all the time only when you need it.   This launches the panel onto a tangent of choosing tools and how to weight the pros and cons of each tool. The phrase “use it when you need it” is considered by the panel, the genericness of the phrase is discusses. The panel advises new developers who don’t have the experience to gauge if they need something or not to do the research necessary to understand a tool and to experiment with it.    The panel comes back to the other common mistake made with architecture which is chatty applications. Applications that send thousands of requests to the backend causing the application to slow. The panel considers why this happens. Aaron explains the concept of affordance and how this results in chatty applications.  Panelists Aaron Frost Brian Love Shai Reznik Guest Manfred Steyer Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Cachefly Links NgRx + Facades: Better State Management Picks Brain Love: The 5 Big Features of TypeScript 3.7 and How to Use Them  Shai Reznik: Angular Testing Course Hip-Hop Evolution Aaron Frost: RxJs Live  Lover  Manfred Steyer: Star Trek: Picard ngrx-etc  
September 17, 2019
Episode Summary In this episode of Adventures in Angular Tomas Trajan, an angular elements expert, breaks down how to use angular elements for the panel. Tomas explains that angular elements are great for very specific use cases.   Tomas starts by describing a scenario with a large enterprise with tens of developer teams and hundreds of developers, they have a few choices on how to organize their applications. The first option is a messy monolith. The second option is using monorepos and Nx. The final option is to use a multi-spa solution.   Tomas explains how the multi-spa solution works. This solution consists of 80 stand-alone applications, on the same page and share components. Tomas outlines the common problems when using the solutions and how using angular elements combat those problems.   The panel moves on to considers how you know if you should use angular elements in this way. Tomas provides two questions to ask yourself when deciding whether or not to use angular elements. The first question is, are you in a multi-spa scenario? The second question is, are components shared across applications? If the answer is yes for both of those questions then angular elements can only help the situation.    In last week’s episode of Adventures in Angular the panel interviewed Victor Savkin about using monorepos and Nx. The panel asks Tomas to compare the strategy of using monorepos and Nx to his strategy of using multi-spa with angular elements. He explains why an enterprise might choose multi-spa over monorepos. He also gives the reasons the organization he is working with chose to work with multi-spa.    Aaron asks for clarification for using elements in these multi-spa projects. Tomas goes into great detail, breaking down the way multi-spa and angular elements work together. They walk through it together using consumer profiles as an example.   Tomas explains that using his approach all the applications update components all at once using angular elements. The panel considers the benefits of using Tomas’s approach and which scenarios it would work best for. Aaron expresses his appreciation for all the work Tomas did and the problems he overcame then bundling his solution in a library together so developers can just use it without all the pain.      The library can be found on Github. Tomas tells the panel that there has already been some community contribution to the library. He describes some of the pull requests they have received along with the plans they have for angular elements.    The topic turns to mismatched versioning and how the bundle will work. Tomas explains that the only problem they have seen with mismatched versioning is with zone.js. He shares some workarounds to the problem and promises that they are working on a solution.    The episode ends with the panel listing all the major benefits that an enterprise can gain from using the multi-spa and angular elements approach. It will save them money, allow teams to work together, create and isolation. Tomas also shares some of the new features available in angular elements today.    Panelists Aaron Frost Brian Love Guest Tomas Trajan Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs Sponsors   Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Cachefly Links AiA 256: Debunking Monorepo Myths with Victor Savkin Picks Brain Love:  Shai Reznik:  Aaron Frost: How to Be Less Stupid About Race: On Racism, White Supremacy, and the Racial Divide Tomas Trajan: Slipknot EX
September 10, 2019
Episode Summary Victor Savkin, former angular team member and now cofounder of Narwhal Technologies Inc or Nrwl, returns to Adventures in Angular to teach the panel about monorepos. Victor starts by explaining what monorepos are and why you might need one. Monorepo style development is when multiple projects developed in the same repository and the tools used to manage code between those apps.    There are many benefits to using monorepos as Victor explains to the panel, such as sharing code between apps. Monorepos help you see what's going on in reality as well as helps you take control of the structure of your code. It also allows for more interesting deployment strategies. Victor talks briefly about his time at Google, working on the toolchain and using a large monorepo.   After the panel asks about the costs of using a monorepo strategy, Victor explains that there are many perceived costs that are actually false or easily overcome. The first perceived cost he tells the panel about is how people get confused and believe that apps have to be deployed together when they really have to be developed in the same repository. The second is the fear of misplaced ownership, that some other developer will come along and ruin their code. Victor explains that ownership can be configured and controlled so that no one you don’t trust can touch your code.    The next myth developers believe about monorepos is that it doesn’t scale and especially when it comes to performance. Victor explains that when the app is set up correctly and testing used correctly this isn’t a problem. The final perceived cost is that Git will break. Victor debunks this by explaining that you would have to be doing extremely well in order for Git to be a bottleneck and even then there are ways around that problem.    Victor explains the one real cost and that is you have to change the way you code. The panel discusses a few different coding styles. Victor recommends getting used to single version policy and trunk-based development. He defines trunk-based development, explaining how it works and why it is better for monorepos than long-range branch development.    Victor sees two types of groups who want to get started in monorepos and he explains what they most commonly do wrong. The first is greenfield projects who jump right in without thinking about it and eventually crash. The second is teams with a giant app and through a monorepo in hoping it will help them structure their app. He explains there is a right way to start using monorepos in both situations.   Asking the important question is how to get started. Agreeing upon the structure, naming, ownership, are you going to build the frontend and backend in the same repo, and the answers to a bunch of other questions will affect your work the most, even more than the tooling you use. Some of these answers will be specific to your company where others will be universal, like naming and ownership.    With other tools for monorepo out there, the panel asks Victor why Nrwl decided to build their own tool. Victor explains that the current tools on the market do not do it all. Lerna only does one thing great and Bazel is very selective on who can run it. Nrwl is hoping to marry Bazel to Nx, so they can allow everyone to use Bazel. They want Nx to support all tools and even Windows.    The panel wonders if Nx is perfect. Victor explains that it nearly there. Nx is pluggable and easy to use. It is easy to learn. Victor explains that they really care about developer experience at Nrwl. Nx is free and opensource so everyone can give monorepos a try.    Resources for learning about monorepos are discussed. Victor invites everyone to watch the ten-minute getting started video on the Nx website. He also lets the listeners know about a new book coming out mid-September and it will be more organizational based than the last. The panel wants to know what comes with Nx. Victor explains that Nx gives you modern tools by setting up Cypress, Jest and other tools for you.   Because Nrwl is a consulting firm, the panel hopes that Victor will have an update on the trends. Victor shares his view that trends don’t really tell you anything about the true status of a framework. How many downloads a framework has doesn’t show the longevity of that framework. Frameworks being used to make large scale apps that will be around for years is how you can tell the longevity of a framework. From that perspective, Victor feels that Angular is doing really well.    To end the episode, Shai Reznik recalls how passionate Victor was about NgRx a few years ago. He asks Victor if he still feels the same way as before. Victor explains that NgRx is pretty well most of the time, has great docs, is well maintained, and he would still recommend it. Panelists Jennifer Wadella Brian Love Shai Reznik Alyssa Nicoll Guest Victor Savkin Sponsors   Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp My JavaScript Story Cachefly Links Nrwl Nx — An open source toolkit for enterprise Angular applications. Effective React Development with Nx MAS 040: Victor Savkin 042 AiA Dependency Injection and Change Detection with Victor Savkin 123 AiA Upgrading from Angular 1 to Angular 2 with Victor Savkin Momentum Picks Brain Love:  Alyssa Nicoll: Caffeine Content Warning! Jennnifer Wadella: The Fall Season NGD Conf Laptop Safety at Conferences Victor Savkin: The Boys Use Less Social Media Freedom App Shai Reznik:  True Detective  
September 3, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Adventures in Blockchain Cachefly Panel Jennifer Wadella Brian Love Aaron Frost Alyssa Nicoll Summary Addressing the recent twitter fire surrounding the JavaScript community, the panel shares their opinions on social awareness. They begin by discussing a time they inadvertently offended others and what they learned. They consider the best way to respond if you do offend someone; the correct way to apologize and learn from your mistake. The importance of taking responsibility and sharing a desire to learn is discussed.   The panel considers how the community can be proactive in creating a safe space while being inclusive of everyone. They discuss resources for learning about sexism, racism and not feeling guilty as a victim. Links The Missing Stair The Gift of Fear Picks Aaron Frost: Family Time Brain Love: Disconnect and enjoy real life  Alyssa Nicoll: Family time Jennnifer Wadella: Everyone Is In Love With These Fashionable Women On TikTok  Taylor Swift- Lover
August 27, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp iPhreaks Podcast CacheFly Panel Aaron Frost Joe Eames Alyssa Nicoll Joined By Special Guest: Brandon Roberts Episode Summary Joining the panel in this episode is Brandon Roberts, a Senior Angular Engineer at Narwhal Technologies. Brandon was previously on the Angular Team at Google. Brandon talks about what he is working on currently at Narwhal. They have recently launched more support for React and Web Components and Brandon talks about his role in that project. The panel then asks when Narwhal will release support for Knockout and jQuery. They talk about cases when to use Nx and when to use Angular CLI. They then talk about the effort required to learn Nx. They then talk about Narwhal's support plans for NgRx 9. Links MAS 091: Brandon Roberts NgRx: A Reactive State of Mind (Two Day Workshop) Brandon Roberts – Medium Brandon (@brandontroberts) | Twitter Building Full-Stack Applications Using Angular CLI and Nx - Nrwl nrwl/nx: Extensible Dev Tools for Monorepos - GitHub   Picks Alyssa Nicoll: ngAir 211 - Template Streams in Angular & Change Detection Profiling w/ Dominic Elm & Kwinten Pisman Joe Eames: Roll for Adventure Board Game Stop Thief! Board Game Aaron Frost: Your local swap meet MLS Soccer Utah Jazz Brandon Roberts: Connect Tech NWA Technology Summit 2019
August 20, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan React Native Radio CacheFly Panel Aaron Frost Jennifer Wadella Alyssa Nicoll Joe Eames Joined By Special Guest: Sam Julien Episode Summary Sam Julien, Technical Community Manager at Auth0 joins the panel to talk about upgrading AngularJS to Angular. Sam has a video course on transitioning from AngularJS to Angular and consults with companies that are in the process of upgrading. Sam and the panel share their upgrading experiences and tips on what they have learned. They also discuss how to convince companies that do not want to upgrade to Angular and agree that sometimes it's in the best interest of the company to present the financial benefits of the upgrade rather than the discuss technical aspects. The panel also talk about other reasons to upgrade from AngularJS, the most important of which is the announcement of AngularJS end of life on June 30, 2021. Tune in to learn about the biggest "got you" Sam had on an upgrade project. Links MAS 043: Sam Julien MAS 090: Sam Julien Sam's LinkedIn Sam's Twitter Auth0 Talks - Sam Julien Stable AngularJS and Long Term Support Finding the Right Path from AngularJS to Angular AngularJS End of Life Announced Picks Jennifer Wadella: Johnnycake from Neptune Oysters Alyssa Nicoll: Bill Odom Joe Eames: Observables for All Sam Julien: Once Upon a Time In Hollywood Alamo Drafthouse Cinema
August 13, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp CacheFly Panel Aaron Frost Shai Reznik Joined By Special Guest: Hans Larsen Episode Summary Hans Larsen, Team Lead of the Angular CLI at Google has left Google to pursue other opportunities. The panel meets with Hans to talk out about his time at Google Angular team and some of the challenges they faced. They then talk about Hans' future plans as well as some of the fun times they had at the Angular conferences. Links Hans Larsen LinkedIn Hans (@hanslatwork) | Twitter Angular is About Love! webpack Picks Shai Reznik: 16 Personalities Aaron Frost: NOVA: Black Hole Apocalypse | Netflix Hans Larsen: Become a parent Have a drink with someone you love
August 6, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp CacheFly Panel Aaron Frost Alyssa Nicoll Shai Reznik Joined By Special Guest: Craig Spence Episode Summary Craig Spence was a developer at Trade Me in New Zealand before he moved to Sweden to join Spotify. Trade Me is New Zealand's biggest website and it is similar to eBay where people buy and sell lots of different items. Craig talks about his experiences migrating Trade Me from AngularJS to Angular and the challenges they faced. One of the tips Craig has for the audience is when faced with a problem it is better to ask for help from those who have been in similar situations before, rather that attempting to solve it alone. The panel also agrees that developers should stop writing in AngularJS and make the decision to move forward. Craig recently started working at Spotify in Sweden and is dealing with a challenging bug that has lasted for over 13 days. Links Craig's LinkedIn Craig's Twitter Trade Me Spotify Angular Denver Picks Aaron Frost: OnePlus 7 Pro Chloe Condon - NG-Conf Alyssa Nicoll: Angular Denver Shai Reznik: Craig Spence: Frank Turner
July 30, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp CacheFly Panel Aaron Frost Joe Eames Shai Reznik Jennifer Wadella Episode Summary Much reaction has been received for the tweet about the 10x developers and this week the panel outlines the checklist a 10x developer has to meet in order to be considered a 10x developer (a developer that outputs 10 times more code than the rest of the company). From always having their screen background set to black to their generally toxic attitude that is disliked by the rest of the team, 10x developers are generally a reason for others to quit their job. The panel discusses why managers continue to keep these people on even though they affect the overall team production negatively and how they should be dealt with. Links Picks Shai Reznik: PubConf Jennifer Wadella: PubConf The Bachelorette Joe Eames: Emotional IQ Aaron Frost: OnePlus 7 Pro Observables Pablo Fransisco Bits and Pieces
July 23, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp CacheFly Panel Aaron Frost Alyssa Nicoll Shai Reznik Joe Eames Brian Love Joined by Special Guest: Minko Gechev Episode Summary Minko from Angular team at Google talks about what's new in Angular v8 and what has changed. Some of the exciting new features include differential loading, dynamic imports for lazy routes and CLI workflow improvements which end up being a large perfomance improvement. The panel comments on the fact that it was effortless to migrate from Angular 7 to Angular 8, and Minko also mentions that they had received feedback that the how to start tutorials were not very clear and so in Angular v8 they made an effort to re-do the tutorials. Links Angular Versioning and Releases - Angular Minko's Twitter Minko's Blog Minko's GitHub Picks Aaron Frost: Stranger Things Season 3 Angular Denver Joe Eames: Bonnie Brennan and her daughter Sam Shai Reznik: Dev Ed Podcast: Making Learning Fun Ozark Cobra Kai Getting Out of Your Comfort Zone Alyssa Nicoll: ngAir 211 - Template Streams in Angular & Change Detection Profiling w/ Dominic Elm & Kwinten Pisman Brian Love: Go Outside and Hike Minko Gechev: You can use the "safe navigation" operator in Angular templates Hit Fit SF
July 16, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp CacheFly Panel Aaron Frost Joe Eames Jennifer Wadella Brian Love Alyssa Nicoll Joined by Special Guest: Leonardo Zizzamia Episode Summary Leonardo is a Senior Software Engineer, Technical Lead at Coinbase a digital currency exchange headquartered in San Francisco. Leonardo and the panel talk about Perfume.js. Over the past 5 years the Chrome team has been working on standardizing user timings for the web. One of the most recent metric tool the Chrome team has built is the Performance Observer which is an experimental API that observes user metrics. Leonardo explains how Perfume.js helps users so they don't have to worry about not complying with web standards in terms of user metrics. Leonardo then gives some guidelines to the web standards and explains what is considered in the normal range and what needs to be improved. Links Leonardo's Twitter Coinbase CryptoKitties Okurrr2svg Perfume.js Spill The Tea- definition D&Diesel Picks Aaron Frost: Potion of Flying Joe Eames: Being a Guide and Not Being a Leader Jennifer Wadella: The Git Up by Blanco Brown Brian Love: Alyssa Nicoll: Leonardo Zizzamia:
July 9, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Triplebyte offers a $1000 signing bonus CacheFly Panel Aaron Frost Joe Eames Jennifer Wadella Joined by Special Guest: Alex Eagle Episode Summary Alex Eagle is a Software Engineer on the core Angular team at Google. Alex and the panel talk about Bazel, a a free software tool that allows for the automation of building and testing of software. Links Alex’s GitHub Alex’s Twitter Alex’s LinkedIn Bazel Angular and Bazel Join BazelBuild on Slack! Picks Aaron Frost: Axe Throwing Jennifer Wadella: Drama on the The Bachelor ( TV series) Joe Eames: FIFA Women's World Cup France 2019 Playing Dungeons & Dragons with Aaron Frost Alex Eagle: Firefly (TV Series 2002–2003) - IMDb
July 2, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Triplebyte offers a $1000 signing bonus CacheFly Panel Aaron Frost Joe Eames Brian Love Joined by Special Guest: Michael Prentice Episode Summary Michael Prentice is the owner of DevIntent and an AngularJS Material Lead Maintainer at Links Michael’s GitHub Michael’s Twitter Michael’s LinkedIn Picks Aaron Frost: Brian Love: Stephen Fluin - YouTube The Umbrella Academy Joe Eames: Michael Prentice: Angular Hispano NG Bolivia 2019 NG Honduras 2019 ngSpain Frontend Masters
June 25, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Triplebyte offers a $1000 signing bonus CacheFly Panel Charles Max Wood Joined by Special Guest: Steve Faulkner Episode Summary Coming to you live from the podcast booth at Microsoft BUILD is Charles Max Wood with Steve Faulkner. Steve is a Senior Software Developer for Azure Cosmos DB at Microsoft. Cosmos DB is a global distributed, multi-model noSQL database. Steve explains the Cosmos DB service and scenarios it can be used in. They discuss how Cosmos DB interacts with Azure functions and how partition keys work in Cosmos DB. Listen to the show for more Cosmos DB updates and to find out how Steve he got his twitter handle @southpolesteve. Links Steve’s GitHub Steve’s Twitter Steve’s LinkedIn Steve Microsoft Build 2019   Introduction to Azure Cosmos DB AiA 241: Azure Functions with Colby Tresness LIVE at Microsoft BUILD AiA 242- Azure Functions Part II with Jeff Hollan LIVE at Microsoft BUILD Microsoft Learn Resource Partitioning in Azure Cosmos DB Follow Adventures in Angular on tv, Facebook and Twitter. Picks Steve Faulkner: FINAL FANTASY X/X-2 HD Remaster for Nintendo Switch Overcooked on Steam Fastly  
June 18, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Triplebyte offers a $1000 signing bonus CacheFly Panel Charles Max Wood Joined by Special Guest: Jessica Deen Episode Summary Coming to you live from the podcast booth at Microsoft BUILD is Charles Max Wood with The Deen of DevOps aka Jessica Deen. Jessica is a Senior Cloud Advocate at Microsoft. As an advocate she acts a liaison between developer communities and Microsoft to help understand developer pain points and road blocks especially in areas such as Linux, open-source technologies, infrastructure, Kubernetes, containers and DevOps. Jessica explains how to go about setting up a containerized application, Kubernetes and how to use Dockerfiles. Charles and Jessica then talk about how to get started with a Kubernetes cluster and the resources available for developers that don't have any infrastructure. Jessica advises that developers start with Azure DevOps Services and then go to Microsoft Learn Resource. Charles also encourages listeners to also check out the Views on Vue podcast Azure DevOps with Donovan Brown for further references. Jessica also recommends following people on Twitter and GitHub to find out about solutions and resources. Links Dockerfile and Windows Containers Kubernetes Jessica’s GitHub Jessica’s Twitter Jessica’s LinkedIn Jessica’s Website Microsoft Build 2019   Microsoft Learn Resource HTTP application routing Getting started with Kubernetes Ingress Controllers and TLS certificates Kubernetes Ingress Controllers and Certificates: The Walkthrough  Azure DevOps Services  VoV 053: Azure DevOps with Donovan Brown LIVE at Microsoft Ignite Jessica Deen Youtube Kubernetes in 5 mins - YouTube Follow Adventures in Angular on tv, Facebook and Twitter. Picks Jessica Deen: Lachlan Evenson Cloud Native Computing Foundation Kubernetes Handles on Twitter Shoe Dog Memoir Air Jordan 4 Fire Red Gum Singles Day Charles Max Wood: Real Talk /JavaScript Podcast The Legend of Zelda: Breath of the Wild  
June 11, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Triplebyte offers a $1000 signing bonus CacheFly Panel Aaron Frost Joe Eames Brian Love Joined by Special Guest: Juri Strumpflohner Episode Summary A fun conversation about how to lazy load Angular modules with Juri Strumpflohner, a software developer with more 10 years of experience in technologies like Java, .Net and Node.js. Juri is also a  Google Developer Expert in Web Tech and an Instructor. With lazy loading, it is possible to defer loading unused portions and load them on demand. The panel discusses what can be lazy loaded in an Angular application and how Aaron's for lazy loading in Angular helps with the process.  Links My Angular Story 045: Juri Strumpflohner Adventures in Angular 193: Angular Libraries with Juri Strumpflohner Juri's Twitter Juri's Website Juri’s GitHub Juri’s Egghead Courses for lazy loading in Angular for lazy loading in Angular Follow Adventures in Angular on tv, Facebook and Twitter. Picks Aaron Frost: John Wick: Chapter 3 - Parabellum (2019) – IMDb Long Shot (2019) - IMDb Brian Love: Ninebot KickScooter by Segway Ninebot KickScooter by Segway ES1 Joe Eames Joe Eames: Star Wars: A New Hope Symphony Orchestra Anki Vector | The Home Robot With Interactive AI Technology |  Juri Strumpflohner: ng-conf talks Lazy load Angular Components  
June 4, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Triplebyte offers a $1000 signing bonus CacheFly Panel Charles Max Wood Joined by Special Guest: Jeff Hollan Episode Summary Coming to you live from the podcast booth at Microsoft BUILD is Charles Max Wood with Jeff Hollan. Jeff is a Sr. Program Manager for the Azure Functions cloud service. Continuing from where Colby Tresness left off in Adventures in Angular 241: Azure Functions with Colby Tresness LIVE at Microsoft BUILD, Jeff defines what "serverless" really means in developer world. Jeff also talks about various scenarios where Azure functions are extremely useful and explains what Durable Functions are.  Jeff and Charles discuss creating and running an Azure function inside a container and the upcoming capabilities of Azure functions they are currently working on. Links Adventures in Angular 241: Azure Functions with Colby Tresness LIVE at Microsoft BUILD  Durable Functions Jeff’s GitHub Jeff’s Twitter Jeff’s LinkedIn Jeff’s Website Jeff’s Medium Microsoft Build 2019 Follow Adventures in Angular on tv, Facebook and Twitter. Picks Jeff Hollan: Calm App Game of Thrones TV Series Charles Max Wood: Family Tree App    
May 28, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Triplebyte offers a $1000 signing bonus CacheFly Panel Charles Max Wood Joined by Special Guest: Colby Tresness Episode Summary Coming to you live from the podcast booth at Microsoft BUILD is Charles Max Wood with Colby Tresness. Colby is a Program Manager on Azure Functions at Microsoft. Azure functions are the serverless functions on Azure. Colby explains what the Azure functions premium plan entails, then talks about KEDA - Kubernetes-based event-driven autoscaling, a Microsoft and Red Hat partnered open source component to provide event-driven capabilities for any Kubernetes workload. One of the other cool features of serverless functions they talk about is the Azure serverless community library. Colby and Charles discuss the best way to get started with Azure functions, as well as the non-JavaScript languages it supports. Links Colby’s GitHub Colby’s Twitter Colby’s LinkedIn Colby’s Blog Microsoft Build 2019 KEDA Red Hat Azure Serverless Community Library Follow Adventures in Angular on tv, Facebook and Twitter. Picks Colby Tresness: Barry (TV Series 2018– ) - IMDb  Charles Max Wood: The Legend of Zelda: Breath of the Wild The MFCEO Project Podcast - Andy Frisella  Downtown Seattle
May 21, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Triplebyte offers a $1000 signing bonus CacheFly Panel Aaron Frost Shai Reznik Brian Love Joined by Special Guest: Sander Elias Episode Summary In this episode of Adventures in Angular, the panel talks to Sander Elias, Senior Principal Engineer at HeroDevs from Netherlands. Sander is also an Angular Google GDE. Sander created Observable forms, an alternative way to do forms in Angular which takes advantage of what the platform has to offer. Aaron also talks about his speech at ng-conf 2019 and his follow up blog post about the speech and why he felt the need to write it. Links Sander’s GitHub Sander’s Twitter Sander’s LinkedIn Sander’s Medium ng-conf 2019 Sander Elias - ng-conf ObservableForm GitHub Aaron Frost Blog Piece Follow Adventures in Angular on tv, Facebook and Twitter. Picks Sander Elias: ng-conf 2019 Suguru's Blog Angular 8 Release Aaron Frost: A is for Angular | Jo Hanna Pearce Melina Mejia Brian Love: ng-conf 2019 Reid Villeneuve Avengers: Endgame (2019) Shai Reznik: ng-conf 2019 A is for Angular | Jo Hanna Pearce   Chrome Developers Channel Michio Kaku on The Future of Humanity    
May 14, 2019
Sponsors Sentry use the code “devchat” for $100 credit Angular Bootcamp Triplebyte offers a $1000 signing bonus CacheFly Panel Aaron Frost Charles Max Wood Joe Eames Joined by special guests: Bill Odom, Daniel Kilburn, Niall Crosby. Episode Summary This episode of Adventures in Angular comes to you live from ng-conf 2019. Niall Crosby, CEO at ag-Grid, talks about how he started the company and what they work on. The panel then talks to a number of guests at the conference, including the volunteers, organizers and attendees and have interesting conversations about the work they do, what made them come to the conference and what they like about it. They talk about the workshops being conducted, give listeners tips on learning angular and one of the speakers appeals to listeners for help in mentoring and sponsorship. They wrap up the podcast by each stating their favourite talks and moments at the conference and agree on the fact that the community is one of the best parts of Angular. Links Niall’s Linkedin Melina’s Twitter Follow Adventures in Angular on, Facebook and Twitter.
May 7, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp TripleByte offers a $1000 signing bonus Cachefly Panel Aaron Frost Shai Reznik Joined by Special Guest: Mike Ryan Summary In this fun episode, Mike Ryan introduces NgRX and gives the backstory of his getting involved with the NgRx Core Team. The panel discusses use cases where using NgRx is the best choice. Shai Reznik wonders where the cult-like loyalty to NgRx comes from. Mike talks about the future of NgRx and the future of state management in general. The panel discusses Ivy and what it means for state management. Links https://.com/MikeRyanDev Picks Aaron Frost: Biscoff Cookies Shai Reznik: Rich Harris - Rethinking reactivity Michel Weststrate - Modern React and the case for Reactive State Management Donuts
April 30, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp TripleByte offers a $1000 signing bonus Cachefly Panel Aaron Frost Shai Reznik Joined by Special Guest: Deborah Kurata Summary Deborah Kurata talks about the benefits of using a reactive approach to developing with RxJS. She explains how to use RxJS to program reactively and shares her vision of patterns everywhere to make reactive programming easier. Shai Reznik asks a lot of great questions about switching to this approach and takes the stance of a new or student developer. Deborah and Aaron advocate for RxJS and debate the best ways to learn RxJs and implement reactive development.   Links Picks Aaron Frost: Shai Reznik: A Super Ninja Trick To Learn RxJS’s “switchMap”, “mergeMap”, “concatMap” and “exhaustMap”, FOREVER! Deborah Kurata:
April 23, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp TripleByte offers a $1000 signing bonus Cachefly Panel Aaron Frost Special Guests: Dave Müllerchen and Mike Brocchi Episode Summary Dave Mullerchen is a freelancer from Germany and does a lot of Angular workshops. Mike Brocchi works for Ultimate Software and works with Stencil to provide framework agnostic web components as a design language system. Today the panel is discussing the Angular CLI. Mike talks about exactly what Stencil.js is, a set of tools to spit out raw web components made by the Ionic folks. They discuss how Angular Elements stacks up to Stencil. Dave talks about the most important things the community needs to know about the Angular CLI, most importantly it can save you a lot of money. They each talk about their history with the CLI, and how they found that it increased speed and decreased bundle size. The panel finds Angular is less teachable than other languages, but the CLI is the key to making Angular teachable They go into detail about how the CLI can save money. They talk about some of the schematics available in the CLI and their usefulness, and which are their favorites. They end by mentioning that the schematics work off the file system, so it’s not angular specific, and that the CLI makes discoverable schematics and can run analytics. Links Angular Angular CLI Stencil.js Ionic Gulp Gump Yeoman Broccoli Bundle Basil Jest NDM- Network Data Mover NGX Build Plus Perfume Narwhal Picks Aaron Frost: RXJS Live “Like It Ain’t Nothin” by Fergie Shai Reznik: HBO’s Crashing Dave Müllerchen: NG-DE Conference 2019 JavaScript fuer Kinder YouTube Channel Mike Brocchi: "ng doc ______" to search docs via the command line Live Share from the Visual Studio team, now out of preview
April 16, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp TripleByte offers a $1000 signing bonus Cachefly Panel Shai Reznik Aaron Frost Joe Eames Joined by Special Guest: Raul Jimenez Summary Raul Jimenez, the CEO of Byte Default, answers the panels many questions on functional programming with NgRx. In this playful interview, Raul defines functional programming and what it is trying to solve. The panel discusses side effects using a Spiderman analogy. Raul shares the benefits of switching to and when to use NgRx. The importance of knowing RxJS in using NgRx is considered by the panel. The episode ends with an in-depth discussion on some the specifics of using NgRx for functional programming. Links Picks Shai Reznik Joe Eames Aaron Frost The Go-Giver, Expanded Edition: A Little Story About a Powerful Business Idea by Bob Burg Raul Jimenez
April 9, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp TripleByte offers a $1000 signing bonus Cachefly Panel Alyssa Nicoll Aaron Frost Joe Eames Special Guest: Jennifer Wadella Episode Summary In this episode of Adventures in Angular, the panel speaks with Jennifer Wadella, founder of Kansas City Women in Technology and JavaScript Developer at Bitovi. Jennifer is also an international speaker and a kombucha brewer. Jennifer talks about popular events they host at Kansas City Women in Technology like the Coding & Cupcakes | Kansas City Women in Technology and the Coding & Cocktails | Kansas City Women in Technology meetups. They also discuss the Control Value Accessor (CVA) interface and its key concepts as well as best scenarios to use it in. Jennifer has written a blog piece where she describes how to use the CVA interface. Links Jennifer's GitHub Jennifer's Medium Jennifer's Twitter Jennifer's LinkedIN Jennifer's Website Kansas City Women in Technology Bitovi Coding & Cupcakes | Kansas City Women in Technology Coding & Cocktails | Kansas City Women in Technology Kansas City Women in Technology Events Jennifer's Blog Control Value Accessor Use #unJoe hashtag on Twitter Picks Alyssa Nicoll: Alyssa's Baby Aaron Frost: Model 3 | Tesla Safe Spaces and Friends Joe Eames: Deep Space D-6 Jennifer Wadella: Jennifer's Blog Kombucha 101 Jennifer's Blog 10 Commandments of Community Organizing The Expanse
April 2, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp TripleByte offers a $1000 signing bonus Cachefly Panel Alyssa Nicoll Aaron Frost Joe Eames Shai Reznik Special Guest: Tomas Trajan Episode Summary In this episode of Adventures in Angular, the panel interviews Tomas Trajan, software developer and Google Developer Expert for Angular from Zurich, Switzerland. Tomas explains what Angular Schematics is and how it simplifies a developer’s life. He goes through cases where Angular Schematics would be great to use. He explains some of the Schematics terminology such as rules and trees. He also explains that Angular CLI uses Schematics as well and that the panel is already using it when they are using Angular CLI. The panel then talks about the setup time and effort it takes to start a project before they can actually code especially when there are other teams involved. Tomas explains that part of this setup effort could be avoided if companies with multiple developer teams used Schematics.Tomas then describes his own experiences using Schematics. As a final note, Tomas talks about some of the areas where Schematics could be improved. Links Tomas' GitHub Tomas' Medium Tomas' Twitter Tomas' LinkedIN Tomas Trajan – Angular In Depth Tomas Trajan - DEV Community Tomas' Blog Post: How to Create Your First Custom Angular Schematics with Ease Picks Alyssa Nicoll: Schwart Stories by @Schwarty Shai Reznik: NG - BE - YouTube Last Week Tonight with John Oliver Joe Eames: Airtable Aaron Frost: Narwhal Technologies Inc Tomas Trajan: Uphill Conf – Javascript conference in Bern, Switzerland Release Butler  
March 26, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp TripleByte offers a $1000 signing bonus Cachefly Panel Ward Bell Shai Reznik Alyssa Nicoll Aaron Frost Joe Eames Summary Joe Eames introduces a fun panel only show, “The Show about Nothing”. The panel starts by sharing podcast behaviors that bother the members of the panel. Between anecdotes and humor, the panel shares what they are looking for in a guest to their podcasts. The panel engages in a playful debate about the pronunciation of “angular”. Shai Reznik introduces the more serious topic of state management. The jokes continue as the panel discusses the best way to handle state management and change detection. Links Picks Ward Bell Shai Reznik Dad breast milk Alyssa Nicoll Aaron Frost Power Watch 2 Joe Eames Swig The Mentalist
March 19, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp TripleByte offers a $1000 signing bonus Cachefly Panel Charles Max Wood Aaron Frost Joe Eames Joined by Special Guest: Michael Hartington Episode Summary Aaron Frost introduces a RxJS as a trend that is also a fundamental for angular. Aaron Frost shares his experience at ng-conf where the community was polled, and the topic most people wanted to learn was RxJS. Charles Max Wood brings up a previous podcast where Ward Bell predicts this trend, sharing the opinion that angular developers must know RxJS to be successful. The panels discusses the need to be reactive in Angular and the need to react to this trend by learning RxJS. Michael Hartington and Aaron Frost share an examples to show how RxJS simplifies the work.The panel discusses the switch from NgRx or RxJS, and a few things that might help someone looking to switch. Panelists share how they learned RxJS and how it helped them, even if they were reluctant to learn it. They finish by sharing resources they found helpful in learning RxJS. Links Michael Pearsons Blog Picks  Michael Hartington Harmonquest Joe Eames Gravity Falls Dungeons and Dragons Charles Max Wood Podfest Go out and meet awesome people in the angular community Aaron Frost Captain Crunch - Crunch Berries
March 12, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp TripleByte offers a $1000 signing bonus Cachefly Panel Alyssa Nicoll Aaron Frost Charles Max Wood Joined by Special Guest: Vitalii Bobrov Episode Summary The panel interviews Vitalii Bobrov, who recently wrote an article on his blog called “Angular Smart 404 pages”. It is about the Levenshtein distance algorithm and it's uses and implications in working with 404 pages. Vitalii Bobrov explains what a 404 page is and how it is often times due to typos on the users part. He also goes onto explain the Levenshtein distance algorithm and how it can help guide users to the correct site. Vitalii Bobrov shares how he came up with the idea of using the Levenshtein distance algorithm with 404 pages. Charles Max Wood and Aaron Frost ask some very insightful questions on how the algorithm works and how to apply these ideas to their work. They jokingly share ideas on what Vitalii Bobrov could do with this idea. Links Vitalii Bobrov's Blog Picks Charles Max Wood: ATR2100 AOC Monitors Alyssa Nicoll: Web Typography Newsletter Aaron Frost: Michael Cohen's Testimony Huawei Mate X Vitalii Bobrov: Trekhleb Javascript Algorithms
March 5, 2019
Sponsors Sentry– use the code “devchat” for $100 credit Triplebyte - offers a $1000 signing bonus Panel Alyssa Nicoll Joe Eames Charles Wood Special Guest – Andrew Evans Episode Summary Charles Wood, Alyssa Nicholl, and Joe Eames discuss guest speaker, Andrew Evans’s article on “How to Deploy to Firebase”.  The article discusses how Continuous Integration and Delivery (CircleCI) and Firebase serve as alternatives to older pipeline technologies such as Jenkins and AWS. Andrew Evans talks about the versatility of Firebase CLI utility and its use as a platform for younger developers with little experience on CI/CD or any type of cloud deployment. It took Andrew a year to get proficient in Jenkins whereas with CircleCI he had a much easier learning curve. Andrew then mentions another article he wrote entitled “How the AngularFire Library makes Firebase feel like Magic”. They also discuss whether CircleCI matches up to Jenkins on a larger scale workflow deployment. Andrew gives the example of a weather app named “Goose Weather” he is working on that uses “NgRx” that has a more robust workflow. He mentions that initially he was working on it for a CapitalOne blog but then took it up as a side project and started working on it by himself. They decide that even though Jenkins owns the market on large scale workflows, CircleCI’s ease of use is a very strong feature. Andrew also mentions that although he didn’t have a chance to test CircleCI on a high-level enterprise project, he feels that it would be a good experience. They also briefly compare the Jenkins and CircleCI on ease of rollbacks and license fees. Shai shares his own experience of how he also really likes Netlify because it automates the commit process like CircleCI. They briefly touch on DevOps. Andrew shares his own experience using CircleCI to do deployments to AWS. He feels the documentation and the blogs really help with the learning process. Andrew explains the meaning of: EWS: Elastic Container Service ALB: Application Load Balancer ELB: Elastic Load Balancer” The panelists jokingly wonder whether Andrew should give them 50% of his profits from the weather app Goose Weather because he basically outed himself to CapitalOne on the show by revealing he was working on it on the side.      Links Deploying to Firebase with CircleCI AIA-099-firebase-and-angularfire2-with-david-east-and-jeff-cross/ Picks Shai Resnick: Joe Eames: Movie: Alita: Battle Angel Charles Wood: The Checklist Manifesto: How to Get Things Right by Atul Gawandi The Effective Executive by Peter Drucker Andrew Evans: Artemis by Andy Weir  
February 27, 2019
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan TripleByte offers a $1000 signing bonus Panel Alyssa Nicoll Joe Eames Charles Wood Episode Summary This weeks panel, Charles Wood, Alyssa Nicholl, and Joe Eames discuss 2 articles: 1st The Great Divide by Chris Coyier and 2nd Tales of a Non-Unicorn by Laura Schenk. These articles tell of the broad meaning for “Front-End Web Developer” talking of how “HTML + CSS along with JavaScript” all fall under the same title causing confusion with job interviews and even once a developer gets into the job. It is neat to hear perspectives of Alyssa Nicholl and Joe Eames together as Alyssa is more on the HTML/CSS side of Web Dev and Joe Eames is more with the JavaScript side. The panel also discusses difficulties with interviewing for jobs. Charles Wood leads a discussion on what the interviewers could improve on in hiring the people they actually want. The panel shares experiences of not getting jobs for reasons that are not super valid. They also touch on the pay difference between the 2 sides of the “WebDev” job description. Links The Great Divide by Chris Coyier The Refactoring UI Youtube Tales of a Non-Unicorn: A Story About The Trouble with Job Titles and Descriptions Why Everyone Is Fighting About CSS/UX and JS Economics CodePen Job Posting Picks Joe Eames: The Refactoring UI Youtube The Refactoring UI Steve Schoger Twitter NestJS Charles Wood: The Checklist Manifesto: How to Get Things Right by Atul Gawandi Alyssa Nicoll: 100 Days CSS Challenge
February 19, 2019
Sponsors Sentry- use the code “devchat” for $100 credit Angular Bootcamp Triplebyte CacheFly Episode Summary   In this episode of Adventures in Angular, the panelists talk with Kevin Kreuzer on source maps. Kevin is a freelance Software Engineer from Switzerland and currently is a part of the frontend architectural team for a company called Schaltstelle. He also regularly writes blog posts on Angular topics, contributes to opensource projects and is the co-founder of a startup – Trasier. Kevin talks about what led to the development of source maps, how they are generated and explains their working in detail. He elaborates on various approaches of deploying source maps to production without revealing the source code and gives tips on solving issues that come up. The panelists discuss about using these maps for templates (CSS, HTML, etc.) and briefly touch on NestJS. Links Kevin on Medium Kevin’s Twitter Kevin’s blog - Angular in Depth Picks Shai NestJS Capturing stage in events Why We Sleep Alyssa Angular Air - Dry Forms with Sander Elias Charles HubSpot Eero Kevin Trasier Uphill Conference - Bern, Switzerland Enhancement for Medium stats
February 12, 2019
Sponsors Sentry use the code "devchat" for $100 credit Angular Bootcamp Panel: Alyssa Nicoll Charles Max Wood Special Guest - Mike Hartington In this episode of Adventures in Angular, the panelists talk with Mike Hartington, who is a Developer Advocate at Ionic. They talk in depth about the recently released version of Ionic, future projects the Ionic team is working on and what’s out there for Angular developers. Show Notes: 0:22 - Advertisement - Sentry - Use code “devchat” to get two months free on Sentry’s small plan. 1:21 - Mike introduces himself briefly and explains what exactly Ionic is. 3:15 - Charles asks about the new features of the recently released Ionic version 4.0. Mike explains that even though they love Angular, they wanted to decouple from any full framework like that and ship the components as JavaScript web components and then provide wrappings from any available framework. They spent a year on working on it and tried to double down on framework specific tooling. 5:50 - Charles asks if Alyssa has worked on Ionic. She answers that she hasn’t but has heard a lot of good things about it. She asks Mike if Ionic is the same as NativeScript. While explaining the difference, Mike replies that the team likes to work on the web technologies’ side, so even if Ionic is deployed on any available OS, everything is rendered in the browser. Charles also talks about the differences between NativeScript and Ionic. 7:38 - Alyssa asks if there is any specific popular framework or groups of people using Ionic. Mike answers that a lot of their user base consists of Angular developers, but they are seeing growth elsewhere too. 8:40 - Charles mentions that people like the fact they don’t have to learn different technologies for different platforms while developing apps, and prefer to do it by porting work from one platform to another. Mike agrees while saying that Ionic is a great option for that and it comes with a decent UI. 9:30 - Charles asks about Electron, if it’s the same codebase. Mike answers that Electron is quite new to them, but they are building an option for the native compiler that solves many technical issues and introduces new ideas on how to work with common APIs for IOS, Android and Electron. 12:02 - Alyssa asks how does Ionic compare to various UI themes and whether it can be customized. Mike answers that they have two themes - an iOS theme and a default material design theme. He says that they also have an option of creating custom themes using CSS variables. 13:30 - Charles asks if they have an update to the UI builder as well. Mike answers in affirmative and explains that they are working on a tool called Studio and proceeds to give some historical background on how they got there. He elaborates on the features of Studio. 15:40 - Alyssa asks if the tool is still under development or they are ready to start using it. Mike answers that a small group of users is using it and they are focusing on enterprise users currently. 16:50 - Charles asks about the next steps after Ionic 4.0. Mike explains in detail says that they want to work on some Angular tooling and on maintaining an update schematic. 18:17 - They discuss on how having different options help developers and users make flexible decisions leading to better products. 19:15 - Mike says that he is going to be at VueConf in Florida in March and Ng-Conf in Salt Lake City, and he is active on Twitter, Reddit and Instagram. 22:36 - Charles asks if there is any tutorial on Ionic for beginners. Mike asks users to search for “Ionic 4 Crash Course” - a 15-minute video encapsulating everything that they need to get it up and running. 22:35 - Advertisement - Angular Bootcamp 24:20 - Picks! 28:04 - END - Advertisement - CacheFly!   Picks: Alyssa dto Charles Modern Medicine Keeping perspective on things in general Mike Tidying Up with Marie Kondo  
February 5, 2019
Sponsors Sentry use the code “devchat” for $100 credit Angular Bootcamp TripleByte Panel: Charles Max Wood Joe Eames Ward Bell John Papa Special Guest: Eyas Sharaiha Notes: This episode of Adventures in Angular has the panelists speaking with Eyas Sharaiha, who is a software engineer working for Google, working primarily with Google Maps . Eyas mostly does back end and infrastructure work, which gives him an interesting view of Angular. The panelists and Eyas discuss his article Data and Page Content refresh Patterns in Angular. Eyas talks about the most common mistakes he sees in using Angular, namely transforming observables and then subscribing to them too early or too late, and putting certain kinds of data transformations in places where they end up making the code a lot less clear. His approach in his articles is to walk readers through with trial and error, rather than laying down some sort of law. Eyas lays out how he deals with changes in Angular, naming the three best things to do to use Angular and RXJS correctly, emphasizing the importance of looking for side effects. His rule of thumb is that if the observable does anything other than the data it is admitting, then something is probably wrong.   The panelists go on to discuss the usefulness of observables. The ask Eyas what the most common code smells he finds in angular apps that frequenly use observables and how he would correct people. Eyas again emphasizes side effects or mutation as a sign of a deeper problem, cautions people against bending over backwards to use an observable, and discusses the importance of unpacking an observable at the correct time. He encourages listeners to try out the ergonomics of AsyncPipe to combine observables where possible, and the importance of using observables correctly.   The shift in Angular becoming more about learning RXJS and non-Angular things than it is about Angular is discussed and length, as well as the difficulty to relate Angular to other things. Eyas feels that this trend has taken away some of the magic of Angular. In fact, NG Conf’s annual survey revealed that the top struggles are RXJS and architectural guidance. The panelists emphasize that programmers should ask themselves why they are doing things this particular way, and to seek creative solutions using different types of programming, such as procedural, reactive, idiomatic, and object oriented programming.   Terms: Observables RxJs Async pipe TypeScript Reactive programming Inheritance NGRX Picks: Joe Eames Talk List over at NG Conf Five Minute Marvel John Papa Ward Bell Charles Max Wood Purple seat pad Eyas Sharaiha Schema-DTS – TypeScript library for Bad Blood
January 30, 2019
Sponsors Sentry use the code “devchat” for $100 credit Angular Bootcamp TripleByte Cachefly Panel Joe Eames Aaron Frost Alyssa Nicoll Ward Bell Joined by Special Guest: Ben Nadel Summary Ben Nadel introduces the irrational demonization of two-way data-binding in Angular as a topic for the panel. The panel discusses the survey that put Angular in a poor light and favors React; acknowledging that a fair survey is hard to find. The panel considers how technologies that are now out of favor changed the web. The panel compares Angular to other frameworks and considers what to they can do about other frameworks. Ward Bell invites the panel to try other frameworks and find what is beautiful, not just ignore them or diss unknown frameworks. Ben talks about his companies move away from Angular and the opportunity this presents for him to learn about other frameworks. Links Picks Joe Eames Felt Aaron Frost Ward Bell Learn how to sharpen a pencil Ben Nadel The Marvelous Mrs. Maisel
January 24, 2019
Sponsors Sentry use the code "devchat" for $100 credit Angular Bootcamp TripleByte Panel Charles Max Wood John Papa Ward Bell Joined by Special Guests: Uri Shaked and Netta Bondi Episode Summary Netta is a senior web developer at a startup called Reali, although her degree is in social work. She also co-founded the largest community of women in research and Development in Israel. Netta and Uri are here to talk more about the talk they gave at FrontEnd Con about Angular Ivy and React Fiber. They share how this talk came to be. Uri and Netta compare Angular Ivy and React Fiber, which take different approaches to managing the cycle of code. The panel discusses whether or not there is an advantage to digging into the framework. Netta and Uri talk about some of the processes they explored while investigating Angular Ivy and React Fiber. They share techniques for not getting lost in the source code and delve into some of the differences between Angular Ivy and React Fiber. Through their investigations, they learned that the primary difference between the two is in the event delegation pattern. They advise that when deciding which technology to use, companies should consider which one will be easier to hire new employees for. The panel discusses whether or not big tree frameworks have become a commodity. Most new frameworks focus on making builds smaller and faster, but they would like new frameworks to have more benefits than just speed. The show is finished by Uri and Netta sharing how to track features down in Angular Ivy and React Fiber. Links Angular Ivy React Fiber Virtual DOM Incremental DOM Ajax jQuery Lin  Clark - A Cartoon Intro to Fiber - React Conf 2017 Netta Bondy & Uri Shaked - React Fiber vs. Angular Ivy / FRONTEND CON 2018 Follow DevChat on Facebook and Twitter Picks Charles Max Wood: Package Thief vs. Glitter Bomb Trap Help Charles move Devchat from WordPress to Eleventy and get an hour of coaching. Write show notes for 3 episodes and tag it, Charles will do an hour of coaching with you. John Papa: NG Atlanta Ward Bell:   BlacKkKlansmen   Uri Shaked: NG Atlanta Why We Sleep Uri is on Twitter as @UriShaked and github (urish) Netta Bondi: Hassan Minaj: Homecoming King Iliza Shlesinger: Elder Millennial Netta is on Medium and Twitter (@_bondit_)    
January 15, 2019
Sponsors Sentry use the code "devchat" for $100 credit Angular Bootcamp TripleByte Panel John Papa Alyssa Nichol Joe Eames Charles Max Wood Joined by Special Guest: Chaz Gatian Summary Chaz Gatian joins the show to discuss his blog post, “10 Lessons Learned in Enterprise Angular Development”. He starts by defining enterprise and the panel dives into the first point of his blog post about not making boneheaded mistakes. Next, the panel discusses utilizing view components and compare the ways they organize their code. Which touches on a couple more points, bubbling your components and packaging only if you are going to share. Alyssa Nichol asks Chaz about teams developing a fun application and breaking out of the research loop. Links Picks John Papa Alyssa Nichol 8th anniversary today! Blow up Christmas At-at Joe Eames The Quacks of Quedlinburg Renegade Game Studios Spell Smashers, Game Charles Max Wood Garmin Forerunner 235 Watch Chaz Gatian Improved UX with Ghost Elements + Angular 7 Animations
December 25, 2018
Panel: Charles Max Wood Joe Eames Aaron Frost Alyssa Nicoll Special Guests: Brian Love & Kevin Schuchard In this episode, the panelist talk with today’s special guests Brian Love & Kevin Schuchard! Brian and Kevin work at BrieBug – check out their employee profiles here! The panelist and guests talk about schematics, Angular, AST, and much more! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:50 – Chuck: Hello! Our panel today is Joe, Aaron, Alyssa, and myself. We have two guests today, and we are going to talk about schematics. Let’s dive into that! 1:46 – Guest: Schematics is a library that is coming out of Angular and the Angular Team. The guest gives a definition of Angular Schematics. 2:26 – Alyssa. 2:31 – Kevin: The functionality that you are hoping for depends on the CLI that you are on. 3:00 – Alyssa: Sorry for diving into the juicy stuff but we forgot to talk about your introductions! 3:19 – The guests talk about their backgrounds and introduce themselves to the panel and the listeners. 3:49 – Alyssa. 3:54 – Guest continues. 4:21 – Panel: Crazy and busy! 4:28 – Alyssa. 4:31 – Kevin: I am Senior Developer, and I have worked here for a few years. I have had the opportunities to write some schematics for the company and some of my own schematics. 4:53 – Alyssa: Aren’t you so proud that you are a “Senior Developer”?! 5:10 – Guest and panelists go back-and-forth. 6:23 – Guests: We want people to be familiar with schematics and start their journey with schematics. 6:50 – Panel: It’s kind of trippy isn’t that right? 7:00 – Guest: Yeah there are hurdles to learning schematics at first – for sure. 7:22 – Alyssa: What is AST? 7:29 – Guest gives a definition of AST and goes into much detail about this. 10:00 – Alyssa: I think I understand, now, what AST is. Thanks. Alyssa asks the guests a question. 10:14 – Guest answers the question about AST. 10:51 – Guest continues. 11:27 – Panelist is talking about the AST and schematics. 12:03 – Guest: You can read the whole file and using the AST you can figure out where you went to enter the text. 12:25 – Alyssa asks a question. 12:28 – Guest: We are not the developers of schematics, but we are just here to share our knowledge. I want to be super clear here. 13:39 – Panelist talks about schematics, CLI, and AST. 14:18 – Guest: You don’t have to know all about AST and everything there is to know to get into it. You can build schematics w/o getting into AST. Just to be clear. 14:39 – Alyssa asks a follow-up question. 14:41 – Guest continues. 15:57 – Guest: AST has been around for a while – it’s not a new thing it’s kind of an old thing. Guest talks about tools (Code Shift) that Facebook has built that is related to this topic. 17:22 – Guest: Yeah AST has been around for a while. 17:28 – Alyssa asks a question about Code Shift. 17:36 – Guest. 18:21 – Panel and guest go back-and-forth. 19:51 – Alyssa: You said you really don’t need to get into AST to do schematics – right? (Yes.) Alyssa asks a question. 20:19 – Guest: There are two pieces with schematics and that’s adding of new files and you can decide which pieces of the templates you want to be compiled. 21:58 – Chuck: For schematics you mentioned you could drop strings in. Chuck asks a question. 22:29 – Guest answers the question with a hypothetical situation. 23:09 – Chuck: I read the article you wrote and I have a question about your article. Tell me about the tree? 23:29 – Guest talks about the tree or aka the host. 25:40 – Guest: The tree is a virtual kind of context and it’s not committing all of the changes to the file system. Whether that is adding, deleting, or updating these files. 26:10 – Chuck: Makes sense to me. 26:15 – Guest continues talking about schematics. 26:53 – Alyssa: Yeoman is a replacement for schematics? 27:05 – Guest: It’s a lightweight alternative. 27:33 – Advertisement: Angular Boot Camp 28:10 – Chuck: How does one build a schematic? 28:16 – Guest answers the question. 30:34 – Panel: What’s the latest thing you’ve built? Talk about that, please. 30:40 – Guest: It’s a schematic and took what we’ve learned to set you up for a starter project. It starts with a blank project. 32:57 – Panel: You are just talking some lessons learned and you are saying this is how Kevin says to do it. You’ve packaged that up 33:26 – Guest: Yep I have found things that work and there isn’t any magic but put these practices together and made a repository to help testing and making schematics. 33:55 – Panel and guests go back-and-forth. 34:20 – Chuck: Let’s say I’ve built this schematic and Frosty wants to share it with his friends. How do we do that? How do you share it? Is there some component that you’ve built? 35:06 – Guest: It depends on what you are doing with it. 36:14 – Chuck: For mass production, though? 36:25 – Guest: I think Chuck is wondering about discoverability. Guest continues and he mentions prettier, extensions, among other things. 37:18 – Guest: I think it’s my favorite about schematics and it’s Kevin’s. 37:40 – Guest. 38:20 – Guest continues talking about schematics and ng-conf. 38:57 – Guest talks about libraries. 40:12 – Chuck: Anything else? Do you NPM install it and it’s just there? 40:29 – Guest: There are 2 ways to go about it. 53:05 – Fresh Books! END – CacheFly! Links: Vue jQuery Angular JavaScript Python React Cypress Yeoman Apache Groovy GitHub: prettier NG Conf Brian Love’s Website Kevin Schuchard’s LinkedIn BrieBug Blog Angular Schematics Tutorial Testing Schematics with a Sandbox + starter project GitHub: Schematic Starter Getting started blog post by Hans Schematics by Manfred Steyer Angular and Material CLI schematics 1 Angular and Material CLI schematics 2 AST Explorer Evening of Angular Example Schematic project with Sandbox: (Written by Kevin) Sponsors: Angular Boot Camp Cache Fly Get A Coder Job Picks: Joe Brian Love BrieBug Schematics NGConf. Minified Aaron Ice Fishing Smoking Trout Joe Eames as Dungeon Master for DND NPM JS Survey Charles Alexa Briefing KanBanflow Pomodoro Technique Kevin Angular Material Open Source Projects Brian Visits on Twitter Angular Community Jesse Sanders An evening of Angular Event
December 18, 2018
Panel: Charles Max Wood John Papa Aaron Frost Special Guest: Juan Herrera In this episode, the panelists talk with today’s special guest, Juan Herrera. The guys talk about community and how the Angular community is different than others out there. The following topics are discussed: calls for proposals (CFP), talking at conferences, Meetups, and reaching out to others within the same field as yours. The team emphasizes how meeting and networking not only creates great business connections, but great lasting friendships, too! Check it out! Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:52 – Chuck: Hello! Our panel is Eric, John, and myself. Our special guest today is Juan Herrera! 1:00 – Panel and guest go back-and-forth. 2:28 – Chuck: Let’s discuss how to think about community locally, nationally, and internationally! 2:39 – Guest talks about his background and his work in Columbia. 4:00 – Aaron: I will give my talk in Spanish and it will be epic. I think we should start a hashtag “bonniemademedoit.” Aaron is talking about Bonnie and how she’s inspired Juan and many, many people.  5;18 – Chuck: She is so enthusiastic about this stuff you have a hard time telling her “no.” 5:32 – Guest. 6:00 – Panel: I am proud that she is apart of our community, which is our topic today. 6:26 – Guest: Yes, I think these conferences help make people pumped-up about these sort of things. 6:53 – Chuck: I am curious when talk about community – talking about global communities they are similar to other Meetups and incorporate their own way of doing things. How do you find that your particular area is unique in its own way? 7:32 – Guest: When we start this community I want to see what’s already out there? Once I know that I was trying to mimic what was already out there. In addition to that I went out of my way to figure out how to make people feel welcomed and find our own niche. 10:27: Panel: Hey – let’s create a community! I think sometimes it’s deliberate and other times it just happened. It sounded like you were very intentional. How did you get people involved? How did you get the word out? How did you get people to give talks? 11:10 – Guest: Yes that is a great challenge for us. Great question! I wanted to help people gain exposure and to help them participate at the conference. After giving their talk we give them a special gift. It can be a shirt or sticker or something. It seems enough for people to come and participate. We realized some people were scared to participate b/c imposter syndrome kicked-in. We made sure they felt comfortable and it helped them to participate. 15:00 – Panel: Yeah it sounds like 300 is a very solid conference. Good job! 15:18 – Chuck: Yeah they compare it to the bigger conferences when the local conferences are just as strong and good. Sometimes the smaller conferences are really nice b/c they are more intimate. 16:05 – Panel: I am not a fan of these massive conferences. Great, but you can’t have conversation with 50,000 people. You go to the vendor floor – it’s loud and dark. I go to conferences to talk and listen to them. I like to listen to their challenges and hear stories. 17:01 – Panel: I enjoy the variety. 17:48 – Panel: Just the quality of people that were there was fantastic. NG VIKINGS is a great one to go to! 18:10 – Panel: I saw the conference for New Zealand? And the one that is in Antarctica?! 19:10 – Panel: Some people say: I don’t know how to get involved with X conference? I have a hard time giving advice b/c we all have different backgrounds. Who wants to present on Chrome Frame? Or... 21:07 – Guest: Not everyone is outgoing nor comfortable being in front of an audience. However, just practicing helps! 21:33 – Advertisement: Get A Coder Job! 22:12 – Panel: Chuck, I want to hear about your community! 22:25 – Chuck: I can’t go to a development conference that doesn’t know who I am. I thrive off of people and connecting with them. There are a lot of great opportunities from learning from folks. The email went out this morning and get in the general channel and say: What do you listen to? What are you up to? It’s nice to hear feedback. 25:54 – Panel: I appreciate the work you’ve done within the community, too, Chuck! 26:08 – Panel: My community I’ve been around the block for about 20+ years. I get into one technology and then bounce from one to the other. I’ve had the blessing to be apart of many different communities. I did a lot of JavaScript back in the day and then left when it was a mess. These communities all have something similar: people come together. They want to find others who look/act like them! These experiences change people’s lives! 28:11 – Guest: Through these communities I’ve made a lot of friends and great colleagues. Not just professional but also personal. 28:44 – Panel: Yep the people that I’ve met through Twitter and conferences. 29:00 – Panel. 29:33 – Panel: I was in Poland a few weeks ago and I met some guys – two different Mike’s. I love how down-to-earth these guys are and I think it’s awesome to meet these great people at these conferences! 30:11 – Panel: Go to Angular conferences if you can! 31:25 – Panel: I tell people to do the same thing! 33:17 – Guest: Yeah there are people out there that are introverted, but know that other people are like you, too! Reach out to people before the conference and Tweet at them! Invite people to your group and meet-up at conferences and have a coffee! 34:55 – Panel: I meet a lot of people on Twitter. 35:51 – Panel: I think we are getting to the end and I need to say this. The angular community is a bit different compared to other communities. One thing that this community doesn’t have is the focus of the community. On top of the community are Rob, Steven, Jewels and Naomi and others! I think the Angular team themselves really care! I know they care. 38:09 – Guest: I completely agree with you, Aaron! We appreciate it! 38:25 – Chuck: To wrap-up let’s talk to you, Juan, about where communities should be going to take care of the people 38:45 – Guest: Yeah, what are we going to do next year? Are we going to do Meetups? Do they need something else? What are the needs of our members today and tomorrow? We decided to change the format. We realized that Meetups are great but they are 20-minute talks and they aren’t enough for our members. We do 4 hour Meetup that is called the MEGA MEETUP! 41:00 – Fresh Books! END – CacheFly! Links: Vue jQuery Angular JavaScript Python React Cypress Meetup Conference in Antarctica! Guest: Juan Herrera – Twitter Guest: Juan Herrera – GitHub Sponsors: Angular Boot Camp Cache Fly Picks: Aaron Harry Potter Play Talk from Angular Connect – Grant Timmerman – Google Team CFP: ngVikings 2019 CFP: ngConf @aaronfrost – Twitter! Chuck DevChat TV transferring from WordPress to a static site. Guest JS – library CFP in Columbia! (2019 conference) @jdjuan – Twitter! John Forbes Article: How to start a conversation...
December 11, 2018
Panel: Charles Max Wood Joe Eames John Papa Alyssa Nicoll Special Guest: Michael Giambalvo In this episode, Chuck talks with special guest Michael Giambalvo who is an author of the book titled, “Testing Angular Applications.” This book can be purchased through Amazon, Manning Publications, among other sites, too. The panelists and the guest talk about different types of tests, such as end-to-end testing and unit testing. They also talk about Angular, Java, Mocha, Test Café, and much more! Check it out! Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:53 – Chuck: Our panel is John Papa, Joe Eames, Alyssa Nicoll, and myself. My new show is the DevRev – check it out, please! 1:26 – Guest: I am a contributing author to our new book, which is about Angular. 1:56 – Chuck: How is it like to write with multiple people? 2:04 – Guest: Yep it’s hard b/c we are in different areas. Back in the 2.0 days, Jesse was writing a book. He was talking about typescript and components. Craig made friends with Jesse and they were talking about the book he was writing. Then we all jumped in to get in finished. We all had areas that we were specialists in! 3:21 – Alyssa: If you break it up that makes sense. 3:31 – Guest. 3:40 – Panel: Pick different words and go around the room. 3:51 – Panel: You write the first ½ of a sentence and then you write the other ½ of the sentence! 4:10 – Guest: You have these big word documents and go back-and-forth. 4:36 – Alyssa: Editing and then pass it back-and-forth – how does that work? 4:46 – Guest: It’s like 8 pass backs-and-forth. 5:35 – Guest: The editing was the main issue – it took forever! 5:50 – Chuck: We were going to co-author a book and we didn’t. Chuck: If you could break down the book in 4 core topics what would they be? Elevator pitch? What is the starting knowledge? 6:18 – Guest: We expect you to know Angular Intro and that’s it! 6:43 – Chuck: What are the principles? 6:50 – Guest: We talk about the testing component. We highlight the benefits of using Angular vs. Angular.js. That shows up in the book a lot. It’s very example driven. 7:28 – Chuck: We have been talking about testing quite a bit on the show lately. 8:22 – Chuck: Do you see people using the testing in regards to the pyramid? 8:33 – Guest: I am not a huge fan of the pyramid. Some questions I ask are: Does it run quickly? Is it reliable? To give you some background I work on Google Club Platform. 10:21 – The guest talks about “Page Level Integration Tests.” 11:31 – Alyssa. 11:50 – Chuck: After your explanation after writing your book I’m sure it’s a breeze now. Knowing these tests and having the confidence is great. 12:13 – Guest: Tools like Cypress is very helpful. Web Driver Testing, too. 12:43 – Chuck: Where do people start? What do you recommend? Do they start at Protractor or do they come down to unit tests? 13:02 – Guest: Finding the balance is important. 14:30 – Chuck: Check out a past episode that we’ve done. 14:40 – Panel asks a question about tools such as Test Café and Cypress. 14:50 – Guest: I really don’t know Test Café. There is a long story in how all of these fit together. The guest talks about Selenium, Cypress, Safari, Edge, Chrome, Firefox, and Puppeteer! 19:24 – Chuck: Does it work in Electron as well, too? 19:26 – Guest: Good question but I don’t know the answer. 19:39 – Chuck: Maybe a listener could write a comment and tell us. 19:43 – Panel: I’ve used Protractor for many years. I like the explanation that you just gave. The great thing about Protractor is that you can... 20:29 – Guest: We wanted to explain the difficulty of Protractor in this book. Guest: You have this test running in Node but then you have your app running in the browser. You have these 2 different run times. You might have to run them separately and there is tons of complexity. 21:15 – Panel: As I am coding you have this visual browser on one side, and then on the other side you have... 22:22 – Guest asks the panelists a question. 22:32 – Panel: I have only used it for a few months and a few several apps but haven’t had those issues, yet. 22:55 – Guest: I haven’t heard of Test Café at all. 23:05 – Alyssa: Is the book online? 23:13 – Guest: It’s available through Manning Publications and Amazon. I think we have some codes to giveaway! 23:34 – Chuck: Yeah, we are working on those codes and giveaways. We have mentioned about 5 or 6 tools – are you worried about your book going out of date? 24:05 – Guest: Sure that is something we are worried about. When editing took a long time to get through that was one of my thoughts. The guest talks about Selenium, control flow, Protractor, 25:45 – Guest (continues): These new features were coming out while the book was coming out – so there’s that. What’s this thing about control flow and why this matters to you, etc. We were able to add that into the book, which is good. We were able to get those instructions out there. Books have a delay to them. 26:47 – Chuck: We talked about this in JavaScript Jabber. This guest talked about this and he is from Big Nerd Ranch. At what point do you have this breaking point: This isn’t a good fit for Test Café or Selenium BUT a good fit for Mocha or Jest? 27:27 – Advertisement: Get A Coder Job! 28:04 – Guest: Do you have a reason why you would switch testing tools? 28:12 – Chuck. 28:41 – Guest: That’s the tradeoff as you move down the ladder. 29:43 – Panel: If you want to trigger an action that isn’t triggerable? 29:50 – Guest answers the question. 30:07 – Panel. 30:20 – Chuck. 30:33 – Guest: You can access code. Usually something in a workflow will make it happen. You have to fall back on some type of UI sort of thing. It’s almost like doing Tetris! I’ve never had to directly call something. I am not the best one to answer that. 31:16 – Panel: It’s like a weird mix of tests. 31:29 – Panelist is talking about unit testing and other tests. 31:55 – Chuck asks a question. 32:02 – Guest: It depends on the scale of your project. 32:28 – Chuck: Do you guys use a test coverage tool or on the side of: everything should run and then test if there is a bug. 32:43 – Guest: Coverage isn’t the full story. 33:26 – Panel: You said you weren’t a fan of the testing pyramid – can you explain why? 33:43 – Guest: I think it turns too much prescriptive. Guest: I think there are bigger concerns out there and the test pyramid is an over-simplification. 35:22 – Panel: What’s the difference between fast and slow testing? 35:28 – Guest: It really depends on your level of knowledge. If your test suite runs more than twenty minutes to an hour that is probably too slow! 36:03 – Alyssa. 36:09 – Chuck. 36:16 – Alyssa: There is no way that 20 minutes equals that! 36:26 – Guest: 20 minutes is the extreme limit.  36:51 – Chuck. 37:11 – Panel: Any new Twitter news on Trump? 37:21 – Panelist talks about test suites! 37:40 – Panelists and guests go back-and-forth. 38:11 – Chuck: Do you have any recommendations for the unit testing? Keeping it small or not so much? 38:29 – Guest: Think: What is this test asking? Don’t write tests that won’t fail if some other tests could have caught them. 39:04 – Alyssa: That’s smart! 39:09 – Guest continues. 39:28 – Chuck: What else to jump on? Chuck: Do you write your tests in typescript or in Java? 39:48 – Guest answers the question. He mentions Python, typescript, and more! 40:17 – Alyssa. 40:22 – Guest continues. 40:46 – Alyssa: How many people worked on that project? 40:50 – Guest: 2 or 3 framework engineers who did the tooling. About 20 people total for tooling to make sure everything worked. 41:18 – Panelist asks a question. 41:22 – Guest: About 20 minutes! 42:35 – Guest wants to talk about the topic: end-to-end testing! 44:59 – Chuck: Let’s do picks! 45:09 – Fresh Books! END – CacheFly! Links: Vue jQuery Angular JavaScript Python React Cypress Puppeteer – GitHub Protractor Test Mocha.js Selenium C# GitHub: testcafe Istanbul “Protractor: A New Hope” – YouTube Video – Michael Giambalvo & Craig Nishina Book: “Testing Angular Applications” – Manning Publications Michael’s GitHub Michael’s Twitter Sponsors: Angular Boot Camp Cache Fly Picks: Alyssa Fantastic Beasts Joe Skyward War of the Spider Queen Luxur - board game Testing Angular with Space Cadets Sonar Family Charles The DevRev Podcast Gary Vee Audio Experience Michael Scale Captain Sonar
December 4, 2018
Panel: Charles Max Wood In this episode, Chuck discusses his new podcast show titled the DevRev. Chuck also asks you very honest questions that will get you thinking; such as: What does freedom mean to you? How do you want your life and career to unfold? How can we (at the DevRev) help you with your career decisions? Check out today’s episode to hear about this and much more! Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:52 – Chuck: Welcome! The panel is myself! I had this idea bouncing in my head for a while and I got some verification while waiting for my guest and panelists to show up. The show that I am producing is called, DevRev and it’s based on developer freedom. 2:22 – Chuck: Some developers love to contribute to open source. Some developers say that they don’t get along with their boss or coworkers. Others will say that they aren’t learning and feel like they are falling behind. I am on the B team and want to be on the A team. It boils down to: are they getting the freedom to do what they want to do. 3:45 – Chuck: I haven’t been happier with my job since I’ve gone self-employed. Having a sense of freedom could have a different definition for you. Perhaps you are looking for time to go hiking, skiing, and so on. For you it could be programming is to help you with your hobbies. What kind of opportunities can YOU create for yourself in programming? 5:32 – Chuck: When I got into programming (at first) I didn’t have a real clear idea. My old boss would have these ideas and would change the day after our meeting, which was frustrating. Freedom could be things from the things that don’t make you happy. Maybe an office space for you doesn’t work for you. 6:41 – Chuck: 1.) Freedom in life to do what you want! 2.) Freedom in your career to elevate you where you want to be. Chuck: Freedom to pursue the things that I care about vs. not pursue the things I don’t care about. First of all how do we take care of the big things? How do we reach our long-term goals? Finally, how do we remove all of the other interrupts and optimize our experience day-to-day to achieve things we want to achieve? 8:48 – Chuck: I was talking with Chris and his ideas are centered on with helping the community. We talked about the things that hang him up, too? 9:26 – Chuck: “I am swamped at work – what do I do?” I want to help you solve your issues. What’s your idea of freedom? 10:15 – Chuck: How do you feel fulfilled? Let’s find you a place that will payoff for you. There are all kinds of ideas around this. That’s where I want to dive-into! 11:11 – Chuck: If there are any questions that you have in particular – shoot me a message! I will gladly answer your questions and check out! I have some friends who run a financial podcast – 2 Frugal Dudes. I want you to ask the questions that are irking you. 12:36 – Chuck: I feel like there are tons of opportunities for developers out there that we can help you find what’s a good place for you. Find what you want out your career and life – find something that will line-up for you. Even if you are trying to find your first job! There are a lot of options out there. I am putting the show out on YouTube and Facebook! END – Advertisement – Cache Fly! Links: Discord App Discord App – DevChat TV Sponsors: Angular Boot Camp Cache Fly Picks: Charles
November 27, 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 Adventure In Angular, View on Vue, React Round-Up, and 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 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 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 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 - Modern Medicine Sean (757) Area Code
November 20, 2018
Panel: Aaron Frost Brian Love Special Guest: Amir Tugendhaft In this episode, Aaron and Brian talk with Amir Tugendhaft who is a web developer who is located in Israel. He finds much gratification developing and building things from scratch. Check out today’s episode where Aaron, Brian, and Amir talk about just that. Other topics include UI Design, Flexbox, UX design, PrimeNG, and ag-Grid. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:52 – Host: Welcome! Today’s panel is myself, Brian, and our guest is Amir Tugendhaft! 1:13 – Guest: I am a developer and experience with Angular and React. 1:56 – Host: You spend your days/nights there? 2:03 – Panel: He is committed. 2:08 – Host: I am going to back up a second, and Brian could you please introduce yourself, please? 2:26 – Brian: I am the CETO at an Angular consulting firm (Denver, CO). We have the pleasure with working with Aaron from time-to-time. My Twitter handle is @brian_love – check it out! 2:52 – Host: What is CETO stand for? 2:59 – Brian answers the question. Brian: I oversee the crew among other things. 3:31 – Host: What do you want to talk about today, Amir? You are the guest of honor today! 3:40 – Guest. 4:00 – Host: That is a lot of information – that might be more than 1 episode. We have to stay focused! 4:14 – Host: I read one of your recent blogs about Cross Filled Violators. I met you through your blog before we did the Host: Give us your own ideas about starting your own app. 4:50 – Guest answers the question. 6:17 – Host: I am biased. But here is a fact. I used to work on a large team (60 people) and everyone committing to the same page app. We were using Angular.js 1.5, which I think they are still using that. I know that it worked but it wasn’t the easiest or fastest one to maintain, but it worked. 7:05 – Brian. 7:10 – Host: What are you trying to do? React doesn’t fulfill that need. I think you are being hyperballic and using extreme cases as the norm. Let’s be honest: we do cool stuff with jQuery plugins when we didn’t have a framework. When they say that the framework is stopping them then I say: I agree to disagree. 8:00 – Host: What do you think, Amir? 8:04 – Guest: I don’t have preferences. I try to build applications through the technologies and create components and simple applications. 8:30 – Brian. 8:33 – Guest: You create the component, and then... 9:21 – Brian: You don’t have to have a template file and another file – right? 9:35 – Guest. 9:48 – Host: I do in-line styles and in-line templates. One thing I learned from React is that I like my HTML, style and code. I like it being the same file as my component. I like that about that: I like single file components. This promotes getting frustrated if it gets too big. Yeah if it’s more than 500 lines than you have to simplify. That’s one of the things that l like. 10:47 – Brian: Modules versus... 10:55 – Guest. 11:07 – Host: I think in React and Vue you have the word module but in JavaScript you have a file that exports... 11:26 – Host: I have my opinion here and talking with Joe. He made a good point: at a certain level the frontend frameworks are the same. You could be doing different things but they basically do the same thing. 13:57 – Guest: Basically what that means is that the technology used it will do the same thing. Your patterns and practices are huge. 14:17 – Brian: If you are talking about the 3 popular frameworks out there – they are basically doing the same thing. I like Angular a little big more, though. Like you said, Aaron, people tend to pick the same one. I like the opinionated things about Angular. You get properties, components or called props or inputs you are getting a lot of the same features. It comes down to your personal preference. 15:31 – Host: What else Amir? 15:35 – Guest: Let’s talk about the UI. 16:05 – Brian. 16:08 – Guest asks a question. 16:25 – Brian: How have you tackled this problem? 16:34 – Guest: I kind of ran with it. If there wasn’t something that I liked I started from scratch, because it really didn’t feel right. 16:51 – Brian: I am an enemy of starting over type of thing. You have a lot of engineers who START projects, and they can say that they start this piece, but the experts and choice team members have what it takes to ship a feature. I mean fully ship it, not just 80%, but also the final 20%. I think it takes a lot of pose decision making to say I want to rewrite it but not right now. I still need to ship this code. I have always been a bigger fan as not rewriting as much as possible; however, if you started with good patterns then that’s true, but if you are starting off with bad patterns then maybe yes. I like that opinion b/c you have to start right. Brian: How do you do your CSS? 19:05 – Guest. 19:52 – Advertisement: Get A Coder Job! 20:30 – Brian: How do you make those decisions, Amir? 20:39 – Guest: I see something that I like and ask myself how do I apply this to my design and I start scaling things. 21:50 – Host: Are you using a tool like Sketch for your initial UI design? 22:05 – Guest. 22:54 – Host: I worked on a project where the client had a designer (UX). 24:00 – Host and Guest go back-and-forth. 24:51 – Host: I am sure it’s all about the quality from your designer, too. Hopefully it works well for you and it’s quality. 25:18 – Host: There is a lot to building an app from scratch. I am not a good designer. I am not a designer – I mean straight-up. I got nothing. I appreciate team members that can do that. 26:06 – Guest: Do you write...? 26:35 – Host: Only on the most recent project. The designer didn’t own the HTML CSS but he initially wrote it and then gave it to me and now I own it, and it’s in components. If he wants updates then I have to go and make changes b/c he doesn’t know Angular. If it’s a sketch or a PNG you have to make it look like that. That’s what most of my career has been. Host: HTML and CSS got me 762x easier once Flexbox came around! I know there is a decimal there! 28:23 – Host talks about Flexbox some more. 28:42 – Guest asks a question. 28:50 – Host: I suppose if I really had heavy needs for a table then I would try CSS grid could solve some problems. I might just use a styled table. 29:12 – Brian: ag-Grid or something else. 29:21 – Host: On this recent project...I’ve used in-house design and other things. If I ever needed a table it was there. I don’t rebuild components b/c that can get expensive for me. 30:50 – Brian: Accessibility. 31:00 – Host: Your upgrade just got 10x harder b/c you own the component loop. I really don’t build tables or drop-downs. Only way is if I really need to build it for a specific request. 31:30 – Brian. 31:58 – Host: Let me give you an example. You can think I am crazy, but a designer gave me a drop-down but he told me to use PrimeNG. I had the chose of building my own drop-down or the designer has to accept whatever they gave him. I made the UI make what he wanted and I made the drop-down zero capacity and then... Host: When you click on what you see you are clicking on the... Host: Does that make sense? 33:35 – Guest. 33:50 – Host. 34:25 – Brian: That is interesting; remember when... 34:58 – Host: We will send this episode to Jeremy – come on Jeremy! Any last ideas? Let’s move onto picks! 35:20 – Advertisement – Fresh Books! 30-day free trial! END – Advertisement – Cache Fly! Links: Vue jQuery Angular React C# What is a UX Design? UI Design Flexbox Sketch ag-Grid PrimeNG Brian Love’s Twitter Aaron Frost’s Medium Amir’s Medium Amir’s Twitter Amir’s GitHub Amir’s LinkedIn Amir’s Facebook Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Aaron Movie: “A Star Is Born” Concept - Model Driven Forms Amir Puppeteer Arrow Function Converter Brian TV Series: “The 100” Angular Schematics
November 13, 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
November 6, 2018
Panel: Charles Max Wood John Papa Special Guest: Adrian Faciu In this episode, Chuck talks with Adrian Faciu who is a developer for Visma and is a blogger. The panel talks to Adrian about his blog titled, “NgRx Tips & Tricks.” They ask Adrian in-depth questions about NgRx, among many other topics. Listen to today’s episode for more details! Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:55 – Chuck: Hi! Our guest is Adrian Faciu. 1:10 – Guest: Hello! I am Adrian and I am a developer who works for a Norwegian company, but I live in Romania! 1:35 – Chuck. 1:36 – Guest. 1:47 – Chuck: The market is so global. I have talked with many different guests from different parts of the world – it’s really neat! It’s this global phenomenon. 2:12 – Guest: It’s a great thing! 2:23 – Chuck: They have an office where you live? 2:31 – Yes. 2:37 – Chuck: How are you guys using Angular over there? 2:47 – Guest: We have several different products. We customize using them with internalized tools. 3:04 – Chuck: Real quick let’s talk about your blog post. I will admit I am not that familiar with NgRx, so I will ask newbie questions. Now do you want to explain what this is? 3:41 – Guest: Sure! The short story of the article is I saw people doing things the hard way. And after I figured out some things, people encouraged me to write about my experience. 4:37 – Chuck: John Papa just signed-in! 4:53 – Guest: Yes NgRx is... 5:02 – Chuck: You used classes for all actions what do you mean by that? 5:05 – Guest answers the question into detail. 6:31 – Chuck: Let’s say we have a class that uses a log error... 6:42 – Guest: For example you have actions that... 7:02 – Chuck: When you use the reducer... 7:10 – Guest: There are other tricks we can use like keeping all of them in the same file... 8:00 – Guest talks about the union type. 8:24 – Chuck: You learned this by doing things wrong – what happens when you do these things wrong? 8:30 – Guest: If you don’t put all of your classes in the right file then you end up with a lot of files. If you don’t create hero types then you’d have to... 10:02 – Chuck: If you import user actions then does it import all of the other types? 10:08 – Guest: Import everything from that file. 10:17 – Chuck: If you have any questions, John, feel free to chime-in! 10:29 – John: Yeah I am scanning through this. The negative I hear a lot of through actions, it’s cause we create constants – the action class creators, it seems to cause an undue amount of stress. How much actual code do you actually have to write – how do you feel about that? 11:12 – Guest: I didn’t want to write all of this code! That’s what I wanted to avoid. 11:44 – John: I wrote them, didn’t like them, I went back to them... It wasn’t just that I created a new action I had to create the constant and other things – also the place you do the union type, I’d forget to do the union type at the end! If you don’t have all of those things then it won’t work. Even on a simple project I’d have 120 lines of code for a simple task. 12:49 – Guest: Yes. Sometimes I would forget this or that. I’d have to figure out what I did wrong. I went back and created classes for a lot of things. I like the benefits. 13:19 – John: I like your ideas and your tips in your blog. How do you feel about the NAMES of those actions? 13:55 – Guest. 14:51 – John: Important part is the naming of the string inside of it – that’s the value... So you can see the actions that are being displayed. 15:25 – Guest: If you didn’t do it right that’s where the problem would be. 15:38 – John: To me it’s a love/hate relationship b/c there is so much code to it. I usually copy and paste which means that I usually forget to change something. I agree, but I don’t’ like creating it. 16:05 – Guest: I’ve been trying to figure out a solution for it eventually I gave up. 16:23 – John: Moving onto effects – inside that happens inside of the Redux cycle – if you want to do something outside of it that’s when you do effects right? 16:40 – Guest. 16:49 – John: Using the effects is good or do it a different way? 17: 20 – Guest: It makes my components cleaner. I have seen projects that DON’T use it and it’s not the best. 17:36 – John: Like getting a list of customers... (I am using my hands and nobody can see me!) It’s weird to me to NOT use the effects! 18:52 – Guest: If you implement some type of caching then it’s everything to put everything in the state. 19:07 – Chuck: I haven’t used it as much as I would like, but I haven’t do much with it. 19:23 – John: I am curious from somebody hasn’t dove into it – does effects make sense to you, Chuck? 19:39 – Chuck: It seems like effects is a side effect? Like calling out an external API... 20:10 – John: Yeah even multiple effects. John asks a question. 20:23 – Guest answers the question. 20:29 – Chuck: I like that you can make constrained assumptions and all of the complicated... 21:10 – Guest: I am using my effects like functions. 21:26 – John’s question. 21:31 – Chuck: Doing everything! You said implement the 2-payload method – that doesn’t make sense? 21:43 – Guest: Not 100% convinced you need it. What people are doing on these actions... 22:43 – Chuck: How much magic you want? 22:50 – Guest. 22:59 – John: I am confused about ERROR HANDLING. What do you advise for people to do? 23:21 – Guest: Basically, when you deal with that effect you deal with the actions, and the actions... If you get an error on it it’s done. I was trying to explain there it on another stream. Try it on another stream and handle it. What happened to me – I did it on the action state and I got an error and then everything will stop. 24:27 – John: That’s not good! 24:32 – Chuck. 24:35 – John: Good tip! 24:40 – Chuck: Angular has gotten better at that. I still find, though... 25:06 – John. 25:16 – John: Hey I appreciate these blog posts that don’t always show the happy path. To show the unhappy path is a good idea. 25:32 – Chuck. 26:00 – Going down your list, Adrian, let’s talk about effects are services. I agree, but not that we have... 26:24 – Guest: I have seen cases where people forget that. They say I want to call a service, how do I do that? They forget... 26:50 – John: You have to provide your services somewhere. The old way was you could go into the... What do you do? 27:28 – Guest: Most of the applications... 28:17 – John. 28:25 – Chuck: I love deleting code! 28:32 – John: You end up in a spaghetti pool, though, if you needed that deleted code. Nooooo!!! 29:00 – Chuck. 29:01 – Guest. 29:10 – Advertisement: Get A Coder Job! 29:49 – John: Let’s talk about reducers – the smallest part of your tip sections. You say, “keep them simple” – how do you keep them simple? 30:07 – Guest: I have received this observation from several people. This is the biggest problem I had. How to keep them simple... 31:08 – John: When someone makes that type of code – where would you want them to put it? 31:23 – Guest: It depends on different types of actions. Maybe I have some sort of matter that I added to the data – an action from my application we can catch it into an effect and... Not all of the actions have to go to the reducer. 32:04 – John: I say, “Hmm...” when I see reducers like this...they are running a synchronized code inside of a reducer. And I see that a lot. 32:24 – Chuck. 32:28 – John: You go call a reaction, and...sometimes they are doing HTP there, but it’s hard to explain. 33:11 – John: What are some of the things that they can do to step-into, when they are using these? 33:16 – Guest: That’s why I only have these things about the reducers. 33:48 – Chuck: I am wondering what is the life cycle look like? What do you call a reducer from an effect from an action or vice versa? 34:09 – Guest answers the question. 34:37 – John: It can be confusing with all of these different terms. Where does it end? Your component you have to say: call this action. Perform this action and then the action says get customers – the NgRx library listens for that and helps connect to the reducer for you. Look into the action and then return that to a stream to whatever... 35:29 – Guest: Yes, it sends it to reducers. Guest goes into more detail. 36:09 – John: You never talk to the reducer directly? 36:17 – Chuck: that something I should have done before – or does it call effects and the effects load the information into the state and the reducer pulls it out for the action? 36:46 – Guest. 36:58 – Chuck. 37:03 – Guest. 37:53 – John: It really depends on what you want to do, Chuck. John will give a hypothetical scenario. 38:58 – Chuck: In your scenario, let’s say... 39:14 – John: Everything is right up until the end there. It’s a little magical, honestly. I just know here is my selector and here is my data! 40:17 – Chuck: Selector is essentially I am interested in THIS state or THIS state change. 40:40 – Guest. 40:50 – Chuck: So when that changes... 40:56 – Guest. 40:59 – John. 41:05 – Chuck: A little piece of the overall store. 41:18 – Guest: My tip there was a bout the selectors... 42:30 – Chuck: So I can hand off my selector to multiple places? 42:36 – Guest: Yep. You don’t need to know anything else. 42:44 – Guest: Combine it as needed. Another benefit here is memorization. It says that each time you select pure functions it wont call the function again. 43:42 – I am seeing a trend in your tips, too. I am seeing easier way to code. You are always saying selector technique. There are a lot of terms in NgRx module. Dispatchers and states and’s nice to have a way to create the code easier. 44:21 – Guest: It does take a lot of time for someone to grasp. 44:30 – Chuck. 44:35 – John: Don’t use the store all over the place – that’s what Adrian says! 44:54 – Guest: I think it’s more like dumb components. I have a container of all of these dumb components. The container is the one that KNOWS. 46:22 – Chuck: It’s just a button. 46:28 – Guest: You click the button and it triggers. Whenever you want to use that component then you... 46:48 – Chuck: Any types of data that you wouldn’t want to use in your NgRx store? 47:07 – Guest: It depends – I am not holding any logging information there, though. 47:51 – John: I like to ask WHY. Property initialization. You are saying... 48:11 – Guest: It’s less code and it’s reasonable. If I can have less code then I’d love to have it. I think it’s cleaner b/c it’s not that much code. Most people might think blah, blah, blah, but I think it looks okay. 48:46 – John: I can see why it would be less code. 48:57 – Guest. 49:07 – John: I haven’t seen this: looking at your property initializer... Looking at your code here, Adrian... The store object itself is a reference to the NgRx store. That means you have to... To me I don’t want my app to know that NgRx is involved. I started to do this...I was creating an Angular service, which... Have you done this before? 50:33 – Guest: I have seen this function but I haven’t played with it. It makes sense. This takes it a step further. Like you say it’s perfect b/c nobody knows anything about that store, but it’s a new level. I think you have some benefits with that way of doing it, too. 51:23 – John: The one thing that sticks out is company name is your observable, then your... 52:10 – Guest: Yeah that’s good b/c it might be better! They might not even know what NgRx is, and you have a service so just use them. Yeah it’s just an observable. 52:33 – Chuck: You don’t want to see my garage. 52:44 – Guest: Some services are underrated. Like you suggested we could use them for much more. 53:01 – Guest: It was nice writing these tips. 53:19 – Chuck: What are working on now? 53:23 – Guest: Writing a new blog. 53:41 – Chuck: We will keep an eye out for it. Where do you post? 53:55 – Guest: Usually Medium, and Twitter. Search for my name and you will find me, b/c I have the same handler on all the places. 54:15 – Chuck & John: Let’s go to picks! 54:30 – Chuck is talking about future episodes and potential topics. You can vote stuff up on Trello on NgRx so we can go deeper on this topic. 55:40 – Advertisement – Fresh Books! 1:02:00 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter John Papa’s Twitter Adrian’s Medium Adrian’s Twitter Adrian’s GitHub Adrian’s Blog Post Adrian’s Article: Testing NgRx Effects Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: John NgRx Data Conferences  - Don’t feel mofo Charles Discord App Adrain Angular In-depth Doc Wallaby
October 30, 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, 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 Node-SASS ASP.NET SignalR Hubs API Guide – JavaScript Client 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 J5 ports and SD card readers Podwrench
October 23, 2018
Panel: Charles Max Wood Aaron Frost John Papa Alyssa Nicholl Special Guests: Dan Muller In this episode, the Adventures in Angular panel talks with Dan Muller who is a member of the NRWL team and who has developed Angular Console. The panel asks Dan questions about the console and the pros and cons of it. Check out today’s episode! Show Topics: 1:19 – Dan: I work now with NRWL and I used to work at Google and then I got bored writing Angular applications. I then texted a colleague and worked with him and he gave me what is now called 1:52 – Chuck: Nice. Give us the elevator pitch for Angular Console? 2:00 – Dan: It is mostly pretty. 2:19 – Alyssa comments. 2:30 – Dan: To each their own. 2:38 – Dan One of the parts working at Google I would copy and paste the patterns I did at Google. Now we stopped copying and pasting code. If you are newbie there is a learning code and that’s a drag. What it (Angular Console) does it makes it easier for novices for them to know what can you generate and what options are available to you. It makes you feel nice and comforted and holds your hand. It’s a tool for me because I often go fast and it makes sure I don’t do anything wrong. It’s focused, and it keeps me focused. 4:29 – Panelist: I just installed it for the first time. I am working on a project for a client and been doing a lot of NGG things. I am looking at this thing and I can see how it can be pretty helpful with its UI. Get in and try it out. 5:23 – Dan: That’s the generate screen. 5:30 – I have a terminal and it... 5:51 – Dan: As you building up the commands it constantly runs them. It would be insane for you to hit the Enter key and copy and paste, cause we only have 2 hands. As you are doing the commands it will tell you what’s missing. You will have the flags above it and tweak it a little and it comes together. 6:45 – Chuck. 6:53 – Dan: Under the hood it’s running it verbatim. Anything that has an architecture definition every 1/10 sec it...will live update and it sees what projects you have, what apps you have and anything you have with a CI it will present it to you. 7:51 – It has some custom scripts. 8:03 – Alyssa: What did you do to install it? 8:05 - Welcome download button and I downloaded it. 8:43 – It’s a tiny file. 8:47 – You are trying your best to make your bundle efficient. 8:57 – Electron app is about the same size. It took only 11 seconds to download for me. 9:11 – Nobody uses Lenox, so... 9:22 – It does some very simple things it can do and chime-in when you want, Dan! I can see all my projects and if you were in a workspace you can see it all. If you have an Angular project you can do a generate component. There is a code generator, and there is a run screen. And in the end – I have a question about extensions? This is really where you can get a bunch of schematics, right? 10:34 – Panelist asks a question. 10:38 – Dan: Not wrong at all. 11:25 – Panelist and Dan go back-and-forth. 11:36 – We should do a show on schematics. 11:43 – You are percolating a few new ones – that’s cool. What would be cool is if you... 12:14 – Dan: Yeah it’s hard coded. We put this together in less than a month. It started in the middle of like October and we just put together and released in 3 weeks. Considering how slow Angular has developed it’s interesting to see... 13:01 – Yeah I am seeing the extensions that reminds me... I like how you can search with these extensions there especially with the filter. 13:21 – Dan: We want to eventually I hope we can surface more things. Not everyone thinks how a designer thinks. We are trivial to discover them maybe they would. He’s very much open to that someday. 14:24 – I want to ask a question. Let’s do a poll request and it’s important to me. I don’t see the file where that lives. 14:41 – Dan: I think there is a pre-existing file. You can base it off of that one. 14:55 – A little context that I have and the one question that keeps coming up is what’s to say that this won’t drive us down a road to only do what NX wants us to do? 15:52 – Dan: It’s tricky. Actually, back when the CUI they were thinking of something very similar to the console and it never happened. Basically before we launched it to the public we wanted to make sure that Angular team was on board with us. Even though we own the repo we wanted Google to sign-off the code. Make sure that they did it the correct way and they have lawyers more so than a start-up does. Eventually they will own...and they will be in charge of the release schedule. But all in all it’s my baby and I won’t give it up. There are extensions... Dan continues this conversation. 18:20 – Yeah so far using the console I can see the NX and finding extensions is hard. Where would you go find it? So this stuff... 18:53 – As long as NX still stays an option than something you MUST choose then... 19:12 – Dan: We decided early on that we didn’t want to shove NX into their face. That console can be useful but useful in another way. What we are building is this way you can reach out to us. We are a consulting company. If you are in the middle of making your app and you see a bug then we are building out a NWRL connect where you can connect with us. 20:12 – Yeah I see that NWRL connect. Do I get you for free? 20:26 – John Papa discount. 20:31 – I usually have to pay him $10,000 a minute! 20:53 – Yeah, he’s a cofounder (Victor). 21:03 – It gives his number and SSN! 21:17 – Alyssa: You said you have a lot of ideas of how console could go, do you have any things in the next steps? 21:32 – Dan: I wasn’t very ambitious when I started the project. It’s not a huge desktop client focus application. I am adding background tasks. Things you can run all the time so you don’t have to click them all the time. 23:17 – Advertisement – Get a coder job! 23:58 – Why would you use this tool? 24:05 – Dan: I have this fun experience when I was making console at first. It didn’t have the command screen and I needed to make a dialogue for creating a new workspace. And I said: Oh Shoot I don’t remember how to generate a module with routing. So instead of Googling...server and opened up Angular Console workspace and generated a component with it and it... 25:11 – Comment. 25:19 – Dan: During auto complete... 26:10 – Panelist: If they want that UI...and when I teach Angular the first thing I teach is the UI. I think UI is a great starting point. I look at the console to see the extensions. 27:09 – The CUI is already abstracting multiple different things. Now you have added a UI to it, I think it will be attractive for different people. I can see people saying I got it, and other people (John Papa) teaching a course, or maybe...certain people will like/don’t like it. 28:12 – I don’t think it’s an either or. 28:20 – Chuck: I would try things on the command line, and then things on the console line and figure out how it works with my flow. If I have 2 tools then I will use 1 for X and the other for Y. 28:47 – Dan comments. 29:17 – Where should people go to voice their ideas? 29:29 – Dan: Some ideas are really, really good! Yeah shoot me a message. 30:19 – You haven’t seen my issues, yet, bro. 30:28 – Chuck: Was it inspired by the... 30:37 – Dan: Shamelessly I steal design all the time. As I develop the Angular Console more I am steering away from their design but... 31:26 – Chuck: Depending on WHO I am talking about there is rivalry between maybe Vue and Angular and whatever. I like the idea of sharing to show the mature elements to bring in what I am doing. 31:59 – The main difference is the implementation is electron and web app and tell us pros and cons and why? 32:14 – Dan: We could have done it either way. It looked more beautiful in my dock. Having it be an honest to goodness app and not having to open a terminal and fire it up, it didn’t feel professional or good. There is a little bit of professionalism there. 33:42 – Chuck: I agree with that. 33:48 – I like that it is web and that it’s a web application. It’s nice to have a web app open. 34:06 – Dan comments. Dan: Discoverability is there. There are 2 servers and you could load it up and open it up in Chrome. We don’t use a lot of electronic UPIS because you are just running your terminal. 34:56 – Chuck comments. 35:02 – I just put the 7’s in there and there it is! 35:11 – Dan: Theoretically, it is useful. That’s good. 35:19 – What port? 35:40 – Chuck, panel and guest go back-and-forth. 36:06 – Seems like a good idea. 36:13 – Hacker News. 36:17 – Dan: That’s the dream – my life would be made as a developer. 36:38 – Chuck. 36:55 – I submitted a PR in there and looks like you are still getting help with this. I am a fan of this tool. People will love this. 37:15 – Dan: We have more things that we want to add it - it to make it more attractive. We are making it official we are... 37:54 – There are people that kill NWRLs. 38:03 – Chuck. 38:08 – Dan: Fellow NWRLer, Jack... 38:50 – That stuff exists through web pack, right? 39:20 – Dan: We can’t use it because it’s garbage and I won’t touch it. 39:35 – Dan: I don’t know. We are going to do basically the same thing but prettier. The code will be prettier. 40:10 – Chuck: Aaron, it looks like you put in a request to put in the plug-in. And you did it pretty fast so it’s not hard to do? 40:31 – Probably not formatted properly. 40:40 – Panel and guest go back-and-forth. 40:54 – You have to fix it on the air. It’s a space problem. My line space is too long. 41:07 – Panelists and guest. 41:46 – Dan: Any compliment from Victor makes my life. 41:57 – Panelist: I changed it. 42:05 – Alyssa: Is it green light, green arrow? 42:15 – I am just failing. 42:21 – I used the web editor I really didn’t... 42:30 – Alyssa: It was a space issue. 42:39 – 3 more minutes to go... 42:54 – Chuck sing us a song while we wait. 43:03 – Is there a contributions page for people to contribute? 43:18 – Dan: It tells you exactly how to run it. 43:33 – Chuck: It using some of the web pack tools and the CUI and the command line, I am wondering if it’s possible to add - not extensions to the CUI stuff but - to the console itself? Setup the other things that aren’t Angular specific but are apart of my overall template? Or do you do that through schematics? 44:16 – Dan: There are different ways to approach it. Your personal workflow you probably should integrate it. Like anything else why wouldn’t you keep it the same? 45:42 – Panelist comments. 46:08 – Dan: Have you contributed to Angular before? 46:25 – Chuck: Anything else before Picks? 46:36 – NRWL Connects is our support product to help you with being a more productive Angular developer. 47:24 – Panelists and guest go back-and-forth. 47:41 – I didn’t know NRWL Connects was a thing. If I wasn’t personal friends with Victor and... There have been problems that I have solved because I have smart friends. NRWL Connect is to help those people who don’t have smart friends. People can solve a lot of problems and this is HUGE! 49:03 – Dan: Fingers crossed we are helping integrate Angular Connect to help with Basil. 49:39 – Chuck: Picks! 50:00 – Advertisement – Fresh Books! Links: Vue Angular NRWL NGRX – DATA LAB – GITHUB Angular Console Angular Prettier Schematic Chuck’s Twitter 5 Things about developing on a Mac – Video Real Talk JavaScript King and Queen of the Universe Grinders Dan Muller’s Bio through NRWL Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Picks: Alyssa Kendal UI Library component update John Season 2 of 5 Things of JavaScript Podcast - Realtalk JavaScript Aaron Role for Initiative Charles Extreme Ownership Dungeon and Dragons Dan Look at the Birdie The King and Queen of the Universe Grinders Boots Screaming Females
October 16, 2018
Panel: Charles Max Wood Special Guests: Ed Thomson In this episode, the Adventures in Angular panel talks 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 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
October 9, 2018
Panel: Joe Eames Aaron Frost John Papa Special Guests: Jia Li In this episode, the Adventures in Angular panel talks with Jia Li about Zones.js. Check-out today’s episode to hear this topic plus more! Show Topics: 1:20 – What are zones? 1:25 – Jia: It is a library developed 4 years ago. 1:45 – Panelist: Execution context? What is this? 1:50 – Jia answers this question. 2:42 – I know it’s big in Angular because it kind of takes care of itself. What are the new things you have done in zones and let’s talk about that? 3:01 – Jia: I started contributing 2 years ago. About 1 year ago I was using Angular. I would like to talk about different 3:35 – Where are zones used in Angular – lots of people don’t know where it is. 3:48 – Jia: For four parts. 6:23 – What is this framework that you are talking about? Check-out the links for this framework. 6:42 – Panelists chime-in with their comments. 7:29 – Jia: It is a standalone package in Zone. 8:27 – Going back to John’s question. I only ran into it a few times – one time in one of my classes I made a new behavior subject. That subject got created before the zone. Anything I did outside of Angular zone, didn’t know what was going on. Once I stuck the behavior subject in one of the classes everything got taken care of. You kind of monkey patch... what else gets monkey patched by zones? 9:28 – Jia answers the question. 10:54 – Monkey-patch is a term that we use in this industry. What is it? 11:05 – Jia answers this question. Jia: Monkey patch basically is overriding the procedure for the API. 14:05 – What are some of the new things you are doing? I know you’ve done some new things and what’s new with Zones? 14:28 – Lia: It’s all about the performance. 16:55 – Panelist: I didn’t know all about these hooks – so that’s cool! I knew about handling errors, but I didn’t know there are different ways to work with the tasks. I am curious what kind of interesting things have you done with Zones as an Angular developer? 17:38 – Lia answers the questions. 19:15 – Debugging and tests are good for Zones. But it sounds like you are saying that Zones is not good for... 19:50 – Lia answers the question. 20:35 – Panelist: Sounds like Zones is doing what you need out of the box for... 20:51 – Panelist: You improved some of the performance? Zones doesn’t have that much of a footprint and is pretty lightweight. How much did you better the performance? 20-30%? 2:25 – Jia – I think the library is faster. There is a lot of garbage collection. It’s not that much. 22:47 – Advertisement – Code Badges! 23:38 – Panelist: So it will help with garbage collection. That is good to know. Cool to know that you can optimize such a small library with... 23:48 – Jia comments. 26:09 – Panelist: Gottcha. 26:16 – Jia continues this topic. Jia: A lot of new things are happening with the testing in the Zone. There are a lot of new features in the syntax. 27:35 – That is a nice feature to add back in. 27:43 – Jia continues the talk. 28:55 – Panelist: There are a lot of tests in this Repo. Do Zones generally work out of the box or do you have to add support for different things? What are the criteria to add support to? Blue Birds added to the list somehow. 29:32 – Jia answers this question. 30:03 – Panelist: Can the GIST team add support or only can the Zone team add it? 30:37 – Jia: Other teams can add support to their libraries. It’s public. 31:10 – Panelist: This is over my head, but is there a plan to get the documents going? 31:32 – Jia adds a comment. 31:41 – Panelist: Google this: What the heck is zones? An opposite side of the question: What would happen to Angular if you remove Zones.js? 32:10 – Jia answers this question. 332:37 – Zones is effectively how it works sweetly in Angular. It’s not totally true but if you remove Zones.js – which I see some people doing – why would someone do this? Is it heavy is it...? 33:20 – Jia answers the question. Jia: It’s not good for the Angular element. 34:29 – Panelist: It is an island of Angular. 34:54 – Jia continues this conversation. 35:10 – Panelist: That’s interesting – good to know. 35:18 – Jia: Back to the new features. 38:22 – Jia mentions another feature. 39:43 – JavaScript something haunts you – then you are now a real developer! 40:03 – Jia: Yes, exactly. 40:10 – Panelist: I am going to put some things in the links that the listeners can access. (NG Zone) 40:28 – Picks! 40:31 – Advertisement – Get a Coder Job Course Links: GitHub What is New in Zone.js Thriller Troopers Web Tracing Framework NG Zone Audible – Educated Real Talk – JavaScript The dark side of conferences Real Talk Java Script’s Twitter Jia Li’s LinkedIn Sponsors: Angular Boot Camp Digital Ocean Get a Coder Job Course Picks: Jia You Don’t Know JS Switching to Angular 2 Aaron Educated John Real Talk JavaScript The Dark Side of Conferences Joe The Developer Experience Bait and Switch
October 2, 2018
Panel: Charles Max Woods Special Guests: Donovan Brown In this episode, the Adventures in Angular panel talks 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 When he is not writing software, he races cars for fun. Listen to today’s episode where Chuck and Donovan talk about DevOps, Azure, Python, Angular, React, Vue, and much, much more! Show Topics: 1:41 – Chuck: The philosophies around DevOps. Just to give you an idea, I have been thinking about what I want to do with the podcasts. Freedom to work on what we want or freedom to work where we want, etc. Then that goes into things we don’t want to do, like fix bugs, etc. How does Microsoft DevOps to choose what they want to do? 2:37 – Guest: We want to automate as much as we can so the developer has less work. As a developer I want to commit code, do another task, rinse and repeating. Minutes and not even hours later then people are tweeting about the next best thing. Do what you want, where you want. Code any language you want. 4:15 – Chuck: What has changed? 4:19 – Guest: The branding changed. The name wasn’t the most favorite among the people. The word “visual” was a concerned. What we have noticed that Azure will let me run my code no matter where I am. If you want to run Python or others it can run in Azure. People didn’t need all of it. It comes with depositories, project management, and so much more! People could feel clumsy because there is so much stuff. We can streamline that now, and you can turn off that feature so you don’t have a heart attack. Maybe you are using us for some features not all of them – cool. 7:40 – Chuck: With deployments and other things – we don’t talk about the process for development a lot. 8:00 – Guest talks about the things that can help out with that. Guest: Our process is going to help guide you. We have that all built into the Azure tab feature. They feel and act differently. I tell all the people all the time that it’s brilliant stuff. There are 3 different templates. The templates actually change over the language. You don’t have to do mental math. 9:57 – Chuck: Just talking about the process. Which of these things we work on next when I’ve got a bug, or a ... 10:20 – Guest: The board system works like for example you have a bug. The steps to reproduce that bug, so that there is no question what go into this specific field. Let the anatomy of the feature do it itself! 11:54 – Chuck comments. 12:26 – Chuck: Back to the feature. Creating the user stories is a different process than X. 12:44 – Guest – You have a hierarchy then, right? Also what is really cool is we have case state management. I can click on this and I expect this to happen... These are actual tasks that I can run. 13:52 – Chuck: Once you have those tests written can you pull those into your CI? 14:00 – Guest: “Manual tests x0.” Guest dives into the question. 14:47 – I expect my team to write those test cases. The answer to your question is yes and no. We got so good at it that we found something that didn’t even exist, yet. 16:19 – Guest: As a developer it might be mind 16:29 – Chuck: I fixed this bug 4x, I wished I had CI to help me. 16:46 – Guest: You get a bug, then you fix a code, etc., etc. You don’t know that this original bug just came back. Fix it again. Am I in Groundhog Day? They are related to each other. You don’t have a unit test to tell you. When you get that very first bug – write a unit test. It will make you quicker at fixing it. A unit test you can write really fast over, and over, again. The test is passing. What do you do? Test it. Write the code to fix that unit test. You can see that how these relate to each other. That’s the beauty in it. 18:33 – Chuck: 90% of the unit tests I write – even 95% of the time they pass. It’s the 5% you would have no idea that it’s related. I can remember broad strokes of the code that I wrote, but 3 months down the road I can’t remember. 19:14 – Guest: If you are in a time crunch – I don’t have time for this unit test. Guest gives us a hypothetical situation to show how unit tests really can help. 20:25 – Make it muscle memory to unit test. I am a faster developer with the unit tests. 20:45 – Chuck: In the beginning it took forever. Now it’s just how I write software now. It guides my thought process. 21:06 – Guest: Yes! I agree. 22:00 – Guest: Don’t do the unit tests 22:10 – Chuck: Other place is when you write a new feature,...go through the process. Write unit tests for the things that you’ve touched. Expand your level of comfort. DevOps – we are talking about processes. Sounds like your DevOps is a flexible tool. Some people are looking for A METHOD. Like a business coach. Does Azure DevOps do that? 23:13 – Guest: Azure DevOps Projects. YoTeam. Note.js, Java and others are mentioned by the Guest. 25:00 – Code Badges’ Advertisement 25:48 – Chuck: I am curious – 2 test sweets for Angular or React or Vue. How does that work? 26:05 – Guest: So that is Jasmine or Mocha? So it really doesn’t matter. I’m a big fan of Mocha. It tests itself. I install local to my project alone – I can do it on any CI system in the world. YoTeam is not used in your pipeline. Install 2 parts – Yo and Generator – Team. Answer the questions and it’s awesome. I’ve done conferences in New Zealand. 28:37 – Chuck: Why would I go anywhere else? 28:44 – Guest: YoTeam was the idea of... 28:57 – Check out Guest 29:02 – Guest: I want Donovan in a box. If I weren’t there then the show wouldn’t exist today. 29:40 – Chuck: Asks a question. 29:46 – Guest: 5 different verticals. Check out this timestamp to see what Donovan says the 5 different verticals are. Pipelines is 1 of the 5. 30:55 – Chuck: Yep – it works on my Mac. 31:04 – Guest: We also have Test Plant and Artifacts. 31:42 – Chuck: Can you resolve that on your developer machine? 31:46 – Guest: Yes, absolutely! There is my private repository and... 33:14 – Guest: *People not included in box.* 33:33 – Guest: It’s people driven. We guide you through the process. The value is the most important part and people is the hardest part, but once on 33:59 – Chuck: I am listening to this show and I want to try this out. I want a demo setup so I can show my boss. How do I show him that it works? 34:27 – – that is a great landing page. How can I get a demo going? You can say here is my account – and they can put a demo into your account. I would not do a demo that this is cool. We start you for free. Create an account. Let the CI be the proof. It’s your job to do this, because it will make you more efficient. You need me to be using these tools. 36:11 – Chuck comments. 36:17 – Guest: Say you are on a team of developers and love GitHub and things that integration is stupid, but how many people would disagree about... 38:02 – The reports prove it for themselves. 38:20 – Chuck: You can get started for free – so when do you have to start paying for it? 38:31 – Guest: Get 4 of your buddies and then need more people it’s $6 a month. 39:33 – Chuck adds in comments. If this is free? 39:43 – Guest goes into the details about plans and such for this tool.  40:17 – Chuck: How easy it is to migrate away from it? 40:22 – Guest: It’s GITHub. 40:30 – Chuck: People are looing data on their CI. 40:40 – Guest: You can comb that information there over the past 4 years but I don’t know if any system would let you export that history. 41:08 – Chuck: Yeah, you are right. 41:16 – Guest adds more into this topic. 41:25 – Chuck: Yeah it’s all into the machine. 41:38 – Chuck: Good deal. 41:43 – Guest: It’s like a drug. I would never leave it. I was using TFS before Microsoft. 42:08 – Chuck: Other question: continuous deployment. 42:56 – When I say every platform, I mean every platform: mobile devices, AWS, Azure, etc. Anything you can do from a command line you can do from our build and release system. PowerShell you don’t have to abandon it. 45:20 – Guest: I can’t remember what that tool is called! 45:33 – Guest: Anything you can do from a command line. Before firewall. Anything you want. 45:52 – Guest: I love my job because I get to help developers. 46:03 – Chuck: What do you think the biggest mistake people are doing? 46:12 – Guest: They are trying to do it all at once. Fix that one little thing. It’s instant value with no risks whatsoever. Go setup and it takes 15 minutes total. Now that we have this continuous build, now let’s go and deploy it. Don’t dream up what you think your pipeline should look like. Do one thing at a time. What hurts the most that it’s “buggy.” Let’s add that to the pipeline. It’s in your pipeline today, what hurts the most, and don’t do it all at once. 49:14 – Chuck: I thought you’d say: I don’t have the time. 49:25 – Guest: Say you work on it 15 minutes a day. 3 days in – 45 minutes in you have a CSI system that works forever. Yes I agree because people think they don’t “have the time.” 50:18 – Guest continues this conversation. How do you not have CI? Just install it – don’t ask. Just do the right thing. 50:40 – Chuck: I free-lanced and setup CI for my team. After a month, getting warned, we had a monitor up on the screen and it was either RED or GREEN. It was basically – hey this hurts and now we know. Either we are going to have pain or not have pain. 51:41 – Guest continues this conversation. Have pain – we should only have pain once or twice a year. Rollback. If you only have it every 6 months, that’s not too bad. The pain will motivate you. 52:40 – Azure DevOps’ Twitter 53:22 – Picks! 53:30 – Advertisement – Get a Coder Job Links: Donovan Brown’s GitHub Donovan Brown’s Twitter Donovan Brown Donovan Brown – Channel 9 Donovan Brown – Microsoft Azure YoTeam GitHub Azure DevOps’ Twitter Sponsors: Angular Boot Camp Digital Ocean Get a Coder Job course Picks: Charles Jet Blue Beta Testers Donovan YoTeam VSTeam Powershell Module
September 25, 2018
Panel: Alyssa Nicholl Joe Eames John Papa Ward Bell Special Guests: Martin Jakubik In this episode, the Adventures in Angular panel talk with Martin Jakubik and he has been working with Angular for the last three years. He has one large and one small Angular application, which the panel talks about. Show Topics: 2:31 – Alyssa likes to be called... 2:40 – Alyssa: You have a large and small application – what makes it small? Is it the user-base? 2:56 – Martin: It is one module out of ten or twenty components. 2: 59 – Panelist: Only 1 Angular module? 3:47 – Panelist: Joe went off on how much he hates modules. I am sorry JP we had to throw that in that? 4:04 – Joe: I am an anti-modulist. 4:11 – Martin: Just one module. 4:21 – Panelist: When you are building an application with one module – start us from the beginning, what does it look like? 4:38 – Martin: It is actually quite special. It has to run in an iFrame, and all it does it allows the user to add into the experiment. 5:05 – Alyssa: Is it like a CMS? 5:10 – Martin: It is like Google Optimize. The application is quite simple and every component is in that one module. 5:36 – Panelist: How many do you have? 5:44 – Martin: There are less than 10 services and 20 components at most. 5:57 – Panelist: I feel personally, I feel like that I a decent size? 6:11 – Panelist: That makes perfect sense. If there is no routing or nothing... 6:40 – Panelist: Asks a question, and clarifies the question to Martin. 7:48 – Panelist: It is nice and clean. 7:55 – Panelist: I do, too. 8:08 – Alyssa: How new is it? 8:15 – Panelist: June/July? 8:32 – Martin: I am using the new style. 9:01 – Panelist: I am leery of using it. 9:13 - Panelist: I would like to clarify. When you mention you have 20 components... 9:40 - Panelist: Do it. 10:34 – Panelist: Webpack. Can you explain what that is and how you solved it? 10:57 – Martin: I don’t think I did anything special. I wanted to know how it works. I used webpack and used their configurations. Several months into the project then I... 11:40 – Panelist: Why did you decide not to use the CLI? This is like an Iron Man thing. 11:55 – Panelist: I think it’s a pain thing. 12:05 – Martin: I wanted to know how it works. 12:32 – Martin: I started from scratch, I can’t remember. 12:44 – Panelist: Whenever I use webpack it makes my head spin. 12:56 – Martin: The application was very simple. I was doing more blogging. 13:45 – Panelist: It is doing more configurations on the fly for you. It’s wonderful if it works and if it doesn’t work then I don’t know what you’d do. 14:17 – Martin: That’s why I did it, so I can appreciate all the magic. 14:30 – Panelist: How big is big? 14:36 – Martin: Enterprise level. 100 different components. 15:06 – Panelist chimes in. 15:13 – Panelist: That is complex. 15:28 – Panelist: let’s add more modules to add to the complexity... 15:55 – Alyssa: When you took your app to the CLI was that hard? 16:06 – Martin: That took me one whole day. The module is so simple that’s why. 16:32 – Panelist talks about this topic. 17:39 – Panelist asks a question. 17:53 – Panelist: Fixing any problem ... ever work on tooling help people if they have their stuff in the right file name? 18:18 – Martin: I used Cypress. 18:58 – Panelist: Under what situation would you recommend it to anyone? Do it your own webpack configuration? 19:23 – Martin: Only if... 19:51 – Alyssa: What if you wanted to add a watermark to each file, do you have to stop adding the CLI? 20:13 – Panelist: So am I...what are the boundaries, I don’t know what they are? I’m curious. 20:41 – Panelist: Are you asking, Alyssa, how you would customize it? 21:09 – Panelist: You won’t loose all the features that you get. You now elected out of that place where they had it; webpack configurations. 22:12 – Panelist: What happened to it ejecting? How do you get it out of there? 22:26 – Good question! I have – I like to play with scissors. 22:43 – Advertisement 23:32 – Panelist reads a message from the company. How do you get that voice? 24:10 – First you have to have a really deep sinus cold. 25:00 – Panelist: Do you live without eject? I really don’t care. What I care about...Scratch that! I want to know what kinds of things you can’t do with a CLI that would drive you to do your own application? What other things could you not do in webpack. 25:50 – Martin: I wanted to see how it works. 25:56 – Panelist: Now I use CLI and all it’s features except testing. I use Cypress completely separate than CLI. 26:46 – Panelist: I feel like it’s talking to the one person without a cellphone. 27:01 – Panelist: Wow! I had no concept that life could be like that! I thought you had to have a cellphone. 27:29 – Martin: What does anyone use the CLI for anyways? 27:44 – Martin: I use it for unit tests. 27:52 – Panelist: Another question. 28:30 – Alyssa: You write things out by hand because it’s easier?! 28:44 – Panelist: You copy, and paste and it’s less work. 29:06 – Panelist: It feels easier. 29:22 – Joe: No, I am serious. 29:48 – Joe: Yes, I am amazing. 30:30 – Martin talks about another topic. 30:48 – Alyssa: When you generate a component do you put it into a different file? 31:29 – Panel: We are all friends here and we aren’t shaming anyone here. We are joking here. 32:00 – Alyssa: It’s that he can write it from memory. 33:08 – Panelist: I have been using Vue lately. He also talks about Angular and mentions Sarah Drasner, too. 34:26 – Panelist: Not everyone has a memory like him, though. 35:32 – Panelist: The fourth version of Renderer. 36:28 – Panelist: We are not talking about Nirvana the band, here. 36:46 – Alyssa: It will be the new Renderer. It’s out for you to try. Check out Angular Air. He was trying out IB yourself right now. People are flipping out about it. I am excited to see how my Angular app runs differently now. Here is the code that was generated, here is the code that... I am not sure that there is a promise date. Any secrets heads-up on when it will come out? 38:22 – Panelist: The big question what does this mean for my existing code? Do I have to change my existing code? 38:48 – Alyssa: The Angular team is working so that there are minimal changes. I don’t have a good answer. NGGC. For third-party libraries you run it through and it... I don’t know what that means for the community. 39:49 – Panelist: My hope is that they... 40:03 – Alyssa: For your third-party... 40:18 – Panelist: Question: between your small and large pack? What architectural differences are there? 40:44 – Martin: I have a template edit. 41:03 – Panelist: Come to my... 41:32 – Panel talks about talks that Jon can do. 42:13 – Panelist: True story... The panel is having fun going back and forth with jokes. 43:03 – Panelist: This kind of stuff creeps into production code. That’s the great thing about copy and paste. 43:21 – Panelist: We had a rule, though, if it happens more than once let’s put into our build. 44:20 – It’s 3 hours if you have a CI process, if you don’t... 44:33 – Console.log 44:49 – Martin chimes in. 45:14 – Panelist: Let’s talk about an iFrame in your app? 45:27 – Martin: The point is to be able to do it with any... Make sure that it doesn’t collide. The CSS wasn’t separated. I had to put my application inside an iFrame. 46:27 – Panelist: Thanks for coming on for us, Martin. 46:37 – Picks! 46:44 - Advertisement Links: Martin Jakubik’s Medium How to Copy, Cut, Paste for Beginners by Melanie Pinola Art Joker Blog @AngularMine Cypress Vue Renderer Sponsors: Angular Boot Camp Digital Ocean Get a Coder Job course Picks: Alyssa Question as my pick – About Angular 7...(47:52) True or False? Martin Thank you for having me today. Present your work more. I challenge you all to cook. Blog: Bratislava Angular Ward How to Copy, Cut, and Paste Joe Brian Holt – Eleven Tips to Scale Node.js NPM scripts – I relearned something “new” lately.
September 18, 2018
Panel: Charles Max Wood John Papa Ward Bell Special Guests: Ilya Bodrov & Roman Kutanov In this episode, the Adventures in Angular panel talks with Ilya and Roman. Ilya is a professor, writer, and developer. Roman is a cofounder, and a CEO, of a small startup company. Roman is making an application for small businesses, and he also was a CEO of a Russian startup, too. Check-out today’s episode where the panel talks to the guests about Angular, their startup companies, Test Cafe, among others. Show Topics: 1:20 – Guests’ backgrounds. 2:31 – Chuck: Let’s talk about Angular. In your opinion why is it a good option for startups? 2:55 – Guest: Angular is a very good choice. 3:55 – Guest: If you are not familiar with these concepts or a seasoned developer then it can be difficult and complex to get started. It really depends on what you are trying to build. 4:47 – Chuck: Once you get rolling with it then you run into limitations with it. If you need something simple and fast it’s really nice. 5:08 – Guest: Yes. Trying to find your market niche. Angular is very simple to transfer. Angular has a great community. There are some problems, and we know it. Like the whole mess with versions also... 6:27 – John: Can you elaborate a little? 6:34 – Guest: Yes, if you want to be in the latest sometimes you get into a situation when you wan to have some libraries installed and you cannot do that. If you are on one version and this one isn’t supported, then it was a huge mess. 7:43 – Guest adds in more comments. 8:26 – Guest: Currently I have Angular 1. It is too complicated to rewrite. 8:40 – Guest adds comments. 8:57 – John: There would have to be a compelling reason for me to go to Angular 6 at this point. Going from 4 to 5 or 5 to 6 – the one feature – boy that is so amazing. To have it to update your app, and update your code then that’s awesome. If you didn’t know that a command changed then you were in trouble. I agree version control has always been a challenge. 10:20 – Guest: What I like about Angular is the community – it drives it in the right direction. They try to make it more productive and that’s what I like. 10:43 – Chuck: What is it like to run a startup? 10:56 – Guest: I started to write the application. What you see is what you get. I use Angular 1. JavaScript is a heavier language. 14:54 – Guest adds comments. 16:02 – Panelist: What kind of server are you using for your startup? 16:19 – Guest: I have Angular 1 as a backhand. The main application right now is... 17:11 – Panelist: What has the experience been like for people? 17:26 – Guest: Yes... 17:32 – Panelist: What were the benefits of using Angular? 17:40 – Guest: Angular was very helpful. The performance is much better. Important for startups is to know how to write functionality. 18:53 – Panelist: What forms were you using? 19:01 – Guest: Template driven. In Angular 1, I created “what you see is what you get.” 19:52 – Panelist: I am torn about forms. The Reactive side but you move a lot of code that doesn’t feel all that intuitive to me. There are pros and cons of each, but it’s not exactly where I want it to be. I would love to mix the 2 together. Have you dealt with validation in the forms? 21:04 – Digital Ocean’s Advertisement. 21:41 – Guest: I have an editor. I send it to the client. Each input is having some sort of validation. 23:17 – Panelist: How do you make them look good? Yeah, I can do it but how does it not look generic? Do you have a layout? 23:53 – Guest: I throw it into the screen – I try to keep it simple. 25:04 – Panelist: That makes sense. I didn’t know if there was a crossover of complexity. I want a balance between... 25:38 – Panelist: Reactive or Template driven? 25:45 – Guest makes comments. You want to have some custom checking. 26:13 – Panelist: Why was it hard? 26:21 – Guest: Not sure...I experimented a lot. 27:27 – Panelist: I gave up on Reactive. One of the killers for me was the nested components. It seemed to fall apart in my hands. It was extremely difficult. The outer form lost contact to what was going on. That was one of the biggest decisions to walk away from Reactive all together. 28:25 – Guest: Now I remember why I dropped templates. 28:44 – Panelist: Not true, but it’s doable! It’s also easy! You have to know what’s going on. Let’s change the story on this – I don’t want to hijack the podcast. 30:55 – Panelist: It makes your ears stand up. John’s objection was that he was putting a lot of stuff into HTML. 32:43 – Panelist: Every time I see some try to decorate the HTLM – no you don’t have to do that. The rules aren’t there. There are exceptions, of course, but real validation is not screen validation. Interestingly, we have written one for this application. It belongs to Marcel. This isn’t Breeze specific – maybe we an get people to working on it. For sure, even if you didn’t have this framework, you can create one on your own. It turns out that it has more models than you think it does. 34:55 – Panelist: Aside from forms, what mattered in your app? 35:22 – Guest answers the question. 36:01 – Panelist: Lazy Loading. In some apps lazy loading doesn’t make sense in all areas. You don’t always have to use. 36:53 – Guest: Yes, when you work for your employer you sometimes have more time available. When you have a startup it’s a race. Your startup doesn’t have any money. 37:24 – Panelist: You had money? 37:33 – Guest: You have to try new things and makes things right. When users really start really using your application. You can fix everything and make the perfect app or you can learn new things about your users. What problems do that have? 38:50 – Panelist: Question asked. 39:40 – Guest answers question. 40:38 – Protractor. 41:51 – Problems that you/we ran into. 42:21 – Panelist: “We” are using Test Cafe. 42:58 – Cypress. 44:10 – You do not need web driver and... 44:29 – Test Cafe is free. 44:39 – I would pay ten’s of dollars to use a piece of software. It’s a budget buster. 45:15 – Sounds like you guys have a great product there. 45:24 – Thanks for having us. 45:30 – Chuck: Let’s go to picks! 45:39 – Code Badges! 46:13 – Picks! Links: Microsoft’s Azure JavaScript Ruby Angular Test Cafe Cypress Ilya’s GitHub Ilya’s SitePoint Ilya’s Twitter Roman’s Crunchbase Roman’s LinkedIn Roman’s Twitter Sponsors: Angular Boot Camp Digital Ocean Get a Coder Job course Picks: Charles Microsoft Ignite Microsoft Connect Follow me on Twitter! Apple Event John Pipelines – Azure VS Code Ward Test Cafe Ilya Framework Event Roman Michael Seibel’s Building Product MLcourse.AI – October 1st next session starts – it’s free
September 11, 2018
Panel Brendan Eich Joe Eames Aaron Frost AJ ONeal Jamison Dance Tim Caswell Charles Max Wood Discussion 01:57 – Brendan Eich Introduction JavaScript [Wiki] Brendan Eich [Wiki] 02:14 – Origin of JavaScript Java Netscape Jim Clark Marc Andreesen NCSA Mosaic NCSA HTTPd Lynx (Web Browser) Lou Montulli Silicon Graphics Kernel Tom Paquin Kipp Hickman MicroUnity Sun Microsystems Andreas Bechtolsheim Bill Joy Sun-1 Scheme Programming Language Structure and Interpretation of Computer Programs – 2nd Edition (MIT Electrical Engineering and Computer Science) by Harold Abelson, Gerald Jay Sussman & Julie Sussman Guy Steele Gerald Sussman SPDY Rob McCool Mike McCool Apache Mocha Peninsula Creamery, Palo Alto, CA Main () and Other Methods (C# vs Java) Static in Java, Static Variables, Static Methods, Static Classes 10:38 – Other Languages for Programmers Visual Basic Chrome Blacklist Firefox 12:38 – Naming JavaScript and Writing VMs Canvas Andrew Myers 16:14 – Envisioning JavaScript’s Platform Web 2.0 AJAX Hidaho Design Opera Mozilla Logo Smalltalk Self HyperTalk Bill Atkinson HyperCard Star Wars Trench Run 2.0 David Ungar Craig Chambers Lars Bak Strongtalk TypeScript HotSpot V8 Dart Jamie Zawinski 24:42 – Working with ECMA Bill Gates Blackbird Spyglass Carl Cargill Jan van den Beld Philips Mike Cowlishaw Borland David M. Gay ECMAScript Lisp Richard Gabriel 31:26 – Naming Mozilla Jamie Zawinski Godzilla 31:57 – Time-Outs 32:53 – Functions Clojure John Rose Oracle Scala 38:37 – XHR and Microsoft Flash Hadoop Ricardo Jenez Ken Smith Brent Noorda Ray Noorda .NET Shon Katzenberger Anders Hejlsberg NCSA File Formats 45:54 – SpiderMonkey Chris Houck Brendan Eich and Douglas Crockford – TXJS 2010 Douglas Crockford JavaScript: The Good Parts by Douglas Crockford ActionScript Flex Adobe E4X BEA Systems John Schneider Rhino JScript roku Waldemar Horwat Harvard Putnam Math Competition Chris Wilson Silverlight Allen Wirfs-Brock NDC Oslo 2014 JSConf Brendan JSConf Talks 59:58 – JavaScript and Mozilla GIP SSLeay Eric A. Young Tim Hudson Digital Styles Raptor Gecko ICQ and AIM PowerPlant CodeWarrior Camino David Hyatt Lotus Mitch Kapor Ted Leonsis Mitchell Baker David Baren Phoenix Tinderbox Harmony 1:14:37 – Surprises with Evolution of JavaScript Ryan Dahl node.js Haskell Elm Swift Unity Games Angular Ember.js Dojo jQuery react ClojureScript JavaScript Jabber Episode #107: ClojureScript & Om with David Nolen MVC 01:19:43 – Angular’s HTML Customization Sweet.js JavaScript Jabber Episode #039: Sweet.js with Tim Disney TC39 Rick Waldron 01:22:27 – Applications with JavaScript SPA’s Shumway Project IronRuby 01:25:45 – Future of Web and Frameworks LLVM Chris Lattner Blog Epic Games Emscripten Autodesk PortableApps WebGL 01:29:39 – ASM.js Dart.js John McCutchen Monster Madness Anders Hejlsberg, Steve Lucco, Luke Hoban: TypeScript 0.9 – Generics and More (Channel 9, 2013) Legacy 01:32:58 – Brendan’s Future with JavaScript Picks hapi.js (Aaron) JavaScript Disabled: Should I Care? (Aaron) Aaron’s Frontend Masters Course on ES6 (Aaron) Brendan’s “Cool Story Bro” (AJ) [YouTube] Queen – Don't Stop Me Now (AJ) (AJ) WE ARE DOOMED soundtrack EP by Robby Duguay (Jamison) Hohokum Soundtrack (Jamison) Nashville Outlaws: A Tribute to Mötley Crüe (Joe) Audible (Joe) Stripe (Chuck) Guardians of the Galaxy (Brendan)
September 4, 2018
Panel: Charles Max Wood Alyssa Nicholl Joe Eames Special Guests: James Shore In this episode, the Adventures in Angular panel talks about Agile Fluency with James Shore. James is one of Charles’ favorite people to talk to about Agile development because he is one of the people who really understands how people work, instead of the methodology proliferation that is more common. They talk about how Agile got started, the Agile Fluency Project, and how Agile has changed over the years. They also touch on TDD, the things people can do to solve the problems with Agile misconceptions, and more! Show Topics: 1:10 – James has been on the shows previously on Ruby Rogues Episode 275 and My Ruby Story Episode 48. 2:00 – He does a lot of work with agile, but actually got started with something called Extreme Programming. 3:14 – When Agile started, it was a reaction to the management belief that the right way to develop software was to hire armies of replaceable programmers and a few architects to design something that was then sent off for these programmers to work. 4:34 – Agile is turning into the “everything” thing. It is being used in many different spaces and leaving developers behind in the process. This goes along with “the law of raspberry jam.” 6:55 – The agile manifesto states that they value “Individuals and interactions over processes and tools.” 7:28 – The Agile Fluency Project is focused on software teams and they created the Agile Fluency Model, which is a way to describe how teams tend to learn Agile over time. They want people to be able to see what all they can really get out of Agile through this project. 10:05 – Alyssa is more confused on the subject of Agile development and is interested more in what people lost by not using Agile anymore. 11:45 – Agile changed from a grassroots movement driven by developers to a management structure that programmers ignore unless it affects their day-to-day. 14:18 – Test driven development is a way of writing your code so that you have confidence to change it in the future not a way you can get unit test code coverage. 17:36 – Joe defines TDD as a way to help him design better code and he finds value in using TDD and then once the code is done, throwing out the test and still find value in it. 19:50 – TDD creates better code by forcing you to think about the client who will be using it and it forces you writing code that is inherently testable, and therefore, better code. 22:22 – The values of Agile development have not been communicated to the programmers who are forced to use it, which accounts for the push back against it. 24:40 – The issue across the board is when people take and idea and think they can read a headline and understand it fully. 28:17 – The way to combat this problem is to dig into some of the things that was happening 15-20 years ago and you can look into DevOps. You can also look into the Agile Fluency Project and the Agile Fluency Model. 31:24 – To get started with talking about how you should do Agile from the trenches, you can look into the books Fearless Change by Mary Lynn Manns and More Fearless Change by Mary Lynn Manns to help you to learn how to make change within your organization. 35:18 – Planting seeds allows you to make change within your organization and make a difference in a small way. 36:10 – The easiest way to remove some of these obstacles is to get together with your team and get them to agree to a trial period. There are more ways as well to get over obstacles. 43:07 – The reason he became an Agile developer is because after his first job working with it, he never wanted to work any way else. So, he decided to start teaching Agile in order to keep working with it in his career. Links: Ruby Rogues Episode 275 My Ruby Story Episode 48 Extreme Programming Agile Fluency Project Agile Fluency Model Smalltalk Best Practice Patterns by Kent Beck Refactoring by Martin Fowler UML Distilled by Martin Fowler Fearless Change by Mary Lynn Manns More Fearless Change by Mary Lynn Manns The Art of Agile Development by James Shore @jamesshore James’ GitHub Sponsors Angular Boot Camp Digital Ocean Get a Coder Job course Picks: Charles Get a Coder Job Course DevChat Merchandise Code Badges YouTube Joe Framework Summit Pluralsight James Deliver:Agile Testing Without Mocks: A Pattern Language Jake (build tool) The High-Performance Coach The Expanse by James S. A. Corey
August 28, 2018
Panel: Charles Max Wood John Papa Alyssa Nicholl Joe Eames Shai Reznik Ward Bell In this episode, the Adventures in Angular panel talks about what Ward is doing currently, which is working on a large, complex, and involved application that they are using Angular for. They are using this episode to discuss a real-world Angular project or real “Ward” Angular project. They talk a little about what the project is, challenges he has had to overcome, and the differences that come with writing apps in reactivity. They also touch on the idea that “the mystery is part of the pattern,” reactive forms, and more! In particular, we dive pretty deep on: Get a Coder Job course Angular Ward’s project intro Ward runs a business that builds applications for people Taking lead on a new project ngRx data Redux and RxJS His company makes Breeze Needed an enrollment app Didn’t want to use Breeze, they wanted him to use reactive programming Needed the application to be as simple as possible Why he decided to give reactivity programming a chance Challenges he’s faced Writing enterprise apps in reactivity Immutability Forms over data apps Reactive forms The mystery is part of the pattern Effects Debugging tools Reactive pattern Discovering new ways to code Reactive programming brings in a different set of problems, but it’s not that it’s right or wrong React State Museum And much, much more! Links: Get a Coder Job course Angular ngRx data Redux RxJS Breeze React State Museum Sponsors Angular Boot Camp Digital Ocean Get a Coder Job course Picks: Charles The Traveler's Gift by Andy Andrews The Shack by Wm. Paul Young John Framework Summit Angular Mix Joe Dungeons and Dragons Lutron Caseta Wireless Smart Lighting Dimmer Switch with Amazon Echo Shai Akita Netanel Basal’s Medium Inside Ivy: Exploring the New Angular Compiler by Uri Shaked Ward Virgin Galactic’s Rocket Man
August 21, 2018
Panel: Charles Max Wood John Papa Alyssa Nicholl Joe Eames Special Guests: Dave Bush In this episode, the Adventures in Angular panel talks to Dave Bush about his blog post Where To Store Angular Configurations. Dave has been programming for 30 years both in the .net and JavaScript spaces, and has been working with Angular since it first came out. They talk about the inspiration for writing this post, config.json, and APP_INITIALIZER. They also touch on optimizing, if he ever worked with Angular.js, and more! In particular, we dive pretty deep on: Chuck’s Get a Coder Job Course Dave intro JavaScript and Angular What was the inspiration for this blog post? Blog posts born out of frustration Static config files Config.json Downsides to config.json Replicating on dev servers Local hosts What is APP_INITIALIZER? The cost of APP_INITIALIZER Optimizing Making an environment-agnostic Did you ever work with Angular.js? Pros to the APP_INITIALIZER jQuery Great tips from his article Making one build that works in any environment Moving towards optimization Source maps And much, much more! Links: Where To Store Angular Configurations Get a Coder Job Course JavaScript Angular Angular.js jQuery @davembush Dave’s GitHub Dave’s Blog Dave’s Website Sponsors Angular Boot Camp Digital Ocean FreshBooks Picks: Charles Breath of the Wild Get a Coder Job eBook Get a Coder Job Video Course John DuckTales Sketch notes Rocketbook FriXion Pens Joe The Framework Summit The Righteous Mind by Jonathan Haidt Dave High-fat, low-carb diet MTailor
August 14, 2018
Panel: Charles Max Wood Shai Reznik Ward Bell Special Guests: Neil Brown In this episode, the Adventures in Angular panel talks to Neil Brown about learning to code and learning to code better. Neil works as a research fellow at Kings College in London where he works in computing education. He is very interested in how people learn to program and also making tools that make learning to program easier. They talk about things that experts can do to help new people pick up programming easier, how you can use live programming to teach novices, and the importance of having a supportive community. They also touch on what he has learned from his research, the necessity of practice over time, and more! In particular, we dive pretty deep on: Ruby Rogues Episode 257 Neil intro Learning to code better What kind of things can we do to help new people pick up programming easier? Experts operate differently than novices How an expert codes VS how a novice codes Pragmatic Thinking and Learning by Andy Hunt Putting yourself in a new programmer’s shoes Experts forget how much knowledge they’ve got How do you need to design instruction for novices? Live programming Seeing that people make mistakes along the way all the time Keep the mistakes Computer science degree VS self-taught VS boot camps People learn differently Element of having a supportive community Do you see any threat to people transitioning to online schooling? The curse of knowledge What have you learned in your research? You need a lot of practice Helps to have spaced practice The best way to learn Ten quick tips for teaching programming by Neil Brown And much, much more! Links: Ruby Rogues Episode 257 Pragmatic Thinking and Learning by Andy Hunt Ten quick tips for teaching programming by Neil Brown @neilccbrown Neil’s Website Sponsors Angular Boot Camp Digital Ocean FreshBooks Picks: Charles Get a Coder Job Video Course South Pacific Shai American Crime Story Neil Last Chance U
August 7, 2018
Panel: John Papa Ward Bell Special Guests: Asim Hussain In this episode, the Adventures in Angular panel talks to Asim Hussain about AI and Angular. Asim has been developing for about 17 years, has been working with Angular for about 5 years, and runs the website They talk about what AI means to him and where he sees it fitting into the JavaScript realm, how he got into AI himself, and some fun use cases for AI in JavaScript. They also touch on what TensorFlow and Tensorflow.js are, training in the browser, and more! In particular, we dive pretty deep on: Asim intro Co-organizer of AI JavaScript London What does AI mean to you? Where does AI fit into the JavaScript ecosystem? Interested in machine learning How does AI apply to the real world? How did you get into AI? Python to JavaScript developer AI has been growing exponentially An example of something you can do with AI in JS that is really cool The power of AI breeds creativity Magenta.js and Tensorflow.js Face recognition with JavaScript Client-side processing What is TensorFlow? What is Tensorflow.js? Neural net Training in the browser itself Where do JavaScript developers fit into the AI space? Load model Transfer learning Practical applications And much, much more! Links: AI JavaScript London JavaScript Python Magenta.js Tensorflow.js TensorFlow Angular @jawache Asim’s Medium Asim’s Udemy Asim’s GitHub Sponsors Angular Boot Camp Digital Ocean FreshBooks Picks: John Murder on the Orient Express movie Ward MachineLabs - @machinelabs_ai Asim
July 31, 2018
Panel: Charles Max Wood Shai Reznik Joe Eames Alyssa Nicoll Ward Bell In this episode, the Adventures in Angular panel celebrates creating 200 episodes of Adventures in Angular! They talk about the origin of the show, how each of them came across the show and were asked to join the panel, and if there is a future for Angular. They also touch on where they see Angular going in the future, how difficult it is to predict how things are going to pan out in the next few years, and more! In particular, we dive pretty deep on: The first episodes of Adventures in Angular The origins of the show Angular was really picking up – make a podcast Chuck originally turned down the idea for the show Now get around 8,500 downloads per episode Alyssa heard about the show from ngConf Is there a future for Angular? What does Angular’s future look like? Why I am betting my future on Angular 2 – Shai talk from 2016 Angular is here to stay Angular IV Learning the first 80% of different technologies is easy, the last 20% is the hard part Angular in Depth blog Angular is solving the right problems Hard to know if Angular is going to be around for the long haul Incumbent technology as we move forward You never know what’s going to come up next New technologies are the main “threat” The case for Angular Enterprise level products Vue, React, and Ember Having alternatives is a good thing And much, much more! Links: Adventures in Angular Angular ngConf Why I am betting my future on Angular 2 – Shai talk from 2016 Angular in Depth blog Vue React Ember Sponsors Angular Boot Camp Digital Ocean FreshBooks Picks: Charles Landscaping Home Depot Shai Pact JS Alyssa Angular Crash Course for Busy Developers by Mosh Hamedani Angular NgRX course by Deborah Kurata Joe Framework Summit A Quiet Place Notion WorkFlowy Ward NWLA Tournament
July 24, 2018
Panel: Shai Reznik Joe Eames Alyssa Nicoll Ward Bell Special Guests: In this episode, the Adventures in Angular panel talks to Ben Lesh, Tracy Lee, and Jay Phelps about RxJS. Tracey is the co-founder of This Dot Labs, which does a lot for the JavaScript community and does JavaScript consulting, as well as is on the RxJS core team. Jay is also a co-founder of This Dot Labs and used to be on the RxJS core team. Finally, Ben is an engineer at Google, is the RxJS project lead there, and is on the Angular team. They talk about the changes to RxJS from the past year, the API changes for version 6, and more! In particular, we dive pretty deep on: Ben, Tracey, and Jay intros What happened in the last year with RxJS? No longer a test scheduler Using real timers Version 5 VS version 6 TestScheduler.Run method Won’t have to write code with injecting a scheduler What’s the best way to get started? Look at the docs Understanding Marble diagrams Many blog articles on Marble syntax out there Wasn’t originally designed for public consumption Using the test Scheduler is not a requirement for testing RxJS code Jasmine testing framework Jest Marbles diagrams are a bit more declarative and specific to RxJS Is it a part of RxJS proper? API changes for version 6 Backwards compatibility package TSLint rules rxjs-tslint TypeScript And much, much more! Links: This Dot Labs JavaScript RxJS Angular TestScheduler.Run method rxjs-tslint TypeScript @ladyleet Tracy’s GitHub @BenLesh Ben’s Medium Ben’s GitHub @_jayphelps Jay’s GitHub RxJS GitHub @ThisDotLabs Sponsors Angular Boot Camp Digital Ocean FreshBooks Picks: Shai A Super Ninja Trick To Learn RxJS’s “switchMap”, “mergeMap”, “concatMap” and “exhaustMap”, FOREVER! by Shai Joe WorkFlowy Framework Summit Ward National Day Calendar Tracey Rx Workshop Ben Experimental branch in RxJS Jay
July 17, 2018
Panel: Charles Max Wood Special Guests: Vesa Juvonen In this episode, the Adventures in Angular 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 14, 2018
Panel: Charles Max Wood Joe Eames Alyssa Nicholl Special Guests: Torgeir Helgevold In this episode, the Adventures in Angular panel talks to Torgeir Helgevold about Bazel. Torgeir works for Nrwl and does experiment with Bazel as a part of his daily life. He has really taken an interest in Bazel and sees it as the next big thing in build systems. They talk about what Bazel is, zero configuration, and Bazel’s ability to deal with large and complex projects. They also touch on build speed with Bazel, how to set Bazel up, and more! In particular, we dive pretty deep on: Torgeir intro Bazel as the next big thing for build systems What is Bazel? Incremental build system Mainly for large projects Why is Bazel going to become the next big thing? Bazel isn’t tied to a specific language Bazel vs Webpack Type sharing between front-end and back-end Bazel is very streamlined Zero configuration movement The problem with zero configuration Large vs simpler projects Complex development and new tools Google is well known to have large, complex projects If your build system is working for you, there’s no need to change Build speed Continuous integration How do you set Bazel up? Alex Eagle repo - angular-bazel-example What does Bazel actually do? How do you pull these rules in? How do you transition over to Bazel? And much, much more! Links: Nrwl Bazel Webpack Alex Eagle repo - angular-bazel-example @helgevold Torgeir’s GitHub Torgeir’s Nrwl Blog Sponsors Angular Boot Camp Digital Ocean FreshBooks Picks: Charles The Whole-Brain Child by Daniel J. Siegel Joe Google Duplex Why AI Will Bring an Explosion of New Jobs Full of Sith Podcast – How the Force Works Torgeir Cross language API schemas with Bazel by Daniel Muller
July 3, 2018
Panel: Charles Max Wood Ayssa Nicholl Ward Bell Special Guests: David Cramer In this episode, the Adventures in Angular 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 Linode Angular Boot Camp FreshBooks Picks: Charles Socks as Swag David VS Code Kubernetes
June 26, 2018
Panel: Charles Max Wood Alyssa Nicholl Ward Bell Special Guests: Sahil Malik In this episode, the Adventures in Angular panelists discuss Angular for Microsoft developers with Sahil Malik. Sahil is a developer that has been in the Microsoft and Angular space for many years. He has been writing for CODE Magazine as well for many years and you can find his articles here. They talk about what he means by the term “Microsoft developer,” Visual Studio vs VS Code, and the pros to using Angular as a Microsoft developer. They also touch on how these developers can transition over to using Angular, the importance of having an open mind to other ways of doing things, and more! In particular, we dive pretty deep on: Sahil intro Writes for CODE Magazine What do you mean by a Microsoft developer? Azure and Linux .NET Rocks! Microsoft Build Visual Studio Angular is a natural progression for someone in the Microsoft world ngrx and ngrx-data VS Code is a fantastic editor Visual Studio vs VS Code VS Code has plugins for everything! How has working with Angular felt as a Microsoft world His experience in the Microsoft landscape Feels more productive in an HTML based UI XAML Angular shines because it can acage things tightly TypeScript How should Microsoft developers transition over to Angular? Open yourself to the idea of change Get familiarized with node-based development AI And much, much more! Links: CODE Magazine Sahil’s CODE Magazine Aritcles Angular Azure Linux .NET Rocks! Microsoft Build Visual Studio ngrx ngrx-data VS Code XAML @sahilmalik Sahil’s GitHub Sponsors Linode Angular Boot Camp FreshBooks Picks: Alyssa Deadpool 2 Solo Sahil Electric bicycles
June 18, 2018
Panel: Charles Max Wood Special Guests: Ori Zohar and Gopinath Chigakkagari In this episode, the Adventures in Angular 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 Linode Angular Boot Camp FreshBooks Picks: Charles .NET Rocks! Shure SM58 Microphone Zoom H6 Ori Fitbit Pacific Northwest Hiking Gopinath Seattle, WA
June 12, 2018
Panel: Charles Max Wood Shai Reznik Joe Eames Special Guests: Juri Strumpflohner In this episode, the JavaScript Jabber panelists discuss Angular libraries with Juri Strumpflohner. Juri is a software developer that previously has done a lot of full-stack development with JavaScript and Angular.js on the front-end and C# and Java on the back-end. More recently, he has begun to focus more on the front-end with Angular development as a freelance developer and has created training courses on Egghead. They talk about what an Angular library is, how you can create an Angular Package Format, and much more! In particular, we dive pretty deep on: Juri intro Create and publish Angular libs like a Pro- Juri’s NG-BE Talk What are Angular libraries? How do Angular libraries connect to Angular? Angular modules Open source as the main use case CSS and Sass Have to follow a certain series of steps to build your libraries WebPack Plunker Server-side rendering Tree shaking things that aren’t used on your library Angular Package Format Component library Secondary entry points How do you go about making a package like this? TypeScript Modules Now have built-in support of Angular libraries ng-packagr And much, much more! Links: JavaScript Angular.js Egghead Juri’s Egghead Courses Create and publish Angular libs like a Pro Angular modules Sass WebPack Plunker TypeScript Modules ng-packagr @juristr Juri’s GitHub Sponsors Linode Angular Boot Camp FreshBooks Picks: Charles FullContact Set Appointments on Google Calendar Shai Competing Against Luck by Clayton M. Christensen His Blog Post Joe Unit Testing in Angular PluralSight Course Prettier Juri ngx-tabs-libdemo ngx-formly Juri’s Egghead Courses
June 5, 2018
Panel: Charles Max Wood Special Guests: Rachel MacFarlane and Matt Bierner In this episode, the JavaScript Jabber panelists discuss Visual Studio Code with Rachel MacFarlane and Matt Bierner, who are both developers on Visual Studio Code. They talk about what the workflow at Visual Studio Code looks like, what people can look forward to coming out soon, and how people can follow along the VS Code improvements on GitHub and Twitter. They also touch on their favorite extensions, like the Docker extension and the Azure extension and their favorite VS Code features. In particular, we dive pretty deep on: Rachel and Matt intro Month to month workflow of Visual Studio Code VS Code JavaScript, TypeScript, and Mark Down support Working on GitHub and within the community Check out new features incrementally with insiders Community driven work What is coming out in Visual Studio Code? GitHub helps to determine what they work on Working on Grid View Improved settings UI Highlighting unused variables in your code Improvements with JS Docs Dart Visual Studio Extension API How do people follow along with the VS Code improvements? Follow along on GitHub and Twitter Download VS Code Insiders Have a general road map of what the plan is for the year Technical debt week What do you wish people knew about VS Code? Favorite extensions Docker extension and Azure extension And much, much more! Links: Visual Studio Code JavaScript TypeScript Dart VS Code GitHub @Code VS Code Insiders Docker extension Azure extension Rachel’s GitHub Matt’s GitHub @mattbierner Sponsors Linode Angular Boot Camp FreshBooks Picks: Charles Orphan Black Avengers: Infinity War Fishing Rachel GitLens Matt The Bronx Warriors
May 30, 2018
Panel: Charles Max Wood Special Guests: Tomek SuĹ‚kowski In this episode, the JavaScript Jabber panelists discuss UX in Angular with Tomek SuĹ‚kowski. Tomek currently works as a front-end engineer for an app creating company, as well as has been working for Sages running front-end workshops that mostly have to do with Angular. They talk about his blog post, buttons, and improving the user experience. They also touch on the importance of using simple solutions rather than overcomplicated ones, how to teach UI in training, and much more! In particular, we dive pretty deep on: Tomek intro Tomek blog post: Angular techniques: Improve submit button’s UX by NOT disabling it Use a simple directive The disabled button Think about how the user will use it when coding Using disable submit button when submitting a form Are there other things that people do that hurt their user experience? Making the UI easier for users Looking into animations to improve user experience Angular Angular Router Animations: the tricky bits by Tomek Routing from one path to another Small animations can go a long way The importance of not overcomplicating things What is the approach you take for teaching UI in your training? Know who you’re teaching Buttons Buttons make the interface much more usable Building forms Template based forms And much, much more! Links: Sages Angular techniques: Improve submit button’s UX by NOT disabling it Angular Angular Router Animations: the tricky bits by Tomek @sulco Tomek’s Medium Tomek’s GitHub Sponsors: Linode Angular Boot Camp FreshBooks Picks: Charles Mattermost AiA Slack Forum Brave Browser Tomek So Good They Can't Ignore You by Cal Newport Books I’ve Read by Derek Sivers The Man from Earth Nest Framework
May 22, 2018
Panel: Charles Max Wood Special Guests: Matt Hernandez and Amanda Silver In this episode, the JavaScript Jabber/Adventures In Angular, panelists discuss Visual Studio Code and the VS Code Azure Extension with Matt Hernandez and Amanda Silver at Microsoft Build. Amanda is the director of program management at Microsoft working on Visual Studio and VS Code. Matt works on a mix between the Azure and the VS Code team, where he leads the effort to build the Azure extensions in VS code, trying to bring JavaScript developers to Azure through great experiences in VS Code. They talk about what’s new in VS Code, how the Azure extension works, what log points are, and much more! In particular, we dive pretty deep on: Amanda intro Matt intro What’s new in VS Code? VS Code core VS Live Share Shared Terminal Now have Linux support Live Share is now public to the world for free What would you use Shared Terminal for? Are there other things coming up in VS Code? Constantly responding to requests from the community Live Share works for any language How does the Azure extension work? Azure App Service Storage extension Azure Cosmos DB What are log points? All a part of a larger plan to create a better experience for JS developers Visual debuggers Is it the same plugin to support everything on Azure? Want to target specific services that node developers will take advantage of And much, much more! Links: Visual Studio VS Code Azure Live Share Azure Cosmos DB Microsoft Build Azure App Service Amanda’s GitHub @amandaksilver Matt’s GitHub @fiveisprime Picks: Charles Orphan Black Shout out to VS Code team Battle of the Books Matt The Customer-Driven Playbook by Travis Lowdermilk The Speed of Trust by Stephen M.R. Covey Yes, And by Kelly Leonard Digital Marketing For Dummies by Ryan Deiss Ed Gets His Power Back Kickstarter Amanda Microsoft Quantum Development Kit for Visual Studio Code Iggy Peck, Architect Tek by Patrick McDonnell
May 15, 2018
Panel: John Papa Joe Eames Special Guests: Tracy Lee and Stephen Fluin In this episode of Adventures in Angular, the panel talks to Tracy Lee and Steven Fluin about Angular Contributor Days. They talk about what Angular Contributor Days is, why they decided to create it, and the changes they have made since last year’s Contributor Days. They also touch on the importance of empowering developers to contribute to the Angular community in their own way and giving them a place to have their voice be heard. In particular, we dive pretty deep on: What is Angular Contributor Days? Celebrate and recognize Angular community Angular Now online so more people can participate Sending out a survey What is the point of Contributor Days? Angular has a rich ecosystem of collaboration Talking about education Angular Bootcamp Angular Core team panel Who should attend this event? Awesome way to discover this ecosystem Helping people feel empowered Is attending in person the only way to participate? It is all online this year Empowering people to contribute in their own way Tough to work with everyone’s time zone The event will be fully recorded Contributor days for a majority of the JavaScript ecosystem Everyone gets their voice heard Adoption is not the goal Breaking down walls as developers And much, much more! Links: Angular Contributor Days Angular Angular Bootcamp JavaScript Demo’s with Angular @stephenfluin Stephen’s GitHub @ladyleet Tracy’s Medium Tracy’s GitHub   Picks: Joe Barking Up the Wrong Tree by Eric Barker John Embossing Tape Tracy Framework Summit Node Collaborator Summit JS Interactive Stephen
May 9, 2018
Panel: Charles Max Wood Alyssa Nicoll Joe Eames Special Guests: Shmuela Jacobs In this episode of Adventures in Angular, the panel talks to Shmuela Jacobs about ngGirls. Shmuela founded ngGirls, which is an organization where they try to increase diversity in tech, and it is mainly focused towards Angular. This is because she loves Angular and feels that it is a good platform to start with because of its simplicity. They talk about how she came up with the idea for ngGirls, how the company works, and stress the incredibly helpful nature of the Angular community.  In particular, we dive pretty deep on: Shmuela intro Angular and ngGirls The Angular community How the workshop works Free workshop run by volunteers Going to be at Google I/O How did you come up with ngGirls? Django girls Women Who Code Great experience with Django girls Wanted a company geared towards Angular The tutorial was written by the community How much people in the Angular community want to help Angular JS Still so much to learn in Angular People taking over Workshops happen all over the world The company allows for other people to organize the workshops themselves Is ngGirls growing beyond you? Plans to start more with helping to guide others as the company grows Creating more activities for more experienced women or different ages And much, much more! Links:   ngGirls Angular Google I/O Django girls Angular JS @ShmuelaJ Shmuela’s GitHub Picks: Charles Google Drive ScanSnap S1300i Joe ngConf Role Playing Games Shmuela ngConf YouTube Super Powered, Server Rendered Progressive Native Apps - Nathan Walker & Jeff Whelpley Schematics: Generating custom Angular Code with the CLI by Manfred Steyer
Loading earlier episodes...
      0:00:00 / 0:00:00