All JavaScript Podcasts by Devchat.tv

By Devchat.tv

Listen to a podcast, please open Podcast Republic app. Available on Google Play Store.


Category: Software How-To

Open in iTunes


Open RSS feed


Open Website


Rate for this podcast

Subscribers: 388
Reviews: 1

Luis Carrazco
 Feb 4, 2020
Love your podcasts! Keep that great content coming.

Description

All JavaScript podcasts produced by Devchat.tv: - JavaScript Jabber - My JS Story - JS Rants

Episode Date
JSJ 435: Form.io with Travis Tidwell
1:07:32

The panel is joined by Travis Tidwell, co-founder and CTO of Form.io, a ME*N stack platform that incorprates a form builder with automatically generated REST API endpoints. Travis discusses the history of Form.io, how it’s built and works, and lays the smackdown on panelist and noted NoSQL database skeptic AJ O’Neal by showing how MongoDB is the appropriate DB for storing form data in JSON format.

Panel

  • Steve Edwards
  • AJ O’Neal
  • Aimee Knight

Guest

  • Travis Tidwell

Sponsors

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

Links

Picks

AJ O’Neal:

Steve Edwards:

Travis Tidwell:

Follow JavaScript Jabber on Twitter > @JSJabber

Jun 02, 2020
MJS 148: Farzad Yousefzadehr
20:43

Host: Charles Max Wood

Joined By Special Guest: Farzad Yousefzadehr

Sponsors

 

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

Links

Picks

Farzad Yousefzadehr:

Charles Max Wood:

May 26, 2020
JSJ 434: Understanding and Using ES Modules in Node with Gil Tayar
1:21:36

Gil Tayar gave a presentation recently on ES modules in Node. He joins the panel to discuss how to use and think about ES modules. With considerable pushback from AJ, Gil explains how to start using modules and what the tradeoffs are between modules, script tags, and build tools.

Panel

  • AJ O’Neal
  • Aimee Knight
  • Charles Max Wood
  • Steve Edwards
  • Dan Shappir

Guest

  • Gil Tayar

Sponsors

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

Links

Picks

AJ O’Neal:

Aimee Knight:

Charles Max Wood:

Steve Edwards:

Dan Shappir:

Gil Tayar:

Follow JavaScript Jabber on Twitter > @JSJabber

 

 

May 19, 2020
JSJ 433: Understanding the Browser Layer with Noam Rosenthal
52:48

JavaScript Remote Conf 2020

May 13th to 15th - register now!

Noam Rosenthal has worked in both web and native technologies. He leads off with a discussion of the history of the web, browsers, and specifically webkit. The panel then goes into how browsers and built and discuss the differences between the different browsers.

Panel

  • AJ O’Neal
  • Aimee Knight
  • Steve Edwards
  • Dan Shappir

Guest

  • Noam Rosenthal

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

Links

Picks

AJ O’Neal:

Aimee Knight:

Steve Edwards:

Dan Shappir:

  • Eggs

Noam Rosenthal:

  • Follow Noam on Twitter > @realnoam
  • Hyperisolation
  • The Art of Storytelling

Follow JavaScript Jabber on Twitter > @JSJabber

May 12, 2020
MJS 147: Kay Plößer
33:01

JavaScript Remote Conf 2020

May 13th to 15th - register now!

Kay Plößer is an German developer who does front-end and mobile development with React. He primarily focuses on developer relations and will be teaching at a University soon. He got started in programming doing basic scripting and game mods to buy game weapons when the game started. He also build IRC bots and programs that ran in IRC. We dive into his journey through development into React and JavaScript.

Host: Charles Max Wood

Joined By Special Guest: Kay Plößer

Sponsors

 

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

Links

Picks

Charles Max Wood:

Kay Plößer:

May 12, 2020
JSJ 432: Internet of Things (IoT) with Joe Karlsson
57:41

JavaScript Remote Conf 2020

May 13th to 15th - register now!

Joe Karlsson is a developer advocate at MongoDB. He and the panel walk through the different approaches, uses, and libraries for building IoT with JavaScript

Panel

  • Aimee Knight
  • Charles Max Wood
  • AJ O’Neal
  • Dan Shappir
  • Steve Edwards

Guest

  • Joe Karlsson

Sponsors

 

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

 

Links

Picks

AJ O’Neal:

Aimee Knight:

  • Cutting Your own Hair
  • Joe's Appartment

Charles Max Wood:

Steve Edwards:

Dan Shappir:

Joe Karlsson:

Follow JavaScript Jabber on Twitter > @JSJabber

May 05, 2020
JSJ 431: Personal Branding for Developers with Morad Stern
1:05:20

JavaScript Remote Conf 2020

May 13th to 15th - register now!

The JSJ panel talks with Morad Stern from Wix about personal branding; what it is, why it’s important for developers, and how to build it.

Panel

  • Steve Edwards
  • AJ O’Neal
  • Dan Shappir

Guest

  • Morad Stern

Sponsors

 

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

 

Links

Picks

AJ O’Neal:

Steve Edwards:

Dan Shappir:

Morad Stern:

Follow JavaScript Jabber on Twitter > @JSJabber

Apr 28, 2020
MJS 146: Håkon Krogh
41:53

JavaScript Remote Conf 2020

May 13th to 15th - register now!

Håkon Krogh is a Norweigan developer who focuses on web performance. We start out discussing working from home in the current pandemic. His current company works in Product Information Management. It's a headless ecommerce system. We dive into his experience learning learning to build applications and learning JavaScript and leading a team.

Host: Charles Max Wood

Joined By Special Guest: Håkon Krogh

Sponsors

 

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

Links

Picks

Håkon Krogh:

Charles Max Wood:

Apr 28, 2020
JSJ 430: Learning JavaScript in 2020 with Matt Crook
1:12:11

JavaScript Remote Conf 2020

May 13th to 15th - register now!

Matt Crook joins the conversation to talk with the JavaScript Jabber panel to talk about his experience going through Nashville Software School. The panel discusses and asks questions about getting into programming, working through the bootcamp, and what prospects are for bootcamp graduates.

Panel

  • AJ O’Neal
  • Aimee Knight
  • Charles Max Wood
  • Steve Edwards
  • Dan Shappir

Guest

  • Matt Crook

Sponsors

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

 

Picks

AJ O’Neal:

Aimee Knight:

Charles Max Wood:

Steve Edwards:

Dan Shappir:

Matt Crook:

Follow JavaScript Jabber on Twitter > @JSJabber

Apr 21, 2020
JSJ 429: Learning about Postman with Joyce Lin
40:56

JavaScript Remote Conf 2020

May 13th to 15th - register now!

Join us as we talk to Joyce Lin, a developer relations advocate with Postman, and we talk about this amazing tool for interacting with APIs. We discuss it’s more well-known features, and also learn about other less well known, but very powerful features that allow users to greatly increase the usefulness of the tool, both for front end and back end developers.

Panel

  • Aimee Knight
  • Steve Edwards

Guest

  • Joyce Lin

Sponsors

____________________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Picks

Steve Edwards:

Joyce Lin:

Follow JavaScript Jabber on Twitter > @JSJabber

Apr 14, 2020
MJS 145: Varya Stepanova
28:25

JavaScript Remote Conf 2020

May 14th to 15th - register now!

Varya is an expert in design systems. She talks about the process of working in and building design systems. She learned basic Pascal at school. She did programming exercises on paper. She then got into building web pages for groups she was a part of. She then picked up PHP and went professional at that point. On the front-end, she began picking up JavaScript and worked using Yandex's internal framework. Follow here story through the rest of the podcast.

Host: Charles Max Wood

Joined By Special Guest: Varya Stepanova

Sponsors

______________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

______________________________________

Links

Picks

Charles Max Wood:

Varya Stepanova:

  • Learn a New Language!

Apr 14, 2020
JSJ 428: The Alphabet Soup of Performance Measurements
1:17:14

JavaScript Remote Conf 2020

May 14th to 15th - register now!

Dan Shappir takes the lead to explain all of the acronyms and metrics for measuring the performance of your web applications. He leads a discussion through the ins and outs of monitoring performance and then how to improve and check up on how your website is doing.

Panel

  • AJ O’Neal
  • Aimee Knight
  • Steve Edwards
  • Dan Shappir

Sponsors

____________________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Picks

AJ O’Neal:

Aimee Knight:

Dan Shappir:

Follow JavaScript Jabber on Twitter > @JSJabber

Apr 07, 2020
MJS 144: Josh Ponelat
40:21

JavaScript Remote Conf 2020

May 14th to 15th - register now!

Josh Ponelat is Software Architect at SmartBear working on Swagger and OpenAPI. He's from South Africa. Josh's father is a programmer and was heavily influenced by his father. He started with ANSI-C and hacking on shells. He studied graphic design in school. He got back into programming in PHP and MySQL and wound up transitioning to JavaScript.

Host: Charles Max Wood

Joined By Special Guest: Josh Ponelat

Sponsors

______________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

______________________________________

Links

Picks

Josh Ponelat:

  • Miro

  • Pour Over Coffee

Charles Max Wood:

Apr 07, 2020
JSJ 427: How to Start a Side Hustle as a Programmer with Mani Vaya
45:11

JavaScript Remote Conf 2020

May 14th to 15th - register now!


Mani Vaya joins Charles Max Wood to talk about how developers can add the enterepreneur hat to the others they wear by starting a side gig. They discuss various ideas around entrepreneurship, the books they got them from, and how they've applied them in their own businesses.

Panel

  • Charles Max Wood

Guest

  • Mani Vaya

Sponsors

__________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

__________________________________________________

Picks

Mani Vaya:

Charles Max Wood:


Follow JavaScript Jabber on Twitter > @JSJabbber

Mar 31, 2020
MJS 143: Paige Niedringhaus
43:59

JavaScript Remote Conf 2020

May 14th to 15th - register now!

Paige Niedringhaus started her career as a Digital Marketer before making the move to becoming a software developer at the Home Depot. She current works with React and Node building internal apps for them. This episode discusses the ins and outs of making that transition in a semi-recent world and community.

Host: Charles Max Wood

Joined By Special Guest: Paige Niedringhaus

Sponsors

______________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

______________________________________

Links

Picks

Paige Niedringhaus:

Charles Max Wood:

Mar 31, 2020
JSJ 426: Killing the Release Night with Progressive Delivery with Dave Karow
1:13:44

Dave Karow is a developer evangelist for Split. He dives into how you can deliver software sustainably without burning out. His background is in performance and he's moved into smooth deliveries. He pushes the ideas behind continuous delivery and how to avoid getting paid to stay late in "free" pizzas.

Panel

  • AJ O’Neal

  • Aimee Knight

  • Charles Max Wood

  • Dan Shappir

Guest

  • Dave Karow

Sponsors

____________________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Picks

Aimee Knight:

Dan Shappir:

AJ O’Neal:

Charles Max Wood

Dave Karow:

Follow JavaScript Jabber on Twitter > @JSJabb

Mar 24, 2020
MJS 142: Daniel Caldas
34:33

Daniel Caldas is a Portuguese developer working and living in Singapore. He learned to code in high school programming in Pascal. He moved up to the university and that's where he encountered JavaScript. He wound up doing a bunch of design work, static websites, and jQuery. He explains his journey and learning methods leading to a job working for Zendesk on their CRM.

Host: Charles Max Wood

Joined By Special Guest: Daniel Caldas

Sponsors

______________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

______________________________________

Links

Picks

Daniel Caldas:

Charles Max Wood:

Mar 24, 2020
JSJ 425: The Evolution of JavaScript
1:18:04

Dan Shappir takes the lead and walks the panel through the history of JavaScript and a discussion on ES6, TypeScript, the direction and future of JavaScript, and what features to be looking at and looking for in the current iteration of JavaScript.

Panel

  • AJ O’Neal
  • Aimee Knight
  • Charles Max Wood
  • Steve Edwards
  • Dan Shappir

Sponsors

  • Taiko - free and open source browser test automation
  • Split

____________________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Picks

AJ O’Neal:

Aimee Knight:

Charles Max Wood:

Steve Edwards:

Dan Shappir:

Follow JavaScript Jabber on Twitter > @JSJabber

Mar 17, 2020
MJS 141: Jared Palmer
42:08

Jared Palmer has been a guest on 3 different shows on Devchat.tv. He's talked to us about Formik, Razzle, and React. He's taking a break from consulting to build up Formik, Inc and tools for forms. He got started in programming by taking a programming class at Cornell on a lark and quickly transitioned out of Investment Banking after graduating from university. His first apps were custom lock screens for mobile phones. We then move through framer and CoffeeScript and eventually in to JavaScript and React.

Host: Charles Max Wood

Joined By Special Guest: Jared Palmer

Sponsors

______________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

______________________________________

Links

Picks

Jared Palmer:

  • Remote UI (Shopify)

Charles Max Wood:

Mar 17, 2020
JSJ 424: UI5 and web components with Peter Muessig
42:33

In this episode of JavaScript Jabber the panelists and guest delve into the advantages of the shadow dom, transitioning from polymer js polyfills to native web components when moving for SAP UI to UI5, which works within React, Vue, Angular, and others.

Panel

  • AJ O’Neal
  • Aimee Knight
  • Steve Edwards
  • Dan Shappir

Guest

Sponsors

____________________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Picks

AJ O’Neal:

Aimee Knight

Steve Edwards

Dan Shappir

Peter Müßig

 

Follow JavaScript Jabber on Twitter > @JSJabber

Mar 10, 2020
MJS 140: Tommy Hodgins
29:48

Tommy Hodgins is a developer that typically works on A/B tests figuring out how to get websites the outcomes they want. He got into JavaScript and front-end technologies and then read a paper that led him to realize the capabilities of writing software to solve problems. He maintains a front-end focus with his A/B testing work and CSS in JS and other work.

Host: Charles Max Wood

Joined By Special Guest: Tommy Hodgins

Sponsors

______________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

______________________________________

Picks

Tommy Hodgins:

Charles Max Wood:

Mar 10, 2020
JSJ 423: State of JS
50:45

The panelists discuss that latest State of JS survey. They begin talking about the merits and methods of the survey and then discuss the value you can extract from the survey. They also consider the various comparisons and trends presented by the survey and what they may mean.

Panel:

  • AJ O’Neal
  • Aimee Knight
  • Charles Max Wood
  • Dan Shappir

Sponsors:

____________________________________________________________

 

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links:

Picks:

Aimee Knight:

AJ O’Neal:

Charles Max Wood:

Dan Shappir:

 

Follow JavaScript Jabber on Twitter > @JSJabber

 

Mar 03, 2020
MJS 139: Radoslav Stankov
31:59

Rado Stankov is the Head of Engineering at Product Hunt. He's based in Sofia Bulgaria. He walks us through learning Pascal and PHP and Flash. We then dive into Ruby and JavaScript and what he's working on now at Product Hunt.

Host: Charles Max Wood

Joined By Special Guest: Radoslav Stankov

Sponsors

______________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

______________________________________

Links

Picks

Radoslav Stankov:

Charles Max Wood:

Mar 03, 2020
JSJ 422: CSS and Houdini with Una Kravets
1:00:55

Una Kravets talks to the panel about CSS and its future. We dive into what Houdini is and how much of it is implemented in the browsers. She explains how the changes outlined in Houdini will improve the user experience on the web and developer experience for web developers.

Panel:

  • Aimee Knight
  • AJ O’Neal
  • Charles Max Wood

Guest:

  • Una Kravets

Sponsors:

____________________________________________________________

 

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links:

Picks:

Aimee Knight:

AJ O’Neal:

Charles Max Wood:

Una Kravets:

Feb 25, 2020
MJS 138: Carl Mungazi
35:03

Carl is a developer from Nigeria currently living in London. He explains how he started out as a journalist and wound up doing web development to keep track of news stories coming out in his local area. He leveled up by attending meetups and talking to other developers. He wound up working for the Guardian and the Financial Times before moving to his current position at LimeJump.

Host: Charles Max Wood

Joined By Special Guest: Carl Mungazi

Sponsors

______________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

______________________________________

Links

Picks

Carl Mungazi:

  • React Dev Tools

Charles Max Wood:

Feb 25, 2020
JSJ 421: Semantic HTML with Bruce Lawson
1:08:29

Bruce Lawson is an expert in and proponent of semantic HTML. After receiving some good natured ribbing, Bruce walks the panel through the benefits of semantic HTML. He provides several examples on how it's used and in particular how it helps with other issues like accessibility and navigability on your websites.

Panel

  • AJ O’Neal
  • Aimee Knight
  • Charles Max Wood
  • Dan Shappir

Guest

  • Bruce Lawson

Sponsors

____________________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Picks

AJ O’Neal:

Aimee Knight:

Charles Max Wood:

Dan Shappir:

Bruce Lawson:

Feb 18, 2020
MJS 137: Florian Rival
28:47

Florian Rival is a React developer who has built his own game engine. He's been a guest on both React Round Up and React Native Radio. This episode provides you a walkthrough on using gDevelop to build games from scratch and goes into his history as a game developer.

Host: Charles Max Wood

Joined By Special Guest: Florian Rival

Sponsors

______________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

______________________________________

Links

Picks

Florian Rival:

Charles Max Wood:

Feb 18, 2020
JSJ 420: OpenAPI, Redoc, and API Documentation with Adam Altman
45:45

Adam dives into how to document your application using OpenAPI (formerly Swagger) and then how to generate great documentation for your API's using Redoc. He gives us the history of Redoc, breaks down the process for building API documentation, and understanding the OpenAPI specification.

Panelists

  • Aimee Knight

  • Dan Shappir

  • AJ ONeal

  • Steve Edwards

Guest

  • Adam Altman

Sponsors

____________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Picks

Steve Edwards:

Aimee Knight:

Dan Shappir:

AJ O’Neal:

Adam Altman:

Feb 11, 2020
MJS 136: Kaelig Deloumeau-Prigent
43:39

This My JavaScript Story episode is a discussion with Kaelig Deloumeau-Prigent. Kaelig works on the Polaris design system from Shopify. We walk through his journey into programming, HTML, and CSS. We wander through is career until he was building design systems at Shopify.

Host: Charles Max Wood

Joined By Special Guest: Kaelig Deloumeau-Pregent

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan

  • CacheFly

___________________________________________________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

___________________________________________________________________________________________

Links

Picks

Kaelig Deloumeau-Prigent:

Charles Max Wood:

Feb 11, 2020
JSJ 419: Google App Script with Ben Collins
49:49

Today’s guest is Ben Collins, who creates online courses, writes tutorials, and teaches workshops around G Suite and App Script. Apps Script is a scripting platform developed by Google for light-weight application development in the G Suite platform. It is an implementation of JavaScript with the express purpose of extending Google apps. App Script was started 10 years ago as a side project, and it eventually took on its own life. Ben talks about some of the different things that App Script can do and where things are stored. They discuss different ways you can get into the script and how to import external scripts from a CDN. Ben gives two examples, one simple and one sophisticated, that you might build from App Script. He talks about event triggers and how authentication is handled. He goes over the three deployment options, namely web app, app executable, sheets add-on, and deploying from the manifest. Ben talks about how triggers are managed in App Script and options for debugging. There is also the option to develop locally as well as in the browser. The show ends with him talking about how to build using HTML in App Script.

Panelists

  • Aimee Knight

  • Steve Edwards

  • Dan Shapir

Guest

  • Ben Collins

Sponsors

____________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Picks

Steve Edwards:

Aimee Knight:

Dan Shapir:

AJ O’Neal:

Bem Collins:

Feb 04, 2020
MJS 135: Paul Cowan
43:52

My JavaScript Story this week welcomes Paul Cowan. Paul works as a consultant in front end development. He learned how to program at a really early age but didn't own an email address until he was 30 years old. When he was 30 years old he wanted to change his lifestyle and attended a course in London and took a job as a software developer.

Paul was interested in React because, for him, much of programming didn’t make a whole lot of sense until he read about the flux model and React Redux was one of the few frameworks that followed the flux model. Spending most of his life outside of the programming world has granted him a unique perspective framework like React.

 

Host: Charles Max Wood

Joined By Special Guest: Paul Cowan

Sponsors

______________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

______________________________________

Links

Picks

Paul Cowan:

Charles Max Wood:

Feb 04, 2020
JSJ 418: Security Scary Stories and How to Avoid Them with Kevin A McGrail
1:29:50

In this episode of JavaScript Jabber the panel interviews security expert, Kevin A. McGrail. He starts by explaining what security frameworks and what they do. The panel wonders how to know if your developers are capable of self-auditing your security or if you need help. Kevin shares recommendations for companies to look at to answer that question. 

Aimee Knight explains the hell she has been in making changes to be compliant with CCPA. The panel considers how policies like this complicate security, are nearly impossible to be compliant with and how they can be weaponized. They discuss the need for technical people to be involved in writing these laws. 

Kevin explains how you can know how secure your systems actually are. He shares the culture of security first he tries to instill in the companies he trains. He also trains them on how to think like a bad guy and explains how this helps developers become security first developers. The panel discusses how scams have evolved and how the same scams are still being run. They consider the importance of automated training and teaching developers to do it right the first time.

Finally, they consider the different ways of authentication, passwords, passphrases, sim card, biometrics. Kevin warns against oversharing or announcing vacations. The panel discusses real-world tactics bad guys use. Kevin explains what he trains people to do and look out for to increase security with both social engineering and technical expertise. 

Panelists

  • Aimee Knight

  • AJ O’Neal

  • Charles Max Wood

  • Dan Shappir

  • Steve Edwards

Guest

  • Kevin A McGrail

Sponsors

____________________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Follow DevChatTV on Facebook and Twitter

Picks

Aimee Knight:

AJ O’Neal:

Dan Shappir:

Kevin A McGrail:

Steve Edwards:

Jan 28, 2020
MJS 134: Maximiliano Firtman
39:49

My JavaScript Story this week welcomes Maximiliano Firtman. Maximiliano Firtman is a mobile web developer from Buenos Ares, Argentina. He has been a developer for 24 years and his most recent focus has been on progressive web apps.

Maximiliano started coding when he was 11 years old by creating games and digital magazines. He got into web development by learning HTML in college.

Host: Charles Max Wood

Joined By Special Guest: Maximiliano Firtman

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan

  • CacheFly

______________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

______________________________________

 

Links

Picks

Maximiliano Firtman:

Charles Max Wood:

Jan 28, 2020
JSJ 417: Serverless with Microsoft Azure with Burke Holland
1:18:00

Burke Holland works for Microsoft on the Azure team in developer relations. He starts the show talking about how he got started in serverless. He’s careful to note that just because things are marketed as serverless doesn’t always make them so. In order for something to be serverless, it must be sufficiently abstracted in terms of technology, only require payment for what is used, and infinitely scalable. He talks about the statelessness of serverless, and the panel discusses what it means to be stateless. Burke reminds listeners that serverless is not for long-lived operations, but there are features in serverless providers that can help you get around this. Burke talks about how writing serverless code differs from standard or previous coding approaches and practices. He advises that serverless functions are best kept small, and talks about how to fit them in with other kinds of APIs. 

The panelists talk about the multi-cloud and why people would want to be on multiple cloud servers. Burke talks about what Microsoft has done with Serverless Frameworks to accomplish multi-cloud compatibility. The JavaScript experts discuss the advantages and disadvantages of picking JavaScript over other languages, and Burke talks about why he prefers TypeScript and the Easy-Off feature. They talk about speed on a serverless platform, especially concerning the cold start time, which Azure is relentlessly trying to lower. He does talk about some things that can be done to decrease load time and about premium functions. The panel discusses how to debug serverless functions and tools that are available, such as the Azure Functions extension. 

They talk about ways to set up more secure functions to keep things from racking up charges. Burke talks about some things Microsoft does internally to control cloud costs, such as sending monthly reports with reminders to delete and using tools like Azure Reaper to delete short-lived projects. Azure can also put spending caps on subscriptions, but when you hit that cap you can’t serve any more requests. Burke concludes by saying that most of the time, going serverless is a lower-cost way to improve productivity, and because it’s event-driven, it allows you to tie into things that you’re already doing in the cloud. Serverless almost always justifies itself from an ease of use point of view and a cost point of view. 

Panelists

  • Aimee Knight

  • Steve Edwards

  • Dan Shapir

  • AJ O’Neal

  • Charles Max Wood

Guest

  • Burke Holland

Sponsors

____________________________

> "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Picks

Steve Edwards:

Burke Holland:

Dan Shapir:

  • Taking a vacation

AJ O’Neal:

Charles Max Wood:

Jan 21, 2020
MJS 133: Jonathan Martin
42:35

My JavaScript Story this week welcomes Jonathan is an educator, speaker, and author.h Jonathan has been a developer since high school and he started out by teaching at Big Nerd Ranch and currently has his own teaching brand. He teaches career switchers and senior developers and also has written a book "Functional Design Patterns for Express.js". Teaching career switchers has led him to adopt a pedagogy approach to teaching where he focuses on getting people to absorb relevant information faster. Some of the lessons he has learned when working with career switchers is the role of failure in the classroom. He noticed when something did not work in their code career switchers tended to want to start out again instead of debugging what was wrong with the code. Jonathan had to show that most of developing is turning failure into success and getting code that doesn't work bu debugging and asking for help.

Host: Charles Max Wood

Joined By Special Guest: Jonathan Martin

Sponsors

______________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

______________________________________

 

Links

Picks

Charles Max Wood:

Jonathan Martin:

Jan 21, 2020
JSJ 416: GraphQL Developer Tools with Sean Grove
1:20:20

In this episode of JavaScript Jabber the panel interviews Sean Grove from OneGraph; asking him questions about GraphQL tooling and common complaints about GraphQL. Sean starts by explaining what GraphQL is and how it benefits frontend developers. GraphiQL is a frontend open sourced tool produced by OneGraph, Sean explains how this handy tool simplifies GraphQL. 

 

Authentication and authorization are one of the biggest criticisms of GraphQL. Sean walks the panel through the solution, getting a schema definition language and adding directives to build a simple authentication and authorization. The panel defines authentication and authorization and explains the difference. 

 

The next issue common with GraphQL that the panel discusses is migration. Sean explains how OneGraph helps with migration using a Rust network layer and how it works. They also discuss how to migrate without this tool. Without the tool it is painful and he recommends incremental migration. 

 

Sean explains that another problem in GraphQL is poor documentation. He explains why the documentation is poor and explains how they hope to fix it at OneGraph. The last issue they cover is the length of queries. Sean tells the panel how they can handle this problem with depth analysis or persistent queries. The episode ends with an elevator pitch for Reason. 

Panelists

  • Aimee Knight

  • AJ O’Neal

  • Charles Max Wood

  • Dan Shappir

Guest

  • Sean Grove

Sponsors

____________________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Follow DevChatTV on Facebook and Twitter

Picks

Aimee Knight:

AJ O’Neal:

Dan Shappir:

Sean Grove:

Charles Max Wood:

Jan 14, 2020
JSJ 415: Progressive Web Apps with Maximiliano Firtman
39:43

Maximiliano Firtman is a mobile web developer from Buenos Ares, Argentina. He has been a developer for 24 years and his most recent focus has been on progressive web apps, or PWAs. Steve and Max reflect on the technologies they were using when they first got started in web development and talk about their experience with mobile development. One area that Max emphasized was bringing the web into the mobile space. They discuss the progression of web access on mobile and some of the available tools. Max notes that responsible design has a very high cost in web performance for mobile devices, which requires unique approaches. They discuss some of the issues with latency in mobile, even on 4G. The solution to this latency is PWAs.

Progressive web apps are a set of best practices to create web apps that are installable. They can work offline at high speeds on several operating systems. Once installed, it looks like any other app on the system. Max delves into more details on how it works. He talks about how the resources for your application are managed. He assures listeners that it’s just a website that’s using a new API, they’re not changing the way the web works, and that when that API is there, the app can be installed. It will also generally use your default browser. Steve and Max discuss how local data is stored with PWAs. To write PWAs, you can use Angular, React, JavaScript, or Vue, and it’s a pretty transparent process. Max talks about some common tools used for local storage and some of the PWAs he’s worked on in the past. The benefit of using PWAs is that they generally run faster than regular web apps. To get started, Max advises listeners to install one and start exploring.

Panelists

  • Steve Edwards

Guest

  • Maximiliano Firtman

Sponsors

____________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Picks

Steve Edwards:

Maximiliano Firtman:

Jan 07, 2020
JSJ 414: JavaScript Jabber Still at RxJs Live
40:42

In this episode of JavaScript Jabber Charles Max Wood continues interviewing speakers at RxJS Live. First, he interviews Mike Ryan and Sam Julien. They gave a talk about Groupby, a little known operator. They overview the common problems other mapping operators have and how Groupby addresses these problems. The discuss with Charles where these types of operators are most commonly used and use an analogy to explain the different mapping operators. 

 

Next, Charles talks to Tracy Lee. Her talk defines and explains the top twenty operators people should use. In her talk, she shows real-world use cases and warns against gotchas. Tracy and Charles explain that you don’t need to know all 60 operators, most people only need about 5-10 to function. She advises people to know the difference between the different types of operators. Tracy ends her interview by explaining her desire to inspire women and people of minority groups. She and Charles share their passion for diversity and giving everyone the chance to do what they love.

 

Dean Radcliffe speaks with Charles next and discusses his talk about making React Forms reactive. They discuss binding observables in React and how Dean used this in his business. He shares how he got inspired for this talk and how he uses RxJS in his everyday work.  

 

The final interview is with Joe Eames, CEO of Thinkster. Joe spoke about error handling. He explains how he struggled with this as did many others so he did a deep dive to find answers to share. In his talk, he covers what error handling is and what it is used for. Joe outlines where most people get lost when it comes to error handling. He also shares the three strategies used in error handling, Retry, Catch and Rethrow and, Catch and Replace. Charles shares his admiration for the Thinkster teaching approach. Joe explains what Thinkster is about and what makes them special. He also talks about The DevEd podcast. 

Panelists

  • Charles Max Wood

Guests

  • Mike Ryan 

  • Sam Julien

  • Tracy Lee

  • Dean Radcliffe

  • Joe Eames

Sponsors

____________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
___________________________________________________________

Links

Dec 31, 2019
JSJ 413: JavaScript Jabber at RxJs Live
35:51

In this episode of JavaScript Jabber Charles Max Wood does interviews at RxJS Live. His first interview is with Hannah Howard at RxJS Live about her talk. Hannah is really enthusiastic about RxJS especially when it comes to frontend development. Her talk is about how to architect full-scale apps with RxJS. Hannah gives a brief summary of her talk. Charles having met Hanna previously at Code Beam asks her how functional programming and reactive programming work together in her mind. Hannah describes how she sees programming. 

 

Charles’s next interview is with Ben Lesh, a core team member of RxJS. Ben has been working on RxJS for the last four years. In his talk, he shares the future of RxJs, the timeline for versions 7 and 8. With Charles, he discusses his work on RxJS and the adoption of RxJS. 

 

Next, Charles interviews Sam Julien and Kim Maida. They gave a talk together covering the common problems developers have when learning RxJS. In the talk, they share tips for those learning RxJS. Charles wonders what inspired them to give this talk. Both share experiences where they encouraged someone to use RxJS but the learning curve was to steep. They discuss the future of RxJS adoptions and resources. 

 

Finally, Charles interviews Kim alone about her second talk about RxJS and state management. She explains to Charles that many state management libraries are built on RxJS and that it is possible to roll out your own state management solution with RxJS. They discuss why there are so many different state management libraries. Kim shares advice for those looking to roll out their own solutions.

Panelists

  • Charles Max Wood

Guests

  • Hannah Howard

  • Ben Lesch

  • Sam Julien

  • Kim Maida

Sponsors

  • Sentry -use the code "devchat" for 2 months free on Sentry's small plan

  • CacheFly

Links

Dec 24, 2019
JSJ 412: Svelte and Sapper with Svelte Master
49:29

Noah, a.k.a. Svelte Master, is from Indiana and recently moved to San Francisco. He has been given title Computational Linguist by SoundHound. He starts the show by talking about his Youtube channel all about Svelte. Svelte is a JavaScript framework similar to React and Vue. When you write components, Svelte will compile it into Vanilla JS, CSS, or HTML, and create a small bundle that will be sent to the client. Svelte is a ‘disappearing framework’, so your bundles come out as DOM APIs and there is no Svelte in the end result. Because the Svelte framework doesn’t send with the bundle, bundle sizes are significantly smaller, and it runs on all browsers. Noah shares some Svelte’s performance statistics. Sapper is a companion technology to Svelte that gives you server side rendering, routing, code splitting, and other features. 

Noah talks about how to write plugins for Svelte and embedding components. One main difference between Svelte and other frameworks is that it lacks a virtual DOM. This is because since it is just compiling down to JavaScript and the framework is not sent with the package, it doesn’t need a virtual DOM and instead updates as things change. Noah talks more about how this works. Some of Svelte Master’s favorite things about Svelte is that you write less code, especially unnecessary code, and state management is simple. He talks about how routing is handled through other tools like Sapper. The panel talks about methods for testing a Svelte app, adding Svelte components into a website, and pulling in third party libraries. They discuss whether there are things that you can’t do with Svelte that would require React or Vue. The show ends with Noah talking about what the future holds for Svelte and how to get started with it. 

Panelists

  • Steve Edwards

  • Charles Max Wood

**To receive your 40% OFF coupon for Manning Publications (good for all our products in all formats) visit us on Facebook - click on "Send A Message"and type "YES"**

Guest

  • Noah (Svelte Master)

Sponsors

____________________________________________________________

> "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Picks

Steve Edwards:

Charles Max Wood:

Daniel Caldas:

Dec 17, 2019
JSJ 411: Unit Testing Jest with Daniel Caldas
59:50

Daniel Caldas is calling from Singapore. He currently works as a software engineer for Zendesk and has also worked in Portugal and Germany. He has worked primarily on the frontend with Node and JavaScript. He talks about his experience testing JavaScript, how he got started with Jest, and why he likes it. Daniel finds Jest very easy to use and straightforward. He likes that  Jest has a single reference page for documentation. He feels that Jest is largely complete out of the box and has only made a small add on to get rid of Boilerplate in some tests.

Daniel explains what a snapshot, how they work, and why he prefers fixtures over factories. He gives tips on how to set up your tests so that they are easy to follow. He finds it helps to structure your scenarios in the fixture description. He talks about gotchas in Jest. While Jest is largely easy to use, Jest has been around for a while and breaking changes do happen. It’s important to check what version your code base is using. While there are a lot of free sources around Jest online, he advises listeners to stick as close to the official documentation as possible, or to people associated with Jest, and to read recent stuff. As for conventions, Jest has pretty much everything out of the box and the built in conventions make it easy to navigate any project that uses Jest.

Daniel talks about some of the features available in Jest, converting observables into promises, and tricks he has used to make tests easier to put together. He talks about his method for keeping his mocks and stubs straight. He advises listeners to have some organizational rules, such as starting the imports alphabetically, and to always follow those rules. He talks about how he runs tests and what environments he uses. While Jest is normally used for unit testing, Daniel has also used it for end to end tests, and he talks about his experience with an open source project doing both types in Jest. Daniel concludes the show by advising listeners starting with JavaScript and frontend, don’t think too much about the library you’re going to use because you’ll probably end up using Jest. It’s more important to have unit tests and a proper testing framework at the beginning than anything else. He also invites listeners to check out his open source work on Github.

Panelists

  • Aimee Knight

  • AJ O’Neal

  • Charles Max Wood

Guest

  • Danile Caldas

Sponsors

  • Sentry | Use the code “devchat” for $100 credit

Links

Picks

Aimee Knight:

AJ O’Neal:

Charles Max Wood:

Daniel Caldas:

Dec 10, 2019
JSJ 410: Iterating on Open Source
59:05

Today the panel is discussing iterating on open source projects. Aimee and AJ recall a conversation they had in the past on this subject and AJ talks about some of his experience iterating with open source. AJ believes that we have an obligation to capture the value of what you create so that we can reinvest and create more value, though he admits that making money in open source is a unique challenge because donations only really work if you have a project that gets billions of downloads a month. As your project grows, it has to change in order to survive, and eventually you will need to get financial support from your project. The panel agrees that some of the main issues with iterating in open source are maintaining the code and getting feedback from users, financial backing, and roadmapping and integrations.

The panel discusses their methods for getting feedback from their users. This feedback is valuable because it can show you things that you missed. They acknowledge that there can be conflicts of interest between those who only use the project and those who financially support it, and you have to make a choice. Unfortunately, someone is probably going to be inconvenienced no matter what choice you make. When making these decisions, you have to consider who it helps, who it frustrates, and who it may cause problems for. The panelists talk about different ways they’ve handled making these decisions in the past. The JavaScript experts talk about the importance of having data on your user base in order to make good choices for your users. They talk about different methods for notifying your users of upcoming changes and how it will affect compatibility, and some of the challenges with communicating with your users. AJ talks about an iteration he thought was a good idea but that a lot of people hated and how he noticed that the new users liked it but the old users did not. They panel agrees that people in general don’t like change. AJ talks about what he learned from this experience. 

Another common issue is integrating with other services. Integrating with cloud services, or at least giving people the option to integrate gives you an opportunity to reach more people and maintain the project long term. AJ gives some final thoughts to close the show, namely that most projects never go anywhere, and that’s ok. If you’ve got something that starts going somewhere, think early on about how you can better serve the community and remember that these people are mostly grateful and semi-willing to support you. He believes that if you are helping people create value, you deserve to see the fruits of your labor. He advises listeners to stay true to your open source ideals, think about your users perspective, and that the earlier you can think about this and make these choices, the better it is for your project


 

Panelists

  • Aimee Knight

  • Steve Edwards

  • AJ O’Neal

  • Charles Max Wood

Sponsors

  • Sentry | Use the code “devchat” for $100 credit

Links

Picks

Aimee Knight:

Steve Edwards:

AJ O’Neal:

Charles Max Wood:

Dec 03, 2019
JSJ 409: Swagger and Open API with Josh Ponelat
45:59

Today the panel discusses the difference between Swagger and Open API with Josh Ponelat. Josh details the difference between the two. Swagger is a set of protocols around describing restful APIs. Swagger was taken over by a company called SmartBear, who donated the donated the specification to the Open Linux Foundation, and that became the Open API. Swagger is the tooling surrounding these specifications. Open API is a standardized way to describe a restful API in a YAML file. Once you’ve got a YAML file to describe your API, you can use tooling like Swagger to leverage that and take it to the next level. Using the Open API process is useful for situations where you already have an API in place, but want to codify and document it so that it’s controlled. Then going forward, you won’t introduce contradictions and it remains consistent because it’s documented in a YAML file. The process leaves room for enhancement in the future as well. 

Josh talks about some of the benefits of standardizing your API and some of the use cases besides tooling. A standardized API can help show developers how to use your API, SDKs, and service stubs by knowing your API is consistent in style. This makes it easier to find breaking changes and more. Josh talks more about Swagger, a finite set of tooling around Open API, most of which are open source. He talks about other tools that test APIs and do linting on YAML files. Some of the companies that use Open API include Google, Amazon, and Microsoft. Josh talks about how Amazon implements Open API.

Josh talks about the book he’s writing, Designing APIs with Swagger and Open API. The book goes over describing APIs today, how to design APIs without writing code first, and how to get the most out of the system. The show concludes with Josh talking about the power of consistency and writing things down on paper. He discusses where implications that the standardization of APIs has on the text industry. 

Panelists

  • Dan Shapir

  • Charles Max Wood

Guest

  • Josh Ponelat

**To receive your the 40% OFF coupon for Manning Publications (good for all our products in all formats) visit us at Facebook - click on "Send A Message"and type "YES"**

Sponsors

  • Sentry | Use the code “devchat” for $100 credit

Links

Picks

Dan Shapir

Charles Max Wood

Josh Ponelat

Nov 26, 2019
The MaxCoders Guide To Finding Your Dream Developer Job
14:35

"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!

Nov 20, 2019
The MaxCoders Guide To Finding Your Dream Developer Job
14:35

"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!

Nov 20, 2019
MJS 132: Douglas Crockford
44:11

Douglas Crockford is a language architect and helped with the development of JavaScript. He popularized the data format JSON, and has developed various JavaScript related tools such as JSLint and JSMin He started working with JavaScript in 2000. He talks about his journey with the language, including his initial confusion and struggles, which led him to write his book JavaScript: The Good Parts.

Host: Charles Max Wood

Joined by Special Guest:  Douglas Crockford

Sponsors

Links

Picks

Charles Max Wood:

Nov 19, 2019
JSJ 408: Reading Source Code with Carl Mungazi
55:10

Carl Mungazi is a frontend developer at Limejump in London. He is a former journalist and switched to programming in 2016. Today the panel is discussing the benefits of reading source code. Carl began reading source code because he came into programming late and from a different field. His first project was with Mithril, and he read the source code and documentation to help him understand it. The panelists discuss how reading the source code has helped them and others to improve their coding. They compare reading and understanding source code to learning a foreign language, and discuss  different methods. 

Carl gives some suggestions for reading source code effectively. He advises people to be patient and step through the code. Accept that you will probably take a wrong path at some point or another, but the more you read, the more you will see patterns in how libraries are structured. He also encourages listeners to approach the authors, as they are often happy to lend a hand. Reading source code is an active approach of stepping through, debugging, putting in break points, checking the stack, and so forth. It’s also important to do outside research. 

Since he has been reading source code, Carl has come to prefer plain JavaScript and libraries with as little code as possible. The panel discusses the benefits of small, simple libraries. Carl gives examples of techniques that he learned from reading a library source code and how he applied it to his own coding style. Reading source code has made him more careful about mixing logic and UI, and now he separates them. He also is more confident in seeing a problem, going to a preexisting library, and just importing the fix for that problem rather than the whole library. Reading source code is really about understanding the code you use in your project. It may slow you down, but you’ll be thankful in the long term because it will help you solve future bugs more efficiently. Carl talks more about his debugging process. He still relies on a debugger, but reading a library helps you to see patterns and guess the output of a function. These patterns persist in other libraries as well. Once you can guess correctly what will happen, you go back to reading the code and find instances where the output is unexpected, and fix it. Carl’s closing thoughts are that through reading source code, he has learned that although code is used differently in each library, they are all written in the same language, and therefore interrelated. This gave him more confidence in reading code because they’re all fundamentally the same. When a bug is discovered, he encourages listeners to look at the source code before googling a solution. 

Panelists

  • AJ O’Neal

  • Dan Shapir

  • Steve Edwards

  • Charles Max Wood

Guest

  • Carl Mungazi

Sponsors

Links

Picks

AJ O’Neal

Dan Shapir

Steve Edwards

Charles Max Wood

Carl Mungazi

Nov 19, 2019
JSJ 407: Reactive JavaScript and Storybook with Dean Radcliffe
43:48

Dean is a developer from Chicago and was previously on React Round Up 083. Today he has come over to JavaScript Jabber to talk about reactive programming and Storybook. Reactive programming is the opposite of imperative programming, where it will change exactly when needed instead of change only when told to. Reactivity existed long before React, and Dean talks about his history with reactive programming. He illustrates this difference by talking about Trello and Jira. In Trello, as you move cards from swimlane to another swimlane, everyone on the board sees those changes right away. In Jira,  if you have 11 tabs open, and you update data in one tab, probably 10 of your tabs are stale now and you might have to refresh. Reactive programming is the difference between Trello and Jira.

The panel discusses why reactive JavaScript is not more widely used. People now tend to look for more focused tools to solve a particular part of the problem than an all in one tool like Meteor.js. Dean talks about the problems that Storybook solves. Storybook has hot reloading environments in frontend components, so you don’t need the backend to run. Storybook also allows you to create a catalogue of UI states. JC and Dean talk about how Storybook could create opportunities for collaboration between engineers and designers. They discuss some causes of breakage that automation could help solve, such as styles not being applied properly and internationalization issues. Dean shares how to solve some network issues, such as having operators in RxJs. RxJs is useful for overlapping calls because it was built with cancelability from the beginning. 

Dean talks about his stool Storybook Animate, which allows you to see what the user sees. Storybook is an actively updated product, and Dean talks about how to get started with it. The show concludes tih Dean talking about some things coming down the pipe and how he is actively involved in looking for good general solutions to help people write bulletproof code. 

Panelists

  • JC Hiatt

With special guest: Dean Radcliffe

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

JC Hiatt:

Dean Radcliffe: 

Nov 12, 2019
MJS 131: Chris Biscardi
48:29

Chris is an independent consultant working with open source startups. He taught himself to program and started in open source. He talks about how he got into programming and how he learned to code.

Chris' first access to programming was writing index.hml files when he was younger and again when he was majoring in Arts in university he was introduced to ActionScript.

 

Host: Charles Max Wood

Joined by Special Guest:  Chris Biscardi

Links

Sponsors

Picks

Charles Max Wood:

Chris Biscardi:

  • Follow Chris on Instagram at ChrisBiscardi

Nov 12, 2019
MJS 130: Javan Makhmali
34:51

This week, My Javascript Story welcomes Javan Makhmali,a Programmer at Basecamp from Ann Arbor, Michigan. Javan attended Community College to study Computer Science but then decided to work as a Freelancer developer. Javan and Charles debate whether having a 4-year college degree is better to become a developer and conclude that it depends on the person. Some people prefer a structured 4 year degree to feel ready for a full time jo and some people do better with bootcamps. Javan mentions he knows several people that switched careers after completing an 8 week bootcamp and that the industry was really flexible to accomodate both options.

Charles and Javan then continue talking about Javan's journey as a developer and particularly his journey with Basecamp. Javan started out working with Ruby on Rails and after a couple of years applied for a job at Basecamp (then known as 37 Signals). Javan then started working with CoffeeScript which helped him understand working with JavaScript.

Charles and Javan talk about the projects Javan is working on currently at Basecamp. Outside of work Javan, is a new parent and enjoys spending time with his daughter. He feels ever since he has become a parent, his work life balance has been better.

 

Host: Charles Max Wood

Joined by Special Guest:  Javan Makhmali

Links

Sponsors

Picks

Charles Max Wood:

Nov 05, 2019
JSJ 406: Security in Node
1:16:46

Today the panel is talking about security features that are being added to Node 13. AJ talks about the background and what he’s working with Let’s Encrypt. He talks about changes that Node has made to the TLS module. TLS is a handshake that happens between a client and a server. They exchange certificates, generate some random numbers to use for encryption, and TLS handles the encryption. The move to HTTP/2 is all about fixing legacy bugs and legacy features from the SSL days and reducing the number of handshakes.

AJ talks about the difference between TLS and HTTPS. While TLS reduces the handshakes between client and server, HTTPS is just HTTP and has no knowledge that TLS is going on. HTTP/2 is more baked in as both encryption and compression are part of the specification and you get it automatically. HTTP/2 is also supposed to be faster because there’s fewer handshakes, and you can build heuristic based web servers. Since browsers have varying degrees of compatibility, a smart HTTP/2 server will classify the browser and anticipate what files to send to a client based on behavior and characteristics without the client requesting them

A lot of these new features will be built into Node, in addition to some other notable features. First, there will now be set context on the TLS object. Second, if you’re connected to a server, and the server manages multiple domains, the certificate will have multiple names on it. Previously, each different server name had a different network request, but now a .gitcertificate will let you get all the metadata about the certificate, including the primary domain and all the secondary domains and reuse the connections. 

These new features are a great improvement on the old Node. Previously, the TLS module in Node has been an absolute mess. These are APIs that have been long neglected, and are long overdue core editions to Node. Because of these additions, Node Crypto has finally become usable. HTTP/2 is now stable, usable, and has backwards compatable API, and a dictionary of headers to make it more efficient in compression.

The conversation turns back to certificates, and AJ explains what a certificate is and what it represents. A certificate has on it a subject, which is a field which contains things like common name, which in the case of HTTPS is the server name or host name. then it will have subject alternative names (SAN), which will have a list of other names that are valid on that certificate. Also included on the certificate is the name of the authority that issued the certificate. AJ talks about some of the different types of certificates, such as DV, OV, and EV certificates. They differentiate between encryption and hashing. Hashing is for verifying the integrity of data, while encryption can be used either as signing to verify identity or to keep data owned privately to the parties that are part of the connection. Encryption does not necessarily guarantee that the data is the original data. The show concludes with AJ talking about how he wants to make encryption available to the average person so that everyone can share securely. 

Panelists

  • Steve Edwards

  • AJ O’Neal

  • Charles Max Wood

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Steve Edwards:

AJ O’Neal:

Charles Max Wood: 

Nov 05, 2019
JSJ 405: Machine Learning with Gant Laborde
42:22

Gant Laborde is the Chief Innovation Officer of Infinite Red who is working on a course for beginners on machine learning. There is a lot of gatekeeping with machine learning, and this attitude that only people with PhDs should touch it. In spite of this, Gant thinks that in the next 5 years everyone will be using machine learning, and that it will be pioneered by web developers. One of the strong points of the web is experimentation, and Gant contrasts this to the academic approach. 

They conversation turns to Gant’s course on machine learning and how it is structured. He stresses the importance of understanding unicode, assembly, and other higher concepts. In his course he gives you the resources to go deeper and talks about libraries and frameworks available that can get you started right away. His first lesson is a splashdown into the jargon of machine learning, which he maps over into developer terms. After a little JavaScript kung fu, he takes some tools that are already out there and converts it into a website.

Chris and Gant discuss some different uses for machine learning and how it can improve development. One of the biggest applications they see is to train the computers to figure monotonous tasks out while the human beings focus on other projects, such as watching security camera footage and identifying images. Gant restates his belief that in the next 5 years, AI will be everywhere. People will grab the boring things first, then they will go for the exciting things. Gant talks about his creation NSFW.js, an open source train model to help you catch indecent content. He and Chris discuss different applications for this technology.

Next, the panel discusses where machine learning can be seen in everyday life, especially in big companies such as Google. They cite completing your sentences in an email for you as an example of machine learning. They talk about the ethics of machine learning, especially concerning security and personal data. They anticipate that the next problem is edge devices for AI, and this is where JavaScript really comes in, because security and privacy concerns require a developer mindset. They also believe that personal assistant devices, like those from Amazon and Google, will become even more personal through machine learning. They talk about some of the ways that personal assistant devices will improve through machine learning, such as recognizing your voice or understanding your accent. 

Their next topic of discussion is authenticity, and how computers are actually incredibly good at finding deep fakes. They discuss the practice of placing passed away people into movies as one of the applications of machine learning, and the ethics surrounding that. Since developers tend to be worried about inclusions, ethics, and the implications of things, Gant believes that these are the people he wants to have control over what AI is going to do to help build a more conscious data set. 

The show concludes with Gant talking about the resources to help you get started with machine learning. He is a panelist on upcoming DevChat show, Adventures in Machine Learning. He has worked with people with all kinds of skill sets and has found that it doesn’t matter how much you know, it matters how interested and passionate you are about learning. If you’re willing to put the pedal to the metal for at least a month, you can come out with a basic understanding. Chris and Gant talk about Tensorflow, which helps you take care of machine learning at a higher level for fast operations without calculus. Gant is working on putting together a course on Tensorflow. If you’re interested in machine learning, go to academy.infinite.red to sign up for Gant’s course. He also announces that they will be having a sale on Black Friday and Cyber Monday.

Panelists

  • Christopher Buecheler

With special guest: Gant Laborde

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Christopher Buecheler:

Gant Laborde: 

Free 5 day mini course on academy.infinite.red

Oct 31, 2019
MJS 129: Filipa Lacerda
25:00

Charles Max Wood talks to Filipa Lacerda in this week's My JavaScript Story. Filipa has been working as a front end engineer since 2011 and she currently works at GitLab.

Filipa originally wanted to study Economy but when she got to university she decided to major in Communications thinking it would be a lot more about communication and not as much about coding. At first she really didn't like the coding aspect of it but then as time went by she actually started to enjoy coding.

When she first started working she started out on the User Experience side, but then she wanted to switch to building stuff with code because she wanted to see results really fast and enjoyed that aspect of coding.

Charles asks why she stuck with that degree instead of switching it and Filipa explains that at first because she didn't want to go back and re - take the exams and also decided that this degree offered many job opportunities in many different industries and now she can't imagine herself doing anything else.

Filipa then talks about why she is working with Vue and all the different kind of projects she has done using Vue as well as what working for GitLab looks like on a day to day basis.

Host: Charles Max Wood

Joined by Special Guest:  Filipa Lacerda

Links

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan

  • Adventures in .NET

  • Elixir Mix

  • CacheFly

Picks

Filipa Lacerda:

Charles Max Wood:

Oct 29, 2019
JSJ 404: Edge on Chromium with Chris Heilmann
58:53

Guests Chris heilmann and Zohair Ali are developers for Microsoft working on the Edge project. Today they are talking about Edge on Chromium and the future of developer tools. Edge will now be built in Chromium rather than being its own engine, aligning it more with what is being used on the open web right now. The Edge team wanted to seize the opportunity to bring something into the Chromium project based on the needs of real users and contribute to the open source web. Edge on Chromium won’t be limited to Windows 10 either, but will be available on Mac, Windows 7, and Windows 8. This project is still in beta with no set release date, so the Edge team is looking for people to test it out on Mac and tell them how it works. 

Chris and Zohair talk about the different parts of a web browser and what distinguishes Chrome from Chromium.  Chromium is not just a platform, it’s an entire browser that you can install. Google adds a bunch of Google services to Chromium, such as being able to sign into your Google account,  and that’s how you get Google Chrome. Similarly, the new Edge adds its own features on top of Chromium, so you can sign into your Microsoft account. By now the browser engines are so similar to each other that the users are looking for the user experience, interface, and services around it, so it made more sense for the Edge team to contribute to Chromium than to maintain their own engine and help it improve.

Chris and Zohair talk about some of the features in Edge on Chromium. One service they’re particularly excited about is the Collections feature, where you can drag images, text, etc into Collections and export it to Excel or Word. Collections was inspired by what users need, and they talk about some of the different use cases for it. The new Edge on Chromium will also have an IE mode for products that still require IE 11. If you define what services need IE 11, Edge will open an IE 11 tab within the browser so you will not have to jump between browsers. Unfortunately, this feature is only available on Windows. Edge on Chromium will also offer an integration with VS Code, called Elements for VS Code, which takes part of the developer tools from Edge and puts it inside VS Code. Since the tools are based on Chromium, it stays in the same context all the time so you don’t have to jump back and forth, and you can see the changes live in your browser. This feature is in beta right now and they are looking for people to test it. 

The Edge team talks about their process for creating tools. They are working on putting their tools into other languages so that they are accessible to more people. They talk about how they want to avoid creating Edge specific tools as much as possible because they want to make it better for everybody. One of their biggest struggles is everybody demands developer tools, but nobody wants to contribute, so they don’t have as much feedback and not as much outside contribution. That’s why they keep calling for people to try out the new Edge on Chromium and give them feedback. They want to make that change more transparent so that they build things that people want. They will have to make some of their own tools, but they make sure that they don’t have any third party dependencies. They mention that all Chrome extensions are compatible with Edge, so if it’s available in the Chrome webstore, you can add it to Edge, you just have to be sure to allow it. They talk about some of the testing tools available. The show concludes with a discussion of the fate of Chakra Node. 

Panelists

  • AJ O’Neal

  • Aimee Knight

  • Dan Shapir

  • Steve Edwards

With special guests: Chris Heilmann and Zohair Ali

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Aimee Knight:

Steve Edwards: 

Dan Shapir:

AJ O’Neal:

Chris Heilmann:

Zohair Ali:

Oct 29, 2019
JSJ 403: Why Developers Need Social Skills with Mani Vaya
1:09:50

In this episode of JavaScript Jabber, Charles talks about the new direction he has for the company. He wants  to drive people to the point that they have the skills that make people want to hire and work with them, to teach them how to ‘Max out’. Today the panel the skills that developers need to progress in their careers: social skills. 

The panel talks about their observations from work that the people who advanced and grow in their career were the ones with social skills, not necessarily with technical skills. The company wants to get stuff done, and if your social skills are getting in the way of projects getting done because you can’t work with others, you are not that useful to the company, and you will be stuck in the lower ranks while others who may not have the same technical skills will rise in the ranks because they are pleasant to work with. Mani talks about his personal experience getting laid off for lacking these soft skills. But then he read the book 48 Laws of Power by Robert Green, realized his shortcomings, and started to apply just one lesson from the book. Within 6 months, he was promoted.

Mani delves deeper into the first lesson taught in 48 Laws of Power, Never Outshine the Master. Fundamentally, this means that you don’t try to prove in meetings how good you are, or that they’re wrong, or that you think that you are better than them. The more you the aforementioned things, the less likely you will be to get promoted or trusted. Mani talks about how he used to do these things and how it cost him multiple jobs. When he put this lesson into practice, he changed his methods and the boss started to like him, leading to his promotion 6 months later. The panel discusses this lesson and what benefits can come from it. 

Mani shares another lesson that he learned through the story of a friend trying to get him to invest in his business. After Mani refused to invest multiple times, his friend stopped asking him to invest, but instead asked him for business advice. Eventually, Mani invested in the business because when he saw that his friend was influenced by his advice, it engendered trust between them. The panel agrees that if you want to influence someone, you have to be influenced by them. It is important to treat someone as a person rather than an asset or wallet, and ensure them that their investment is not their end goal. One of the most fundamental social skills that you must be able to like people, because other people can smell manipulation. 

The panel transitions to talking about the paradoxical nature of social skills and that they are often the opposite of what you think will work in a situation. Unfortunately, there will always be difficult people to work with. To illustrate how to work with difficult people, Mani shares the story of how Gengis Khan was convinced not to destroy a city of artists and engineers by his advisor, Yelu Chucai. Gengis Khan agreed because Yelu Chucai was able to structure his plea in a way that would also benefit Gengis Khan. 

The conversation shifts to how to conduct an interview to see if a candidate will fit into your team culture. First, you must know what you’re looking for and understand your team culture, and then ask for stories of when they accomplished something in the interview. If every story is all about how they did something and they don’t include other people, then that may indicate their self-centeredness. They discuss the Ben Franklin Effect. 

For those listeners wondering where to begin with all this self improvement, Mani has read over 2,000 books on business and offers a course on his website, 2000books.com. Mani has teamed up with JavaScript Jabber to offer a special deal to the listeners of this podcast. To get lifetime access to Mani’s courses at a 40% discount, follow the links below. 

Panelists

  • Steve Edwards

  • Charles Max Wood

With special guest: Mani Vaya

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Steve Edwards:

Charles Max Wood:

Mani Vaya: 

Oct 24, 2019
JSJ 402: SEO for Developers with Vitali Zaidman
38:31

Vitali Zaidman is a full stack developer who works for WellDone Software Solutions and is currently working on a project with takeaway.com working on SEO. Today’s show is about SEO for developers. SEO stands for search engine optimization, which helps your website appear higher on search engines.

 SEO has changed a lot in the past 10 years. It has become much more regulated, and the “dirty tricks” of the past will actually penalize you, so it is important to do it properly. Today the best way to promote yourself on Google besides making good content is for developers to optimize the content, make it small, operational, secure, accessible, and operate on mobile. Much of it goes back to using semantic HTML since Google looks at it before looking at the structure of your website, how valuable it is, and how users interact with it. Having good semantics helps Google determine how valuable it is, so semantic HTML should be a top priority. Semantic HTML can also make your site more accessible to users, which will in turn give you a larger audience. 

The panel talks about some of the challenges of SEO faced by companies. While bigger companies have the privilege of dedicated SEO teams, small companies often lack these specialists. Thankfully, Google has made their guidelines for SEO very accessible and gives you a lot of tools to track your optimization. The panel talks about different methods of SEO, such as including FAQ at the bottom of the web page, optimizing page speed, and image optimization. Structured data like questions and answers enriches the data that is shown for users on the search results page. To score your website’s SEO, Google released the tool PageSpeed Insights, which will assign your website a performance score. 

Google uses two main tools to track a website’s SEO. First, they use real field data. If you opt in to ‘help improve Chrome’s features and performance’ when you install Chrome, it tracks how fast websites load on your Chrome, and they collect this information to understand how webpages load. It is required that your website has a certain amount of visitors to be tracked and added to the database. Second, Google has their own devices that will check your website. Currently, they are using a Moto G4 to test for mobile access, and a slow internet connection. Because of this, it is pretty easy to get a good score on desktop, but difficult to get a good score on mobile. The technology that drives all this is called Lighthouse. 

Overall, performance is the main thing users look for, so aim for good performance and fast websites. The panel discusses the correlation between performance and SEO. For example, Fox News and CNN are two of the top search results for ‘news’, but they have a dismal Google PSI score. They conclude that performance shouldn’t be ignored, but be careful about directly correlating performance and SEO. They also caution against getting obsessed over certain aspects of SEO by themselves. 

Panelists

  • Dan Shapir

  • Aimee Knight

  • Charles Max Wood

With special guest: Vitali Zaidman

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Aimee Knight:

Dan Shapir:

Charles Max Wood:

Vitali Zaidman: 

Oct 22, 2019
MJS 128: Mike Hartington
40:13

In this episode of My JavaScript Story is Charles talks to Mike Hartington. Mike Hartington is a Developer Advocate for Ionic Framework and a Google Developer Expert, but he is most famous in the developer community because of his beard.

Charles asks how Mike got introduced to development. Mike tried to code Tic-Tac-Toe and that was a challenge because knowing the rules to the game and trying to tell a computer the rules are two very two different things.

Mike then majored in Graphic Design at Rhode Island College, and started learning Flash and ActionScript. Mike talks about what kind of projects he created with Flash and ActionScript and then the process of teaching himself JavaScript.

Host: Charles Max Wood

Joined by Special Guest: Mike Hartington

Links

Sponsors

Picks

 Mike Hartington

Charles Max Wood:

Oct 22, 2019
MJS 128: Mike Hartington
40:13

In this episode of My JavaScript Story is Charles talks to Mike Hartington. Mike Hartington is a Developer Advocate for Ionic Framework and a Google Developer Expert, but he is most famous in the developer community because of his beard.

Charles asks how Mike got introduced to development. Mike tried to code Tic-Tac-Toe and that was a challenge because knowing the rules to the game and trying to tell a computer the rules are two very two different things.

Mike then majored in Graphic Design at Rhode Island College, and started learning Flash and ActionScript. Mike talks about what kind of projects he created with Flash and ActionScript and then the process of teaching himself JavaScript.

Host: Charles Max Wood

Joined by Special Guest: Mike Hartington

Links

Sponsors

Picks

 Mike Hartington

Charles Max Wood:

Oct 22, 2019
JSJ 401: Hasura with Tanmai Gopal
1:10:21

Tanmai is one of the founders at Hasura. Hasura gives you instant graphQL APIs on top of a Postgres database. The eventual idea is to make data access secure and easy. Tanmai explains the challenges of doing this in the cloud. He talks about some of the difficulties with the tooling around using GraphQL and its bias towards working well with a monolith. Since GraphQL is basically a shared type system that describes your API, that means all your types need to be in the same code base. This is at odds with the folks who want to do microservices and serverless functions, because since their API is split across multiple services they have different types, and forcing these types to work together defeats the purpose of using microservices. Also, storing state across requests doesn’t work well with serverless and cloud native stuff. In short, learning to live without state is one of the general challenges with going serverless. 

This is where Hasura comes into play, and Tanmai explains how it works. Hasura is metadata driven, and each instance of the server can leverage multiple calls and exhibit a high amount of concurrency. It’s designed to be a little more CPU bound than memory bound, which means that configuring auto scaling on it is very easy and allows you to utilize the elasticity of cloud native applications. Tanmai clarifies his usage of the word ‘cloud native’, by which he means microservices. He explains that when you have a metadata based engine, this metadata has a language that allows you to bring to bring in types from multiple upstream microservices, and create a coherent graphQL API on top of that. Hasura is a middle man between the microservices and the consumer that converts multiple types into a single coherent graphQL API.

Next, Tanmai explains how Hasura handles data fetching and a high volume of requests. They also invented PostgresQL, RLS-like semantics within Hasura. He explains the process for merging your microservices into a single graphQL interface. Back on data fetching, Tanmai explains that when the product is an app, preventing an overabundance of queries becomes easier because during one of the staging processes that they have, they extract all of the queries that the app is actually making, and in the production version it only allows the queries that it has seen before. Hasura is focused on both the public interface and private use cases, though private is slightly better supported. 

Tanmai talks about the customizations available with Hasura. Hasura supports two layers. One is an aliasing layer that lets you rename tables, columns, etc as exposed by PostgresQL. The other is a computer column, so that you can add computer columns so you can extend the type that you get from a data model, and then you can point that to something that you derive. 

The panelist discusses the common conception of why it is a bad idea to expose the data models to the frontend folks directly. They discuss the trend of ‘dumbing down’ available tooling to appeal to junior developers, at the cost of making the backend more complicated. They talk about some of the issues that come from this, and the importance of tooling to solve this concern. 

Finally, Tanmai talks about the reasons to use Hasura over other products. There are 2 technologies that help with integrating arbitrary data sources. First is authorization grammar, their version of RLS that can extend to any system of types and relationships, The second is the data wrapper, part of the compiler that compiles from the graphQL metadata AST to the actual SQL AST. That is a generic interface, so anyone can come in and plug in a Haskell module that has that interface and implement a backend compiler for a native query language. This allows us to plug in other sources and stitch microservices together. The show concludes with Tanmai talking about their choice to use Haskell to make Hasura. 

Panelists

  • AJ O’Neal

  • Dan Shapir

  • Steve Edwards

  • Charles Max Wood

With special guest: Tanmai Gopal

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

AJ O’Neal:

Dan Shapir:

Steve Edwards:

Charles Max Wood:

Tanmai Gopal: 

Oct 17, 2019
JSJ 400: The Influence of JavaScript Jabber
1:10:10

JavaScript Jabber celebrates its 400th episode with former host Dave Smith and some other familiar voices. Each of the panelists talks about what they’ve been up to. Dave hasn’t been on the show for 3 years, but he and Jameson Dance have started a podcast called Soft Skills Engineering where they answer questions about the non-technical side of engineering. When he left the show he was the director of engineering on Hire View, and currently he works for Amazon on Alexa. 

Christopher Buecheler has been on several JSJ, RRU, and MJS episodes. His time is divided between contracting for startups and his own company closebrace.com, a tutorial and resource site for JavaScript developers.  Dan Shapir has also been on JSJ as a guest, and is currently works for Wix doing performance tech. He enjoys speaking at conferences, such as JS Camp in Bucharest, Romania and the YGLF conference. Steve Edwards was previously on MJS 078. He started on Drupal in the PHP world, switched to JavaScript, and then a few years ago he started looking at Vue. Now he does Vue fulltime for ImageWare Systems.

As for Charles, his primary focus is the podcasts, since DevChat.tv produces around 20 episodes per week. 5 new shows were started in July, and he talks about some of the challenges that that brought. One of his most popular shows recently was JSJ 389: What makes a 10x Engineer? This helped him realize that he wants to help teach people how to be a successful engineer, so he’s working on launching a new show about it. 

The panelists share some of their favorite JSJ episodes. They discuss the tendency of JSJ to get early access to these fascinating people when the conversation was just beginning, such as the inventor of Redux Dan Abramov, before their rise to stardom. The talk about the rise in popularity of podcasting in general. They agree that even though JavaScript is evolving and changing quickly, it’s still helpful to listen to old episodes. 

Charles talks about the influence JavaScript Jabber has had on other podcasts. It has spawned several spinoffs, including My JavaScript Story. He’s had several hosts start their own DevChat.tv shows based off JavaScript Jabber, including Adventures in Angular and The DevEd Podcast. JavaScript Jabber has also been the inspiration for other podcasts that aren’t part of DevChat.tv. There aren’t many podcast companies that produce as many shows as they do and they’re developing their own tools. DevChat.tv moved off of WordPress and is in the process of moving over to Podwrench. Charles talks about all the new shows that have been launched, and his view on ‘competing’ podcasts. Charles is also considering doing an audio drama that happens in a programming office, so if you would like to write and/or voice that  show, he invites you to contact him. 

The show concludes with the panel talking about the projects they’ve been working on that they want listeners to check out. Christopher invites listeners to check out closebrace.com. He also has plans to write a short ebook on unit testing with jest, considered doing his own podcast, and invites people to check out his fiction books on his website. Dan talks about his involvement with Wix, a drag and drop website service, that recently released a technology called Corvid which lets you write JS into the website you build with Wix. This means you can design your user interface using Wix, but then automate it, add events functionality, etc. Dan is also going to be at the Chrome Dev Summit conference. Dave invites listeners to check out the Soft Skills Engineering podcast, and Charles invites listeners to subscribe to his new site maxcoders.io. 

Panelists

  • Dan Shapir

  • Christopher Buecheler

  • Steve Edwards

  • Dave Smith

  • Charles Max Wood

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Steve Edwards:

Christopher Buecheler:

Charles Max Wood:

Dan Shapir:

Dave Smith:

Oct 15, 2019
MJS 127: Thorsten Lünborg
36:20

In this episode of My JavaScript Story, Charles talks to Thorsten Lünborg. Thorsten is a Business Service Manager at MVV Energy Solutions from Frankfurt Germany. Charles asks about Thorsten's developer journey in particular how he was introduced to JavaScript.

Thorsten is also a core team member for Vue.js and he talks about his involvement with the Vue community. Thorsten mainly focuses on working on Vue CLI and answering questions in forums. He describes the Vue community as a very friendly and helpful one. According to Thorsten, Vue is very stable and seems to satisfy a lot of the needs of Vue community and so people are not looking for the "next best thing" with Vue. Out of all the frameworks i tried to learn, i found Vue was the one that i liked the most and i started answering questions about Vue on the forums.

Host: Charles Max Wood

Joined by Special Guest: Thorsten Lünborg

Sponsors

Links

Picks

Thorsten Lünborg

Charles Max Wood

Oct 15, 2019
JSJ 399: Debugging with Async/Await with Valeri Karpov
1:03:47

Valeri Karpov is a maintainer on Mongoose, has started a few companies, and works for a company called Booster Fuels. Today’s topic debugging with Async 08. The panel talks about some of the challenges of debugging with Async. AJ, however, has never encountered the same problems, so he shares his debugging method. 

Valeri differentiates between .catch vs try...catch, and talks about why he prefers .catch. There are two ways to handle all errors in an async function without leading to an unhandled promise rejection. The first is to wrap the entire body of the async function in a try...catch, has some limitations. Calling an async function always returns a promise, so the other approach is calling .catch on the promise to handle any errors that occur in that function body. One of the key differences is if you return a promise within an async function, and that return promise is wrapped in a try...catch, the catch block won’t get called if that promise is rejected, whereas if you call .catch on the promise that the function returns, you’ll actually catch that error. There are rare instances where this can get tricky and unintuitive, such as where you have to call new promise and have resolve and reject, and you can get unexpected behavior.

The panel discusses Valeri’s current favorite JS interview question, which is,  “Given a stream, implement a function called ‘stream to promise’ that, given a stream, returns a promise that resolves to the concatenation of all the data chunks emitted by the stream, or rejects if the stream emits an error event.” It’s really simple to get this qustion right, and really simple to get it wrong, and the difference can be catastrophic. AJ cautions listeners to never use the data event except in the cases Val was talking about, only use the readable event.

The conversation turns to the function of a readable event. Since data always pushes data, when you get a readable event, it’s up to you to call read inside the function handler, and then you get back a chunk of data, call read again and again until the read returns null. When you use readable, you are in control and you avoid piling functions into RAM. In addition, the right function will return true or false to let you know if the buffer is full or not. This is a way to mix imperative style into a stream.

The next discussion topics are the differences between imperative style and reactive style and how a waits and promises work in a normal four loop. A wait suspends the execution of a function until the promise is resolved. Does a wait actually stop the loop or is it just transpiling like a promise and it doesn’t stop the loop. AJ wrote a module called Batch Async to be not as greedy as promise.all but not as limited as other options.

The JavaScript panelists talk about different async iterators they’ve used, such as Babel. They discuss the merits of Babel, especially since baseline Android phones (which a significant portion of the population of the world uses) run UC Browser that doesn’t support Babel, and so a significant chunk of the population of the world. On the other hand, if you want to target a large audience, you need to use Babel.

Since frameworks in general don’t handle async very well, the panel discusses ways to mitigate this. They talk about different frameworks like Vue, React, and Express and how they support async functions. They discuss why there is no way for you to actually cancel an async option in an actual case, how complex canceling is, and what you are really trying to solve for in the cancellation process. 

Canceling something is a complex problem. Valeri talks about his one case where he had a specific bug that required non-generic engineering to solve, and cancelling actually solved something. When AJ has come across cancellation issues, it’s very specific to that use case. The rest of the panelists talk about their experiences with having to cancel something. 

Finally, they talk about their experience with async generator functions. A generator is a function that lets you enter into the function later. This makes sense for very large or long running data sets, but when you have a bounded items, don’t complicate your code this way. When an async generator function yields, you explicitly need to call next in order for it to pick up again. If you don’t call ‘next’, it’s essentially cancelled. Remember that object.keys and object.values are your friends. 

Panelists

  • Christopher Buecheler

  • AJ O’Neal

  • Charles Max Wood

With special guest: Valeri Karpov

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

AJ O’Neal:

Christopher Buecheler:

Charles Max Wood:

Valeri Karpov:

Oct 10, 2019
JSJ 398: Node 12 with Paige Niedringhaus
1:04:45

Guest Paige Niedringhaus has been a developer full time for 3 years, and today she is here to talk about Node 12. One of the things she is most excited about is the ES6 support that is now available, so things that used to require React, Angular, or Vue can now be done in Node. The require function will not have to be used in Node 12. AJ is worried about some of these changes and expresses his concerns. Paige assures him that in the beginning you won’t have to switch things to imports. You may have to change file extensions/types so Node can pick up what it’s supposed to be using. They are also trying to make it compatible with CommonJS.

Node 12 also boasts an improved startup time. The panel discusses what specifically this means. They talk about the code cache and how Node caches the built in libraries that it comes prepackaged with. The V8 engine is also getting many performance enhancements. 

Paige talks about the shift from promises to async. In Node 12, async functions will actually be faster than promises. They discuss some of the difficulties they’ve had in the past with Async08, and especially callbacks. 

Another feature of Node 12 is better security. The transcripted security layer (TLS), which is how Node handles encrypted strains of communication, is upgrading to 1.3. The protocol is simpler to implement, quicker to negotiate sessions between the applications, provides increased end user privacy, and reduces request time. Overall, this means less latency for everybody. 1.3 also gets rid of the edge cases that caused TLS to be way far slower than it needed to be. 

The conversation turns to properly configuring default heap limits to prevent an ‘out of memory’ error. Configuring heap limits is something necessary when constructing an incredibly large object or array of objects. Node 12 also offers formatted diagnostic summaries, which can include information on total memory, used memory, memory limits, and environment lags. It can report on uncaught exceptions and fatal errors. Overall, Node 12 is trying to help with the debugging process. They talk about the different parsers available and how issues with key pairing in Node have been solved. 

Paige talks about using worker threads in Node 12. Worker threads are really beneficial for CPU intensive JavaScript operations. Worker threads are there for those things that eat up all of your memory, they can alleviate the load and keep your program running efficiently while doing their own operations on the sideline, and returning to the main thread once they’ve finished their job. None of the panelists have really used worker threads, so they discuss why that is and how they might use Worker Threads in Node 12. 

In addition, Node 12 is making Native module creation and support easier, as well as all the different binaries a node developer would want to support. Paige makes it a point to mention the new compiler and minimum platform standards. They are as follows:

  • GCC minimum 6

  • GLIVC minimum 2.17 on platforms other than Mac and Windows (Linux)

  • Mac users need at least 8 and Mac OS 10.10

  • If you’ve been running node 11 builds in Windows, you’re up to speed

  • Linux binaries supported are Enterprise Linux 7, Debian 8, and Ubuntu 14.04

  • If you have different requirements, go to the Node website

Panelists

  • J.C. Hyatt

  • Steve Edwards

  • AJ O’Neal

With special guest: Paige Niedringhaus

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

J.C. Hyatt:

Steve Edwards:

  • The Farside comic coming back?

AJ O’Neal:

Paige Niedringhaus:

Follow Paige on Twitter, Medium, and Github

Oct 08, 2019
MJS 126: Eduardo San Martin Morote
35:39

In this episode of My JavaScript Story is Charles talks to Eduardo San Martin Morote. Eduardo is a freelance developer, a core team member of Vue.js, and loves contributing to open source. Eduardo started web development with games. He then majored in Computer Science and Mathematics.

Eduardo works as a freelancer so he can work on Open Source projects in his free time. One of the problems he draws attention to is the sustainability of Open Source Projects. The developers that maintain the projects on Open Source are not funded, and even though many companies use Open Source code they don't have sponsor it even though they have the financial means to do so.

Charles Max Wood recommends another podcast Devchat.tv hosts, Sustain Our Software that addresses this problem among others for Open Source.

Eduardo and Charles talk about characters that have accents that have to be encoded and how they deal with this problem. Eduardo then talks about some of the projects he is working on currently with Vue.js.

Sponsors

Host: Charles Max Wood

Joined by Special Guest: Eduardo San Martin Morote

Links

Picks

Eduardo San Martin Morote

Charles Max Wood

Oct 08, 2019
JSJ 397: Design Systems with Kaelig Deloumeau-Prigent
39:16

Kaelig Deloumeau-Prigent is a self taught web developer from west France. He has worked for BBC, The Guardian, and The Financial Times in the UK. He has also worked in the US for SalesForce and currently works for Shopify on their Polaris design system. Shopify has multiple design systems, and Polaris is open source. Today the panel is talking about design systems and developer tooling around design systems. 

To begin, Kaelig explains what a design system is. A design system is all of the cultural practices around design and shipping a product. It includes things like the words, colors, spacing grid system, and typography, plus guidance on how to achieve that in code. The panelists discuss what has made design systems so popular. Design systems have been around for a while, but became popular due to the shift to components, which has been accelerated by the popularity of React. The term design system is also misused by a lot of people, for it is much more than having a Sketch file. 

Next, they talk about whether design systems fall under the jurisdiction of a frontend developer or web designers. Kaelig has found that a successful design system involves a little bit of everyone and shouldn’t be isolated to one team. They talk about what the developer workflow looks like in a design system. It begins with thinking of a few common rules, a language, and putting it into code. As you scale, design systems can become quite large and it’s impossible for one person to know everything. You either give into the chaos, or you start a devops practice where people start to think about how we build, release, and the path from designer’s brain to production.

The panelists then talk about how to introduce a design system into a company where there are cultural conflicts. Kaelig shares his experience working with SalesForce and introducing a design system there. They discuss what aspects of a design system that would make people want to use it over what the team is currently doing. Usually teams are thankful for the design system. It’s important to build a system that’s complete, flexible, and extensible so that you can adapt it to your team. A good design system incorporates ‘subatomic’ parts like the grid system, color palette, and typography, referred to as design tokens. Design systems enable people to take just the bits of the design system that are interesting to them and build the components that are missing more easily. 

The conversation turns to the installation and upgrade process of a design system. Upgrading is left up to the customer to do on their own time in most cases, unless it’s one of the big customers. They talk about the role of components in upgrading a design system. Kaelig talks about the possibility of Shopify transitioning to web components. Kaelig shares some of his favorite tools for making a design system and how to get started making one. A lot of design teams start by taking a ton of screen shots and looking at all the inconsistencies.Giving them that visibility is a good thing because it helps get everyone get on the same page. The panelists talk about the role of upper management in developing components and how to prioritize feature development. Kaelig talks about what drives the decision to take a feature out. The two main reasons a feature would be removed is because the company wants to change the way things are done and there’s a different need that has arisen. The show concludes by discussing the possibility of a design system getting bloated over time. Kaelig says that Design systems takes some of the burden off your team, help prevent things from getting bloated, allow you to ship less code.

 

Panelists

  • Chris Ferdinandi

  • Aimee Knight

  • Steve Emmerich

With special guest: Kaelig Deloumeau-Prigent

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Steve Emmerich:

Aimee Knight:

Chris Ferdinandi:

Kaelig Deloumeau-Prigent:

Oct 03, 2019
JSJ 396: Publishing Your Book with Jonathan Lee Martin
58:14

Jonathan Lee Martin is an instructor and developer. He got his start in teaching at Big Nerd Ranch doing 1-2 week trainings for mid to senior developers, and then transitioned to 16 week courses for career switchers. He also worked for Digital Crafts for a year, and then wanted to focus on building out his own personal teaching brand. One of his first steps toward building his own brand was to publish his book, Functional Design Patterns for Express.js.The inspiration for Jonathan’s book came from his experience teaching career switchers. He wanted to experiment in the classroom with teaching functional programming in a way that would be very approachable and applicable and dispel some of the magic around backend programming, and that became the template for the book. 

Jonathan loves the minimalist nature of Express.js and talks about its many uses. He believes that it knowing design patterns can take you pretty far in programming, and this view is related to his background in Rails. When he was working in Rails taming huge middleware stacks, he discovered that applying design patterns made builds take less time. He talks about other situations where knowing design patterns has helped. Express.js leans towards object oriented style over functional programming, and so it takes to these patterns well. Express.js has its shortcomings, and that’s where Jonathan’s favorite library Koa comes into play. 

The conversation switches back to Jonathan’s book, which is a good way to start learning these higher level concepts. He purposely made it appealing to mid and senior level programmers, but at the same time it does not require a lot of background knowledge. Jonathan talks about his teaching methods that give people a proper appreciation for the tool. Jonathan talks more about why he likes to use Express.js and chose to use it for his book. He cautions that his book is not a book of monads, but rather about being influenced by the idea of composition over inheritance. He talks about the role of middleware in programming. 

The panel asks about Jonathan’s toolchain and approach to writing books, and he explains how his books are set up to show code. They discuss the different forms required when publishing a book such as epub, MOBI, and PDF. Jonathan found it difficult to distribute his book through Amazon, so he talks about how he built his own server. Charles notes that your method of distributing your book will depend on your goal. If you want to make the most money possible, make your own site. If you want to get it into as many hands as possible, get it on Amazon.

Many of the JavaScript Jabber panelists have had experience publishing books, and Jonathan shares that you can reach out to a publisher after you’ve self-published a book and they can get it distributed. Jonathan believes that If he had gone straight to a publisher, he would have gotten overwhelmed and given up on the book, but the step by step process of self-publishing kept things manageable. The panelists discuss difficulties encountered when publishing and editing books, especially with Markdown. Jonathan compares the perks of self-editing to traditional editing. Though he does not plan to opensource his entire editing pipeline, he may make some parts available. The show concludes with the panelists discussing the clout that comes with being a published author. 

Panelists

  • Charles Max Wood

  • Christopher Buecheler 

  • J.C. Hyatt

With special guest: Jonathan Lee Martin

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Christopher Buecheler:

J.C. Hyatt:

Charles Max Wood:

Jonathan Lee Martin:

Oct 01, 2019
MJS 125: Dan Pastori
29:38

On this episode of My JavaScript Story is Charles talks to Dan Pastori, Co-Founder, Software Architect at 521 Dimensions.

Charles asks about Dan's average day and what his life looks like before diving into his coding journey. Dan talks about how he got into web development. Dan taught himself PHP and JavaScript.

Charles talks about the Views on Vue episode Dan was on VoV 012: Re-using VueJS Mixins and Filtering Google Map Data with Dan Pastori, and wants to know how Dan got into Vue. Dan compares learning times of Vue and Angular and mentions he learned Vue in a week as opposed to the months he spent learning Angular.

Dan talks about his involvement in the Vue community and the future of Vue as well as the projects he is currently working on. Dan then talks about his future projects and plans. They finish off with picks.

Host: Charles Max Wood

Joined by Special Guest: Dan Pastori

Sponsors

Links

Picks

Dan Pastori:

Charles Max Wood:

Oct 01, 2019
JSJ 395: The New Ember with Mike North
1:08:04

Mike North is the Ember guy at Frontend Masters and LinkedIn’s web developer trainer. Today the panel is talking about the upcoming Ember update, which Mike calls a total reinvention of the way you build with Ember. Finally, they are letting go of the cruft and stuff they had to hold on to in order to support IE8 and using modern interface

The panel talks about some of the issues with IE8, and agree that the reason Ember felt its age because it was built for IE8. Ember 314 is moving from the past into the present, a sleek modern way to build apps. Mike talks about how easy the new Ember is to use. 

Mike talks about the excitement in the Ember community because the new build is focused on stability and seamlessness. Charles talks about his less seamless experience with the Angular community. For context, Mike North’s first frontend masters course was recorded in 2014, and he’s only had to change two lines of code. Ember is the only framework that has managed to go all the way from IE7/IE8 to today without a major gap,breaks, or rewrites.

They transition to talking about what keeps Ember going. There is an effort to make sure things are decentralized and not tied to any specific company, although Apple, Netflix, Nasa, and PlaysStation all use it. LinkedIn has also been hiring Ember core member to continue working on it, and sponsoring open source work. 

Next, they talk about how Ember works with TypeScript. You can install an Ember add on with one terminal command that will enable TypeScript in an Ember app.There are some issues that could cause misalignment with JavaScript and TypeScript, but Ember has designed things around it. MIke talks about the major change in the learning curve with using Ember and how far Vanilla JS will take you. Overall, it is a lot more approachable than it used to be. 

They move on to talk about the availability of third party solutions with Ember. Mike assures them that Ember has add-ons, and parts of the framework are opening up to allow experimentation with components. There are lots of ways to make Ember your own without running the risk of diverging, giving more flexibility than ever while maintaining the happy path. Testing within Ember is also a priority, and they want the code to be as readable as possible.

The last topic discussed in this show is the importance of developer education. LinkedIn looks at employment numbers and the rate at which new jobs open, and software engineering is growing like crazy and will likely continue to grow.The rate at which new people are graduating with computer science and programming degrees, as well as those from unconventional backgrounds, is not keeping up with the number of jobs. This means that there will be fewer senior people spread across bigger groups of developers with less experience. The panel agrees that it is the responsibility of people who have been around or learned something period to pass on the knowledge because the more knowledge is passed on, the more stable things will remain as seniors become more scarce. It is also important for companies to level up junior developers. They conclude by talking about tools available for people who want to learn more about Ember Octane, and Mike makes an open request to the JS community. 

Panelists

  • Charles Max Wood

  • Steve Emmerich

  • Chris Ferdinandi

  • Aimee Knight

  • AJ O’Neal

  • Christopher Buecheler

With special guest: Mike North

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Chris Ferdinandi:

Steve Emmerich:

Aimee Knight:

AJ O’Neal:

Charles Max Wood:

Christopher Buecheler:

Mike North:

Sep 26, 2019
JSJ 394: SMS Integration with Dominik Kundel
28:40

Episode Summary

Dominik Kundel works as developer evangelist at Twilio. Dominik talks about the history of Twilio, which actually started with integrating phone calls into apps and then moved to SMS integration. 

Today Charles and Dominik are talking about how the SMS message approach can augment your user experience. Since many people are not familiar with implementing SMS, Dominik talks about how Twilio can help. Twilio created was a supernetwork where they work with carriers and gateways around the world to ensure that they provide reliable services. They also focus heavily on making sure that the developer experience is great.

Uber and Lyft are two of the companies that use Twilio, and Dominik shares some of the interesting things that they’ve accomplished. He is particularly excited about phone number masking to support privacy. Uber and Lyft use phone number masking so that your driver doesn’t see your real number and you don’t see theirs. Instead, each of you sees a Twilio number. This use case is becoming more common. 

Twilio recently introduced Flex, which Dominik explains is their contact center solution. Flex is designed to keep with their philosophy of everything should be programmable and configurable, and take it on to a software shipment. This is their first time shipping software instead of just APIs. Flex is highly customizable and flexible, allows you to build React plugins that let you change anything you want.

Charles asks Dominik about some of the gotchas in telephony. One major issues is spam calls, which Twilio is trying to work with some providers on a ‘verified by Twilio’ list. This list lets companies get verified, and they’re working on ways to let you know the reason why they’re calling without having to answer your phone. This can be difficult because each country has different regulations.

Dominik talks about what it would take for someone who wanted to build an SMS gateway themselves. They would have to work with carriers and learn SMS protocols. It’s important to note that SMS and phone calls have different protocols

Dominik talks about some of the unique use cases they’ve seen their system. Some examples are contextual communications, account verifications, and codex creation. There are other fun examples, such as a drone controlled via text message, a fake boyfriend app, and a dog that was taught to take selfies that are sent to his owner. 

Charles asks about ways to get started with Twilio. If you want to explore this and don’t know where to get started, try Twilio Quest, a game to teach you how to use Twilio. There is also documentation, which is good if you know exactly what you want to achieve, or if you just want to explore possibilities then download Twilio Quest. 

They delve into a more specific use case for Twilio to send text to subscibers of DevChatTV. Dominik talks about ways of dealing with sending notifications to people outside of the US. You can send with a US number to any country code, or you can personalize it, so that people in the UK receive it from a UK number and so on through automatic geocode matching. They talk about Twilio’s billing. 

Finally, they talk about security within telephony in light of recent hacks. They discuss the security of two factor authentication.Two factor authentication and security, especially in light of recent hacks. Dominik talks about the API called Authy, where you can implement different ways of doing two factor authentication, such as push notifications, time based one time password, sms, and phone calls. For most people in the world two factor authentication is very safe, unless you’re a very important person, then you’re more at risk for targeted attacks. They conclude by talking about Twilio’s acquisition of Sendgrid.

Panelists

  • Charles Max Wood

With special guest: Dominik Kundel

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Charles Max Wood:

Dominik Kundel:

  • Enable a setting called javascript.implicit

  • Follow him @dkundel

Sep 24, 2019
MJS 124: Daniel Gruesso
33:06

This episode of My JavaScript Story is coming to you live from OSCON. Joining Charles Max Wood is Daniel Gruesso from GitLab to talk about developing in the Open Source and the Developer Report.

GitLab works with an open core model, Daniel talks about the trade - offs of having code open to public, the first of which is having everything up-to-date so any contributions made will work with the latest version. Daniel calls this the "bus-factor" where if one of the team members gets hit by a bus, the rest of the team will have everything to work with.

They then talk about the GitLab 2019 Global Developer Report results. One of the most interesting results of this survey with over 4,000 respondents, was that remote teams outperformed on site teams. This ties into the current Twitter discussion about "10x Performing Engineers". Remote teams are able to work on their own most productive hours and are not disturbed by their teammates when they are doing dedicated work on a deadline. Also remote teams by nature have to be more conscious of security.

Sponsors

Host: Charles Max Wood

Joined by Special Guest: Daniel Gruesso

Links

Sep 23, 2019
JSJ 393: Why You Should Be Using Web Workers with Surma
57:36

Episode Summary

Surma is an open web advocate for Google currently working with WebAssembly team. He was invited on the show today to talk about using web workers and how to move work away from the browser’s main thread. His primary platform is bringing multithreading out of the fringes and into the web. 

The panel talks about their past experience with web workers, and many of them found them isolated and difficult to use. Surma believes that web workers should pretty much always be sued because the main thread is an inherently bad place to run your code because it has to do so much. Surma details the differences between web workers, service workers, and worklets and explains what the compositer is. 

The panel discusses what parts should be moved off the main thread and how to move the logic over. Surma notes that the additional cost of using a worker is basically nonexistent, changes almost nothing in your workflow, and takes up only one kilobyte of memory. Therefore, the cost/benefit ratio of using web workers gets very large. They discuss debugging in a web worker and Surma details how debugging is better in web workers. 

Surma wants to see people use workers not because it will make it faster, but because it will make your app more resilient across all devices. Every piece of JavaScript you run could be the straw that breaks the camel’s back. There’s so much to do on the main thread for the browser, especially when it has a weaker processor, that the more stuff you can move away, the better.

The web is tailored for the most powerful phones, but a large portion of the population does not have the most powerful phone available, and moving things over to a web worker will benefit the average phone. Surma talks about his experience using the Nokia 2, on which simple apps run very slow because they are not being frugal with the user’s resources. Moving things to another thread will help phones like this run faster.  

The panel discusses the benefit of using web workers from a business standpoint. The argument is similar to that for accessibility. Though a user may not need that accessibility all the time, they could become in need of it. Making the app run better on low end devices will also increase the target audience, which is helpful is user acquisition is your principle metric for success. 

Surma wants businesses to understand that while this is beneficial for people in countries like India, there is also a very wide spectrum of phone performance in America. He wants to help all of these people and wants companies acknowledge this spectrum and to look at the benefits of using web workers to improve performance.

Panelists

  • Charles Max Wood

  • Christopher Buecheler

  • Aimee Knight

  • AJ O’Neal

With special guest: Surma

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Charles Max Wood:

Surma:

AJ O’Neal:

Christopher Buecheler

Sep 19, 2019
JSJ 392: The Murky Past and Misty Future of JavaScript with Douglas Crockford
1:13:10

Episode Summary

Douglas is a language architect and helped with the development of JavaScript. He started working with JavaScript in 2000. He talks about his journey with the language, including his initial confusion and struggles, which led him to write his book JavaScript: The Good Parts.

Douglas’ take on JavaScript is unique because he not only talks about what he likes, but what he doesn’t like. Charles and Douglas discuss some of the bad parts of JavaScript, many of which were mistakes because the language was designed and released in too little time. Other mistakes were copied intentionally from other languages because people are emotionally attached to the way things “have always been done”, even if there is a better way.

Doug takes a minimalist approach to programming. They talk about his opinions on pairing back the standard library and bringing in what’s needed. Douglas believes that using every feature of the language in everything you make is going to get you into trouble. Charles and Douglas talk about how to identify what parts are useful and what parts are not.

Douglas delves into some of the issues with the ‘this’ variable. He has experimented with getting rid of ‘this’ and found that it made things easier and programs smaller. More pointers on how to do functional programming can be found in his book How JavaScript Works 

Charles and Douglas talk about how he decided which parts were good and bad. Douglas talks about how automatic semicolon insertion and ++ programming are terrible, and his experiments with getting rid of them. He explains the origin of JS Lint. After all, most of our time is not spent coding, it’s spent debugging and maintaining, so there’s no point in optimizing keystrokes.

Douglas talks about his experience on the ECMAScript development committee and developing JavaScript. He believes that the most important features in ES6 were modules and proper tail calls. They discuss whether or not progression or digression is occurring within JavaScript. Douglas disagrees with all the ‘clutter’ that is being added and the prevalent logical fallacy that if more complexity is added in the language then the program will be simpler. 

Charles asks Douglas about his plans for the future. His current priority is the next language. He talks about the things that JavaScript got right, but does not believe that it should not be the last language. He shares how he thinks that languages should progress. There should be a focus on security, and security should be factored into the language. 

Douglas is working on an implementation for a new language he calls Misty. He talks about where he sees Misty being implemented. He talks about his Frontend Masters course on functional programming and other projects he’s working on. The show concludes with Douglas talking about the importance of teaching history in programming. 

Panelists

  • Charles Max Wood

With special guest: Douglas Crockford

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Charles Max Wood:

Douglas Crockford:

Sep 17, 2019
MJS 123: Nick Basile
40:41

Episode Summary

My JavaScript Story this week meets with Nick Basile, UX instructor at Lambda School from Austin, TX. Nick talks about how much he enjoys working with Laravel and Vue as well as his journey as a developer.

Upon graduating from university in Switzerland with a degree in Economics, he started working for two start-ups doing UX/UI design. He then wanted to be able to build UI as well so he taught himself JavaScript and HTML. He then got a job as a front-end developer to further develop his skills. Charles makes a comment about how many developers don't have a Computer Science Degrees.

Nick then talks about how he got into Laravel and Vue and also how he started working for Lambda. They briefly discuss Lambda's business model and Nick's approach to teaching.

Finally Nick talks about how he spends his life outside work in Austin, which nowadays involves looking after his 4-month old daughter.

Host: Charles Max Wood

Joined by Special Guest: Nick Basile

Sponsors

Links

Picks

Charles Max Wood:

Nick Basile:

Sep 17, 2019
JSJ 391: Debugging with Todd Gardner
49:36

Episode Summary

Todd Gardner is a software developer, podcaster on the show Script and Style, startup founder,  and comedy host for Pub Conf, a ‘comedy after party for developers’. Since he was last on the show 6 years ago, he has seen his startup TrackJS become quite successful. TrackJS is a JavaScript error monitoring service which gives you visibility into your client side experience. It’s different from other tools because focused on simplicity, so you’ll never need a guy on your team dedicated solely to TrackJS because everyone can use it.

The panel begins by talking about debugging methods and tools. Some rely solely on the debugger built into their platform while others prefer to use a third party service. They discuss the necessity of using a third party debugger and if there are better solutions than just the built in debugger. 

They then discuss what to do after you’ve fixed a bug, such as if it is necessary to write a test to make sure it was completely fixed They talk about things to do to make debugging more effective. Todd and Aimee believe that code needs to begin by being designed for debug-ability. 

The panel discusses issues with invisible boundaries encountered while debugging, such as running out of memory. They talk about ways to mitigate issues that happen outside of your code base. Todd talks about the dangers of ad-blockers, and the panel agrees that it is important to consider how your website will be crippled by the user’s own technology. The end user in a production environment will have a different experience than you did writing it on a professional computer. 

Todd talks about the difference between debugging for the web versus a mobile application. Todd has encountered particular problems with debugging on a remote device, and he talks about how he solved the issue. The show concludes with Todd giving a quick elevator pitch for TrackJS

Panelists

  • Chris Ferdinandi

  • Christopher Buecheler

  • Aimee Knight

  • Charles Max Wood

  • Steve Emmrich

With special guest: Todd Gardner

Sponsors

Links

Follow DevChat on Facebook and Twitter

Picks

Christopher Buecheler:

Chris Ferdinandi:

Aimee Knight:

Charles Max Wood:

  • Atomic Habits

  • Getting up at 4 am

Steve Emmrich:

  • Trello

  • Babushkas and grandmas to help you with your newborn

Todd Gardner:

  • PubConf

  • Follow Todd @toddhgardner or todd.mn

Sep 12, 2019
JSJ 390: Transposit with Adam Leventhal
46:32

Episode Summary

Adam Leventhal is the CEO and cofounder of Transposit. Transposit was born from the desire to build a way for developers to work with lots of different APIs, take authentication and pagination off the table, and let developers focus on the problems they’re trying to solve. Transposit is a serverless platform that’s free and gives you a combination of SQL or JavaScript to start playing with your API.

Since interacting with API data securely can be difficult, the panel discusses how Transposit might replace the personally built tools and how does it compare to JAMstack. They talk about some common things that people do wrong with security. 

Transposit is often used as the full backend, and Adam shares how that works. There is a list of APIs that Transposit can talk to, and you can build your own connector. You can also work with JavaScript and SQL simultaneously. 

Chris Ferdinandi asks some more specific questions about how Transposit can work with email lists. Adam clarifies the difference between connectors and apps in Transposit. He delves into more detail on what makes it work under the hood. 

There are some 450,000 Stack applications but the majority have one user because they built it to communicate specifically with their API. The panel discusses how Transposit can help with this. Since Transposit is still in startup mode, it is free for now, and can connect to any public facing API. Adam talks about their decision not to make it open source and gives more details on where the authentications occur. The show wraps up with the panel talking about the pros of going serverless

Panelists

  • Chris Ferdinandi

  • Christopher Buecheler

With special guest: Adam Leventhal 

Sponsors

Links

Follow DevChat on Facebook and Twitter

Picks

Christopher Buecheler:

Chris Ferdinandi:

Adam Leventhal:

Sep 10, 2019
MJS 122: Rachel Roumeliotis and Roger Magoulas
37:30

Episode Summary

Rachel Roumeliotis and Roger Magoulas from O'Reilly Media join Charles Max Wood at OSCON to talk about the process of content development for OSCON. Rachel is the Vice President of Content Strategy at O'Reilly and Roger is Vice President of Radar at O'Reilly.

Rachel and Roger talk about the history of OSCON Conference as well as the key technologies they wanted to cover this year such as Artificial Intelligence, Machine Learning and Cloud-Native applications.

They then talk about the future of OSCON and the highlights they wat to cover next year such as security.

Sponsors

Host: Charles Max Wood

Joined by Special Guest: Rachel Roumeliotis and Roger Magoulas

Links

Sep 10, 2019
JSJ 389: What Makes a 10x Engineer?
57:12

Sponsors

Panel

  • Charles Max Wood

Episode Summary

In today’s show, Chuck talks about the recent tweet thread about 10x engineers. He goes through each of the points in the tweet and talks about each of them in turn. There are only two points he sort of agrees with, and believes the rest to be absolute garbage. One of the issues with this tweet is that it doesn’t define what a 10x engineer is. Defining a 10x engineer is difficult because it is also impossible to measure a truly average engineer because there are many factors that play into measuring productivity. Chuck turns the discussion to what a 10x engineer is to him and how to find one. A 10x engineer is dependent on the organization that they are a part of, because they are not simply found, they are made. When a 10x engineer is added to a team, the productivity of the entire team increases. Employers have to consider firstly what you need in your team and how a person would fit in. You want to avoid changing the entire culture of your organization. Consider also that a 10x engineer may be hired as a 2x engineer, but it is the employer that turns them into a 10x engineer. Overall, Chuck believes these tweets are asinine because it’s impossible to measure what makes a 10x engineer in the first place, and hiring a person that fits the attributes in the list would be toxic to your company. 

Links

Follow DevChat on Facebook and Twitter

Picks

Charles Max Wood:

Sep 05, 2019
JSJ 388: Functional Programming with Brian Lonsdorf
46:42

Sponsors

Panel

  • Aimee Knight 

  • Chris Buecheler

  • AJ O’Neal

With Special Guest: Brian Lonsdorf

Episode Summary

Brian Lonsdorf works for Salesforce, specializes in functional programming, and wrote a book called Professor Frisby’s Mostly Adequate Guide to Functional Programming. Brian talks about when he got into functional programming and when in their career others should be exposed to it. He talks about the fundamental tenets of functional programming (static mathematical functions), how it differs from object oriented programming, and how to manipulate data in a functional environment. The panel wonders if it is possible to use functional and object oriented programming together and discuss the functional core imperative shell. Brian talks about what is ‘super functional’ and why JavaScript isn’t, but includes methods for making it work. He shares some of the trade-offs he’s found while doing functional programming. Brian defines a monad and goes over some of the common questions he gets about functional programming, such as how to model an app using functional programming. The show concludes with Brian talking about some of the work he’s been doing in AI and machine learning. 

Links

Follow DevChat on Facebook and Twitter

Picks

Aimee Knight:

Chris Buecheler:

AJ O’Neal:

Brian Lonsdorf:

Sep 03, 2019
MJS 121: Sam Selikoff
27:27

Sponsors

Host: Charles Max Wood

Joined by Special Guest: Sam Selikoff

Episode Summary

Sam Selikoff, Co-Founder at EmberMap shares his journey of how he became a developer. Sam was an Economics major in college and he really loved the theory of economics.

When he graduated, he started working as a consultant and while working with data for statistical analysis he found that he enjoyed working with SQL and that how he started his developing career.

Sam explains why he prefers Ember.js framework to other frameworks. He also talks about the projects he is working on currently.

Apart from coding Sam enjoys reading economics books and playing music with his family. He shares some of his favorite books to read on the Theory Of Economics.

Links

Picks

Charles Max Wood

Sam Selikoff

Sep 03, 2019
JSJ 387: How to Stay Current in the Tech Field
1:02:38

Sponsors

  • GitLab | Get 30% off tickets with the promo code: DEVCHATCOMMIT

  • Sentry– use the code “devchat” for $100 credit 

  • Views on Vue

Panel

  • Charles Max Wood

  • Joe Eames

Episode Summary

Today Joe and Charles are discussing how to stay current in the tech field. Since looking at all the new technology can be overwhelming, they advise listeners on what to focus on, which will differ depending on your career. Joe brings up that one of the top reasons people choose a job is because it has a technology they want to learn. Joe and Charles discuss trends in the tech world, such as the rise and fall of Rails. They discuss what to do if you’re happy with what you’re doing now but want your career to stay viable. While it is important to continue moving along with technology, they agree that the stuff that’s really important is the stuff that doesn’t change. Charles believes that if you have a solid knowledge on a subject that isn’t necessary current, that is still very valuable. 

Joe and Charles discuss the importance of having a learning plan and the importance of having soft skills in addition to technological know-how. Another important part of staying current is figuring out where you want to end up and making a plan. If you want to work for a specific company, you need to learn the technology they’re using. Joe talks about some of his experiences trying to get a job with a big company and how he was reminded of the importance of the fundamentals. 

They discuss the merits of being a generalist or a specialist in your studies and the best approach once you’ve chosen a technology to learn. Once you’ve learned a technology, it’s important to start building with it. Charles and Joe talk about different ways of learning, such as books, videos, code reading, or tutorials, and the importance of finding a medium that you can understand. They discuss the isolating nature of tutorials and how it is important to have real-world experience with the code. They discuss how to know if you’ve learned a technology well enough to move onto the next thing, and whether the technologies you studies should be career focused or passion based. Charles advises listeners to divide their time as follows: 50% of your learning should be focused on what you’re currently doing at your job, 25% looking towards the future and studying upcoming technology, and 25% on your passion. 

Links

Follow DevChat on Facebook and Twitter

Picks

Charles Max Wood:

Joe Eames:

Aug 29, 2019
JSJ 386: Gatsby.js with Chris Biscardi
43:16

Sponsors

  • GitLab | Get 30% off tickets with the promo code: DEVCHATCOMMIT

  • Sentry– use the code “devchat” for $100 credit 

Panel

  • Chris Beucheler

  • AJ O’Neal

  • Aimee Knight

With Special Guest: Chris Biscardi

Episode Summary

Chris is an independent consultant working with open source startups. He taught himself to program and started in open source. He talks about how he got into programming and how he learned to code. One of Chris’ current clients is Gatsby, a static site generator. Chris talks about his work with Gatsby themes, how he got started working with Gatsby, and how you can get started with Gatsby. Chris talks about how Gatsby differs from other static site generators and how difficult it is to use. The panel discusses possible use cases for Gatsby, and agree that if your site is going to get more complex and larger over time, something like Gatsby is what you want to use. Chris talks about what it’s like to migrate to Gatsby from another service. The panel discusses the pros and cons of server-side rendering. Chris talks about building more app-oriented sites with Gatsby and things that you can plug into a Gatsby theme besides a blog. The show concludes with Chris and the panelists agreeing that if you can write it in JavaScript, you can ship it in a Gatsby theme. 

Links

Follow DevChat on Facebook and Twitter

Picks

AJ O’Neal:

Aimee Knight:

Chris Beucheler:

Chris Biscardi:

Aug 27, 2019
MJS 120: Thomas Grassl
30:29

Sponsors

Host: Charles Max Wood

Joined by Special Guest: Thomas Grassl

Episode Summary

Thomas Grassl from SAP joins Charles Max Wood at OSCON to talk about what SAP is doing in the Open Source world. Thomas talks about SAP's recently released a UI5 Web Components.

Charles wonders how the components will work with different frameworks and Thomas explains UI5 Web Components are HTML components and they should be used how regular HTML components are used. UI5 Web Components is Open Source so Thomas expects contributions from the Open Source community.

Thomas then talks about UI5 Web Components' enterprise-ready functionality and scalability features as well as the security and accessibility aspects.

They then talk about Thomas' position as Developer Relations in SAP and what it entails. Thomas then talks about the career opportunities that comes with customization on the enterprise scale.

Finally Charles and Thomas talk about how SAP approaches developer relations and what developers should do if they would like to contribute to SAP Open Source project.

 

Links

Aug 27, 2019
JSJ 385: What Can You Build with JavaScript?
49:18

Sponsors

Panel

  • Charles Max Wood

  • Christopher Beucheler

Episode Summary

Today Charles and Christopher discuss what can you do with JavaScript. They talk about the kinds of things they have used JavaScript to build. They discuss non-traditional ways that people might get into JavaScript and what first drew them to the language. They talk about the some of the non-traditional JavaScript options that are worth looking into. Christopher and Charles talk about some of the fascinating things that have been done with JavaScript, such as Amazon Alexa capabilities, virtual reality, and games. They spend some time talking about JavaScript usage in game creation and building AI. They talk about how they’ve seen JavaScript change and progress during their time as developers. They talk about areas besides web that they would be interested in learning more about and what kinds of things they would like to build in that area. They finish by discussing areas that they are excited to see improve and gain new capabilites. 

Links

Follow DevChat on Facebook and Twitter

Picks

Charles Max Wood:

Christopher Beucheler:

Aug 22, 2019
JSJ 384: FaunaDB: Support for GraphQL and Serverless Development with Evan Weaver
50:42

Sponsors

  • Sentry– use the code “devchat” for $100 credit 

Panel

  • Charles Max Wood

  • AJ O’Neal

  • Joe Eames

  • Aimee Knight

With Special Guest: Evan Weaver

Episode Summary

Evan Weaver is the CEO and cofounder of FaunaDB, a serverless database and a great way to get started with GraphQL. Evan talks about what went into building the FaunaDB and his background with Twitter. FaunaDB arose from trying to fix Twitter’s scalability issues, and the panel discusses scalability issues encountered in both large and small companies. They talk about the difference between transient and persistent data. They discuss how to develop locally when using a serverless database and the importance of knowing why you’re using something. Evan talks about how developing locally works with FaunaDB. He addresses concerns that people might have about using FaunaDB since it is not backed by a tech giant. Evan talks about some of the services FaunaDB offers and talks about the flexibility of its tools. He talks about how to get started with FaunaDB and what the authentication is like. Finally, Evan talks about some well known companies that are using FaunaDB and what they are doing with it. 

Links

Follow DevChat on Facebook and Twitter

Picks

Charles Max Wood:

Aimee Knight:

Joe Eames:

Evan Weaver

Aug 20, 2019
MJS 119: Jeffrey Meyerson
45:57

Sponsors

Host: Charles Max Wood

Joined by Special Guest: Jeffrey Meyerson

Episode Summary

Jeffrey Meyerson, founder of FindCollabs and host at Software Engineering Daily joins Charles Max Wood for a discussion about latest trends in developer world, ways of monetizing podcasts and finding ads for podcasts.Jeffrey shares how he started hosts podcasts and how he became a developer.

Jeffrey's journey as a developer started out with his interest through music and poker. They compare advertising through sponsoring a booth in a conference versus advertising through a podcast. Tune in for a fun chat that covers everything from Keto dieting to software buzz words.

Links

Picks

Charles Max Wood

  • #75Hard

Jeffrey Meyerson

  • Owning a Rice Cooker

Aug 20, 2019
JSJ 383: What is JavaScript?
44:44

Sponsors

Panel

  • Charles Max Wood

  • Christopher Beucheler

  • Aimee Knight

Episode Summary

Today’s episode is an exploration of the question “What is JavaScript?”. Each of the panelists describes what they think JavaScript is, giving a definition for both technical and non-technical people. They talk about how the different layers of JavaScript tie into their definitions. They agree that it’s incorrect to call JavaScript one of the ‘easy’ programming languages and some of the challenges unique to JavaScript, such as the necessity of backwards compatibility and that it is used in tandem with CSS and HTML, which require a different thinking method. They discuss the disdain that some developers from other languages hold for JavaScript and where it stems from. They discuss methods to level up from beginner to mid level JavaScript programmer, which can be tricky because it is a rapidly evolving language. They revisit the original question, “What is Java Script?”, and talk about how their definition of JavaScript has changed after this discussion. They finish by talking about the story they want to tell with JavaScript, why they chose JavaScript, and what is it they are trying to do, create, become through using the language. They invite listeners to share their answers in the comments. 

Links

Follow DevChat on Facebook and Twitter

Picks

Charles Max Wood:

Aimee Knight:

Christopher Beucheler:

Aug 15, 2019
MJS 118: Aaron Frost
29:35

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan

  • CacheFly

  • A $100 discount for RxJS Live tickets for all listeners with the code "chuckforlife"

Host: Charles Max Wood

Joined by Special Guest: Aaron Frost

Episode Summary

Aaron Frost joins Charles to talk about what Observables are and why developers should learn about them and use them in their code. He explains the difference between Observables, Promises and Callbacks with an example.

Aaron then invites all listeners to attend the upcoming RxJS Live Conference and introduces the impressive speaker line-up. The conference will take place on September 5-6 in Las Vegas and tickets are still available. Aaron also offers a $100 discount to all listeners with the code "chuckforlife". For any questions you can DM Aaron on his Twitter account.

Links

Aug 13, 2019
JSJ 382: Mental Health with Anatoliy Zaslavskiy
53:10

Sponsors

  • Sentry– use the code “devchat” for $100 credit 

Panel

  • Charles Max Wood

With Special Guest: Anatoliy Zaslavskiy

Episode Summary

Anatoliy Zaslavsky works for Hover, made framework called Pickle.js, and has been on JavaScript Jabber before. Today Chuck and Anatloliy are talking about the importance of mental health. Anatoliy has Bipolar Disorder, and he talks about what it is and his experience with it and how his manic and depressive episodes have affected him. Thankfully, his employers at Hover have been extremely supportive. Chuck and Anatoliy talk about what people should do when they are suffering from a mental illness so that they can do the things they love again. Some of the best ways of coping with mental health issues are to keep a lifeline out to friends and family, go to a professional therapist, stay on a consistent exercise and sleep pattern, and stay away from substances. They talk about how to support someone that is suffering from a mental illness. 

Anatoliy talks about some of the symptoms and behavioral changes he has during both manic and depressive episodes and how it has affected him in the workplace. Mental health issues are almost always accompanied by changes in behavior, and Chuck and Anatoliy talk about ways to approach a person about their behavior. Anatoliy gives advice on how to work with your employer while you are suffering from a mental illness. For mental illnesses that aren’t as dramatic as Bipolar Disorder, Anatoliy talks about coping mechanisms such as staying away from triggers, knowing what motivates you and communicating it to your employer, and other practices that have helped him. He talks about some of his triggers and how it has affected his work, both for the better and worse.

 Finding out what helps you cope and what triggers you is often trial and error, but it can help to talk to other people in your field who struggle with the same mental health issues. Anatoliy talks about the pros and cons of working from home or in an office when you have a mental illness. They finish by talking about a few other points on mental health and resources for those suffering from a mental illness to get the help they need. 

 

Links

Follow DevChat on Facebook and Twitter

Picks

Charles Max Wood:

Anatoliy Zaslavskiy:

Aug 13, 2019
JSJ 381: Building a Personal Brand with John Sonmez
1:08:12

Sponsors

Panel

  • Charles Max Wood

  • Christopher Beucheler

  • AJ O’Neal

With Special Guest: John Somnez

Episode Summary

John is the founder of Bulldog Mindset andSimple Programmer, which teaches software developers soft skills, and the author of a couple books. He specializes in creating a personal brand and marketing. He addresses the rumors of him leaving software development and gives an introduction to marketing yourself as a software developer and its importance. The panel discusses their experience with consulting and how marketing themselves has paid off. John talks about the importance of having soft skills. In his opinion, the most important soft skills for programmers are communication, persuasion and influence, people skills and charisma. He talks about highlight those soft skills. The truth is, more and more people are hiring for people skills rather than technical skills. The panel discusses more about the importance of people skills.

John talks about ways to build your personal brand. One of the easiest ways is blogging but he talks about other methods like podcasts YouTube, writing books, and others. A key to building a personal brand is choosing something that you can become the best at, no matter how small it is. The panel shares their experiences of what things have gotten them attention and notoriety and talk about how other influential programmers got famous. They talk about interacting with central platforms like Medium and Github. Building a personal brand for software developers is the same as any other personal brand, such as having a consistent message, consistent logos and color schemes, and repeated exposure). Most people in the software world aren’t willing to do what’s necessary to build a personal brand, so it makes you stand out when you do it. John talks about the importance of controlling your image so that companies want to hire you. John gives a brief overview of his course How to Market Yourself as a Software Developer. 

Click here to cast your vote NOW for JavaScript Jabber - Best Dev Podcast Award

Links

 

Picks

Charles Max Wood:

John Somnez:

Christopher Beucheler:

AJ O’Neal

Aug 08, 2019
JSJ 380: Expo for Web with Charlie Cheever
50:34

Sponsors

Panel

  • Charles Max Wood

With Special Guest: Charlie Cheever

Episode Summary

Guest Charlie Cheever joins the discussion on JavaScript Jabber today. He was previously on React Round Up episode 47. Charlie works on Expo, which is a way to make React apps on every platform. Right now, Expo supports IOS, Android, and Web, provides a standard library of features, and takes care of services like builds and updates over the air. There are also code generators and templates available in Expo. Expo is focused on use cases where you just need to use a little bit of React Native in your app. Charlie talks about the origins of Expo, which was born from increased access of websites from people’s phones and the desire for a cross-platform tool that was as easy as building on the web. One of the biggest benefits is that Expo gives you the peace of mind knowing your app will work across all phones and all platforms.

They discuss how to approach building your API’s for Expo so that it’s easy for people to use and have it consistent across all these different systems. Expo also has a voting board canny.expo.io where people can submit suggestions for new features. Expo is compatible with map view and React Native maps. Currently, Expo is missing bluetooth and things where the underlying platform wants to have a direct relationship with the developer, such as in-app purchases. Charlie talks about other components available in Expo, all of which can be modified. They discuss the influence of React on augmented reality and VR. Charlie talks about the updating feature of Expo. Charlie talks about the evolution of Expo and their goal to be a “developer first” company. He talks about the company, libraries, The Client, and services. He gives advice on how to get started with React Native development and using Expo. There is also Expo Web, which can be used to create a website, and if you create an app with Expo you get a website too. Expo hopes to be a stable, easy, coherent way of using all these tools across your entire experience of building your application so that you can relax a little bit. 

Click here to cast your vote NOW for JavaScript Jabber - Best Dev Podcast Award

Links

Follow DevChat on Facebook and Twitter

Picks

Charles Max Wood:

Charlie Cheever:

  • Draft bit (still in beta)

  • AWS Amplify

  • Follow Charlie @ccheever

Aug 06, 2019
JSJ 379: FindCollabs and Podcasting with Jeff Meyerson
58:54

Sponsors

Panel

  • Aimee Knight

  • AJ O’Neal

  • Charles Max Wood

With Special Guest: Jeff Meyerson

Episode Summary

Jeff Meyerson is the host of the Software Engineering daily podcast and has also started a company called FindCollabs, an online platform for finding collaborators and building projects. Jeff started FindCollabs because he believes there are all these amazing tools but people are not combining and collaborating as much as they could, when so much good could be accomplished together. FindCollabs is especially useful for working on side projects. The panelists discuss the problems encountered when you try to collaborate with people over the internet, such as finding people who are facing similar and gauging interest, skill, and availability. Thankfully, FindCollabs has a feature of leaving reviews and rating your partners so that users can accurately gauge other’s skill level. Users can also leave comments about their experience collaborating with others. The only way you can show competence with an interest is to contribute to another project. FindCollabs is also a good place to look for mentors, as well as for Bootcamp graduates or people going through an online coding course. If you are part of an organization, you can create private projects. The company plans to expand this feature to all users in the future.The panelists talk about their past experiences with collaborating with other people.

Jeff talks about his podcast Software Engineering Daily and how it got started and the focus of the podcast. As someone working in technology, it is important to stay current on up and coming technology, and listening to podcasts is an excellent way to do that. Jeff talks about where he thinks podcasting is going, especially for programmers. The panel discusses some of the benefits of listening to programming podcasts. Jeff talks about how he is prepping Software Engineering Daily for the future. He shares the audience size for Software Engineering Daily and some of the statistics for his different channels. Jeff has also released an app for Software Engineering Daily, and he shares some information on how it was written. Finally, Jeff gives advice for people who want to use FindCollabs and some of the next steps after creating a profile.

Links

Follow DevChat on Facebook and Twitter

Picks

Aimee Knight:

AJ O’Neal:

Charles Max Wood:

Jeff Meyerson:

Aug 01, 2019
JSJ 378: Stencil and Design Systems with Josh Thomas and Mike Hartington
55:12

Sponsors

Panel

  • Aimee Knight

  • Chris Ferdinandi

  • Joe Eames

  • AJ O’Neal

  • Charles Max Wood

With Special Guests: Josh Thomas and Mike Hartington

Episode Summary

Today’s guests Josh Thomas and Mike Hartington are developers for Ionic, with Josh working on the open source part of the framework on Ionic. They talk about their new compiler for web components called Stencil. Stencil was originally created out of work they did for Ionic 4 (now available for Vue, React, and Angular) and making Ionic 4 able to compliment all the different frameworks. They talk about their decision to build their own compiler and why they decided to open source it. Now, a lot of companies are looking into using Stencil to build design systems

The panel discusses when design systems should be implemented. Since Ionic is a component library that people can pull from and use themselves, Jeff and Mike talk about how they are using Stencil since they’re not creating a design system.

The panel discusses some of the drawbacks of web components. They discuss whether or not Cordova changes the game at all. One of the big advantages of using Stencil is the code that is delivered to a browser is generated in such a way that a lot of things are handled for you, unlike in other systems.The panelists talk about their thoughts on web components and the benefits of using a component versus creating a widget the old fashioned way. One such benefit of web components is that you can change the internals of how it works without affecting the API. Josh and Mike talk about some of the abilities of Stencil and compare it to other things like Tachyons. There is a short discussion of the line between frameworks and components and the dangers of pre optimization. If you would like to learn more about Stencil, go to stenciljs.com and follow Josh and Mike @Jtoms1 and @mhartington.

Links

Follow DevChat on Facebook and Twitter

Picks

Aimee Knight:

AJ O’Neal:

Chris Ferdinandi:

Charles Max Wood:

Joe Eames:

Josh Thomas:

Mike Hartington:

Jul 30, 2019
MJS 117: The Devchat.tv Mission and Journey with Charles Max Wood
1:34:13

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan
  • CacheFly

Host: Charles Max Wood

Episode Summary

Charles talks about his journey as a podcaster and his mission with Devchat.tv. Devchat.tv  is designed to home podcasts that speak to all developer communities. Charles also plans Devchat.tv to host shows for technologies that are on the verge of a breakthrough and will be a lot more widely available in the near future such as Artificial Intelligence (AI), Internet of Things (IoT), Virtual Reality (VR) and Augmented Reality (AR). There are new shows being added continuously to reach out to new communities, some examples of which are: a Data Science show, a DevOps show and an Open Source show. As a kid, Charles would record his own shows on a tape recorder. He was always interested in technology. While studying Computer Engineering at Brigham Young University, he worked in the University's Operations Center. Upon graduation, he started working for Mozy where he was introduced to podcasts. Listen to the show to find out the rest of Charles' story, some of the lessons and tips he learned throughout his journey and the evolution of the shows on Devchat.tv. If there isn't a show for your community and you would like there one to be, reach out to Charles. Also if there was a podcast about a programming related subject that ended abruptly and you would like it to continue, reach out to Charles. Devchat.tv would like to host these podcasts.

Links

Picks

Jul 30, 2019
JSJ BONUS EPISODE: Observables and RxJS Live with Aaron Frost
29:35

JSJ BONUS EPISODE: Observables and RxJS Live with Aaron Frost

Mon Jul 29 2019 13:00:56 GMT+0300 (+03)

Episode Number: bonus

Duration: 29:35

https://media.devchat.tv/js-jabber/JSJ_Bonus_Aaron_Frost.mp3

 

Host: Charles Max Wood

Joined by Special Guest: Aaron Frost

Episode Summary

Aaron Frost joins Charles to talk about what Observables are and why developers should learn about them and use them in their code. He explains the difference between Observables, Promises and Callbacks with an example. Aaron then invites all listeners to attend the upcoming RxJS Live Conference and introduces the impressive speaker line-up. The conference will take place on September 5-6 in Las Vegas and tickets are still available. Aaron also offers a $100 discount to all listeners with the code "chuckforlife". For any questions you can DM Aaron at his Twitter account.

Links

Jul 29, 2019
JSJ 377: Bringing Maps and Location Into Your Apps with the ArcGIS API for JavaScript with Rene Rubalcava
43:08

Sponsors

Panel

  • Aimee Knight

  • AJ O’Neal

  • Charles Max Wood

With Special Guest: Rene Rubalcava

Episode Summary

Rene is a software developer for ESRI and works in spatial and mapping software. ESRI has been around since 1969 and has seen their work explode since they shifted to providing address and location services. Rene talks about how he thinks about location and mapping when building software around it and things that he has to approach in unique ways. The panel discusses some of their past experiences with location software. Some of the most difficult aspects of this software is changing time zones for data and actually mapping the Earth, since it is not flat nor a perfect sphere. Rene talks about the different models used for mapping the Earth.

Most mapping systems use the same algorithm as Google maps, so Rene talks about some of the specific features of ArcGIS, including the ability to finding a point within a polygon. Rene talks about what routing is, its importance, and how it is being optimized with ArcGIS, such as being able to add private streets into a regular street network.

The panel discusses how the prevalence of smartphones has changed mapping and GPS and some of their concerns with privacy and location mapping. One thing ESRI is very careful about is not storing private information. Rene talks about the kinds of things he has seen people doing with the mapping and location data provided by ArcGIS, including a Smart Mapping feature for developers, mapping planets, indoor routing, and 3D models. 

Links

Follow DevChat on Facebook and Twitter

Picks

Rene Rubalcava:

AJ O’Neal:

Aimee Knight:

Charles Max Wood:

Jul 25, 2019
JSJ 376: Trix: A Rich Text Editor for Everyday Writing with Javan Makhmali
52:10

Sponsors

Panel

  • Aimee Knight

  • Chris Ferdinandi

  • Christopher Beucheler

  • AJ O’Neal

With Special Guest: Javan Makhmali

Episode Summary

Today’s guest is Javan Makhmali, who works for Basecamp and helped develop Trix. Trix is a rich text editor for the web, made purposefully simple for everyday use instead of a full layout tool. Trix is not the same as Tiny MCE, and Javan discusses some of the differences. He talks about the benefits of using Trix over other native browser features for text editing. He talks about how Trix has simplified the work at Basecamp, especially when it came to crossing platforms. Javan talks more about how Trix differs from other text editors like Google Docs and contenteditable, how to tell if Trix is functioning correctly, and how it works with Markdown.

The panel discusses more specific aspects of Trix, such as Exec command. One of the features of Trix is it is able to output consistently in all browsers and uses semantic, clean HTML instead of classnames. Javan talks about how Trix handles getting rid of the extraneous cruft of formatting when things are copy and pasted, the different layers of code, and the undo feature. He talks about whether or not there will be more features added to Trix. The panel discusses who could benefit from using Trix. The show finishes with Javan talking about Basecamp’s decision to make Trix open source and why they code in CoffeeScript. 

Links

Follow DevChat on Facebook and Twitter

Picks

Javan Makhmali:

Chris Ferdinandi:

AJ O’Neal:

Christopher Beucheler: 

Aimee Knight:

Jul 23, 2019
JSJ 375: Are You Hurting the Web?
1:08:31

Sponsors

  • Triplebyte $1000 signing bonus

  • Sentry use code “devchat” for 2 months free

Panel

  • Charles Max Wood

  • Aimee Knight

  • Chris Ferdinandi

  • AJ O’Neal

  • Christopher Beucheler

Episode Summary

Today the panel discusses the effect of current development practices, such as the heavy reliance JavaScript, on the web. Chris explains why he believes that current development practices are ruining the web. The panelists discuss different situations where they see complications on the web. They discuss the advantages and disadvantages of using an enterprise scale platform like React. The panel discusses Twitter’s move away from their legacy code base to CSS and JavaScript. 

The panelists agree that the way things are built, since it’s so JavaScript heavy, is alienating to people who work with other languages, and in turn other areas like UI are undervalued. They talk about possible reasons things ended up this way and some of the historical perception of a frontend as not a place for ‘real’ development. Because the web is now a serious platform, things associated with the backend has been thrown at the frontend where it doesn’t belong. They talk about changes in the ways programming is viewed now versus the past. 

There is a discussion about how market demands that have influenced the web and if the market value CSS as highly as other languages. They mention some of the Innovations in CSS. Chris shares his solutions for the problems they’ve been discussing, namely using less JavaScript, leaning more heavily on what the browser gives you out of the box, and avoiding dependency where possible. They talk about ways to get involved if you want to take a leaner approach to the web. Ultimately, it is important to embrace things about the past that worked, but sprinkle in new technology when it makes sense

Links

Follow DevChat on Facebook and Twitter

Picks

Charles Max Wood:

Aimee Knight:

Chris Ferdinandi:

AJ O’Neal:

Christopher Beucheler:

Jul 18, 2019
MJS 116: Jeremy Fairbank
37:30

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan
  • CacheFly

Host: Charles Max Wood

Joined By Special Guest: Jeremy Fairbank

Episode Summary

Jeremy is a Software Developer at Test Double and the author of Programming Elm book. Even though Jeremy majored in Chemistry in college, he was always interested in programming since middle school. After he graduated from college he went to work as a web developer at Plastic Industries and relied on blog posts and other online resources to teach himself how to code. Gradually as the company’s needs changed, Jeremy transitioned into an application developer. He taught himself JavaScript using the book Professional JavaScript for Web Developers . He then attented a Coursera classto learn on principles of functional programming and gained experience with many front end frameworks and libraries, including ElmReact, ReduxBackbone.js, and Marionette.js. Jeremy is based out of Hawaii and when he isn't coding, he spends his time playing his guitar and hiking and going to the beach with his family.

Links

Picks

Jeremy Fairbank:

Charles Max Wood:

Jul 16, 2019
JSJ 374: CosmosDB with Steve Faulkner LIVE at Microsoft BUILD
31:32

Sponsors

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

Picks

Steve Faulkner:

Jul 16, 2019
JSJ 373: What Do You Need to Do to Get a Website Up?
58:43

Sponsors

Panel

  • Charles Max Wood

  • Aimee Knight

  • Chris Ferdinandi

  • AJ O’Neal

  • Joe Eames

Episode Summary

Today the panel discusses what is necessary to get a website up and how complicated or simple it needs to be. They mention different tools they like for static sites and ways to manage their builds and websites. They talk about why some people choose to host their websites and at what point the heavier tools become a concern. They discuss whan it is necessary to use those heavy tools. 

They caution listeners to beware of premature optimization, because sometimes businesses will take advantage of newer developers and make them think they need all these shiny bells and whistles, when there is a cheaper way to do it. It is important to keep the tools you work with simple and to learn them so that if you encounter a problem, you have some context and scope. The option of serverless website hosting is also discussed, as well as important things to know about servers.

The panel discusses what drives up the price of a website and if it is worth it to switch to a cheaper alternative. They discuss the pros and cons of learning the platform yourself versus hiring a developer. The importance of recording the things that you do on your website is mentioned. Several of the panelists choose to do this by blogging so that if you search for a problem you can find ones you’ve solved in the past.

Links

Follow DevChat on Facebook and Twitter

Picks

Charles Max Wood:

Aimee Knight:

Chris Ferdinandi:

 

AJ O’Neal:

Joe Eames:

  • Miniature painting

 

Jul 11, 2019
MJS 115: Noam Rosenthal
35:46

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan

  • CacheFly

Host: Charles Max Wood

Joined By Special Guest: Noam Rosenthal

Episode Summary

Noam has recently started offering his services and experiences independently after 20 hands-on years in the software industry. His most recent position was as a Software Architect working on the Wix Editor at Wix, an Israeli cloud-based web development platform.

Noam was first introduced to programming at the age of seven when he started creating games in Pascal language. He then went onto learn HTML. Charles and Noam talk about how the programming community has changed over the years and how it is a lot easier to access knowledge today. On how to improve as a developer, Noam recommends not staying in the comfort zone of the job description and doing as many volunteer projects as possible.

Noam is also a musician and he plays base in Lost Highways music band. When he isn't coding he is busy producing the songs for their new upcoming album with his band.

Links

Picks

Noam Rosenthal:

Charles Max Wood:

Jul 09, 2019
JSJ 372: Kubernetes Docker and Devops with Jessica Deen LIVE from Microsoft BUILD
40:47

Sponsors

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

Follow Adventures in Angular on tv, Facebook and Twitter.

Picks

Jessica Deen:

Charles Max Wood:

Jul 09, 2019
MJS 114: Christian Heilmann
39:32

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan

  • CacheFly

Host: Charles Max Wood

Joined By Special Guest: Christian Heilmann

Episode Summary

Christian is a Principal Software Development Engineer at Microsoft, working out of Berlin, Germany.

Links

Picks

Christian Heilmann:

Charles Max Wood:

Jul 02, 2019
JSJ 371: The Benefits and Challenges of Server-Side Rendering (SSR) with Dan Shappir
01:10:07

Sponsors

Panel

  • Charles Max Wood
  • Joe Eames
  • Christopher Buecheler
  • Aimee Knight
  • AJ O’Neal

Joined by special guest: Dan Shappir

Episode Summary

In this episode of JavaScript Jabber, special guest Dan Shappir, Performance Tech Lead at Wix, kicks off the discussion by defining server-side rendering (SSR) along with giving its historical background, and touches on the differences between server rendering and server-side rendering. He helps listeners understand in detail how SSR is beneficial for the web and takes questions from the panel about how it affects web performance in cases where first-time users and returning users are involved, and how does SSR fare against technologies such as pre-rendering. He then elaborates on the pitfalls and challenges of SSR including managing and declaring variables, memory leaks, performance issues, handling SEO, and more, along with ways to mitigate them. In the end, Dan sheds some light on when should developers use SSR and how should they start working with it.

Links

Follow JavaScript Jabber on Devchat.tv, Facebook and Twitter.

Picks

Christopher Buecheler:

  • Tip - Take some time off once in a while

Aimee Knight:

AJ O’Neal:

  • Fatherhood!

Joe Eames:

Charles Max Wood:

Dan Shappir:

Jul 02, 2019
JSJ 370: Azure Functions Part II with Jeff Hollan LIVE at Microsoft BUILD
54:03

Sponsors

  • Triplebyte offers a $1000 signing bonus

  • Sentry use the code “devchat” for 2 months free on Sentry small plan

  • CacheFly

Panel

Charles Max Wood

Joined by Special Guest: Jeff Hollan

 

Episode Summary

Coming to you live from the podcast booth at Microsoft BUILD is Charles Max Wood with Jeff Hollan. Jeff is a Sr. Program Manager for the Azure Functions cloud service. Continuing from where Colby Tresness left off in Adventures in Angular 241: Azure Functions with Colby Tresness LIVE at Microsoft BUILD, Jeff defines what “serverless” really means in developer world. Jeff also talks about various scenarios where Azure functions are extremely useful and explains what Durable Functions are.

Jeff and Charles discuss creating and running an Azure function inside a container and the upcoming capabilities of Azure functions they are currently working on.

Links

Picks

Jeff Hollan:

Charles Max Wood:

Jun 25, 2019
MJS 113: Sarah Dayan
35:13

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan

  • CacheFly

Host: Charles Max Wood

Joined By Special Guest: Sarah Dayan

Episode Summary

Sarah Dayan is a Frontend Software Engineer working for Algolia in Paris. She is also the author of Dinero.js.

Links

Picks

Sarah Dayan:

Charles Max Wood:

Jun 25, 2019
MAS 082: James Daniels and Alex Okrushko
32:52
Jun 18, 2019
MJS 112: Ryan McDermott
39:58
Jun 18, 2019
JSJ 369: Azure Functions with Colby Tresness LIVE at MIcrosoft BUILD
38:01

Sponsors

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

Picks

Colby Tresness:

Charles Max Wood:

Jun 18, 2019
MJS 111: Anatoliy Zaslavskiy
46:51

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan
  • CacheFly

Host: Charles Max Wood

Joined By Special Guest: Anatoliy Zaslavskiy

Episode Summary

Anatoliy Zaslavskiy has been interested in computers since he was 7 years old, and began his programming career in high school, doing web development in PHP for the online community for his favorite show  Avatar: The Last Airbender. Anatoliy currently works for Hover as a Frontend developer transforming home photos into 3D models to help visualize what the final project will look like.

Anatoliy shares his journey as a developer with bipolar disorder and tells us how he restructured his career with his employer so he can focus on projects that he enjoys working on. This way he performs at his best and both him and Hover can benefit from his talents. Anatoliy and Charles stress the importance for companies to talk to their developers to understand their nature as both parties benefit from open and honest dialogue.

Links

Picks

Anatoliy Zaslavskiy:

Charles Max Wood:

Jun 11, 2019
JSJ 368: TypeScript - Good or Bad
58:05

Sponsors

Panel

  • Joe Eames

  • AJ O’Neal

Episode Summary

In this episode of JavaScript Jabber, Joe Eames and AJ O’Neal talk about what TypeScript is, and their background and experiences with it. They discuss the different kinds of typed languages such as dynamic vs static, strong vs weak, implicit vs explicit casting and the reasons for selecting one type over the other. AJ shares his opinion on not preferring TypeScript in general, while Joe offers a counter perspective on liking it, and both give a number of reasons to support each argument. They talk about some final good and bad points about TypeScript and move on to picks.

Links

Follow JavaScript Jabber on Devchat.tv, Facebook and Twitter.

Picks

Joe Eames:

AJ O’Neal:

 

Jun 11, 2019
MJS 110: Phil Hawksworth
50:06

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan
  • CacheFly

Host: Charles Max Wood

Joined By Special Guest: Phil Hawksworth

Episode Summary

Currently the Head of Developer Relations at Netlify, Phil has been a developer for 20 years. Even though he was interested in computers from an early age, he started  studying Civil Engineering in university before changing course and switching to Computer Science. Though he didn't particularly enjoy studying Computer Science, he really liked working with HTML where he didn't have to compile any code and that's when he started thinking about a career in web development.

Phil talks about his favorite projects he has worked on using JAMstack and JavaScript. He works remotely out of London, UK and as head of developer relations he spends a lot of time traveling for conferences for work. He doesn't have a 'typical' work day, but when he is not traveling for work he enjoys catching up on conversations on Slack and Twitter about JAMstack and collaborating with the rest of is team in San Francisco.

Links

Picks

Phil Hawksworth:

Charles Max Wood:

Jun 04, 2019
JSJ 367: Pair Programming
01:04:42

Sponsors

Panel

  • Aimee Knight
  • AJ O’Neal
  • Chris Ferdinandi

Episode Summary

In this episode of JavaScript Jabber, the panelists discuss each one’s definition of the term ‘pairing’ in programming, including factors like being remote or local, having different seniority levels and the various approaches of going about it in general. They talk about how valuable pairing is, in terms of benefiting the individual as well as how productive it is for the company or the overall business.

The panel also discuss prototyping, pseudo-coding and the advantages and trade-offs involved in pair programming. They talk about their own experiences in which pairing had proven to be extremely beneficial and the ones where it went completely wrong, thereby helping listeners understand the dos and don’ts of the technique. In the end, they elaborate on what actually happens in pairing interviews and the overall hiring process while sharing anecdotes from their own lives.

Links

Follow JavaScript Jabber on Devchat.tvFacebook and Twitter.

Picks

Chris Ferdinandi:

AJ O’Neal:

Aimee Knight:

Jun 04, 2019
MJS 109: James Shore
46:59

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan
  • CacheFly

Host: Charles Max Wood

Joined By Special Guest: James Shore

Episode Summary

James Shore, the author of the book, “The Art of Agile Development” and a thought leader in the Agile software development community, talks about his journey in Agile development. James and Charles discuss how Agile has transformed software development process and the traits that a good software developer should have. James talks about his contributions to the developer community, his CSS testing tool quixote and the Agile Fluency Project.

Links

Picks

James Shore:

Charles Max Wood:

 

 

May 28, 2019
JSJ 366: npm with Mikeal Rogers
01:11:34

Sponsors

Panel

  • AJ O’Neal
  • Chris Ferdinandi
  • Aimee Knight
  • Charles Max Wood

Joined by special guest: Mikeal Rogers

Episode Summary

This episode of JavaScript Jabber starts with Mikeal Rogers introducing himself and his work in brief. Charles clarifies that he wants to focus this show on some beginner content such as node.js basics, so Mikeal gives some historical background on the concept, elaborates on its modern usage and features and explains what “streams” are, for listeners who are starting to get into JavaScript. The panelists then discuss how languages like Go and Python compare to node.js in terms of growth and individual learning curves. Mikeal answers questions about alternate CLIs, package management, Pika, import maps and their effect on node.js, and on learning JavaScript in general. Chris, Charles and AJ also chip in with their experiences in teaching modern JS to new learners and its difficulty level in comparison to other frameworks. They wrap up the episode with picks.

Links

Follow JavaScript Jabber on Devchat.tvFacebook and Twitter.

Picks

Chris Ferdinandi:

Aimee Knight:

Mikeal Rogers:

Charles Max Wood:

May 28, 2019
MJS 108: Dan Shappir
53:12

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan
  • CacheFly

Host: Charles Max Wood

Special Guest: Dan Shappir

Episode Summary

In this episode of My JavaScript Story, Charles hosts Dan Shappir from Tel Aviv, Israel, who is a computer software developer and performance specialist at Wix.

Listen to Dan on the podcast JavaScript Jabber on this episode.

Dan got a TI-99/4 when he was very young and enjoyed programming games. He first started with Basic language. After he studied Computer Science at the Hebrew University of Jerusalem, he joined the Israel army to serve his military service. While in the military he also obtained his Masters Degree in Computer Science.

Currently Dan is working as a Performance Tech Lead at Wix, he works on  speeding up the delivery and execution of 50+ million websites hosted on the Wix platform, as well as Wix own applications and services.

Links

Picks

Dan Shappir:

Charles Max Wood:

May 21, 2019
JSJ 365: Do You Need a Front-End Framework?
1:14:52

Sponsors

Panel

  • Charles Max Wood

  • Aimee Knight

  • Chris Ferdinandi

  • AJ O’Neal

  • Joe Eames

Episode Summary

Today the panel discusses the necessity of a front end framework. Overall, there is a consensus that frameworks are not necessary in all situations. They discuss the downsides of using frameworks, such as being restricted by the framework when doing edge development and the time required for learning a framework. They talk about the value of frameworks for learning patterns in programming.

The panel delves into the pros and cons of different frameworks available. Joe shares a story about teaching someone first without a framework and then introducing them to frameworks, and the way it helped with their learning. One of the pros of frameworks is that they are better documented than manual coding. They all agree that it is not enough to just know a framework, you must continue to learn JavaScript as well.

They talk about the necessity for new programmers to learn a framework to get a job, and the consensus is that a knowledge of vanilla JavaScript and a general knowledge of the framework for the job is important. New programmers are advised to not be crippled by the fear of not knowing enough and to have an attitude of continual learning. In the technology industry, it is easy to get overwhelmed by all the developments and feel that one cannot possibly learn it all. Charles gives advice on how to find your place in the development world. The show concludes with the panel agreeing that frameworks are overall a good thing and are valuable tools.

Links

Follow DevChat on Facebook and Twitter

Picks

Charles Max Wood:

Aimee Knight:

Chris Ferdinandi:

AJ O’Neal:

May 21, 2019
MJS 107: Dan Fernandez
45:02

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan
  • CacheFly

Host: Charles Max Wood

Special Guest:  Dan Fernandez

Episode Summary

In this episode of My JavaScript Story, Charles hosts Dan Fernandez, Principal Group Program Manager at Microsoft.

Listen to Dan on the podcast JavaScript Jabber on this episode.

Dan went to a programming camp and fell in love with programming. He majored in Computer Science in college and started working for IBM upon graduation.  Listen to the show for Dan’s journey into programming and much more!

Links

Picks

Dan Fernandez:

 

May 14, 2019
JSJ 364: Ember Octane with Sam Selikoff
52:39

Sponsors

Panel

  • AJ O’Neal

Joined by special guest: Sam Selikoff

Episode Summary

In this episode of JavaScript Jabber, Sam Selikoff, Co-Founder at EmberMap, Inc. starts with giving a brief background about himself and his work followed by a discussion with AJ O’Neal about the Ember community. Sam mentions some of the biggest advantages in using Ember, and what it should and should not be used for. He explains the architecture of Ember apps, addresses some of the performance concerns and then dives into Octane in detail. He talks about a bunch of Ember components, compiler compatibility, relative weight of Ember apps compared to other frameworks, the underlying build system, and security considerations. Sam then helps listeners understand the usage of ES6 classes and decorators in Ember at length. At the end, they discuss component rendering and element modifiers and move onto picks.

Links

Follow JavaScript Jabber on Devchat.tv, Facebook and Twitter.

Picks

AJ O’Neal:

Sam Selikoff:

May 14, 2019
MJS 106: Shawn Clabough
54:12

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan
  • CacheFly

Host: Charles Max Wood

Special Guest:  Shawn Clabough

Episode Summary

In this episode of My JavaScript Story, Charles hosts Shawn Clabough, Information Systems Manager and Senior Developer at Washington State University.

Listen to Shawn on the podcast JavaScript Jabber on this episode.

Shawn got interested in computers in high school. His first computer was a TRS-80. Upon graduating from Washington State University, he worked as an assistant buyer at a computer chain store before going back to university to receive further education as a programmer. He then got a job at the University of Idaho where he worked in web application development for 17 years before switching to Washington State University. Currently he is a senior developer and a developer manager at Washington State University. Shawn also works as a custom .NET application development consultant.

Links

Picks

Shawn Clabough:

Charles Max Wood:

  • if you want to be a host on a podcast on tv on any of the below topics, contact Charles Max Wood 
    • Open Source Sustainability and Maintainability
    • AI & Machine Learning
    • Data Science
    • Augmented Reality & Virtual Reality & Mixed Reality
    • Internet of Things (IoT)
    • Python
    • .Net
  • If you are interested in becoming a sponsor for any of the above topics or the existing podcasts on devchat.tv, contact Charles Max Wood 

 

 

  • If you were listening to a podcast in any of the above topics or any other programming related subject that ended abruptly within the last 6 months and would like it continued please contact Charles Max Wood. We would like to host these shows on devchat.tv. Most of time time podcasts stop being recorded due to lack of time or lack of money.

 

  • Become a Podwrench Beta User! If you would like to host a podcast but do not want to do it on tv then Podwrench is for you! Podwrench is a complete podcasting system that allows you to manage your podcast and sponsorship contracts all in one place! Please contact Charles Max Wood for more info.

 

May 07, 2019
JSJ 363: Practical JAMstack and Serverless with Gareth McCumskey
1:10:36

Sponsors

Panel

  • Charles Max Wood
  • Aimee Knight
  • AJ O’Neal
  • Aaron Frost
  • Joe Eames

Joined by Special Guest: Gareth McCumskey

Summary

Gareth McCumskey introduces JAMstack and serverless. He goes into great detail on how it works. Aimee Knight and Aaron Frost voice their concerns about going serverless. Aimee thinks it feels dirty. Aaron has concerns about the code, is it actually easier, what use cases would he use it for, and does it actually save money. Gareth addresses these concerns and the rest of the panel considers the positive and negatives of using JAMstack and serverless. Charles Max Wood asks for specific use cases; Gareth supplies many uses cases and the benefits that each of these cases.

Links

Picks

Charles Max Wood:

  • Join the mailing list
  • Watch out for new podcasts
  • Send me defunct podcasts you love chuck@devchat.tv

Aimee Knight:

AJ O’Neal:

Aaron Frost:

Gareth McCumskey:

Joe Eames:

May 07, 2019
MJS 105: Brian Woodward
26:35

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan
  • CacheFly

Host: Charles Max Wood

Guest: Brian Woodward

Summary

Brian Woodward shares his programming story starting at 7 or 8 messing around on his dad's computer and getting a degree in computer science. Brian discusses his journey through technologies and why he decided to work with JavaScript. Brian discloses his struggle with deciding what to do as a programmer and his decision to get a business degree. Today Brian is the co-founder of Sellside, he discusses their tools and stack and what they are currently working on.

Links

Picks

Brain Woodward:

Charles Max Wood:

Apr 30, 2019
JSJ 362: Accessibility with Chris DeMars
1:03:26

Sponsors

  • Sentry use code “devchat” for 2 months free

  • Triplebyte $1000 signing bonus

Panel

  • Charles Max Wood

  • Aimee Knight

  • Chris Ferdinandi

  • AJ O’Neal

  • Joe Eames

Joined by Special Guest: Chris DeMars

Episode Summary

Special guest Chris DeMars is from Detroit, MI. Currently, he works for Tuft and Needle and is an international speaker, Google developer expert, Microsoft mvp, and web accessibility specialist. He comes from a varied work background, including truck driving and other non-tech jobs.

 

Today the panel discusses web accessibility for people with disabilities. According to a study done by WebAIM, 97.8% of homepages tested had detectable WCAG 2 failures. The panel discusses why web accessibility is doing so poorly. Chris talks about some of the biggest mistakes he sees and some very simple fixes to make sites more accessible. Chris talks about the importance of manual testing on screen readers and emphasizes that it is important to cover the screen to make sure that it really works with a screen reader. Chris talks about some of the resources available for those who wish to increase accessibility on their sites.

 

The team discusses tactics for prioritizing accessibility and if there is a moral obligation to make sites accessible to those with disabilities. Chris talks about his experience making accessibility a priority for one of the companies he worked for in the past. They discuss the futue of legal ramifications for sites that do not incorporate accessibility, and what responsibility falls on the shoulders of people who regularly use assistive devices to notify companies of issues. They finish the show with resources available to people who want to learn more.

Links

Follow DevChat on Facebook and Twitter

Picks

Charles Max Wood:

Aimee Knight:

Chris Ferdinandi:

AJ O’Neal:

Joe Eames:

Chris DeMars:

Apr 30, 2019
MJS 104: Ethan Brown
44:10

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan
  • CacheFly

Host: Charles Max Wood

Special Guest: Ethan Brown

Summary

Ethan Brown shares his story starting with his homeschooling days and getting into programming. He started selling commercial software through his dad’s company at age 16. At age 17 he was recruited for a programming job and moved to New Jersey. Ethan and Charles discuss getting university degrees, whether or not to get them and share their experiences at university. Ethan talks about getting into javascript, what he has done in the Javascript community, and his experience giving talks at conferences. They discuss what the stack looks like for Ethan's company, Value Management Strategies, and what Ethan is currently working on. Ethan ends the episode by talking about one turning point in his career.

Links

Picks

Charles Max Wood:

Ethan Brown

Apr 23, 2019
JSJ 361: Enough with the JS Already with Nicholas Zakas
1:08:20

Sponsors

Panel

  • AJ O’Neal
  • Joe Eames
  • Aimee Knight
  • Charles Max Wood
  • Chris Ferdinandi

Joined by Special guest: Nicholas Zakas

Summary

Nicholas Zakas discusses the overuse of JavaScript and the underuse of HTML and CSS. The panel contemplates the talk Nicholas Zakas gave 6 years ago about this very same topic and how this is still a problem in the development community. Nicholas expounds on the negative effects overusing Javascript has on web applications and the things that using HTML and CSS do really well. The panel talks about the need for simplicity and using the right tool to build applications. Nicholas recommends the methods he uses to build greenfield applications and to improve existing applications.

Links

Picks

Chris Ferdinandi:

AJ O’Neal:

Aimee Knight:

Charles Max Wood:

Joe Eames:

Nicholas Zakas:

Apr 23, 2019
JSJ 360: Evolutionary Design with James Shore
1:02:33

Sponsors

Panel

  • Aaron Frost
  • AJ O’Neal
  • Joe Eames
  • Aimee Knight
  • Chris Ferdinandi

Joined by special guest: James Shore

Episode Summary

Special guest James Shore returns for another episode of JavaScript Jabber. Today the panel discusses the idea of evolutionary design. Evolutionary design comes from Agile development. It is based on the principles of continuous integration and delivery and test driven development. In short, evolutionary design is designing your code as you go rather than in advance.

The panelists discuss the difficulties of evolutionary design and how to keep the code manageable.  James Shore introduces the three types of design that make up evolutionary design, namely simple design, incremental design, and continuous design. They talk about the differences between evolutionary design and intelligent design and the correlations between evolutionary design increasing in popularity and the usage of Cloud services. They talk about environments that are and are not conducive to evolutionary design and the financial ramifications of utilizing evolutionary design.

The panelists talk about the difficulties of planning what is needed in code and how it could benefit from evolutionary design. James enumerates the steps for implementing evolutionary design, which are upfront design, reflective design, and refactoring . The team ends by discussing the value of frameworks and how they fit with evolutionary design.

Links

Picks

AJ O’Neal:

Aimee Knight:

James Shore:

Aaron Frost:

Joe Eames:

Chronicles of Crime board game

Apr 16, 2019
MJS 103: Isaac Schlueter
51:43

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan
  • CacheFly 

Host: Charles Max Wood

Special Guest: Isaac Schlueter

Episode Summary

In this episode of My JavaScript Story, Charles Max Wood hosts Isaac Schlueter, co-founder and Chief Product Officer at NPM.

Listen to Isaac’s journey as a developer on the podcast My Java Story on this episode and on the podcast My Angular Story on this episode.

Isaac recently switched roles from Chief Executive Officer to Chief Product Officer, he explains the reasoning behind this switch. He talks about NPM Enterprise and its value proposition. He talks about projects he is working on currently and also the future of NPM. He also talks about the current available positions at NPM, both in Oakland, CA and remote.

Links

Picks

Isaac Schlueter:

Charles Max Wood:

Apr 16, 2019
JSJ 359: Productivity with Mani Vaya
1:10:42

Get Mani's 2x Productivity Course

Sponsors

Panel

  • Aaron Frost
  • AJ O’Neal
  • Joe Eames
  • Aimee Knight
  • Charles Max Wood

Joined by special guest: Mani Vaya

Episode Summary

Mani is the founder of a book summary business called www.2000books.com

At 2000 Books, Mani studies the world’s greatest business and personal development books.

Then he takes the most important ideas from each book and presents them in tight, 9- to 15-minute video summaries.

You get the 4-7 most important ideas in a condensed format that's easy to absorb, easy to review, and easy to put into action immediately.

To help people with productivity, Mani created an awesome course called “10x Productivity"

His “10x Productivity" video course contains summaries of the 50 greatest books ever written on time management, productivity, goal setting, systems, execution, strategy and leverage.

"10x Productivity" pack includes summaries of all the NY Times Best Sellers on Productivity & Time Management, such as:

  • The 7 Habits of Highly Effective People by Stephen Covey

  • Getting Things Done by David Allen

  • Deep Work by Cal Newport

  • The Power of Habit by Charles Duhigg

  • The One Thing by Gary Keller

  • Essentialism by Greg McKeown

All together, this collection includes more than 250 strategies, tips, tools & techniques for:

- Becoming more productive

- Getting results rather than being busy, stressed out & frustrated

- Time Management

- Defeating procrastination

- Achieving big goals

- Hacking your brain for high performance

- Identifying the highest leverage points that lead to much faster results

- Creating powerful habits

- Installing execution systems that make goal achievement inevitable

10x Productivity Package contains:

  • Summaries of the 50 greatest books ever written on Productivity & Time Management

  • 250+ greatest ideas, tips and strategies on Time Management & Productivity

  • 10+ Hours of no-fluff solid Video Content

  • PDF Summaries of all 50 books

Since Mani is my friend and fellow mastermind member, I worked with him to get you guys an amazing discount (using discount code “DEVCHAT”) on the 10x Productivity Book Summary Pack which you can find here

Make sure to use the Coupon code “DEVCHAT” to get the discount.

Links

Picks

AJ O’Neal:

  • M. Night Shyamalan’s The Village
  • colophony/pine sap/rosin/flux for electronics work

Aimee Knight:

Charles Max Wood:

Mani Vaya:

Apr 09, 2019
MJS 102: Gil Tayar
39:58

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan
  • CacheFly 

Host: Charles Max Wood

Special Guest: Gil Tayar

Episode Summary

In this episode of My JavaScript Story, Charles Max Wood hosts Gil Tayar, a Senior Architect at Applitools from Israel.

Listen to Gil on the podcast JavaScript Jabber Testing in JavaScript with Gil Tayar.

Gil started his developing journey when he was 13 years old. He continued his training during his military service and became an instructor for the PC unit. During this time, he learned and taught C, C++ and Windows. He then started working  for Wix before he went onto co-found his own startup. You can listen to Dan Shappir, another developer from Wix that has been a guest on the podcast JavaScript Jabber on this episode.

During this experience Gil realized he loves the coding side of the business but not the management side. Gil also loves testing and he very much enjoys his work at Applitools. As a Senior Architect in Applitools R&D, he has designed and built Applitools' Rendering Service.

Links

Picks

Gil Tayar:

Charles Max Wood:

 

 

Apr 09, 2019
JSJ 358: Pickle.js, Tooling, and Developer Happiness with Anatoliy Zaslavskiy
1:06:30

Sponsors

Panel

  • AJ O’Neal

  • Charles Max Wood

Joined by Special Guest: Anatoliy Zaslavskiy

Summary

Anatoliy Zaslavskiy introduces pickle.js and answers the panels questions about using it. The panel discusses the automated testing culture and employee retention. The panel discusses job satisfaction and why there is so much turn over in development jobs. Charles Max Wood reveals some of the reasons that he left past development jobs and the panel considers how the impact of work environments and projects effect developers. Ways to choose the right job for you and how to better a work situation is discussed. Anatoliy finishes by advocating for junior developers and explaining the value they bring to a company.

Links

Picks

AJ O’Neal

Charles Max Wood

Anatoliy Zaslavskiy

  •  

Apr 02, 2019
MJS 101: Chris Ferdinandi
51:01

Sponsors

Host: Charles Max Wood

Special Guest: Chris Ferdinandi

Episode Summary

In this episode of My JavaScript Story, Charles Max Wood hosts Chris Ferdinandi, a Senior Front-End Engineer at Mashery. Chris is also a panelist on the podcast JavaScript Jabber and runs Go Make Things.

Chris started out his career as in Human Resources, decided he wanted to go into development after he was asked to work on a coding project by his manager and he really enjoyed it. He got his first coding job as an entry level developer after attending a web development conference.

Chris authors Vanilla JavaScript Pocket Guides which are short, focused e-books and video courses made for beginners.

Links

Picks

Chris Ferdinandi:

Charles Max Wood:

  • Running along San Francisco Bay
  • Marriage
Mar 28, 2019
MJS 100: Joe Eames
1:00:43

Sponsors

Host: Charles Max Wood

Guest: Joe Eames

Episode Summary

In this episode of My JavaScript Story, Charles Max Wood hosts Joe Eames, CEO of Thinkster.io and organizer of many different conferences, two of which are the AngularJS conference, ng-conf, and the WordPress developer conference, LoopConf.

Joe is a front end web developer and an educator. He has authored over 10 Pluralsight.com courses. He is also a panelist on the JavaScript Jabber podcast and the Adventures in Angular podcast on DevChat.TV.

Joe talks about his passion project, being on the organization team of Framework Summit, a two-day conference focused on all front end JavaScript frameworks, the first of which was held in Utah in October 2018. It was a great success and he and the rest of the organization team will be looking to repeat it in January of 2020.

Another conference Joe was involved in organizing was React Conf 2018 which took place in October in Henderson, Nevada. He is in the process of organizing the React Conf 2019 with the rest of the organization team.

Aside from organizing conferences Joe’s second passion is education. He has started up a podcast called Dev Ed Podcast.

Joe has recently become the CEO of Thinkster.io. Thinkster.io is a unique platform where learners can really master web development with a lot of hands on training. Joe wants developers to be able to learn how to “generate” solutions to problems. He explains the concept of “interleaving” while learning a subject which helps students retain more and learn faster.

Links

Picks

Joe Eames:

Charles Max Wood:

Mar 27, 2019
JSJ 357: Event-Stream & Package Vulnerabilities with Richard Feldman and Hillel Wayne
01:10:16

Sponsors

Panel

  • Aaron Frost
  • AJ O’Neal
  • Chris Ferdinandi
  • Joe Eames
  • Aimee Knight
  • Charles Max Wood

Joined by special guests: Hillel Wayne and Richard Feldman

Episode Summary

In this episode of JavaScript Jabber, Hillel Wayne kicks off the podcast by giving a short background about his work, explains the concepts of formal methods and the popular npm package - event-stream, in brief. The panelists then dive into the recent event-stream attack and discuss it at length, focusing on different package managers and their vulnerabilities, as well as the security issues associated with them. They debate on whether paying open source developers for their work, thereby leading to an increase in contribution, would eventually help in improving security or not. They finally talk about what can be done to fix certain dependencies and susceptibilities to prevent further attacks and if there are any solutions that can make things both convenient and secure for users.

Links

Picks

Joe Eames:

Aimee Knight:

Aaron Frost:

Chris Ferdinandi:

Charles Max Wood:

Richard Feldman:

Hillel Wayne:

Mar 26, 2019
MJS 099: Christopher Buecheler
42:45

Sponsors

Host: Charles Max Wood

Guest: Christopher Buecheler

Episode Summary

In this episode of My JavaScript Story, Charles hosts Christopher Buecheler, novelist, web developer and founder of CloseBrace, a JavaScript tutorial and resource site.

Christopher is a self-taught full-stack web developer with extensive experience in programming with JavaScript, jQuery, React.js, Angular.js, and much more. Listen to Christopher on the  JavaScript Jabber podcast.

Christopher started CloseBrace because he really enjoys helping people and giving back to the community. In his spare time, he writes science fiction novels and is also working on a web application for knitting called Stitchly with a friend.

Links

Picks

Christopher Buecheler:

Charles Max Wood:

Mar 20, 2019
JSJ 356: Build Websites Like It's 2005 with Keith Cirkel
56:18

Sponsors

Panel

  • Chris Ferdinandi
  • Aimee Knight
  • Aaron Frost
  • AJ O’Neal

Joined by special guest: Keith Cirkel

Episode Summary

In this episode of JavaScript Jabber, Keith Cirkel, Senior Application Engineer at GitHub, briefly explains the projects he is working with and moves on to the recent changes done by GitHub to their website, including the decision to remove jQuery, and not choosing a popular framework such as React or Vue. He talks about some problems in using Internet Explorer 11, how these GitHub changes can help with certain browser compatibility issues, and a few challenges the team had to face during the redesigning process.

The panelists then discuss event delegation, performance considerations, Polyfill.io and web components. Keith gives some insight into accessibility and they talk about related user concerns.

Links

Picks

Aaron Frost:

Aimee Knight:

Joe Eames:

AJ O’Neal:

Keith Cirkel:

Chris Ferdinandi:

Mar 19, 2019
MJS 098: Vitali Zaidman
37:12

Sponsors

Host: Charles Max Wood

Guest: Vitali Zaidman

Episode Summary

In this episode of My JavaScript Story, Charles hosts Vitali Zaidman, Technical Lead at WellDone Software Solutions. He is also the author of the popular blog piece: “An Overview of JavaScript Testing in 2019”.

Vitali has been writing code since he was 13 years old. After completing his military service, he attended The Open University of Israel where he took computer science courses. He picked JavaScript not knowing that it was going to be so popular.

He has been working for WellDone Software Solutions since he was a student where he has had the chance to work in many different projects. Vitali feels in order to keep up with technology it is important to work in different projects.

Vitali talks about projects he has worked on that he is proud of, one of which is his library at https://github.com/welldone-software/why-did-you-render

Links

Picks

Vitali Zaidman:

Charles Max Wood:

Mar 13, 2019
JSJ 355: Progressive Web Apps with Aaron Gustafson LIVE at Microsoft Ignite
55:53

Sponsors

Panel

  • Charles Max Wood

Joined by special guest: Aaron Gustafson

Episode Summary 

This episode of JavaScript Jabber comes to you live from Microsoft Ignite. Charles Max Wood talks to Aaron Gustafson who has been a Web Developer for more than 20 years and is also the Editor in Chief at “A List Apart”. Aaron gives a brief background on his work in the web community, explains to listeners how web standardization has evolved over time, where Progressive Web Apps (PWAs) come from, where and how can they be installed, differences between them and regular websites and their advantages. They then delve into more technical details about service workers, factors affecting the boot up time of JavaScript apps, best practices and features that are available with PWAs. 

Aaron mentions some resources people can use to learn about PWAs, talks about how every website can benefit from being a PWA, new features being introduced and the PWA vs Electron comparison. In the end, they also talk about life in general, that understanding what people have gone through and empathizing with them is important, as well as not making judgements based on people’s background, gender, race, health issues and so on.

Links

Picks

Aaron Gustafson:

Charles Max Wood:

Mar 12, 2019
MJS 097: Charles Lowell
56:26

Sponsors:

Host: Charles Max Wood

Guest: Charles Lowell

Mar 06, 2019
JSJ 354: Elm with Richard Feldman
37:56

Sponsors

Panel

  • Joe Eames
  • Aimee Knight

Joined by special guest: Richard Feldman

Episode Summary

In this episode of JavaScript Jabber, Richard Feldman, primarily known for his work in Elm, the author of “Elm in Action” and Head of Technology at NoRedInk, talks about Elm 0.19 and the new features introduced in it. He explains how the development work is distributed between the Elm creator – Evan Czaplicki and the other members of the community and discusses the challenges on the way to Elm 1.0.

Richard also shares some educational materials for listeners interested in learning Elm and gives details on Elm conferences around the world touching on the topic of having diversity among the speakers. He finally discusses some exciting things about Elm which would encourage developers to work with it.

Links

Picks

Aimee Knight:

Joe Eames:

Richard Feldman:

Mar 05, 2019
JSJ 353: Signal R with Brady Gaster LIVE at Microsoft Ignite
51:41

Sponsors:

Panel:

Charles Max Wood

Special Guest: Brady Gaster

In this episode, Chuck talks with Brady Gaster about SignalR that is offered through Microsoft. Brady Gaster is a computer software engineer at Microsoft and past employers include Logical Advantage, and Market America, Inc. Check out today’s episode where the two dive deep into SignalR topics.

Links:

Picks:

Brady

Charles

Feb 27, 2019
MJS 096: Bart Wood
22:14

Sponsors:

Host: Charles Max Wood

Guest: Bart Wood

 

Episode Summary

In this episode of My JavaScript Story, Charles Max Wood speaks with his namesake Bart Wood. They talked about tools for tracking and monitoring problems while using apps.  One app in particular was able to track new releases and errors, automatically scrub passwords to secure information as well as customize the scrubbing process while allowing users to provide feedback. 

Charles delves into the past of Bart Wood who has been working with the same company, Henry Shine.  He started studying Economics before he got into programming by chance and eventually ended up graduating with a Masters in Computer Science.  Initially Bart had misconceptions of computing and eventually realized that it was not only about maintaining the OS system and learning keyboard strokes, but creating new apps and delving into the world of creating new software.

Feb 26, 2019
MJS 095: Misko Hevery
45:24

Sponsors

Host: Charles Max Wood

Special Guest: Miško Hevery

Episode Summary

In this episode of My JavaScript Story, Charles hosts Miško Hevery, creator of Angular and Senior Computer Scientist at Google.

Miško was introduced to computers when his father brought a Sinclair ZX Spectrum home for them to play with. When they moved to the United States from Czech Republic, Miško attended Rochester Institute of Technology and studied Computer Engineering. After working for companies such as Adobe, Sun Microsystems, Intel, and Xerox, he joined Google where created the Angular framework. For more on the story of how Miško created AngularJS, listen to the ‘Birth of Angular’ episode on the Adventures in Angular podcast here.

Miško is currently working on Angular Ivy at Google and plans to restart a blog in the future.

Links

 Picks

Miško Hevery:

Charles Max Wood:

Feb 20, 2019
JSJ 352: Caffeinated Style Sheets: Supporting High Level CSS with JavaScript with Tommy Hodgins
50:15

Sponsors

 

Episode Summary  

In this episode of JavaScript Jabber, the panelists talk with Tommy Hodgins who specializes in responsive web design. He starts with explaining to listeners what it means by a responsive web layout and goes on to discuss the techniques in using JavaScript in CSS in depth.

He elaborates on dynamic styling of components, event-driven stylesheet templating, performance and timing characteristics of these techniques and describes different kinds of observers – interception, resize and mutation, and their support for various browsers. He also talks about how to go about enabling certain features by extending CSS, comparison to tools such as the CSS preprocessor and Media Queries, pros and cons of having this approach while citing relevant examples, exciting new features coming up in CSS, ways of testing the methods, caffeinated stylesheets, along with Qaffeine and Deqaf tools.

Links

 

Picks

Joe

Aimee

Chris

Charles

Tommy

Feb 19, 2019
MJS 094: Lee Byron
48:45

Sponsors

Panel: Charles Max Wood

Guest: Lee Byron

Feb 13, 2019
JSJ 351: Dinero.js with Sarah Dayan
1:12:08

Sponsors

Panel:

  • Joe Eames
  • Aimee Knight
  • Chris Ferdinandi
  • AJ O’Neal
  • Charles Max Wood

Special Guest - Sarah Dayan

In this episode of JavaScript Jabber, the panelists talk to Sarah Dayan, who is a Frontend Software Engineer working for Algolia in Paris. They about the complications in handling money in software development and ask Sarah about the journey that led to the creation of Dinero.js, it’s implementation details, importance of maintaining good documentation, dealing with issues faced along the way, various features of Dinero and working with open source projects in general. Check it out!

Show Topics:

0.40 - Advertisement : Netlify

1:44 - Sarah introduces herself and Chris talks about his interest in learning more about Dinero and compliments Sarah on its great documentation.

3.10 - Sarah gives some background saying that she created and published Dinero around a year ago. She goes on to explain that the Dinero library helps in handling monetary values. It comes with several methods to parse, manipulate and format these values. The reason behind creating it is that there is no consensus on representing money in software development currently. She shares the story from her previous job where her work was to maintain legacy accounting software, and along the way they realized, that since JavaScript did not have a way to natively represent decimal values, it led to adding large numbers of rounded up numbers continuously, eventually leading to wrong computations.

6:50 - Aimee asks about ways to handle different currencies in Dinero. Sarah answers that she has followed Martin Fowler’s money pattern where two different currencies were not allowed to be worked on directly, conversion was mandatory, just like in real life.

7:50 - Charles talks about his old freelance work where he was overwhelmed while handling and representing money in software.

8:25 - Aimee enquires if Dinero can be used for both frontend and backend. Sarah replies that it can be used anywhere and explains that there is no such thing as just a number when it comes to money, there must be a currency associated with it.

9:30 - Charles asks how to figure out the direction to go to when dealing with money and to make sure that all use-cases are covered. Sarah answers that in cases such as floating-point math where the computations don’t end up being accurate as handling is not supported, numbers can be used if treated as subunits (for e.g. 100cents = 1$). However, even then, there are issues in dividing money. She then explains the procedure of “allocation” from the Fowler pattern and she says that Dinero helps in doing the same in such scenarios.

12:54 - They discuss how they did not realize how difficult it was dealing with monetary values in development. Sarah talks about the fact that there are numerous aspects involved in it, giving the example of rounding off and stating that there are even factors such as different laws in different countries that need to be considered.

16:00 - AJ asks details about crafting the library, maintaining the centralized code and covering of edge cases and using inheritance. Sarah explains the concept of domain driven development and the importance of being an expert in the respective domains. She talks about the library structure briefly, describing that is kept very simple with a module pattern and it has allowed her to manage visibility, make it immutable, include currency converters, formatters and so on.

19:34 - AJ asks about the internal complexity of the implementation. Sarah answers that code wise it is extremely simple and easy, anyone with a limited JavaScript experience can understand it.

20:50 - AJ asks if it’s open source to which Sarah answers in affirmative and says that she would like external help with implementing some features too.

22:10 - Chris asks about Sarah’s excellent documentation approach, how has she managed to do it in a very detailed manner and how important it is in an open source project. Sarah says that she believes that documentation is extremely important, and not having good docs is a big hindrance to developers and to anyone who is trying to learn in general. She talks about her love for writing which explains the presence of annotations and examples in the source code.

27:50 - Charles discusses how autogenerated documentation gives an explanation about the methods and functions in the code but there is no guidance as such, so it is important to have guides. Sarah agrees by saying that searching for exact solutions is much simpler with it, leading to saving time as well.

29:43 - Chris speaks about Vue also being quite good at having guides and links and thanks Sarah for her work on Dinero.

30:15 - Advertisement - Sentry - Use code “devchat” to get two months free on Sentry’s small plan.

31:23 - Chris asks what the process is, for creating and running Dinero in different places. Sarah explains that she uses rollup.js which is a bundler suited for libraries, it takes in the ES module library and gives the output in any format. She states that the reason for using the ES module library is that she wanted to provide several builds for several environments with a clean and simple source and goes on to explain that these modules are native, have a terse syntax, easy to read and can be statically analyzed. She also gives the disadvantages in choosing webpack over rollup.

36:05 - Charles asks if anyone else is using Dinero. Sarah replies that around two or three people are using it, not much, but she is happy that it is out there to help people and she enjoyed working on it.

37:50 - Joe asks if there are any interesting stories about issues such as involving weird currency. Sarah answers in affirmative and gives the example of the method “hasCents”. She explains that she had to deprecate it because the unit “cents” does not have any value in non-Western currencies, and has created “hasSubUnits” method instead. She explains some problems like dealing with currencies that don’t support the ISO 4217 standard.

42:30 - Joe asks if social and political upheavals that affect the currencies have any effect on the library too. Sarah gives the example of Chinese and Japanese currencies where there are no sub-units and states that it is important to be flexible in developing stuff in an ever-changing domain like money. She also says that she does not include any third-party dependency in the library.

46:00 - AJ says that BigInts have arrived in JavaScript but there is no way to convert between typed arrays, hexadecimal or other storage formats. But later (1:10:55), he corrects that statement saying that BigInts in fact, does have support for hexadecimals. Sarah talks about wanting to keep the code simple and keep developer experience great.

49:08 - Charles asks about the features in Dinero. Sarah elaborates on wanting to work more on detecting currencies, improve the way it is built, provide better support for type libraries and get much better at documentation.

52:32 - Charles says that it is good that Sarah is thinking about adopting Dinero to fit people’s needs and requirements and asks about different forms of outreach. Sarah says that she blogs a lot, is active on Twitter and attends conferences as well. Her goal is not popularity per se but to help people and keep on improving the product.

55:47 - Chris talks about the flip side that as the product grows and becomes popular, the number of support requests increases too. Sarah agrees that open source projects tend to eat up a lot of time and that doing such projects comes with a lot of responsibility but can also help in getting jobs.

59:47 - Sarah says that she is available online on her blog - frontstuff, on Twitter as Sarah Dayan and on GitHub as sarahdayan.

1:00:06 - Advertisement - Clubhouse

1:01:01 - Picks!

1:11:42  - END - Advertisement - CacheFly!

Picks:

Sarah

AJ O’Neal

Chris

Joe

Aimee

Charles

  •  
Feb 12, 2019
MJS 093: Ben Lesh
53:19

Sponsors

Episode Summary

In this episode of My JavaScript Story, Charles Max Wood hosts Ben Lesh, RxJS Lead and senior software engineer at Google.

Ben studied to be an illustrator in Columbus College of Art & Design, but upon graduation he realized he wanted to work in web development. Ben thinks having an interest in problem solving was a key factor on his journey in becoming a developer.

For his first programming job, he applied to a position and when he didn’t hear back he kept calling them until they gave him an opportunity. He then worked as a consultant at several other positions before he was offered a job at Netflix where he became the development lead for RxJS 5. Ben then switched over to Google’s Angular team. He is currently working on Angular Ivy at Google.

Ben then talks about the projects he has worked on that he is proud of. In his journey as a developer, Ben believes that the take-away lesson is asking lots of questions. He himself had no formal programming training and he got to where he is today by asking sometimes embarrassingly simple questions.

Links

Feb 06, 2019
JSJ 350: JavaScript Jabber Celebrates Episode 350!
1:06:43

Sponsors

Panel:

  • Charles Max Wood
  • AJ O’Neal
  • Aimee Knight
  • Aaron Frost
  • Chris Ferdinandi
  • Joe Eames
  • Tim Caswell

Notes:

This episode of JavaScript Jabber has the panelists reminiscing on the past. First, they discuss the projects they’re working on. Tim has joined MagicLeap doing JavaScript and C++. Aaron Frost is one of the founders of HeroDevs. AJ works at Big Squid, a company that takes spreadsheets and turns them into business actions, and is expecting a daughter. Aimee has been exploring developer advocacy, but wants to focus primarily on engineering. She is currently working at MPM. Joe has taken over the CEO position for thinkster.io, a company for learning web development online. Chris switched from being a general web developer specializing in JavaScript and has started blogging daily rather than once a week, and has seen an increase in sales of his vanilla JavaScript educational products. Charles discusses his long term goal for Devchat.tv. He wants to help people feel free in programming, and help people find opportunities though the Devchat.tv through empowering content.

Next, the panelists discuss their favorite episodes. Some of the most highly recommended episodes are

JSJ 124: The Origin of Javascript with Brendan Eich (1:44:07)

JSJ 161: Rust with David Herman (1:05:05)

JSJ 336: “The Origin of ESLint with Nicholas Zakas” (1:08:01)

JSJ 338: It’s Supposed To Hurt, Get Outside of Your Comfort Zone to Master Your Craft with Christopher Buecheler (43:36)

JSJ 218: Ember.js with Yehuda Katz (42:47)

Last, the panelists discuss what they do to unwind. Activities include working out, reading, playing Zelda and Mario Kart, studying other sciences like physics, painting miniatures, and Dungeons and Dragons.

Picks:

Charles Max Wood

Joe Eames

AJ O’Neal

Aimee Knight

Aaron Frost

Chris Ferdinandi

Tim Caswell

Feb 05, 2019
MJS 092: Shashank Shekhar
19:01

Sponsors

Host: Charles Max Wood

Special Guest: Shashank Shekhar

Episode Summary

In this episode of My JavaScript Story, Charles Max Wood hosts Shashank Shekhar, a product developer at Localtrip from India.

Shashank was introduced to programming when he was in school with Logo language. He then attended freeCodeCamp and learned JavaScript. Shashank talks about his journey as a developer and the projects he is working on now at Localtrip.

Links

Picks

Shashank Shekhar:

  • Do what you love

Charles Max Wood:

Jan 31, 2019
JSJ 349: Agile Development - The Technical Side with James Shore
59:46

Sponsors

Panel

  • AJ O’Neal

  • Aimee Knight

  • Joe Eames

  • Charles Max Wood

Special Guest: James Shore

Episode Summary

James Shore is a developer who specializing in extreme programming, an Agile method. He also used to host a screencast called Let’s Code Test-Driven JavaScript. They begin by discussing the core of Agile development, which James believes is being responsive to customers and business partners in a way that’s sustainable and humane for the programmers involved. It prioritizes individuals and interactions over processes and tools. More can be found in The Agile Manifesto.

James delves into the historical context of the immersion of Agile and how things have changed from the 90’s. Now, the name Agile is everywhere, but the ideals of agile are not as common. There is a tendency to either take Agile buzzwords and apply them to the way it was done long ago, or it’s absolute chaos. James talks about ways to implement Agile in the workplace. He believes that the best way to learn Agile is work with someone who knows Agile, or read a book on it and then apply it. James recommends his book The Art of Agile Development: Pragmatic Guide to Agile Software Development for people who want to started with Agile development. The panelists talk about where people often get stuck with implementing Agile. The hosts talk about their own processes in their company.

They discuss how people involved in the early days of Agile are disappointed in how commercial it has become.They agree that what’s really the most important is the results. If you can respond to a request to change direction in less than two weeks and you don’t have to spend months and months preparing something, and you do that in a way where the people on the team feel like their contributing, then you’re doing Agile. James thinks that the true genius of Agile is in the way the actual work is done rather than in the way your organize the work.

Links

Picks

AJ O’Neal:

Aimee Knight:

Joe Eames:

  • The Ballad of Buster Scruggs on Netflix

Charles Max Wood:

  • Getting up early

  • John Sonmez Kanbanflow video

  • Drip

James Shore:

Jan 30, 2019
MJS 091: Jamund Ferguson
39:52

Sponsors

Jan 24, 2019
JSJ 348: EnactJS with Ryan Duffy
44:08

Sponsors

Panel

Aimee Knight

Aaron Frost

Chris Ferdinandi

Joe Eames

Special Guest: Ryan Duffy 

In this episode of JavaScript Jabber, the panelists talk with Ryan Duffy who works on the EnactJS framework at LG Electronics. Ryan explains the framework in depth and answers all the questions about its design and implementation from the panelists and discusses some challenges faced along the way. Check it out!

 

Show Notes:

00:28 – Advertisement - KendoUI

1:08 - Ryan introduces himself and explains a bit about the EnactJS framework. While giving some background, he says that it is the 3rd generation of web frameworks that supports apps on webOS and they started building Enact on top of React about two years ago.

2:00 - Aimee asks what exactly does webOS mean. Ryan answers that webOS was created by Palm for phones and related devices and it has several instances of chromium running on device with some service layer stuff.

2:36 - Aaron mentions that webOS was big when other operating systems were still coming up, and Ryan agrees saying that it didn’t get the adoption needed to make it successful later.

3:00 - Ryan says that he always loved building apps for webOS phones given the flexibility and ease coming from a web development background.

3:53 - Aaron asks on which other applications is webOS running other than TV. Ryan answers that TV is one of the major consumptions, and it also runs on certain robots such as the concierge ones, watches to some extent and a lot of projects internally, not yet released in the market.

4:50 - Aaron asks if the Enact framework is big internally at LG. Ryan replies that it is the primary framework used for apps running on webOS.

5:03 - Aaron enquires about the nature of adoption of Enact for third party or non-LG people, to which Ryan states that Enact remains the standard framework for people who are building apps.

5:32 - Joe joins in the conversation.

6:25 - Aaron remarks that given that webOS is used in latest robots, televisions, watches and other such apps, it sounds like they are heavily investing into it. Ryan affirms by saying that the webOS journey goes from Palm phones to HP tablets to finally coming to LG. He goes on to explain their team structure, stating that there are two major teams in play right now - the R&D team is in the US and the implementation team is in Korea.

8:00 - Aaron asks about the role their team plays in the app development. Ryan replies that his team is the stack team that forms the foundation for the apps and they take decisions on what the components should look like and similar tasks. The app teams based in Korea decide their menu based on those decisions.

8:35 - Aaron asks what exactly is meant by the Blink team. Ryan answers that the it’s the team that works with an LG customized version of chromium.

9:10 – Aaron then asks about his individual role in the team. Ryan says that he is one of the managers of the stack team and he’s been on the team for little more than 4 years.

9:30 - Aaron asks about the evolution of the framework over time. Ryan describes the historical background by saying that in the initial Enyo design the team built, was component based, and every tool needed to build single page apps had to be developed from scratch. He says that they felt the need to move on to an improved framework as they wanted to take advantage of the robust ecosystem that existed, so they ported component libraries of Enyo using the React toolset to form Enact.

11:43 - Aaron asks if Enyo then ceased to exist to which Ryan states that it is still around to some extent.

12:20 - Aaron asks if the team has something like “create Enact app” to create a new app internally, like React. Ryan mentions that Jason - a tooling and automation expert from their team has built a feature called V8 snapshot - which loads JavaScript into memory and takes a snapshot - can in turn be loaded by the TV to launch the app in order to achieve a faster load time. He says that their long-term goal is to increase compatibility with the ecosystem.

14:40 - Aaron asks if he can use the React CLI to create something for TV as a third-party developer. Ryan elaborates that CLI can be used to build, compile and bundle apps and there is another tool- SDK to bundle it for delivery to the TV. The app is tested fully in chrome, bundled and deployed to the TV.

15:25 - Aaron asks if choosing React was a natural decision for the team. Ryan explains that they researched on some component-based frameworks that were available at that time and found that React was the best choice.

17:30 - Aimee asks the reason for open sourcing the framework. Ryan mentions that Enyo always has been open source. He also remarks that the team does not get a lot of input from the community and would like to get more information about what’s working and what’s not and how they can contribute back.

19:40 - Aaron asks about the kind of apps can be built by using Enact except for TV. Ryan says that any kind can be built but the hesitation is that the UI library is specially designed for TV, so they may look different for other spaces like phones or other devices.

20:35 – Advertisement – Sentry – Use the code “devchat” to get two months free on Sentry’s small plan.

21:30 - Aaron asks what decisions around making apps are made by Enact for the developers. Ryan explains that the architectural pattern they have chosen is higher order components, and there is a lot of attention on render props that can be easily plugged into the apps.

22:48 - Aaron asks if the state part was built by the team on their own. Ryan answers in affirmative that everything in Enact is completely built by the team, no external states are used within the framework. No decisions are made in the data space yet. He mentions that they had tried to limit their Enact development effort in cases where the solution was already available unless they had a new perspective on the problem.

24:30 - Aaron remarks the idea of Enact being something like a webpack is becoming clearer for him and asks Ryan if his team is spending most of their time in building component libraries. Ryan affirms by explaining that Enact is designed in layers. He goes on to explain that focus management is a difficult problem to solve where the ability to navigate an application intuitively such as in the case of remote control is handled by a certain component. Also, as LG ships TVs all over the world, there are significant internationalization requirements. He then elucidates the TV centric moonstone library in detail and states that they took all the base capabilities from it and formed a UI layer.

27:26 - Aaron asks if moonstone is theme-able. Ryan says that it’s not and the UI layer in not styled.

28:40 - Chris asks, as someone who manages open source projects and builds tools, about the process of making decisions on the kind of components to include and challenges Ryan and his team faced in the open source space.

29:45 – Ryan says that they haven’t had the ideal open source experience yet. They do have a lot of discussions on API design and components but it’s a struggle to what to include and what to not.

31:25 - Chris shares his own experience while stating that finding a common ground is always hard especially when there is internal resistance in convincing people to use new software. Ryan says that internally their biggest struggle is that a group of people use the Qt platform and there is chunk of webOS that is built on it and not on Enact. Trying to convince people to do the migration from Enyo to Enact was difficult but they have had most success in trying to eliminate friction and it was easier in the sense that there weren’t any required parameters for things.

36:05 – Aaron states that all his questions are answered and his understanding of Enact is clear.

36:21 – Advertisement  - Clubhouse

37:10 – Picks!

43:41- END – Advertisement - CacheFly!

 

Picks

Joe

Chris

Aimee

  • Coworkers at NPM

Aaron

Ryan

Jan 22, 2019
JSJ 347: JAMstack with Divya Sasidharan & Phil Hawksworth
1:21:54

Sponsors

Panel

  • AJ O’Neal

  • Chris Ferdinandi

  • Charles Max Wood

Joined by special guest: Phil Hawksworth and Divya Sasidharan

Episode Summary

This episode features special guests Philip Hawksworth and Divya Sasidharan. Phil lives just outside of London and Divya lives in Chicago, and both of them work for Netlify. Divya is also a regular on the Devchat show Views on Vue. The panelists begin by discussing what JAMstack is. JAM stands for JavaScript, API, and Markup. It used to be known as the new name for static sites, but it’s much more than that. Phil talks about how dynamic ‘static’ sites really are. JAMstack sites range from very simple to very complex, Static is actually a misnomer. JAMstack makes making, deploying, and publishing as simple as possible.

The panelists discuss the differences between building your own API and JAMstack and how JavaScript fits into the JAMstack ecosystem. They talk about keys and secrets in APIs and the best way to handle credentials in a static site. There are multiple ways to handle it, but Netlify has some built in solutions. All you have to do is write your logic for what you want your function to do and what packages you want included in it, they do all the rest. Every deployment you make stays there, so you can always roll back to a previous version.

Charles asks about how to convert a website that’s built on a CMS to a static site and some of the tools available on Netlify. They finish by discussing different hangups on migrating platforms for things like Devchat (which is built on WordPress) and the benefits of switching servers.

Links

Picks

AJ O’Neal:

Chris Ferdinandi:

Charles Max Wood:

Phil Hawksworth:

Divya Sasidharan:

Jan 15, 2019
JSJ 346: Azure Pipelines with Ed Thomson LIVE at Microsoft Ignite
43:19

Sponsors:

Panel:

Charles Max Wood

Special Guests: Ed Thomson

In this episode, the Charles speaks with Ed Thomson who is a Program Manager at Azure through Microsoft, Developer, and Open Source Maintainer. Ed and Chuck discuss in full detail about Azure DevOps! Check out today’s episode to hear its new features and other exciting news!

Show Topics:

0:59 – Live at Microsoft Ignite

1:03 – Ed: Hi! I am a Program Manager at Azure.

1:28 – Rewind 2 episodes to hear more about Azure DevOps!

1:51 – Ed: One of the moves from Pipelines to DevOps – they could still adopt Pipelines. Now that they are separate services – it’s great.

2:38 – Chuck talks about features he does and doesn’t use.

2:54 – Ed.

3:00 – Chuck: Repos and Pipelines. I am going to dive right in. Let’s talk about Repos. Microsoft just acquired GitHub.

3:18 – Ed: Technically we have not officially acquired GitHub.

3:34 – Chuck: It’s not done. It’s the end of September now.

3:55 – Ed: They will remain the same thing for a while. GitHub is the home for open source. Repos – we use it in Microsoft. Repositories are huge. There are 4,000 engineers working in these repositories. Everyone works in his or her own little area, and you have to work together. You have to do all this engineering to get there. We bit a tool and it basically if you run clone...

Ed continues to talk about this topic. He is talking about One Drive and these repositories.

6:28 – Ed: We aren’t going to be mixing and matching. I used to work through GitHub. It’s exciting to see those people work close to me.

6:54 – Chuck.

6:59 – Ed: It has come a long way.

7:07 – Chuck: Beyond the FSF are we talking about other features or?

7:21 – Ed: We have unique features. We have branch policies. You can require that people do pole request. You have to use pole request and your CI has to pass and things like that. I think there is a lot of richness in our auditing. We have enterprise focus. At its core it still is Git. We can all interoperate.

8:17 – Chuck.

8:37 – Ed: You just can’t set it up with Apache. You have to figure it out.

8:51 – Chuck: The method of pushing and pulling.

9:06 – Chuck: You can try DevOps for free up to 5 users and unlimited private repos. People are interested in this because GitHub makes you pay for that.

9:38 – Ed and Chuck continue to talk.

9:50 – Ed: Pipelines is the most interesting thing we are working on. We have revamped the entire experience. Build and release. It’s easy to get started. We have a visual designer. Super helpful – super straightforward. Releases once your code is built – get it out to production say for example Azure. It’s the important thing to get your code out there.

10:55 – Chuck: How can someone start with this?

11:00 – Ed: Depends on where your repository is. It will look at your code. “Oh, I know what that is, I know how to build that!” Maybe everyone isn’t doing everything with JavaScript. If you are using DotNet then it will know.

12:05 – Chuck: What if I am using both a backend and a frontend?

12:11 – Ed: One repository? That’s when you will have to do a little hand packing on the...

There are different opportunities there. If you have a bash script that does it for you. If not, then you can orchestrate it. Reduce the time it takes. If it’s an open source project; there’s 2 – what are you going to do with the other 8? You’d be surprised – people try to sneak that in there.

13:30 – Chuck: It seems like continuous integration isn’t a whole lot complicated.

13:39 – Ed: I am a simple guy that’s how I do it. You can do advanced stuff, though. The Cake Build system – they are doing some crazy things. We have got Windows, Lennox, and others. Are you building for Raspberries Pies, then okay, do this...

It’s not just running a script.

15:00 – Chuck: People do get pretty complicated if they want. It can get complicated. Who knows?

15:26 – Chuck:  How much work do you have to do to set-up a Pipeline like that?

15:37 – Ed answers the question in detail.

16:03 – Chuck asks a question.

16:12 – Ed: Now this is where it gets contentious. If one fails...

Our default task out of the box...

16:56 – Chuck: If you want 2 steps you can (like me who is crazy).

17:05 – Ed: Yes, I want to see if it failed.

17:17 – Chuck: Dude, writing code is hard. Once you have it built and tested – continuous deployment.

17:33 – Ed: It’s very easy. It’s super straightforward, it doesn’t have to be Azure (although I hope it is!).

Ed continues this conversation.

18:43 – Chuck: And it just pulls it?

18:49 – Ed: Don’t poke holes into your firewall. We do give you a lot of flexibility

19:04 – Chuck: VPN credentials?

19:10 – Ed: Just run the...

19:25 – Chuck comments.

19:36 – Ed: ...Take that Zip...

20:02 – Ed: Once the planets are finely aligned then...it will just pull from it.

20:25 – Chuck: I host my stuff on Digital Ocean.

20:46 – Ed: It’s been awhile since I played with...

20:55 – Chuck.

20:59 – Ed and Chuck go back and forth with different situations and hypothetical situations.

21:10 – Ed: What is Phoenix?

21:20 – Chuck explains it.

21:25 – Ed: Here is what we probably don’t have is a lot of ERLANG support.

22:41 – Advertisement.

23:31 – Chuck: Let’s just say it’s a possibility. We took the strip down node and...

23:49 – Ed: I think it’s going to happen.

23:55 – Ed: Exactly.

24:02 – Chuck: Testing against Azure services. So, it’s one thing to run on my machine but it’s another thing when other things connect nicely with an Azure set-up. Does it connect natively once it’s in the Azure cloud?

24:35 – Ed: It should, but there are so many services, so I don’t want to say that everything is identical. We will say yes with an asterisk.

25:07 – Chuck: With continuous deployment...

25:41 – Ed: As an example: I have a CD Pipeline for my website. Every time I merge into master...

Ed continues this hypothetical situation with full details. Check it out!

27:03 – Chuck: You probably can do just about anything – deploy by Tweet!

27:15 – Ed: You can stop the deployment if people on Twitter start complaining.

27:40 – Chuck: That is awesome! IF it is something you care about – and if it’s worth the time – then why not? If you don’t have to think about it then great. I have mentioned this before: Am I solving interesting problems? What projects do I want to work on? What kinds of contributions do I really want to contribute to open source?

That’s the thing – if you have all these tools that are set-up then your process, how do you work on what, and remove the pain points then you can just write code so people can use! That’s the power of this – because it catches the bug before I have to catch it – then that saves me time.

30:08 – Ed: That’s the dream of computers is that the computers are supposed to make OUR lives easier. IF we can do that and catch those bugs before you catch it then you are saving time. Finding bugs as quickly as possible it avoids downtime and messy deployments.

31:03 – Chuck: Then you can use time for coding style and other things.

I can take mental shortcuts.

31:37 – Ed: The other thing you can do is avoiding security problems. If a static code analysis tool catches an integer overflow then...

32:30 – Chuck adds his comments.

Chuck: You can set your policy to block it or ignore it. Then you are running these tools to run security. There are third-party tools that do security analysis on your code. Do you integrate with those?

33:00 – Ed: Yep. My favorite is WhiteSource. It knows all of the open source and third-party tools. It can scan your code and...

34:05 – Chuck: It works with a lot of languages.

34:14 – Ed.

34:25 – Chuck: A lot of JavaScript developers are getting into mobile development, like Ionic, and others. You have all these systems out there for different stages for writing for mobile. Android, windows Phone, Blackberry...

35:04 – Ed: Let’s throw out Blackberry builds. We will ignore it.

Mac OS dies a fine job. That’s why we have all of those.

35:29 – Chuck: But I want to run my tests, too!

35:36 – Ed: I really like to use App Center. It is ultimately incredible to see all the tests you can run.

36:29 – Chuck: The deployment is different, though, right?

36:40 – Ed: I have a friend who clicks a button in...

Azure DevOps.

37:00 – Chuck: I like to remind people that this isn’t a new product.

37:15 – Ed: Yes, Azure DevOps.

37:24 – Chuck: Any new features that are coming out?

37:27 – Ed: We took a little break, but...

37:47 – Ed: We will pick back up once Ignite is over. We have a timeline on our website when we expect to launch some new features, and some are secret, so keep checking out the website.

39:07 – Chuck: What is the interplay between Azure DevOps and Visual Studio Code? Because they have plugins for freaking everything. I am sure there is something there that...

39:30 – Ed: I am a VI guy and I’m like 90% sure there is something there.

You are an eMac’s guy?

The way I think about it is through Git right out of the box.

Yes, I think there are better things out there for integration. I know we have a lot of great things in Visual Code, because I worked with it.

40:45 – Chuck: Yes, people can look for extensions and see what the capabilities are.

Chuck talks about code editor and tools. 

41:28 – Ed: ... we have been pulling that out as quickly as possible.

We do have IE extensions, I am sure there is something for VS Code – but it’s not where I want to spend my time.

42:02 – Chuck: Yes, sure.

42:07 – Ed: But everyone is different – they won’t work the way that I work. So there’s that.

42:30 – Ed: That Chuck.

42:36 – Chuck: Where do people get news?

42:42 – Ed: Go to here!

42:54 – Chuck: Where do people find you?

43:00 – Ed: Twitter!

43:07 – Chuck: Let’s do Picks!

43:20 – Advertisement – Fresh Books!

Links:

Picks:

Ed

Jan 08, 2019
JSJ 345: Azure Devops with Donovan Brown LIVE at Microsoft Ignite
57:32

Panel:

Charles Max Woods

Special Guests: Donovan Brown

In this episode, the Charles speaks with Donovan Brown. He is a principal DevOps Manager with Microsoft with a background in application development. He also runs one of the nation’s fastest growing online registration sites for motorsports events DLBRACING.com. When he is not writing software, he races cars for fun. Listen to today’s episode where Chuck and Donovan talk about DevOps, Azure, Python, Angular, React, Vue, and much, much more!

Show Topics:

1:41 – Chuck: The philosophies around DevOps. Just to give you an idea, I have been thinking about what I want to do with the podcasts. Freedom to work on what we want or freedom to work where we want, etc. Then that goes into things we don’t want to do, like fix bugs, etc. How does Microsoft DevOps to choose what they want to do?

2:37 – Guest: We want to automate as much as we can so the developer has less work. As a developer I want to commit code, do another task, rinse and repeating.

Minutes and not even hours later then people are tweeting about the next best thing. Do what you want, where you want. Code any language you want.

4:15 – Chuck: What has changed?

4:19 – Guest: The branding changed. The name wasn’t the most favorite among the people. The word “visual” was a concerned. What we have noticed that Azure will let me run my code no matter where I am. If you want to run Python or others it can run in Azure.

People didn’t need all of it. It comes with depositories, project management, and so much more! People could feel clumsy because there is so much stuff. We can streamline that now, and you can turn off that feature so you don’t have a heart attack. Maybe you are using us for some features not all of them – cool.

7:40 – Chuck: With deployments and other things – we don’t talk about the process for development a lot.

8:00 – Guest talks about the things that can help out with that.

Guest: Our process is going to help guide you. We have that all built into the Azure tab feature. They feel and act differently. I tell all the people all the time that it’s brilliant stuff. There are 3 different templates. The templates actually change over the language. You don’t have to do mental math.

9:57 – Chuck: Just talking about the process. Which of these things we work on next when I’ve got a bug, or a ...

10:20 – Guest: The board system works like for example you have a bug. The steps to reproduce that bug, so that there is no question what go into this specific field. Let the anatomy of the feature do it itself!

11:54 – Chuck comments.

12:26 – Chuck: Back to the feature. Creating the user stories is a different process than X.

12:44 – Guest – You have a hierarchy then, right? Also what is really cool is we have case state management. I can click on this and I expect this to happen...

These are actual tasks that I can run.

13:52 – Chuck: Once you have those tests written can you pull those into your CI?

14:00 – Guest: “Manual tests x0.”

Guest dives into the question.

14:47 – I expect my team to write those test cases. The answer to your question is yes and no.

We got so good at it that we found something that didn’t even exist, yet.

16:19 – Guest: As a developer it might be mind

16:29 – Chuck: I fixed this bug 4x, I wished I had CI to help me.

16:46 – Guest: You get a bug, then you fix a code, etc., etc. You don’t know that this original bug just came back. Fix it again. Am I in Groundhog Day?

They are related to each other. You don’t have a unit test to tell you. When you get that very first bug – write a unit test. It will make you quicker at fixing it. A unit test you can write really fast over, and over, again. The test is passing. What do you do? Test it. Write the code to fix that unit test. You can see that how these relate to each other. That’s the beauty in it.

18:33 – Chuck: 90% of the unit tests I write – even 95% of the time they pass. It’s the 5% you would have no idea that it’s related. I can remember broad strokes of the code that I wrote, but 3 months down the road I can’t remember.

19:14 – Guest: If you are in a time crunch – I don’t have time for this unit test.

Guest gives us a hypothetical situation to show how unit tests really can help.

20:25 – Make it muscle memory to unit test. I am a faster developer with the unit tests.

20:45 – Chuck: In the beginning it took forever. Now it’s just how I write software now.

It guides my thought process.

21:06 – Guest: Yes! I agree.

22:00 – Guest: Don’t do the unit tests

22:10 – Chuck: Other place is when you write a new feature,...go through the process. Write unit tests for the things that you’ve touched. Expand your level of comfort.

DevOps – we are talking about processes. Sounds like your DevOps is a flexible tool. Some people are looking for A METHOD. Like a business coach. Does Azure DevOps do that?

23:13 – Guest: Azure DevOps Projects. YoTeam.

Note.js, Java and others are mentioned by the Guest.

25:00 – Code Badges’ Advertisement

25:48 – Chuck: I am curious – 2 test sweets for Angular or React or Vue. How does that work?

26:05 – Guest: So that is Jasmine or Mocha? So it really doesn’t matter. I’m a big fan of Mocha. It tests itself. I install local to my project alone – I can do it on any CI system in the world. YoTeam is not used in your pipeline. Install 2 parts – Yo and Generator – Team. Answer the questions and it’s awesome. I’ve done conferences in New Zealand.

28:37 – Chuck: Why would I go anywhere else?

28:44 – Guest: YoTeam  was the idea of...

28:57 – Check out Guest

29:02 – Guest: I want Donovan in a box. If I weren’t there then the show wouldn’t exist today.

29:40 – Chuck: Asks a question.

29:46 – Guest: 5 different verticals.

Check out this timestamp to see what Donovan says the 5 different verticals are. Pipelines is 1 of the 5.

30:55 – Chuck: Yep – it works on my Mac.

31:04 – Guest: We also have Test Plant and Artifacts.

31:42 – Chuck: Can you resolve that on your developer machine?

31:46 – Guest: Yes, absolutely! There is my private repository and...

33:14 – Guest: *People not included in box.*

33:33 – Guest: It’s people driven. We guide you through the process. The value is the most important part and people is the hardest part, but once on

33:59 – Chuck: I am listening to this show and I want to try this out. I want a demo setup so I can show my boss. How do I show him that it works?

34:27 – Azure.com/devops – that is a great landing page.

How can I get a demo going? You can say here is my account – and they can put a demo into your account. I would not do a demo that this is cool. We start you for free. Create an account. Let the CI be the proof. It’s your job to do this, because it will make you more efficient. You need me to be using these tools.

36:11 – Chuck comments.

36:17 – Guest: Say you are on a team of developers and love GitHub and things that integration is stupid, but how many people would disagree about...

38:02 – The reports prove it for themselves.

38:20 – Chuck: You can get started for free – so when do you have to start paying for it?

38:31 – Guest: Get 4 of your buddies and then need more people it’s $6 a month.

39:33 – Chuck adds in comments. If this is free?

39:43 – Guest goes into the details about plans and such for this tool. 

40:17 – Chuck: How easy it is to migrate away from it?

40:22 – Guest: It’s GITHub.

40:30 – Chuck: People are looing data on their CI.

40:40 – Guest: You can comb that information there over the past 4 years but I don’t know if any system would let you export that history.

41:08 – Chuck: Yeah, you are right.

41:16 – Guest adds more into this topic.

41:25 – Chuck: Yeah it’s all into the machine.

41:38 – Chuck: Good deal.

41:43 – Guest: It’s like a drug. I would never leave it. I was using TFS before Microsoft.

42:08 – Chuck: Other question: continuous deployment.

42:56 – When I say every platform, I mean every platform: mobile devices, AWS, Azure, etc.

Anything you can do from a command line you can do from our build and release system.

PowerShell you don’t have to abandon it.

45:20 – Guest: I can’t remember what that tool is called!

45:33 – Guest: Anything you can do from a command line. Before firewall. Anything you want.

45:52 – Guest: I love my job because I get to help developers.

46:03 – Chuck: What do you think the biggest mistake people are doing?

46:12 – Guest: They are trying to do it all at once. Fix that one little thing.

It’s instant value with no risks whatsoever. Go setup and it takes 15 minutes total. Now that we have this continuous build, now let’s go and deploy it. Don’t dream up what you think your pipeline should look like. Do one thing at a time. What hurts the most that it’s “buggy.” Let’s add that to the pipeline.

It’s in your pipeline today, what hurts the most, and don’t do it all at once.

49:14 – Chuck: I thought you’d say: I don’t have the time.

49:25 – Guest: Say you work on it 15 minutes a day. 3 days in – 45 minutes in you have a CSI system that works forever. Yes I agree because people think they don’t “have the time.”

50:18 – Guest continues this conversation.

How do you not have CI? Just install it – don’t ask. Just do the right thing.

50:40 – Chuck: I free-lanced and setup CI for my team. After a month, getting warned, we had a monitor up on the screen and it was either RED or GREEN. It was basically – hey this hurts and now we know. Either we are going to have pain or not have pain.

51:41 – Guest continues this conversation.

Have pain – we should only have pain once or twice a year.

Rollback.

If you only have it every 6 months, that’s not too bad.

The pain will motivate you.

52:40 – Azure.com/devops.

Azure DevOps’ Twitter

53:22 – Picks!

53:30 – Advertisement – Get a Coder Job

Links:

Sponsors:

Picks:

Charles

Donovan

Dec 25, 2018
MJS 090: AJ O’Neal
51:22

Panel: Charles Max Wood

Guest: A.J. O’Neal

This week on My JavaScript Story, Charles talks with A.J. O’Neal who is a panelist on My JavaScript Jabber usually, but today he is a guest! The guys talk about AJ’s background and past/current projects. Today’s topics include: JavaScript, Ruby, jQuery, Rails, Node, Python, and more.

In particular, we dive pretty deep on:

0:00 – Advertisement: Get A Coder Job!

1:23 – Chuck: Introduce yourself, please.

1:27 – AJ: I brief introduction: I am a quirky guy who is ADD and I love to figure out why/how things work. I like self-hosting or owning things in technology.

2:00 – Chuck: Where do you work now?

2:02 – AJ: I work in UTAH at Big Squid!

3:29 – AJ: I have my own company, too!

3:41 – Chuck: Yeah we’ve talked about that before. Where can we go?

3:54: AJ: We have 2 products that are both Node. Greenlock for Node.js is one of them! The other one is Telebit.

5:44 – Chuck: This interview is all about your background. How did you get into programming?

6:04 – AJ: I was in middle school but before that my grandmother was a secretary at the Pentagon. She worked on getting people paid and she wrote a program to assist these paychecks to be printed with fewer errors. Because of that she had a computer at home. I remember playing games on her computer.

The guest talks about his background in more detail.

15:21 – Chuck: No it’s interesting! I’ve done a couple hundred interviews and they all say either: I went to school for it OR I did it for my free time. It’s interesting to see the similarities!

16:00 – AJ: Yep that’s pretty much how I got into it! I went on a church service mission to Albania and really didn’t do any computer work during those 2 years.

19:39 – Chuck: You went to BYU and your mission trip. A lot of that stuff I can relate to and identify with b/c I went to BYU and went on missions trip, too! And then you got into Ruby and that’s how we met was through Ruby!

20:25 – AJ: Yep that’s it. Then that’s when I learned about Node, too. There was a guy with a funny hate – do you remember that? (No.)

21:03 – Chuck: Maybe?

21:07 – AJ continues.

27:53 – Chuck: What made you make the transition? People come into and out of different technologies all the time.

28:18 – AJ: Yeah it started with me with jQuery!

Rails has layers upon layers upon layers.

AJ talks about different technologies their similarities/differences and mentions: JavaScript, Rails, Python, Node, Ruby, and much more.

31:05 – Chuck: Node went out of their way on certain platforms that Rails didn’t prioritize.

31:11 – AJ continues to talk about different technologies and platforms.

33:00 – Chuck: You get into Node and then at what point does this idea of a home-server and Node and everything start to come together? How much of this do you want to talk bout? At one point did they start to gel?

33:33 – AJ: It’s been a very long process and started back in high school. It started with me trying to think: How do I get this picture on my phone to my mom? I thought of uploading it to Flickr or could I do this or that? What about sending it to someone in China?

39:57 – Chuck.

40:01 – AJ continues and talks about libraries and certificate standards.

42:00 – AJ continues with the topic: certificates.

42:44 – Chuck: I am going to go to PICKS! Where can people find you?

42:55 – AJ: Twitter! Blog! GitHub! Anywhere!

43:55 – Chuck: Picks!

43:58 – Advertisement – Fresh Books! 30-Day Trial!

END – Cache Fly

Links:

Sponsors:

Picks:

A.J.

Chuck

Dec 19, 2018
JSJ 344: Inclusive Components with Heydon Pickering
1:10:37

Panel:

  • Charles Max Wood
  • Aimee Knight
  • Chris Ferdinandi
  • Joe Eames

Special Guest: Heydon Pickering

In this episode, the panel talks with Heydon Pickering who is a designer and writer. The panel and the guest talk about his new book, which is centered on the topic of today’s show: inclusive components. Check out Heydon’s Twitter, Website, GitHub, and Mastodon social accounts to learn more about him. To purchase the book – go here!

Show Topics:

0:00 – Advertisement: KENDO UI

0:38 – Chuck: Aimee, Chris, Joe, and myself – we are today’s panel. My show the DevRev is available online to check it out.

1:30 – Guest: Plain ice cream would be frozen milk and that would be terrible. So I am lemon and candy JavaScript!

2:13 – Chuck: We are talking today about...?

2:22 – Chris: He’s talking about “inclusive components” today!

2:41 – Guest: Traveling is very stressful and I wanted something to do on the plane. I’ve done this book, “Inclusive Design Patterns.”

If you don’t want to buy the book you can go to the blog. I have been talking with Smashing Magazine.

5:40 – Panel.

5:47 – Guest: I approached Smashing Magazine initially. They didn’t think there was a market for this content at the time. They were very supportive but we will do it as an eBook so our costs our down. At the time, the editor came back and said that: “it was quite good!” We skimmed it but came back to it now and now the content was more relevant in their eyes. I didn’t want to do the same book but I wanted to do it around “patterns.” Rewriting components is what I do all the time. I use Vanilla JavaScript. Backbone.js is the trendy one.

9:52 – Panel: The hard book did it get published?

10:02 – Guest: We are in the works and it’s all in the final stages right now. It has to go through a different process for the print version.

11:54 – Panel.

11:58 – (Guest continues about the editorial process.)

12:09 – Panel: They probably switched to TFS – it’s Microsoft’s.

12:23 – Guest: There was this argument on Twitter about the different processors.

13:35 – Chris: What are the ways that people are breaking accessibility with their code through JavaScript? 

13:59 – Guest: The whole premise is that there aren’t a ton of different components that we use. Generally, speaking. Most things we do through JavaScript – it’s just different ways of doing this/that, and hiding things. I am discounting things with Node or other stuff. Most of what we are doing, with interactive design, is showing and hiding.

18:37 – Chris: I have some specialty friends where they tell me where I’ve screwed up my code. For example Eric Bailey and Scott O’Hara but, of course, in very kind ways. What are some things that I can make sure that my code is going to work for many different people.

19:18 – Guest: You have accessibility and inclusive design. People think of accessibility as a check-list and that’s okay but there could be problems with this.

26:00 – Panel: That’s a great guideline.

26:05 – Chris: You talked about ARIA roles and it can be confusing. One side is: I don’t know when to use these and the other side is: I don’t know when NOT to use these so I’m going to use them for EVERYTHING! I guess both can be detrimental. What’s your advice on this topic?

27:00 – Guest: Scott is great and I would trust him to the end of the Earth about what he says.

Guest mentions Léonie Watson and her talks about this topic.

29:26 – (Guest continues.)

29:36 – Advertisement – Sentry.io

30:31 – Chris.

30:40 – Guest: There is a lot of pressure, though, right? People wouldn’t blog about this if it wasn’t worthwhile. It doesn’t matter what the style is or what the syntax is.

The guest talks about not throwing ARIA onto everything.

36:34 – Aimee: Is this something that was mentioned in the book: people with disabilities and accessibility.

37:28 – Guest: Yes, of course. I think it’s important to make your interfaces flexible and robust to think and include people with disabilities.

39:00 – Guest mentions larger buttons.

40:52 – Panelists and Guest talk back-and-forth.

42:22 – Chris: It’s an accessibility and inclusivity element. I saw a dropdown menu and worked great on certain devices but not others. I could beat this horse all day long but the whole: what happens of the JavaScript file doesn’t load or just accordion options?

43:50 – Guest: It’s the progressive enhancement element.

44:05 – Guest: I think it’s worth noting. I think these things dovetail really nicely.

46:29 – Chris: Did you do a video interview, Aimee, talking about CSS? Is CSS better than JavaScript in some ways I don’t know if this is related or not?

47:03 – Aimee: When I talk about JavaScript vs. CSS...the browser optimizes those.

47:27 – Aimee: But as someone who loves JavaScript...and then some very talented people taught me that you have to find the right tool for the job.

47:29 – Guest: I am the other way around – interesting.

52:50 – Chuck: Picks!

52:55 – Advertisement – Get A Coder Job!

END – Advertisement: CacheFly!

Links:

Sponsors:

Picks:

Joe

Aimee

Chris

Charles

Heydon

Dec 18, 2018
MJS 089: Gareth McCumskey
27:07

Panel: Charles Max Wood

Guest: Gareth McCumskey

This week on My JavaScript Story, Charles talks with Gareth McCumskey who is a senior web developer for RunwaySale! They talk about Gareth’s background, current projects and his family. Check out today’s episode to hear all about it and much more!

In particular, we dive pretty deep on:

0:00 – Advertisement: Get A Coder Job!

0:53 – Chuck: Hey everyone! Welcome! We are talking today with Gareth McCumseky!

1:05 – Gareth: Hi!

1:22 – Chuck: Are you from Cape Town, Africa? (Guest: Yes!)

1:35 – Gareth and Chuck talk about his name, Gareth, and why it’s popular. 

1:49 – Chuck: I am in my late 40’s. You were here for JSJ’s Episode 291! It’s still a hot topic and probably should revisit that topic.

2:20 – Guest: Yes!

2:30 – Chuck: It’s interesting. We had a long talk about it and people should go listen to it!

2:45 – Guest: I am a backend developer for the most part.

3:03 – Chuck: Yeah I started off as an ops guy. It probably hurt me.

3:21 – Guest: Yeah, if you poke it a certain way.

3:29 – Chuck: Let’s talk about YOU! How did you get into programming?

3:39 – Guest: South Africa is a different culture to grow-up in vs. U.S. and other places. I remember the computer that my father had back in the day. He led me drive his car about 1km away and I was about 11 years old. We would take home the computer from his office – played around with it during the weekend – and put it back into his office Monday morning. This was way before the Internet. I was fiddling with it for sure.

The guest talks about BASIC.

6:20 – Chuck: How did you transfer from building BASIC apps to JavaScript apps?

6:30 – Guest: Yeah that’s a good story. When I was 19 years old...I went to college and studied geology and tried to run an IT business on the side. I started to build things for HTML and CSS and build things for the Web.

The guest goes into-detail about his background!

9:26 – Chuck: Yeah, jQuery was so awesome!

9:34 – Guest: Yeah today I am working on an app that uses jQuery! You get used to it, and it’s pretty powerful (jQuery) for what it is/what it does! It has neat tricks.

10:11 – Chuck: I’ve started a site with it b/c it was easy.

10:19 – Guest: Sometimes you don’t need the full out thing. Maybe you just need to load a page here and there, and that’s it.

10:39 – Chuck: It’s a different world – definitely!

10:48 – Guest: Yeah in 2015/2016 is when I picked up JavaScript again. It was b/c around that time we were expecting our first child and that’s where we wanted to be to raise her.

Guest: We use webpack.js now. It opened my eyes to see how powerful JavaScript is!

12:10 – Chuck talks about Node.js.

12:21 – Guest: Even today, I got into AWS Cognito!

13:45 – Chuck: You say that your problems are unique – and from the business end I want something that I can resolve quickly. Your solution sounds good. I don’t like messing around with the headaches from Node and others.

14:22 – Guest: Yeah that’s the biggest selling point that I’ve had.

15:47 – Chuck: How did you get into serverless?

15:49 – Guest: Funny experience. I am not the expert and I only write the backend stuff.

Guest: At the time, we wanted to improve the reliability of the machine and the site itself. He said to try serverless.com. At the time I wasn’t impressed but then when he suggested it – I took the recommendation more seriously. My company that I work for now...

17:39 – Chuck: What else are you working on?

17:45 – Guest: Some local projects – dining service that refunds you. You pay for a subscription, but find a cheaper way to spend money when you are eating out. It’s called: GOING OUT.

Guest: My 3-year-old daughter and my wife is expecting our second child.

18:56 – Chuck and Gareth talk about family and their children.

22:17 – Chuck: Picks!

22:29 – Advertisement – Fresh Books! 30-Day Trial!

END – Cache Fly

Links:

Sponsors:

Picks:

Charles Max Wood

Gareth McCumskey

Dec 12, 2018
JSJ 343: The Power of Progressive Enhancement with Andy Bell
1:05:17

Panel:

  • Charles Max Wood
  • Aimee Knight
  • Chris Ferdinandi
  • AJ O’Neal

Special Guest: Andy Bell

In this episode, the panel talks with Andy Bell who is an independent designer and developer who uses React, Vue, and Node. Today, the panelists and the guest talk about the power of progressive enhancements. Check it out!

Show Topics:

0:00 – Advertisement: KENDO UI

0:34 – Chuck: Hi! Our panel is AJ, Aimee, Chris, myself and my new show is coming out in a few weeks, which is called the DevRev! It helps you with developer’s freedom! I am super excited. Our guest is Andy Bell. Introduce yourself, please.

2:00 – Guest: I am an independent designer and developer out in the U.K.

2:17 – Chuck: You wrote things about Vanilla.js. I am foreshadowing a few things and let’s talk about the power and progressive enhancement.

2:43 – The guest gives us definitions of power and progressive enhancements. He describes how it works.

3:10 – Chuck: I’ve heard that people would turn off JavaScript b/c it was security concern and then your progressive enhancement would make it work w/o JavaScript. I am sure there’s more than that?

3:28 – The guest talks about JavaScript, dependencies, among other things.

4:40 – Chuck: Your post did make that very clear I think. I am thinking I don’t even know where to start with this. Are people using the 6th version? How far back or what are we talking about here?

5:09 – Guest: You can go really far back and make it work w/o CSS.

5:49 – Chris: I am a big advocate of progressive enhancement – the pushback I get these days is that there is a divide; between the broadband era and AOL dialup. Are there compelling reasons why progressive enhancements even matter?

6:48 – Guest.

8:05 – Panel: My family lives out in the boonies. I am aware of 50% of American don’t have fast Internet. People don’t have access to fast browsers but I don’t think they are key metric users.

8:47 – Guest: It totally depends on what you need it for. It doesn’t matter if these people are paying or not.

9:31 – Chris: Assuming I have a commute on the trail and it goes through a spotty section. In a scenario that it’s dependent on the JS...are we talking about 2 different things here?

10:14 – Panelist chimes-in.

10:36 – Chris: I can take advantage of it even if I cannot afford a new machine.

10:55 – Panel: Where would this really matter to you?

11:05 – Chris: I do have a nice new laptop.

11:12 – Chuck: I had to hike up to the hill (near the house) to make a call and the connection was really poor (in OK). It’s not the norm but it can happen.

11:37 – Chris: Or how about the All Trails app when I am on the trail.

11:52 – Guest.

12:40 – Chris: I can remember at the time that the desktop sites it was popular to have...

Chris: Most of those sites were inaccessible to me.

13:17 – Guest.

13:51 – Chuck: First-world countries will have a good connection and it’s not a big deal. If you are thinking though about your customers and where they live? Is that fair? I am thinking that my customers need to be able to access the podcast – what would you suggest? What are the things that you’d make sure is accessible to them.

14:31 – Guest: I like to pick on the minimum viable experience? I think to read the transcript is important than the audio (MP3).

15:47 – Chuck.

15:52 – Guest: It’s a lot easier with Vue b/c you don’t’ have to set aside rendering.

17:13 – AJ: I am thinking: that there is a way to start developing progressively and probably cheaper and easier to the person who is developing. If it saves us a buck and helps then we take action.

17:49 – Guest: It’s much easier if you start that way and if you enhance the feature itself.

18:38 – AJ: Let me ask: what are the situations where I wouldn’t / shouldn’t worry about progressive enhancements?

18:57 – Guest answers the question.

19:42 – AJ: I want people to feel motivated in a place WHERE to start. Something like a blog needs Java for comments.

Hamburger menu is mentioned, too.

20:20 – Guest.

21:05 – Chris: Can we talk about code?

21:16 – Aimee: This is the direction I wanted to go. What do you mean by that – building your applications progressively?

Aimee refers to his blog.

21:44 – Guest.

22:13 – Chuck: I use stock overflow!

22:20 – Guest.

22:24 – Chuck: I mean that’s what Chris uses!

22:33 – Guest (continues).

23:42 – Aimee.

23:54 – Chris.

24:09 – Chris

24:16 – Chris: Andy what do you think about that?

24:22 – Guest: Yes, that’s good.

24:35 – Chris: Where it falls apart is the resistance to progressive enhancements that it means that your approach has to be boring?

25:03 – Guest answers the question.

The guest mentions modern CSS and modern JavaScript are mentioned along with tooling.

25:50 – Chuck: My issue is that when we talk about this (progressive enhancement) lowest common denominator and some user at some level (slow network) and then they can access it. Then the next level (better access) can access it. I start at the bottom and then go up. Then when they say progressive enhancement I get lost. Should I scrap it and then start over or what?

26:57 – Guest: If it’s feasible do it and then set a timeline up.

27:42 – Chuck: You are saying yes do it a layer at a time – but my question is HOW? What parts can I pair back? Are there guidelines to say: do this first and then how to test?

28:18 – Advertisement – Sentry.io

29:20 – Guest: Think about the user flow. What does the user want to do at THIS point? Do you need to work out the actual dependencies?

30:31 – Chuck: Is there a list of those capabilities somewhere? So these users can use it this way and these users can use it that way?

30:50 – Guest answers the question.

31:03 – Guest: You can pick out the big things.

31:30 – Chuck: I am using this feature in the browser...

31:41 – Guest.

31:46 – Chris: I think this differently than you Andy – I’ve stopped caring if a browser supports something new. I am fine using CSS grid and if your browser doesn’t support it then I don’t have a problem with that. I get hung up on, though if this fails can they still get the content? If they have no access to these – what should they be able to do?

Note: “Cutting the Mustard Test” is mentioned.

33:37 – Guest.

33:44 – Chuck: Knowing your users and if it becomes a problem then I will figure it out.

34:00 – Chris: I couldn’t spare the time to make it happen right now b/c I am a one-man shop.

34:20 – Chuck and Chris go back-and-forth.

34:36 –Chris: Check out links below for my product.

34:54 – AJ: A lot of these things are in the name: progressive.

36:20 – Guest.

38:51 – Chris: Say that they haven’t looked at it all before. Do you mind talking about these things and what the heck is a web component?

39:14 – The guest gives us his definition of what a web component is.

40:02 – Chuck: Most recent episode in Angular about web components, but that was a few years ago. See links below for that episode.

40:25 – Aimee.

40:31 – Guest: Yes, it’s a lot like working in Vue and web components. The concepts are very similar.

41:22 – Chris: Can someone please give us an example? A literal slideshow example?

41:45 – Guest answers the question.

45:07 – Chris.

45:12 – Guest: It’s a framework that just happens to use web components and stuff to help.

45:54 – Chuck: Yeah they make it easier (Palmer). Yeah there is a crossover with Palmer team and other teams. I can say that b/c I have talked with people from both teams. Anything else?

46:39 – Chuck: Where do they go to learn more?

46:49 – Guest: Check out the Club! And my Twitter! (See links below.)

47:33 – Chuck: I want to shout-out about DevLifts that has $19 a month to help you with physical goals. Or you can get the premium slot! It’s terrific stuff. Sign-up with DEVCHAT code but there is a limited number of slots and there is a deadline, too. Just try it! They have a podcast, too!

49:16 – Aimee: Yeah, I’m on their podcast soon!

49:30 – Chuck: Picks!

END – Advertisement: CacheFly!

Links:

Sponsors:

Picks:

Aimee

Chris

AJ

Charles

Andy

Dec 11, 2018
MJS 088: Nicholas Zakas
46:10

Panel: Charles Max Wood

Guest: Nicholas Zakas

This week on My JavaScript Story, Charles talks with Nicholas Zakas who is a blogger, author, and software engineer. Nicholas’ website is titled, Human Who Codes – check it out! You can find him on Twitter, GitHub, and LinkedIn among other social media platforms. Today, Nicholas and Chuck talk about Nicholas’ background, JavaScript, and current projects.

In particular, we dive pretty deep on:

0:00 – Advertisement: Get A Coder Job!

1:00 – Chuck: Welcome! Give us a background, please, Nicholas!

1:14 – Guest: I am probably best known for making ESLint and I have written a bunch of books, too! (See links below.)

1:36 – Chuck: JSJ 336 and JSJ 075 episodes are the two past episodes we’ve had you on! (See links below.) Let’s go back and how did you get into programming?

1:58 – Guest: I think the first was written in BASIC, which was on a Laser computer. It was a cheaper knockoff version. I think I was into middle school when I got into BASIC. Then when I got into high school I did this computer project, which was the first time someone else used one of my programs.

4:02 – Chuck: Was it all in BASIC or something else?

4:13 – Guest: Just BASIC, but then transferred to something else when we got our first PC.

5:13 – Chuck: How did you get to use JavaScript?

5:18 – Guest: 1996 was my freshman year in college. Netscape 3 got into popularity around this time. I had decided that I wanted to setup a webpage to stay in-touch with high school friends who were going into different directions.

I got annoyed with how static the [web] pages were. At the time, there was no CSS and the only thing you could change was the source of an image (on webpages).

On the <a tag> you could do...

8:35 – Chuck: You get into JavaScript and at what point did you become a prolific operator and author?

8:52 – Guest: It was not an overnight thing. It definitely was fueled by my own curiosity. The web was so new (when I was in college) that I had to explore on my own. I probably killed a few trees when I was in college. Printing off anything and everything I could to learn about this stuff!

10:03 – Guest (continues): Professors would ask ME how to do this or that on the departmental website. When I was graduating from college I knew that I was excited about the WEB. I got a first job w/o having to interview.

12:32 – Guest (continues): I got so deep into JavaScript!

13:30 – Guest (continued): They couldn’t figure out what I had done. That’s when I got more into designing JavaScript APIs. About 8 months after graduating from college I was unemployed. I had extra time on my hands. I was worried that I was going to forget the cool stuff that I just developed there. I went over the code and writing for myself how I had constructed it. My goal was to have an expandable tree. This is the design process that I went through. This is the API that I came up with so you can insert and how I went about implementing it. At some point, I was on a discussion with my former colleagues: remember that JavaScript tree thing I wrote – I wrote a description of how I did it. Someone said: Hey this is really good and you should get this published somewhere. Huh! I guess I could do that. I went to websites who were publishing articles on JavaScript. I went to submit the article to one of them. I think it was DevX or WebReference.

18:03 – Guest: A book is a compilation of different articles?! I can do that. I wanted to write a book that would fill in that next step that was missing. I didn’t know what the book was going to be, and I decided to start writing. Once I’ve had enough content I would take a step back and see what it was about. (Check out Nicholas’ books here!)

19:01 – Chuck: Oh you can turn this into a book!

19:10 – Guest: There was very little that I had planned out ahead of time. Anything that happened to me that was exciting had stumbled into my lap!

19:37 – Chuck: That’s how I felt about podcasting – it fell into my lap/life!

19:50 – Chuck: Listeners – check out the past episodes with Nicholas, please. Nicholas, what are you proud of?

20:10 – Guest: In 2006, I was at Yahoo and started off with My Yahoo Team. This was the first time that I was exposed to a massive amount of JavaScript in a single web application.

26:21 – Chuck: Can you talk about your health issues? People would definitely benefit from your example and your story.

26:44 – Guest: I think it is something important for people to understand.

The guest talks about Lyme Disease.

35:49 – Chuck: Yep taking care of yourself is important!

36:00 – Guest: Yes to enjoy time with friends and explore other hobbies. Help yourself to de-stress is important. Cognitive work is very draining. When you aren’t getting the right amount of sleep your body is going to get stressed out. Take the time to do nonsense things. You need to let your brain unwind! I love these adult coloring books that they have!

38:07 – Chuck: I love to take a drive up the canyon.

38:12 – Guest.

38:24 – Chuck: Yeah to focus on ourselves is important.

38:36 – Guest: Your body will make it a point to say: pay attention to me! Your body goes into flight or fight mode and your systems shut-off, which of course is not good. You don’t want your body to stay in that state.

New parents get sick frequently with newborns, because they aren’t getting enough sleep.

41:08 – Guest: Get some R&R!

41:20 – Chuck: This is great, but I have another call! Let’s do some Picks!

41:35 – Advertisement – Fresh Books! 30-Day Trial!

END – Cache Fly

Links:

Sponsors:

Picks:

Charles Max Wood

  • Wall Calendars – 6 ft. x3 ft.

Nicholas Zakas

Dec 05, 2018
JSJ 342: Aurelia in Action with Sean Hunter
1:00:10

Panel:

  • AJ O’Neal
  • Joe Eames
  • Jesse Sanders

Special Guest: Sean Hunter

In this episode, the panel talks with Sean Hunter who is a software developer, speaker, rock climber, and author of “Aurelia in Action” published by Manning Publications! Today, the panelists and Sean talk about Aurelia and other frameworks. Check it out!

Show Topics:

0:00 – Advertisement: KENDO UI

0:38 – Joe: Hello! Our panelists are AJ, Jesse, myself, and our special guest is Sean Hunter (from Australia)! What have you been doing with your life and what is your favorite movie?

1:45 – Guest talks about Vegemite!

2:20 – Guest: I was in the UK and started using Aurelia, which I will talk about today. I have done some talks throughout UK about Aurelia. Also, the past year moved back to Australia had a baby son and it’s been a busy year. Writing a book and being a new parent has been hard.

3:22 – Panel: Tell us the history of Aurelia, please?

3:31 – Panel: Is it like jQuery, React, Vue or what?

3:44 – Guest: Elevator pitch – Aurelia is a single-page app framework! It’s most similar to Vue out of those frameworks; also, similarities to Ember.js.

4:30 – Guest goes into detail about Aurelia.

6:15 – Panel: It sounds like convention over configuration.

6:42 – Guest: Yes that is correct.

7:21 – Panel: Sounds like there is a build-step to it.

7:39 – Guest: There is a build-step you are correct. You will use Webpack in the background.

9:57 – The guest talks about data binding among other things.

10:30 – Guest: You will have your app component and other levels, too.

10:37 – Panel: I am new to Aurelia and so I’m fresh to this. Why Aurelia over the other frameworks? Is there a CLI to help?

11:29 – Guest: Let me start with WHY Aurelia and not the other frameworks. The style that you are using when building the applications is important for your needs. In terms of bundling there is a CUI and that is a way that I prefer to start my projects. Do you want to use CSS or Webpack or...? It’s almost a wizard process! You guys have any questions about the CLI?

14:43 – Panel: Thanks! I was wondering what is actually occurring there?

15:25 – Guest: Good question. Basically it’s that Aurelia has some built-in conventions. Looking at the convention tells Aurelia to pick the Vue model by name. If I need to tell the framework more information then...

17:46 – Panel: I think that for people who are familiar with one or more framework then where on that spectrum would Aurelia fall?

18:20 – Guest: It’s not that opinionated as Ember.js.

19:09 – Panel: Talking about being opinionated – what are some good examples of the choices that you have and how that leads you down a certain path? Any more examples that you can give us? 

19:38 – Guest: The main conventions are what I’ve talked about already. I can’t think of more conventions off the top of my head. There are more examples in my book.

20:02 – Panel: Your book?

20:10 – Guest: Yep.

20:13 – Panel.

20:20 – Guest. 

21:58 – Panel: Why would I NOT pick Aurelia?

22:19 – Guest: If you are from a React world and you like having things contained in a single-file then Aurelia would fight you. If you want a big company backing then Aurelia isn’t for you.

The guest goes into more reasons why or why not one would or wouldn’t want to use Aurelia.

24:24 – Panel: I think the best sell point is the downplay!

24:34 – Guest: Good point. What does the roadmap look like for Aurelia’s team?

25:00 – Guest: Typically, what happens in the Aurelia framework is that data binding (or router) gets pushed by the core team. They are the ones that produce the roadmap and look forward to the framework. The core team is working on the NEXT version of the framework, which is lighter, easier to use, and additional features. It’s proposed to be out for release next year.

26:36 – Advertisement – Sentry.io

27:34 – Panel: I am going to take down the CLI down and see what it does. I am looking at it and seeing how to teach someone to use it. I am using AU, new command, and it says no Aurelia found. I am stuck.

28:06 – Guest: What you would do is specify the project name that you are trying to create and that should create it for you. 

28:40 – Panel.

28:45 – Panel.

28:50 – Panel: Stand up on your desk and say: does anyone know anything about computers?!

29:05 – Panelists go back-and-forth.

29:13 – Panel: What frameworks have you used in the past?

29:17 – Guest: I was using single-paged apps back in 2010.

31:10 – Panel: Tell us about the performance of Aurelia?

31:17 – Guest: I was looking at the benchmarks all the time. Last time I looked the performance was comparable. Performances can me measured in a number of different of ways.

The guest talks about a dashboard screen that 20 charts or something like that. He didn’t notice any delays getting to the client.

33:29 – Panel: I heard you say the word “observables.”

33:39 – Guest answers the question.

35:30 – Guest: I am not a Redux expert, so I really can’t say. It has similar actions like Redux but the differences I really can’t say.

36:11 – Panel: We really want experts in everything! (Laughs.)

36:25 – Panelist talks about a colleagues’ talk at a conference. He says that he things are doing too much with SPAs. They have their place but we are trying to bundle 8-9 different applications but instead look at them as...

What are your thoughts of having multiple SPAs?

37:17 – Guest.

39:08 – Guest: I wonder what your opinions are? What about the splitting approach?

39:22 – Panel: I haven’t looked at it, yet. I am curious, though. I have been developing in GO lately.

40:20 – Guest: I think people can go too far and making it too complex. You don’t want to make the code that complex.

40:45 – Panel: Yeah when the code is “clean” but difficult to discover that’s not good.

41:15 – Guest: I agree when you start repeating yourself then it makes it more difficult.

41:35 – Panel: Chris and I are anti-framework. We prefer to start from a fresh palette and see if a framework can fit into that fresh palette. When you start with a certain framework you are starting with certain configurations set-in-place. 

42:48 – Joe: I like my frameworks and I think you are crazy!

43:05 – Panel.

43:11 – Joe: I have a love affair with all frameworks.

43:19 – Panel: I think I am somewhere in the middle.

43:49 – Panel: I don’t think frameworks are all bad but I want to say that it’s smart to not make it too complex upfront. Learn and grow.

44:28 – Guest: I think a good example of that is jQuery, right?

45:10 – Panelist talks about C++, jQuery, among other things.

45:34 – Guest: Frameworks kind of push the limits.

46:08 – Panelist talks about JavaScript, frameworks, and others.

47:04 – Panel: It seems simple to setup routes – anything to help with the lazy way to setup?

47:35 – Guest answers question.

48:37 – Panel: How do we manage complexity and how does messaging work between components?

48:54 – Guest: The simple scenario is that you can follow a simple pattern, which is (came out of Ember community) and that is...Data Down & Actions Up!

50:45 – Guest mentions that Aurelia website!

51:00 – Panel: That sounds great! Sounds like the pattern can be plugged in easily into Aurelia.

51:17 – Picks!

51:20 – Advertisement: Get A Coder Job!

END – Advertisement: CacheFly!

Links:

Sponsors:

Picks:

Joe

AJ

Jesse Sanders

Sean

Dec 04, 2018
MJS 087: Rob Eisenberg
45:43

Panel: Charles Max Wood

Guest: Rob Eisenberg

This week on My JavaScript Story, Charles speaks with Rob Eisenberg who is a principal software engineer at InVision, and is the creator of Caliburn.Micro, Durandal, and Aurelia. Today, they talk about Rob’s past and current projects among other things.

In particular, we dive pretty deep on:

1:40 – Chuck: Our special guest is Rob Eisenberg. We’ve had you on Adventures on Angular (09 and 80), JavaScript Jabber, and others like Episode 203.

2:36 – Rob: That was over the period of 4 years all of those podcasts. I am getting older.

2:50 – Chuck: Anything that you’ve done that you want to talk about?

3:04 – Rob: I am known for opensource work over the years. Maybe we can talk about my progression through that over the years.

3:25 – Chuck: How did you get into this field?

3:29 – Rob: When I was 8 years old my dad wanted to buy a computer. We went to Sears and we bought our first computer. You’d buy the disk drive and the keyboard looking unit. You could by a monitor, we didn’t, but we used a black and white TV for our monitor. Later we bought the colored monitor and printer. That’s where my fascination started. We set up the computer in my bedroom. We played games. I got intrigued that you could write code to make different games.

It was just magical for me. As being an adult engineer I am trying to go back to that moment to recapture that magical moment for me. It was a great creative outlet. That’s how I first started. I started learning about Q basic and other flavors of Basic. Then I heard about C! I remember you could do anything with C. I went to the library and there wasn’t the Internet, yet. There were 3 books about C and read it and re-read it. I didn’t have any connections nor a compiler. When I first learned C I didn’t have a compiler. I learned how to learn the codes on notebook paper, but as a kid this is what I first started doing. I actually saved some of this stuff and I have it lying around somewhere. I was big into adventure games. That’s when I moved on C++ and printed out my source code! It’s so crazy to talk about it but at the time that’s what I did as a kid. In JHS there was one other kid that geeked-out about it with me. It was a ton of fun.

Then it was an intense hobby of mine. Then at the end of HS I had 2 loves: computers and percussion. I was composing for music, too. I had to decide between music or coding. I decided to go with music. It was the best decision I ever made because I studied music composition. When you are composing for dozens of instruments to play one unified thing. Every pitch, every rhythm, and it all works together. Why this note and why that rhythm? There is an artistic side to this and academia, too. The end result is that music is enjoyed by humans; same for software.

I did 2 degrees in music and then started my Master’s in Music. I then realized I love computers, too, how can I put these two together? I read some things on audio programming, and it stepped me back into programming. At this time, I was working in music education and trying to compose music for gamming. Someone said look at this program called C#! I don’t know cause...how can you get any better than C++?!

In 2003 – I saw a book: teach yourself C# in 24 hours. I read it and I was enthralled with how neat this was! I was building some Windows applications through C#. I thought it was crazy that there was so much change from when I was in college.

17:00 – Chuck: You start making this transition to web? What roped you in?

17:25 – Rob: I realized the power of this, not completely roped in just, yet. Microsoft was working (around this time) with...

19:45 – (Continued from Rob): When Silver Light died that’s when I looked at the web. I said forget this native platform. I came back to JavaScript for the 2nd time – and said I am going to learn this language with the same intensity as I learned C++ and C#. I started working with Durandal.

21:45 – Charles: Yeah, I remember when you worked with the router and stuff like that. You were on the core team.

21:53 – Rob: The work I did on that was inspired by screen activation patterns.

23:41 – Rob (continued): I work with InVision now.

24:14 – Charles: I remember you were on the Angular team and then you transitioned – what was that like?

24:33 – Rob comments.

25:28 – Rob (continued): I have been doing opensource for about 13 years. I almost burned myself a few times and almost went bankrupt a few times. The question is how to be involved, but run the race without getting burned-out. It’s a marathon not a sprint.

These libraries are huge assets. Thank God I didn’t go bankrupt but became very close.

The more popular something if there are more varieties and people not everyone is so pleasant. It’s okay to disagree. Now what are the different opinions and what works well for your team and project? It’s important to stay to your core and vision. Why would you pick THIS over THAT?

It’s a fun and exciting time if you are

28:41 – Charles: What are you

28:47 – Rob: InVision and InVision studio. It’s a tool for designing screens. I work on that during the day and during the night I work on Aurelia.

30:43 – Chuck: I am pretty sure that we have had people from InVision on a show before.

31:03 – Rob comments.

Rob: How we all work together.

31:20 – What is coming in with Aurelia next?

31:24 – Rob: We are trying to work with as much backwards compatibility as we can. So you don’t see a lot of the framework code in your app code. It’s less intrusive. We are trying next, can we keep the same language, the same levels, and such but change the implementation under the hood. You don’t learn anything new. You don’t have new things to learn. But how it’s implemented it’s smaller, faster, and more efficient. We have made the framework more pluggable to the compiler-level. It’s fully supported and super accessible.

Frameworks will come and go – this is my belief is that you invest in the standards of the web. We are taking that up a notch. Unobtrusiveness is the next thing we want to do. 

We’ve always had great performance and now taking it to the next level. We are doing a lot around documentation. To help people understand what the architectural decisions are and why? We are taking it to the next level from our core. It’s coming along swimmingly so I am really excited. We’ve already got 90% test coverage and over 40,000 tests.

37:33 – Chuck: Let’s get you on JavaScript Jabber!

38:19 – Chuck: Where can people find you?

38:22 – Twitter, and everywhere else. Blog!

39:17 – Chuck: Picks?

39:23 – Rob dives in!

Links:

Sponsors:

Picks:

Rob

Charles

Nov 28, 2018
JSJ 341: Testing in JavaScript with Gil Tayar
1:02:49

Panel:

  • Aimee Knight
  • AJ O’Neal
  • Charles Max Wood

Special Guest: Gil Tayar

In this episode, the panel talks with Gil Tayar who is currently residing in Tel Aviv and is a software engineer. He is currently the Senior Architect at Applitools in Israel. The panel and the guest talk about the different types of tests and when/how one is to use a certain test in a particular situation. They also mention Node, React, Selenium, Puppeteer, and much more!

Show Topics:

0:00 – Advertisement: KENDO UI

0:35 – Chuck: Our panel is AJ, Aimee, myself – and our special guest is Gil Tayar. Tell us why you are famous!

1:13 – Gil talks about where he resides and his background. 

2:27 – Chuck: What is the landscape like now with testing and testing tools now?

2:39 – Guest: There is a huge renaissance with the JavaScript community. Testing has moved forward in the frontend and backend. Today we have lots of testing tools.  We can do frontend testing that wasn’t possible 5 years ago. The major change was React.

The guest talks about Node, React, tools, and more!

4:17 – Aimee: I advocate for tests and testing. There is a grey area though...how do you treat that? If you have to get something into production, but it’s not THE thing to get into production, does that fall into product or...what?

5:02 – Guest: We decided to test everything in the beginning. We actually cam through and did that and since then I don’t think I can use the right code without testing. There are a lot of different situations, though, to consider.

The guest gives hypothetical situations that people could face.

6:27 – Aimee.

6:32 – Guest: The horror to changing code without tests, I don’t know, I haven’t done that for a while. You write with fear in your heart. Your design is driven by fear, and not what you think is right. In the beginning don’t write those tests, but...

7:22 – Aimee: I totally agree and I could go on and on and on.

7:42 – Panel: I want to do tests when I know they will create value. I don’t want to do it b/c it’s a mundane thing. Secondly, I find that some times I am in a situation where I cannot write the test b/c I would have to know the business logic is correct. I am in this discovery mode of what is the business logic? I am not just building your app.

I guess I just need advice in this area, I guess.

8:55 – Guest gives advice to panelist’s question. He mentions how there are two schools of thought.

10:20 – Guest: Don’t mock too much.

10:54 – Panel: Are unit tests the easiest? I just reach for unit testing b/c it helps me code faster. But 90% of my code is NOT that.

11:18 – Guest: Exactly! Most of our test is glue – gluing together a bunch of different stuff! Those are best tested as a medium-sized integration suite.

12:39 – Panel: That seems like a lot of work, though! I loathe the database stuff b/c they don’t map cleanly. I hate this database stuff.

13:06 – Guest: I agree, but don’t knock the database, but knock the level above the database.

13:49 – Guest: Yes, it takes time! Building the script and the testing tools, but when you have it then adding to it is zero time. Once you are in the air it’s smooth sailing.

14:17 – Panel: I guess I can see that. I like to do the dumb-way the first time. I am not clear on the transition.

14:47 – Guest: Write the code, and then write the tests.

The guest gives a hypothetical situation on how/when to test in a certain situation.

16:25 – Panel: Can you talk about that more, please?

16:50 – Guest: Don’t have the same unit – do browser and business logic stuff separated. The real business logic stuff needs to be above that level. First principle is separation of concerns.

18:04 – Panel talks about dependency interjection and asks a question.

18:27 – Guest: What I am talking about very, very light inter-dependency interjection.

19:19 – Panel: You have a main function and you are doing requires in the main function. You are passing the pieces of that into the components that need it.

19:44 – Guest: I only do it when it’s necessary; it’s not a religion for me. I do it only for those layers that I know will need to be mocked; like database layers, etc.

20:09 – Panel.

20:19 – Guest: It’s taken me 80 years to figure out, but I have made plenty of mistakes a long the way. A test should run for 2-5 minutes max for package.

20:53 – Panel: What if you have a really messy legacy system? How do you recommend going into that? Do you write tests for things that you think needs to get tested?

21:39 – Guest answers the question and mentions Selenium!

24:27 – Panel: I like that approach.

24:35 – Chuck: When you say integration test what do you mean?

24:44 – Guest: Integration tests aren’t usually talked about. For most people it’s tests that test the database level against the database. For me, the integration tests are taking a set of classes as they are in the application and testing them together w/o the...so they can run in millisecond time.

26:54 – Advertisement – Sentry.io

27:52 – Chuck: How much do the tools matter?

28:01 – Guest: The revolutions matter. Whether you use Jasmine or Mocha or whatever I don’t think it matters. The tests matter not the tools.

28:39 – Aimee: Yes and no. I think some tools are outdated.

28:50 – Guest: I got a lot of flack about my blog where I talk about Cypress versus Selenium. I will never use Jasmine. In the end it’s the

29:29 – Aimee: I am curious would you be willing to expand on what the Selenium folks were saying about Puppeteer and others may not provide?

29:54 – Guest: Cypress was built for frontend developers. They don’t care about cross browser, and they tested in Chrome. Most browsers are typically the same. Selenium was built with the QA mindset – end to end tests that we need to do cross browser.

The guest continues with this topic.

30:54 – Aimee mentions Cypress.

31:08 – Guest: My guessing is that their priority is not there. I kind of agree with them.

31:21 – Aimee: I think they are focusing on mobile more.

31:24 – Guest: I think cross browser testing is less of an issue now. There is one area that is important it’s the visual area! It’s important to test visually across these different browsers.

32:32 – Guest: Selenium is a Swiss knife – it can do everything.

33:32 – Chuck: I am thinking about different topics to talk about. I haven’t used Puppeteer. What’s that about?

33:49 – Guest: Puppeteer is much more like Selenium. The reason why it’s great is b/c Puppeteer will always be Google Chrome.

35:42 – Chuck: When should you be running your tests? I like to use some unit tests when I am doing my development but how do you break that down?

36:06 – Guest.

38:30 – Chuck: You run tests against production?

38:45 – Guest: Don’t run tests against production...let me clarify!

39:14 – Chuck.

39:21 – Guest: When I am talking about integration testing in the backend...

40:37 – Chuck asks a question.

40:47 – Guest: I am constantly running between frontend and backend.

I didn’t know how to run tests for frontend. I had to invent a new thing and I “invented” the package JS DONG. It’s an implementation of Dong in Node. I found out that I wasn’t the only one and that there were others out there, too.

43:14 – Chuck: Nice! You talked in the prep docs that you urged a new frontend developer to not run the app in the browser for 2 months?

43:25 – Guest: Yeah, I found out that she was running the application...she said she knew how to write tests. I wanted her to see it my way and it probably was a radical train-of-thought, and that was this...

44:40 – Guest: Frontend is so visual.

45:12 – Chuck: What are you working on now?

45:16 – Guest: I am working with Applitools and I was impressed with what they were doing.

The guest goes into further detail.

46:08 – Guest: Those screenshots are never the same.

48:36 – Panel: It’s...comparing the output to the static site to the...

48:50 – Guest: Yes, that static site – if you have 30 pages in your app – most of those are the same. We have this trick where we don’t upload it again and again. Uploading the whole static site is usually very quick. The second thing is we don’t wait for the results. We don’t wait for the whole rendering and we continue with the tests.

50:28 – Guest: I am working mostly (right now) in backend.

50:40 – Chuck: Anything else? Picks!

50:57 – Advertisement: Get A Coder Job!

END – Advertisement: CacheFly!

Links:

Sponsors:

Picks:

Aimee

AJ

Charles

Gil

Nov 27, 2018
MJS 086: James Adams
32:07

Panel: Charles Max Wood

Guest: James Adams

This week on My JavaScript Story, Charles speaks with James Adams who is a web and a full stack developer who currently resides in Melbourne, Australia. Chuck and James talk about James’ background, current projects, JavaScript, Ruby, Meetups, and much more! Check out today’s episode to hear all of the details.

In particular, we dive pretty deep on:

0:00 – Advertisement: Get A Coder Job!

0:55 – Chuck: Welcome to My Java Script story! You are the 4th person I have talk to today. I have only talked to one person in the U.S. Other people were from Denmark, Tennessee (USA), and Bulgaria.

1:39 – Guest: I am in Australia!

1:48 – Chuck: I try to open it up for different times and different locations. I started making my own program. I want one tool to manage my podcast company.

2:20 – Guest.

2:26 – Chuck: Introduce yourself, please!

2:33 – Guest: I have been working in JavaScript for 2 years now, and I just FOUND it. I could have been put anywhere but working with a large company. I discovered React.js. I went to study Math and Chemistry originally.

3:24 – Chuck: What was it – why did you change from mathematics to programming?

3:38 – Guest: I like solving problems and that has been true my whole life.

4:25 – Chuck: I identify with that – you’re right – for me, it’s more tangible and it’s neat to see something being built.

White line on a black floor is mentioned.

5:30 – Guest: I had a great education, but seems like the education in the U.S. is more fun. We didn’t get to program and stuff like that.

5:51 – Chuck: My experience was that I got to do really interesting things in High School.

6:20 – Guest: I think you reap benefits by diving into one topic.

6:36 – Chuck: We were building little circuits that were turning on/off LED. We then went to building robots and then computer chips. How did you get into JavaScript?

7:01 – Guest: We didn’t touch JavaScript until my 3rd year. I went to a school in Jerusalem for a while.

9:05 – Chuck: How did you get your first programming job?

9:10 – Guest: I wasn’t really applying – I thought I would travel for a year or so. It was weird I didn’t think I had to apply to jobs right away. I applied to a few jobs, and my friend started sharing my resume around and I ended up doing some contract work for that company. I used RUBY for that team.

10:18 – Chuck: First few jobs I got were through the “spray-and-pray” method. The best jobs I got are because I KNEW somebody.

10:30 – Guest and Chuck go back-and-forth.

11:31 – Guest mentions networking.

11:41 – Chuck: What have you done with JavaScript that you are especially proud of?

11:45 – Guest.

13:43 – Chuck: I didn’t know that honestly. I never really thought of integrating React Native into a native app.

14:00 – Guest: Yeah, it’s really cool. I didn’t think about it before either!

14:24 – Chuck: What are you working on now?

14:28 – Guest: Actually, I am working on some integration with different parties. Now we are routing everything back to the backend.

15:46 – Chuck: I think I have heard of Pro...

15:52 – Guest: Yeah, they are located in the U.S.

16:01 – Chuck: Every community/country is different, but what is it like to be a programmer in Melbourne, Australia?

16:16 – Guest: It’s cool and I think it has a way to go. We have a React Meetup.

16:55 – Chuck: Sounds like you have a healthy community down there. So in Denmark if you get away from the bigger cities then you have a harder time finding a community in the rural areas.

17:30 – Guest: Do you spend more time online?

17:50 – Chuck: Yeah, I don’t know. I live in Utah. It is hard because there is a community North in Logan, UT.

18:13 – Guest: You have 5-6 main cities in Australia. We don’t have medium-sized cities. In the U.S. you have a mixture out there.

18:42 – Chuck talks about the population throughout Utah.

19:03 – Guest asks a question to Chuck.

19:09 – Chuck: Yes, Facebook is putting in Data Center about 20 minutes away from my house. They have built satellite offices here. The startup scene is picking up, too.

19:49 – Chuck: We are fairly large land wise. We can spread-out more.

20:07 – Guest talks about the population density in Australia vs. U.S.

20:20 – Chuck: It’s interesting to see what the differences are.

If you are in a community that HAS a tech community you are set.

20:39 – Guest: I find it really interesting.

21:25 – Guest: Humans are a funny species – you can put out your hand, shake it, and you start talking.

21:45 – Chuck talks about the tech hubs in Fort Lauderdale, Florida in U.S.

22:17 – Guest: Yeah, if you aren’t interested than you aren’t interested.

22:28 – Chuck.

22:37 – Guest.

22:53 – Chuck: Join the mailing list, get involved and there are online groups, too.

23:11 – Guest: I really didn’t get into functional programming at first. I got to talk about this at a React Meetup.

24:25 – Chuck: The logic is the same.

24:32 – Guest: You put these functions together and there you go!

24:40 – Chuck: Go ahead.

24:48 – The guest is talking about React’s integrations.

24:56 – Chuck: Anything that is shared and put in some functional component, hook it up, and that’s it. Picks!

25:09 – Advertisement – Fresh Books! 30-Day Trial!

END – Cache Fly

29:55 – Guest: Shout-out to my mentors. I am really blessed to have these mentors in my life and I wouldn’t be here today if it wasn’t for them. Lucas is one of them who work with Prettier.

Links: