Episodes

Tuesday May 31, 2016
Tuesday May 31, 2016
The original show for this week was canceled (Find out why this episode was canceled here). So this is a rerun of our most popular show. Functional programming have been greatly facilitated with ES6. We're going to talk about the how and why of functional programming and immutable design patterns in JavaScript.
- Egghead.io - Bite-sized web development video training
- Frontend Masters - Expert front-end training
- {Track:js} - JavaScript Error Monitoring
- SparkPost - Email. We've Got It Down.
- WebStorm - Smart JavaScript IDE
- Auth0 - Authentication Made Simple
- Trading Technologies - Building For What's Next
- Picks: A General Theory of Reactivity, The Future of JavaScript MVC Frameworks, [Programming in the 21st Century] (http://prog21.dadgum.com/archives.html), and Redux Saga
- Links: A Modern Architecture for FP and Crazy FP words tweet
- Tips: Watch Dan's Redux videos, Experiment with ramda, immutable.js, and the Maybe Functor, and If you want to read the white papers, checkout The Haskell Road to Logic, Maths and Programming
- Picks: ForwardJS Feb 10th @Regency Ballroom SF
- Tips: Rediscover devtools in Firefox, you’ll be pleasantly surprised -- specifically WebIDE/Valence and CSS Transforms Previewer
- Picks: JavaScript Allongé (book) by @raganwald, Kris Jenkins’ blog posts on FP: [Part 1] (http://blog.jenkster.com/2015/12/what-is-functional-programming.html), [Part 2] (http://blog.jenkster.com/2015/12/which-programming-languages-are-functional.html), The FP side of async programming, and Concurrency’s future on the web
- Tips: Try a standing desk
- Picks: Lowes, The ES2016 Pipe Operator, and Learn JavaScript Arrays in Depth
- Tips: When running git checkout, using '-' as the argument (git checkout -) takes you back to the branch you were last on, hub makes it easier to work with github on the command line. Tab completion is especially helpful, and fetch all PRs if you do a lot of PR reviews, this can be really helpful. It downloads all new PRs as branches whenever you fetch
- Picks: Jessica Kerr - Functional Principles In React

Wednesday May 25, 2016
Wednesday May 25, 2016
A Progressive Web App "uses modern web capabilities to deliver an app-like user experience. They evolve from pages in browser tabs to immersive, top-level apps, leveraging the web's low friction." The JavaScript Air website uses some of these techniques and technologies. Let's learn about this awesome stuff!
- Egghead.io - Bite-sized web development video training
- Frontend Masters - Expert front-end training
- {Track:js} - JavaScript Error Monitoring
- SparkPost - Email. We've Got It Down.
- WebStorm - Smart JavaScript IDE
- Auth0 - Authentication Made Simple
- Trading Technologies - Building For What's Next
- Links: Introducing Pokedex.org: a progressive webapp for Pokémon fans, Mozilla's SW Cookbook, sw-toolbox (so much good stuff here), and Background Sync
- Tips: Sometimes it's just easier to disable registering SW in development. Just helps when you're trying to build/fix other parts of the site., It's very important to test your update process when deploying new versions of apps with SW. It's possible to “brick” a web app since if you successfully register a SW, then push an update that has a JS error that prevents your SW registration code from running. Pushing a new version won't fix it because it won't register the new SW and keeps serving the broken code from the previous SW. , and It's early to say this, but I think GraphQL will eventually replace REST as dominant http API approach for applications.
- Picks: I <3 reselect for Redux apps
- Links: Caching best practices & max-age gotchas by Jake Archibald, My stupidest webapp, and The FT’s webapp
- Tips: If you do 'network first' routes in the service worker, fallback set a timeout to wait for the response and if it fails respond with cached or fallback content. This keeps the app responsive when the device is "online" but no data is going anywhere this stops infinite loading spinners when connected to captive portals, or have low phone signal. I do 2-5s timeout usually.
- Picks: sw-toolbox, sw-precache, and lighthouse
- Links: Jake's article on appcache, Infographic on service worker, Paul Lewis on CORS, Ionic and PWAs, Differences between PWAs and AppCache apps, On URLs in Progressive Web Apps by Bruce Lawson, The importance of URLs by Stuart Langridge, Regressive Web Apps by Jeremy Keith, and Progressive Web Apps and the future of the Web (video) by Bruce Lawson
- Tips: Chrome Canary now has an “Application” tab showing PWA and storage information, Chrome Canary has a “clear all storage” button (so handy!), and sw-precache and sw-toolbox are awesome, see web-starter-kit for a full working app that uses them
- Picks: Hoop Dreams (1994 documentary)
- Links: CORS for Concern by Paul Lewis and Infographic on Service Worker
- Tips: Make sure you use waitUntil() for any async operations outside of respondWith(). Many examples will try to do things like cache resources after resolving the respondWith() promise without calling waitUntil(). The browser can kill the worker before these async operations complete. You may not see this in development, though, because the browser sometimes keeps the worker alive with devtools open.
- Picks: Sound Slice
- Links: JavaScriptAir.com is a progressive web app!
- Tips: Avoid nesting your tests: Nested Unit Tests: An Anti-Pattern
- Picks: vaadin Progressive Web App Competition

Wednesday May 18, 2016
023 jsAir - Transitioning from REST to GraphQL with Lee Byron and Steven Luscher
Wednesday May 18, 2016
Wednesday May 18, 2016
We've heard about GraphQL quite a bit. We know that there are problems with REST and GraphQL solves many of those problems. But now we have a new problem: Transitioning from REST to GraphQL. Let's talk about what it takes to do that well and how services need to adapt to this new way of thinking about data access.
- Egghead.io - Bite-sized web development video training
- Frontend Masters - Expert front-end training
- {Track:js} - JavaScript Error Monitoring
- SparkPost - Email. We've Got It Down.
- WebStorm - Smart JavaScript IDE
- Auth0 - Authentication Made Simple
- Trading Technologies - Building For What's Next
- Links: Awesome GraphQL and Lokka
- Picks: Suspension, a novel
- Links: Zero to GraphQL on GitHub (https://github.com/steveluscher/zero-to-graphql), Zero to GraphQL Video (https://www.youtube.com/watch?v=UBGzsb2UkeY), Wrapping a REST API in GraphQL blog post (http://graphql.org/blog/rest-api-graphql-wrapper/), Charles, Apollo, and postgraphql
- Tips: When you arrive at an n-way stop at the same time as one or more vehicles, who should go first? Take your right hand, and point it to the right of you. If you’re pointing at nobody, it’s your turn to go!
- Picks: Music: Spirits – The Strumbellas and Book: The Lost Chord – Conrad Amenta
- Tips: Colocate AMAR (as much as reasonable)
- Picks: LGTM, Code Cartoons - A cartoon guide to Facebook’s Relay, and Aphrodite - CSS in JS done right

Thursday May 12, 2016
Thursday May 12, 2016
The JavaScript community is composed of a ton of people with a ton of different backgrounds and privilege. We need to do our very best to make everyone feel as included as possible. It makes everything better when we work to foster a welcoming and friendly community. We're going to talk about what you can do to improve your workspace and community.
- Egghead.io - Bite-sized web development video training
- Frontend Masters - Expert front-end training
- {Track:js} - JavaScript Error Monitoring
- SparkPost - Email. We've Got It Down.
- WebStorm - Smart JavaScript IDE
- Auth0 - Authentication Made Simple
- Trading Technologies - Building For What's Next
- Links: Google Unconscious Bias Training, Facebook Unconscious Bias Training, and Microsoft Unconscious Bias Training
- Tips: Be aware that you - and everyone - has natural biases
- Tips: Always ask why? and Why do we get the results we have? Why is the sky blue? Never lose your curiosity
- Picks: Danger of a single story - TED talk, Tomorrow Looks Bright Newsletter, Call Your Girlfriend Podcast, and Recode Decode
- Links: Jack Ma Says Women Executives Are Alibaba’s ‘Special Sauce’
- Tips: Platinum Bay is hiring
- Links: A Speaker’s Notes talk from Fluent Conf ‘16 about making more room on the conference stage for more voices.
- Tips: Write code as if it was intended for kids to read and learn.
- Picks: Simplified JS Jargon, Minimax Algorithm, aka how to have a computer beat/tie you at Tic-Tac-Toe, and MakerSquare opens new NYC campus
- Tips: Free your mind and use reminders
- Picks: You Can Sit With Us T-Shirt, Erwan Datin created a JS Air app in React Native! Repo, iOS, Android, and Becoming Betazoid How to Listen and Empathize with Others in the Workplace – Joe Eames

Friday May 06, 2016
021 jsAir - On site at ng-conf
Friday May 06, 2016
Friday May 06, 2016
We'll be on site at one of the biggest and most exciting conferences in the world: ng-conf. In this show we'rejoined by some amazing developers and community builders in the Angular community.
- samuel john saccone - Promises are probably older than you.
- Tero Parviainen - Generative Art in Angular 2
- Mike Brocchi - Learn Clingon (Angular CLI)
- Scott Moss - Angular 2 for the rest of us
- Aysegul Yonet - Pipe Hype (Creating custom pipes)
- Alyssa Nicoll and Sergio Cruz - Wanting it all vs. Being Great
- Jules Kremer, Brad Green, and Miško Hevery - Keynote (Angular Community)
- Egghead.io - Bite-sized web development video training
- Frontend Masters - Expert front-end training
- {Track:js} - JavaScript Error Monitoring
- SparkPost - Email. We've Got It Down.
- WebStorm - Smart JavaScript IDE
- Fluent - Web development training
- Auth0 - Authentication Made Simple
- Trading Technologies - Building For What's Next
- Links: The Changlog episode 200: JavaScript and Robots with Raquel Vélez, Healthy Open Source by Mikeal Rogers, and Open Source Stamina by me 😄