1

188 JSJ JavaScript Code Smells with Elijah Manor

Check out JS Remote Conf!

 

02:22 - Elijah Manor Introduction

04:49 - What is a “Code Smell”?

10:21 - Copy/Paste Code Error

13:11 - Using ES6 to Eliminate Code Smells

15:48 - Refactoring Case Statements

21:29 - Juniors and Code Smells

  • Code Reviews

27:29 - Isomorphic Code

31:12 - Framework Code Smells

33:47 - Identifying New Code Smells

36:33 - When Code Smells are OK

39:10 - Why use parameters?

Picks

Terms And Conditions May Apply (AJ)
Nodevember (Aimee)
Developer Tea (Aimee)
Jake Shimabukuro (Joe)
Screeps (Joe)
react-styleguide-generator (Elijah)
react-styleguidist (Elijah)
The Phantom Menace - What it Should Have Been (AJ)
Attack of the Clones - What it Should Have Been (AJ)




1

189 JSJ PureScript with John A. De Goes and Phil Freeman

02:54 - John A. De Goes Introduction

06:34 - Phil Freeman Introduction

07:38 - What is PureScript?

09:11 - Features

12:24 - Overcoming the Vocabulary Problem in Functional Programming

20:07 - Prerequisites to PureScript

26:14 - PureScript vs Elm

40:37 - Similar Languages to PureScript

44:07 - PureScript Background

47:48 - The WebAssembly Effect

51:01 - Readability

53:42 - PureScript Learning Resources

55:43 - Working with Abstractions

Picks

Philip Robects: What the heck is the event loop anyways? @ JS Conf EU 2014 (Aimee)
loupe (Aimee)
The Man in the High Castle (Jamison)
Nickolas Means: How to Crash an Airplane @ RubyConf 2015 (Jamison)  
Lambda Lounge Utah (Jamison)
Michael Trotter: Intro to PureScript @ Utah Haskell Meetup (Jamison)
Utah Elm Users (Jamison)
Screeps (Joe)
Most Likely to Succeed: Preparing Our Kids for the Innovation Era by Tony Wagner (Joe)
Dark Matter (Joe)
LambdaConf (John)
@lambda_conf (John)
ramda (John)
Proper beef, ale & mushroom pie (John)
Tidal (Phil)
purescript-flare (Phil)
The Forward JS Conference (Phil)




1

190 JSJ Web Performance Part 2 with Nik Molnar

There’s still time! Check out and get your JS Remote Conf tickets!

 

JavaScript Jabber Episode #184: Web Performance with Nik Molnar (Part 1)

 

02:04 - Nik Molnar Introduction

02:58 - RAIL (Response, Animation, Idle, Load)

06:03 - How do you know what is being kicked off? How do you avoid it?

08:15 - Frame Rates

16:05 - Scrolling

19:09 - The Web Animation API

21:40 - Animation Accessibility, Usability, and Speed

27:14 - HTTP and Optimization

35:25 - ES6 and Performance

40:46 - Understanding the Scale

43:30 RAIL (Response, Animation, Idle, Load) Cont’d

46:15 - Navigator.sendBeacon()

47:51 - Memory Management and Garbage Collection

Picks

Hardcore History Podcast (Jamison)
Static vs. Dynamic Languages: A Literature Review (Jamison)
TJ Fuller Tumblr (Jamison)
Pickle Cat (Jamison)
WatchMeCode (Aimee)
Don’t jump around while learning in JavaScript (Aimee)

P!nk - Bohemian Rhapsody (Joe)
Rich Hickey: Design, Composition and Performance (Joe)
Undisclosed Podcast (AJ)
History of Gaming Historian - 100K Subscriber Special (AJ)
15 Minute Podcast Listener chat with Charles Wood (Chuck)
JS Remote Conf (Chuck)
All Remote Confs (Chuck)
Clash of Clans (Chuck)
Star Wars Commander (Chuck)
Coin (Chuck)
The Airhook (Chuck)
GoldieBlox (Chuck)




1

191 JSJ Stripe with Craig McKeachie

Check out JS Remote Conf!

 

02:26 - Craig McKeachie Introduction

02:54 - Stripe

08:22 - Behind the Scenes: The Stripe API

11:51 - Security

15:23 - What happens when things go wrong?

23:18 - Server-side Libraries

25:34 - Building Custom Forms

29:06 - Stripe + Promises

32:43 - Handling Payments on Behalf of your Customers

34:40 - Stripe Integration

37:39 - The Stripe Dashboard

Picks

Star Wars (Joe)
Masks: A New Generation (Joe)
A Defense of Comic Sans (AJ)
Runscope T-shirt (AJ)
angularjs-in-patterns (Aimee)
Mall of America Events: Photos with Santa (Aimee)
Christmas Cats TV (Joe)
Cats with Cucumbers (Aimee)
RIDGID X4 18-Volt Lithium-Ion Cordless Drill and Impact Driver Combo Kit (2-Tool) (Chuck)
JS Remote Conf (Chuck)
Angular Remote Conf Video Playlist (Chuck)
Hour of Code (Craig)
[egghead.io] ...learn when to use a service, factory, or provider? (Craig)
A Dark Room (Craig)
EntreProgrammers: Episode 47.1 A Dark Room for iOS (Chuck)
EntreProgrammers: Episode 47.2 A Dark Room for iOS (Chuck)
Craig’s Babel Course on Pluralsight (Craig)




1

192 JSJ IoT with Peter Hoddie

Get your JS Remote Conf tickets!

 

02:10 - Peter Hoddie Introduction

02:36 - Kinoma     

03:28 - Embedded Development in C; Approachability

05:24 - IoT = Internet of Things; Embedded Devices and Systems

08:59 - Mesh Networking

10:41 - IoT and JavaScript

20:08 - Getting Started & Electrical Engineering

22:42 - Testing

24:56 - Security

31:07 - Bootstrap

34:16 - Community Resistance

35:56 - Where is IoT heading as far as applications go?

  • Scriptability

41:57 - Preparing Today for the Future

Picks

Let’s Encrypt (AJ)
The web accessibility basics (Jamison)
readthesource (Aimee)
Drip (Chuck)
Twilio (Chuck)
JS Remote Conf (Chuck)
All Remote Confs (Chuck)
Standard ECMA-262 (Peter)
The Future of the Internet--And How to Stop It by Jonathan Zittrain (Peter)
Software Freedom Conservancy (Peter)




1

193 JSJ Electron with Jessica Lord and Amy Palamountain

Get your JS Remote Conf tickets!

Freelance’ Remote Conf’s schedule is shaping up! Head over here to check it out!

 

02:17 - Jessica Lord Introduction

02:40 - Amy Palamountain Introduction

03:14 - Electron

04:55 - Cross-platform Compatibility

05:55 - Electron/Atom + GitHub

07:16 - Electron/Atom + React ?

07:57 - Use Cases for Electron

15:09 - Creating Electron Apps on Phones

17:25 - Running a Service Inside of Electron  

19:46 - Making an Electron App

24:09 - Sharing Code

27:40 - Plugins for Functionality

31:08 - Keeping Up-to-date/Adding Features

33:14 - Pain Points

36:22 - Using Electron for Native

39:48 - What is a “webview”?

42:12 - Getting Started with Electron

43:28 - Robotics/Hardware Hacking with Electron

Picks

Autolux - Future Perfect (Jamison)
Move Fast and Break Nothing (Aimee)
[egghead.io] Getting Started with Redux (Dave)
Destructuring and parameter handling in ECMAScript 6 (Dave)
JS Remote Conf (Chuck)
Freelance Remote Conf (Chuck)
React Remote Conf (Chuck)
Pebble Time Steel (Chuck)
UglyBaby Etsy Shop (Amy)
Jimmy Fallon: Kid Theater with Tom Hanks (Jessica)

 

 




1

194 JSJ JavaScript Tools Fatigue

JS Remote Conf starts tomorrow! Get your ticket TODAY!

 

03:59 - JavaScript Tools Fatigue

09:25 - Are popular technologies ahead of public consumability?

12:53 - Adopting New Things / Churn Burnout

18:02 - Non-JavaScript Developers and Team Adoption

30:49 - Is this the result of a crowdsourced design effort?

35:44 - Human Interactions

45:00 - Tools

47:03 - How many/which of these tools do I need to learn?

Picks

Julie Evans: How to Get Better at Debugging (Jamison)
Totally Tooling Tips: Debugging Promises with DevTools (Jamison)
Making a Murderer (Jamison)
Scott Alexander: I Can Tolerate Anything Except the Outgroup (Jamison)
@SciencePorn (Dave)
postcss (Aimee)
Cory House: The Illogical Allure of Extremes (Aimee)
Kerrygold Natural Irish Butter (Aimee)
Star Wars (Joe)
@iammerrick (Joe)
Greg Wilson: What We Actually Know About Software Development, and Why We Believe It's True (Joe)
The U.S. Military (Joe)

Operation Code (Aimee)
Ruby Rogues Episode #184: What We Actually Know About Software Development and Why We Believe It's True with Greg Wilson and Andreas Stefik (Chuck)
Serial Podcast (Chuck)




1

195 JSJ Rollup.js with Rich Harris and Oskar Segersvärd

02:17 - Rich Harris Introduction

02:34 - Oskar Segersvärd Introduction

02:50 - rollup.js

04:47 - Caveats and Fundamental Differences Between CommonJS and AMD Modules and ES6 Modules

11:26 - Where rollup.js Fits in the Ecosystem

17:40 - Input Modules

18:35 - Why Focus on Bundling Tools vs HTTP/2

20:13 - Tree-shaking versus dead code elimination

25:53 - ES6/ES2016 Support

27:36 - Other Important Optimizations

32:11 - Small modules: it’s not quite that simple

41:54 - jsnext:main – should we use it, and what for?

Picks

Better Off Ted (Joe)
Elementary (Joe)
Ruby Rogues Episode #137: Book Club - Functional Programming for the Object-Oriented Programmer with Brian Marick (Aimee)
Ruby Rogues Episode #115: Functional and Object Oriented Programming with Jessica Kerr (Aimee)
Ruby Rogues Episode #65: Functional vs Object Oriented Programming with Michael Feathers (Aimee)
Operation Code (Aimee)
Google Define Function (Dave)

Scott Hanselman: Dark Matter Developers: The Unseen 99% (Dave)
MyFitnessPal (Chuck)
Nike+ Running (Chuck)
Couch to 10k (Chuck)
Aftershokz Bluez 2 Headphones (Chuck)
Pebble Time Steel (Chuck)
Climbing (Rich)

The Codeless Code (Rich)
Star Wars (Rich)
The Website Obesity Crisis (Oskar)




1

196 JSJ Tabris.js with Jochen Krause and Ian Bull

Check out Freelance Remote Conf and React Remote Conf!

 

02:31 - Jochen Krause Introduction

03:21 - Ian Bull Introduction

04:01 - Tabris.js

04:48 - Tabris vs React, Cordova, and React Native

  • Exposing Bluetooth Functionality

08:25 - Benefits/Advantages of Using Tabris

12:45 - Creating Panels and Flows

14:26 - Getting Started Experience

16:40 - Handling Updates; Live Updating

25:15 - Views (Declarative and Imperative UI)

29:09 - "Write once, run anywhere." vs "Learn once write anywhere."

35:21 - Why have other projects failed or not failed?

39:41 - What does it mean to be statically compiled?

40:44 - Styling: Creating a Middle Group that Looks and Feels Good (iOS vs Android)

  • Cross-platform Logic and Ecosystems

47:51 - ES6 Implications

49:29 - Plugins

Picks

Star Wars Essentials (AJ)
Star Wars: The Force Awakens (AJ)
Thing Explainer: Complicated Stuff in Simple Words by Randall Munroe (AJ)
James Edwards: Making a Mini-Lisp: Introduction to Transpilers (Aimee)
Nick Saban (Aimee)
Lloyd Borrett: Bill Gates and Petals Around the Rose (Jamison)
Dan Luu: Normalization of Deviance in Software: How Completely Broken Practices Become Normal (Jamison)
Craig Stuntz: Programs that Write Programs: How Compilers Work (Jamison)
Microsoft (Dave)
Tina Fey (Dave)
thoughtram Blog (Dave)
Pascal Precht (Dave)
CES (Chuck)
The Modern Team (Ian)
Eric Elliott (Ian)
Thinking, Fast and Slow by Daniel Kahneman (Jochen)




1

197 JSJ Auth0 with Kassandra Perch

02:03 - Kassandra Perch Introduction

02:46 - Auth0

04:10 - Centralized Auth Services: Handing Out User Data to Third Parties

05:32 - Security, Storage, and Compliance

08:48 - Managing Session Data

09:35 - Cookies vs JSON Web Tokens (JWTs)

  • How Authentication Works

12:47 - OAuth

14:12 - Identification, Authorization, and Authentication

20:16 - Auth0 Infrastructure

22:10 - Using Node

23:06 - The Backend

24:25 - Documentation and Education

36:42 - The Value of OpenID Connect

38:25 - Identity

Picks

Add AJ on Tri-Force Heroes (AJ)
Making a Murderer (AJ)
Mazie's Girl Scout Digital Cookie Site (Aimee)
React (with Introduction to Flux Architecture) (Aimee)
Jordan Scales: Let’s Make A Webpage In 2016 (Jamison)
building-brooklynjs (Jamison)
Cult of the Party Parrot (Jamison)
CSS-Tricks (Jamison)
Auth0 Docs (Kassandra)
OpenID Foundation (Kassandra)
Mario & Luigi: Paper Jam (Kassandra)




1

198 JSJ 2015 Recap and 2016 Predictions

02:36 - Big Changes in the JavaScript Community in 2015

09:38 - Other Uses of JavaScript

10:56 - Functional Programming

19:16 - Elm / redux

22:40 - RxJS and Reactive Programming

25:00 - ES2015

27:43 - Types: TypeScript / Flow

30:59 - npm

33:00 - Junior Developers and Bootcamps

47:27 - Will other communities start looking at Node?

49:18 - Building Mobile Apps with JavaScript

50:09 - Text Editors or IDEs?

Picks

Victor Savkin: Managing State in Angular 2 Applications (Joe)
Desserts of Kharak (Joe)
The Prodigals Club (Joe)
AST explorer (Aimee)
Chyld Medford (Aimee)
Mazie's Girl Scout Cookie Digital Order Site (Aimee)
Mogo Portable Seat (Chuck)
Patt Flynn: How to Write a Book: The Secret to a Super Fast First Draft (Chuck)
React Remote Conf (Chuck)




1

199 JSJ Visual Studio Code with Chris Dias and Erich Gamma

Check out allremoteconfs.com to get in on all the conference action this year -- from the comfort of your own home!

 

02:13 - Chris Dias Introduction

02:21 - Erich Gamma Introduction

02:31 - Visual Studio Code

03:49 - Built on Electron

04:25 - Why another tool?

  • Visual Debugging
  • Keybinding Support

08:12 - Code Folding

09:00 - Will people move from Visual Studio to Visual Studio Code?

12:06 - Language Support

18:06 - Visual Studio Code and Microsoft Goals

22:47 - Community Support and Building Extensions

28:31 - The Choice to Use Electron

32:41 - Getting VS Code to Work on the Command Line

35:02 - Tabs

38:49 - Visual Studio Code Uptake and Adoption

40:11 - Licenses

44:46 - Designing a UX for Developers

58:15 - Design Patterns

Picks

LEGO Star Wars: The Force Awakens Video Game - Announce Teaser Trailer (Joe)
Firebase (Joe)
Progress bar noticeably slows down npm install: Issue #11283 (Jamison)
Darkest Dungeon (Jamison)
Trek Glowacki Twitter Thread (Jamison)
Mogo Portable Seat (Chuck)
Clear Acrylic Wall Mountable 10 Slot Dry Erase Marker & Eraser Holder Organizer Rack (Chuck)
Bitmap Graphics SIGGRAPH'84 Course Notes (Erich)
Salsa (Chris)

The Microsoft Band (Chris)
Making a Murderer (Chris)




1

201 JSJ Security with Troy Hunt

02:32 - Troy Hunt Introduction

04:12 - Why should people care about security?

06:19 - When People/Businesses Get Hacked

09:47 - “Hacking”

11:42 - Inventive “Hacks”

13:24 - Motivation for Hacking/Can hacking be valuable?

17:08 - Consequences and Retribution

19:10 - How to Build Secure Applications

20:47 - Weighing in UX

22:50 - Common Misconceptions

  • Password Storage
  • Encoding
  • Cookies

31:27 - Passwords (Cont’d)

33:16 - Justifying the Importance of Security

35:24 - Client-side Security

44:10 - Resources

45:27 - Routing

47:21 - Timeouts

51:36 - Cached Data

Picks

awesome-react (Aimee)
Edsger W. Dijkstra Quotes (Jamison)
Sam Newman: Telstra, Human Error and Blame Culture (Jamison)
Infinite Jest by David Foster Wallace (Jamison)
T.I.M.E Stories (Joe)
We Are Anonymous: Inside the Hacker World of LulzSec, Anonymous, and the Global Cyber Insurgency Paperback by Parmy Olson (Troy)
The Have I been pwned Project (Troy)




1

210 JSJ The 80/20 Guide to ES2015 Generators with Valeri Karpov

Check out React Remote Conf

 

01:56 - Valeri Karpov Introduction

02:17 - Booster Fuels

03:06 - ES2015 Generators

05:47 - try-catch

07:49 - Generator Function vs Object

10:39 - Generator Use Cases

12:02 - Why in ES6 would they come out with both native promises and generators?

14:04 - yield star and async await

17:06 - Wrapping a Generator in a Promise

19:51 - Testing

20:56 - Use on the Front-end

22:14 - The 80/20 Guide to ES2015 Generators by Valeri Karpov and Tech Writing

Picks

Why and How Testing Can Make You Happier (Aimee)
Pitango Gelato (Aimee)
The Primal Blueprint by Mark Sisson (Chuck)
The Primal Blueprint 21-Day Total Body Transformation (Chuck)
acquit (Valeri)
nightmare (Valeri)
now (Valeri)
The 80/20 Guide to ES2015 Generators by Valeri Karpov (Valeri)




1

211 JSJ Ember and EmberConf with Michael North

02:22 - Michael North Introduction

04:10 - Ember vs React or Angular

07:13 - Convention Over Configuration

09:39 - Changes in Ember

16:04 - Ember FastBoot

18:53 - EmberConf

22:47 - Mobile/Native Experience & Optimization

29:52 - Electron

30:46 - Open Source Empowerment; The Ember Learning Team

33:54 - Michael North's Frontend Masters Ember 2 Series

37:11 - The Ember Community

Picks

React Rally (Jamison)
Embedded (Jamison)
Remy Sharp: A debugging thought process (Jamison)
NashDev Podcast (Aimee)
JS developers who don’t know what closure is are fine. (Aimee)
Sublime Text (Chuck)
DesktopServer (Chuck)
MemberPress (Chuck)
Frontend Masters (Mike)
Wicked Good Ember Conf (Mike)
Debugging Node.js with
Visual Studio Code (Mike)




1

212 JSJ Horizon.js with Horizon.js with Michael Glukhovsky: Live from ng-conf!

02:34 - Michael Glukhovsky Introduction

02:35 - horizon-js

04:52 - Versus Open Source Firebase

06:15 - The Security Model

07:56 - The Admin Interface

09:16 - RethinkDB + Horizon

10:56 - Versus Meteor

13:35 - Message Format

14:26 - Getting Started

19:01 - Real-time

21:24 - Security

26:56 - The Grand Vision; Use Cases

32:17 - Managing Deployment with Redundancy

 

Picks




1

213 JSJ Developer Evangelism with Greg Baugues

Check out Newbie Remote Conf! July 13-15, 2016

 

02:16 - Greg Baugues Introduction

02:41 - Developer Evangelism

04:23 - Evangelism at Twilio

07:05 - “Evangelism”

10:56 - Getting the Word Out

13:28 - Keeping Up-to-Date

18:28 - Skills to Have as an Evangelist

  1. Technical Credibility
  2. Patience
  3. Empathy
  4. Hustle

21:21 - Getting Help From Companies

25:39 - Handling Larger-scale Issues

27:15 - Building an Evangelist Team

29:44 - Panelist Experiences with Evangelism

 

Picks




1

214 JSJ Pebble with Heiko Behrens and François Baldassari

Check out Newbie Remote Conf!

 

02:11 - Heiko Behrens Introduction

02:42 - François Baldassari Introduction

03:04 - JavaScript and Pebble

06:40 - Watch vs Phone

09:32 - Memory Constraints and Code Size Limitations

26:24 - Advantages of Writing in JavaScript

32:09 - Capabilities of the Watch

37:08 - Running Web Servers

39:29 - Resources

41:58 - Voice Capabilities

43:06 - UI For the Round Face vs Square Face

46:18 - Future Pebble Milestones

 

Picks

 

See Also





1

216 JSJ Angular with Rob Wormald Live from Microsoft Build 2016

This episode was recorded live from The Microsoft Build Conference 2016. In this episode we chatted with Rob Wormald of the Angular Core team at Google about Angular. You can follow him on Twitter, or check out what he’s done over on GitHub.

 

Picks




1

217 JSJ The Now Project with Guillermo Rauch

Check out Newbie Remote Conf and get your tickets!

 

02:24 - Guillermo Rauch Introduction

03:07 - Now: Realtime Node.js Deployments

04:28 - Key Concepts

10:22 - Deployment Process

14:55 - Getting Started Experience

17:22 - Technology vs Design

20:36 - Running Now vs npm-install

27:17 - Simplicity; SSH and Metrics

35:33 - Debugging and Performance

37:34 - Security

41:44 - What’s Next?

 

Picks




1

218 JSJ Ember.js with Yehuda Katz

Check out Newbie Remote Conf!

 

02:38 - Yehuda Katz Introduction

05:37 - Batching Updates

10:04 - Naming

14:19 - Communication

16:21 - Decorators

19:46 - “Junior Developer” and Knowledge Bias

28:25 - Termanology in Tech

29:23 - Diversity

 

Picks




1

219 JSJ Learning JavaScript in 2016

Check out Newbie Remote Conf!

 

02:44 - What it Takes to Learn JavaScript in 2016

04:03 - Resources: Then vs Now

09:42 - Are there prerequisites? Should you have experience?

20:34 - Choosing What to Learn

28:19 - Deciding What to Learn Next

31:19 - Keeping Up: Obligations As a Developer

34:22 - Deciding What to Learn Next (Cont’d)

42:01 - Recommendations

 

Picks




1

221 JSJ Visual Studio Code with Wade Anderson Live From Microsoft Build 2016

This episode was recorded live from The Microsoft Build Conference 2016. In this episode we chatted with Wade Anderson of Microsoft about Visual Studio Code. You can follow him on Twitter, or check out what he’s done over on GitHub.

 

Picks

 

A special thanks again goes out to Richard Campbell and Carl Franklin from .NETRocks for putting this podcast series together! You rock!




1

231 JSJ Codewars with Nathan Doctor, Jake Hoffner, and Dan Nolan

3:23 Discussing the purpose and aim of Codewars

7:30 The process for building a program with Codewars

11:07 The UI and editor experience

12:55 The challenges faced when first building Codewars

14:23 Explaining PJAX

16:54 Building code on Codewars

21:24 The expanded use of KATA on Codewars

23:11 Practicing “solving problems” and how it translates to real world situations

34:00 How Codewars proves out the persistence of coders

36:41 How Codewars appeals to collaborative workers

44:40 Teachable moments on Codewars

49:40 Always check to see if Codewars is hiring. Codewars uses Qualified.io, which helps automate the hiring process.

PICKS:

Marrow Sci-fi book

Uprooted Fantasy book

“Write Less Code” blog post

“The Rands Test” blog post

Five Stack software development studio

“Stranger Things” on Netflix

Angular 2 Class in Ft. Lauderdale, Discount Code: JSJ

Lean Analytics book

Code book

Datasmart book

Letting Go book




1

241 JSJ Microsoft Docs with Dan Fernandez

0:55 - Dan Fernandez and his work

7:50 - Walkthrough of the doc experience

15:00 - Editable nature of the doc

21:00 - Test driving a language

26:30 - Catering to the user

32:30 - Open Source

34:40 - User feedback

37:30 - Filters and Tables of Content

40:45 - Form submissions

41:50 - Community contributors

Picks:

Ghostbusters (AJ)

Daplie (AJ)

Daplie Wefunder (AJ)

.NET Rocks (Charles)

ScheduleOnce (Charles)

Devchat.tv 2017 Conferences (Charles)

Disable HTML5 Autoplay (Dan)

Visual Studio Code (Dan)

JSJ episode Visual Studio Code with Chris Diaz and Eric Gamma (Charles)




1

MJS #001: Keith Horwood

On today's episode of My JS Story, Charles Max Wood welcomes Keith Horwood. Keith was previously on ep 220 of Jabbascript Jabber talking about Nodal. On this, the first episode of My JS Story, we'll find out more about Keith and what makes him tick as a programmer. Tune in to MJS #001: Keith Horwood.




1

JSJ 251 InfoSec for Web Developers with Kim Carter

On today's episode, Charles Max Wood and Aimee Knight discuss InfoSec for Web Developers with Kim Carter. Kim is a senior software engineer/architect, an information security professional, and the founder of binarymist.io. He is currently working on his book called Holistic InfoSec for Web Developers. Tune in to learn more on what his book is all about.




1

MJS #010: Richard Feldman

Welcome to the 9th My JS Story! Today, Charles Max Wood welcomes Richard Feldman. Richard works at No Red Ink, and he is the author of Elm in Action. He was in JavaScript Jabber and talked about Elm with Evan Czlapicki in episode 175 and covered the same topic alone in episode 229 . Stay tuned to My JS Story Richard Feldman to learn more how he started in programming and what he's up to now.




1

MJS #011: Valeri Karpov

Welcome to the 11th My JS Story! Today, Charles Max Wood welcomes Valeri Karpov. Valeri is a Platform Tech Lead at Booster Fuels, the author of Professional Angular JS and The 80/20 Guide to ES2015 Generators, and a blogger at codebarbarian.com. He is also the one who maintains mongoose JS. Stay tuned to My JS Story Valeri Karpov to learn more how he started coding and what he is currently up to!




1

MJS #012: Max Stoiber

Welcome to the 12th My JS Story! Today, Charles Max Wood welcomes Max Stoiber. Max is a frontend JavaScript Developer from Vienna, Austria and currently works as an open source developer for Thinkmill, a company based in Sydney, Austria. Tune in to My JS Story Max Stoiber to learn more how he learned to program and discover what he enjoys doing!




1

MJS #013: Rebecca Turner

Welcome to the 13th My JS Story! Today, Charles Max Wood welcomes Rebecca Turner. Rebecca is a CLI programmer at npm, Inc. She has been in the show around two to three years ago in episode 174 and talked about npm 3. Tune in to My JS Story Rebecca Turner to learn more how she got into programming and what she is up to these days!




1

MJS #014: Kim Carter

On this week's episode of My JS Story, Charles Max Wood interviews Kim Carter. Kim is a software engineer, architect, web developer, entrepreneur, and the founder of BinaryMist Ltd. He recently appeared as a guest in episode 251, and talked about InfoSec for Web Developers. Also, he is currently writing a powerbook series and runs InfoSec conferences based in New Zealand. Stay tuned to know more about his journey in programming!




1

MJS #015: Justin Searls

On this week's episode of My JS Story, Charles Max Wood interviews Justin Searls. Justin was on the show on episode 38 and 226 in the show. He co-founded Test Double, a software agency which helps developers improve the quality of the software they write. Want to know how he got into this career path? Stay tuned!




1

MJS #016: Adam Baldwin

On this week's episode of My JS Story, Charles Max Wood interviews Adam Baldwin. Adam is the team lead at Lift Security and founder and organizer of the Node Security Project (NSP). He appeared on episode 89, and talked about NSP in 2013. Learn more about what he's passionate about and how his life navigated towards programming. Tune in!




1

JSJ 261 HTTP 2 with Surma

On today's episode, Charles, Aimee, and Cory discuss HTTP 2 with Surma. Alongside being part of the Chrome DevRel Team for Google, Surma works on different web app performance. He is also engaged in HTTP 2, interaction, UX, and spec work. Stay tuned to discover what HTTP 2 can do for you!




1

MJS #017: Bob Zeidman

On this week's episode of My JS Story, Charles Max Wood interviews Bob Zeidman. Bob focuses on software forensics, but he also does consultations whenever he sells the intellectual property of a startup. He was on episode 238 and talked about intellectual property and software forensics. How did his life navigate towards programming? Tune in!




1

MJS #019: Aimee Knight

On today's episode, Charles Max Wood features My JS Story Aimee Knight. Aimee first appeared in episode 153, where talked about her career as a Junior Developer. She eventually became one of the awesome panelists of JavaScript Jabber. Tune in to learn about her journey in programming!




1

MJS #021 Justin Meyers

My JS Story Justin Meyers

On this week’s episode of My JS Story, Charles Max Wood interviews Justin Meyers Co­founder and CEO of Bitovi, a Javascript consulting firm focused on simplifying Javascript development through the use and creation of open source tools as well general consulting, training, and web applications. He was on Episode 202 and talked about DoneJS and CanJS. Tune in to hear Justin’s full story!

7th Grade and a TI­82 [3:02]
Justin’s discovery of conditional statements and methods on a classic TI­82 was his first taste of programming. With a little guidance, he soon learned to program games on the TI­82 and then later moved onto bigger and better mediums like C and QBasic.

Grunt work is good for you. [4:51]
While studying Computer Science, Justin finds out that professors often have grunt work, and although they may not pay well now, sometimes they can in time lead to loads of experience and maybe even a bigger job. After 4 years of working on websites and writing documentation, he gets his first real job at Accenture.

Open Source and reducing waste. [6:23]
Accenture, while giving him a great chance to make some impressive projects, provoked Justin to see the efficiency in sharing code. Justin and a college friend get together to work on a project to build a platform that…builds. Although their project was unsuccessful, the tools they started to create for the project had plenty of potential.

The Last desperate gasp. AKA shaving his head. [9:40]
Justin talks about the Ajaxian blog and conference. Ten years ago, the Ajaxian blog was one of the best online resources for Javascript news. Justin was running low on funds and struggling and as his “last desperate gasp” he heads to the Ajaxian conference with his head shaved. Leaving only “Javascript MVC” shaped out of his hair. This stunt gets him remembered by many of the important attendees and also scores him his big break with a consulting job with T­-Mobile. Two to Three weeks later, Justin had a stroke. Justin talks about how incredible the timing was.

How Javascript MVC came to be[13:23]
Justin talks about starting with JSJunction and modeling after it. Their first steps were to add a model layer as well as Event Delegation. Javascript MVC reflects some of Ruby on Rails. Justin worked with Peter Svensson from Dojo, with a methodology that at the time seemed crazy. Justin reminisces when Steve Jobs “Killed” Flash with HTML5 and CSS.

Bitovi begins. [17:24]
Justin talks about how the T­-Mobile job meant that he would need an official business. Originally dubbing it JupiterIT. Justin found that MVC was too encompassing and that programmers enjoyed a sense of creativity. By pulling Javascript MVC’s tools apart and creating single frameworks from the tools, Justin then created tools like CanJS and DoneJS.

Who does the heavy lifting at Bitovi? [20:48]
As the CEO of Bitovi, Justin has less time to program as before. Working with Open Source, development is a mix between contributors and full time employees. The majority being the employees. Justin talks about not having a sales force and focusing on their product to drive sales. Mainly, long term cost of ownership and the ability for the framework to last, working hard to make sure that clients that have committed to Javascript MVC years ago still have a relevant use for the framework.

Exploring HTTP2 and Push. [23:42]
With the emergence of HTTP2 and Push, Justin talks about working on and exploring different ways for streaming/server side rendering. Justin describes one of the experiments with building an empty skeletons, javascript assets, but also pushing instructions on how to mutate the page to the client. Before the javascript payload is fully loaded, the page starts to mutate. Allowing for optimal performance on slower connections, fantastic for mobile. Problems they are looking at for the future include things like different ways that CDNs can work with HTTP2 and Push. Justin has also worked with using Fetch to enable streaming by building tools around that. He suggests that HTTP2 and Push will maybe bring a renaissance in the developer world.

Justin’s side Parsing Project. [28:45]
Additional to his other work, Justin is working on a generic parsing project. Similar to BISON or JISON. Designed for simple parsing at faster speeds. He describes how to compiles to the code that parses your code. Working in runtime.

A way other companies can learn from Bitovi. [29:52]
We don’t know what the future is going to be for code, so packaging the framework into separate repos allows for better scheduling and a better way to manage long term. Updating a segment of a framework can sometimes break another segment if having it all happen together.

Picks [34:26]

Justin:

Dean Radcliff’s Antares Framework

Charles:

Boom Beach

Clash of Clans

BlueTick.io

Nimble

Keeping up with Justin’s work.

Bitovi.com’s Blog

Justin’s Twitter.

Sponsors

Cachefly.com
Newbie Remote Conf 2017




1

JSJ 271: SharePoint Extensions in JavaScript with Mike Ammerlaan and Vesa Juvonen

JSJ 271: SharePoint Extensions in JavaScript with Mike Ammerlaan and Vesa Juvonen

This episode is a live episode from Microsoft Build where AJ O'Neal and Charles Max Wood interview Mike Ammerlaan and Vesa Juvonent about building extensions for SharePoint with JavaScript.

[00:01:28] Mike Ammerlaan introduction
Mike has worked at Microsoft for a long time on multiple Microsoft products and projects. He's currently on the Office Ecosystem Marketing Team.

[00:01:52] Vesa Juvonen introduction
Ves a is Senior Program Manager for the SharePoint Splat team. He's been with Microsoft for about 11 years and manages the community and documentation for the SharePoint framework.

[00:02:18] What is the SharePoint Framework?
This is how you write SharePoint extensions with JavaScript. SharePoint has changed. It now works with common modern development tools and web development techniques. SharePoint consolodates the extension effort

[00:03:32] What is SharePoint?
File sharing, team sites, communication points for teams. Part of Office 365. You use Web Parts to add functionality to SharePoint. Web Parts provide functionality like widgets and are scoped to a team, group, or set of users. It's usually hosted on premises, but you can also use it with Office 365 as a hosted solution.

[00:05:56] What extensions can you build for SharePoint?
You can build widgets for your front page or intranet. You can also add user management or data management or document management.

Examples:

  • Dashboards
  • Mini Applications
  • Scheduling and Time Tracking
  • Document Storage
  • Source code repositories

[00:07:39] What is WebDAV and how does it relate?
WebDAV is a protocol for accessing documents and SharePoint supports it among other protocols for managing documents.

[00:08:36] Do I have to build front-end and back-end components to get full functionality?
You can build the front-end UI with Angular and other frameworks. And then build a service in Azure on the backend. The backend systems can then access Line of Business systems or other data systems.

It really does take multiple skill sets to build extensions for SharePoint.

[00:11:10] SharePoint on Mobile
There is a mobile web app and the Web Parts work through the mobile application. You can also use any browser to connect to the application.

[00:12:08] Building extensions with standard Angular or React component libraries
There are standard Yeoman templates. You can also pull in the components through React or Angular just like what Microsoft does.

Newer Angular versions are designed for Single Page Apps and SharePoint isn't necessarily set up to work that way. The Web Parts are isolated from each other and Angular requires some workarounds.

[00:14:30] Getting around sandboxing
Google and Microsoft are talking to each other to see how to work around this when there are multiple sandboxed applications that can't talk to each other in very simple ways.

[00:15:39] Application library or naming collisions if my UI uses different versions or clobber page wide settings
There are guides for a lot of this. React does a bunch of the isolation work.

Addons are iframed in and an API token is given to grant access to the data and APIs.

Microsoft also reviews and approves plugins.

[00:18:30] How do you get started and make money at this?
Look at the SharePoint store. You can build things through websites and pages and offer the plugins through the store.

You can request a SharePoint tenant installation from the Microsoft Dev Tools for free. Then you can build into the tenant site. The rest of the tools are available on npm.

SharePoint Developer Tools

[00:22:13] Automated testing for SharePoint extensions
Unit testing is built in for JavaScript. Testing the UI's require you to sign into Office 365. There are people doing it, though.

[00:22:54] Building internal-only extensions
SharePoint is an enterprise tool, so a lot of enterprises may not want to install extensions from the store. You can definitely build and install private plugins for SharePoint setups. They also have their own backend systems that will require custom development.

[00:25:50] Office 365, SharePoint, and OneDrive
Office 365 is used by people across many different sized organizations and SharePoint is much more enterprise. Office 365 tools store files and information in SharePoint.

What about OneDrive versus Sharepoint? OneDrive is focused for one person. SharePoint is focused around a team. But they have the same APIs and use the same technology stack.

[00:29:05] The history and future of SharePoint
It started out on premises and has moved to the cloud. The SharePoint team is working to keep it available and useful in the modern cloud based era.

[00:30:25] What does the API footprint look like?
It spans modifying lists, data objects, attributes, items in a list, put Web Parts on a page, modify the experience, and manage and modify access, users, and documents. SharePoint is a way of building a way of conveying information.

SharePoint is layers of data and scopes.

[00:35:26] Tutorials and Open Source
dev.office.com
The Sharepoint framework is not open source yet, but they're working on that. They also need to open source the Yeoman templates.
Open source samples are available at github.com/sharepoint.

Picks

Charles Max Wood

  • BlueTick
  • Zapier
  • ScheduleOnce
  • Moo.com
  • Advice: Take the time to go talk to people.
    Vesa adds that you should go to a session that's on something completely outside your experience.

AJ O'Neal

Mike Ammerlaan

Vesa Juvonen

  • Family

A big thanks to Microsoft, DotNetRocks, and Build!




1

MJS #031 Mike Hostetler

MJS 031: Mike Hostetler

Today's episode is a My JavaScript Story with Mike Hostetler. Mike talked about his contributions to the JavaScript community. Listen to learn more about Mike!

[00:50] – Introduction to Mike Hostetler

Mike was on episode 133 which was like 2.5 years ago.

[01:45] – How did you get into programming?

First computer

Mike got their first computer when he was 5 or 6 years old. 286 IBM Clone had a command prompt that he spent several years trying to figure out how to code with it until he stumbled on a few basic books at their local public library in junior high. He began teaching himself how to code with QBasic and Borland C++. He, then, found the internet early high school and downloaded the Mosaic browser. He started coding HTML and early JavaScript, late 90’s. Then, he went off to college to get a Computer Science degree.

First job

When Mike was late high school, he decided that he knew enough coding that he was going to try to get a job. He ended up finding web development companies in the phone book and calling each one of them, trying to explain that his 16-year-old self could help them code and build websites. He ended up landing a job and was paid minimum wage to build HTML sites - a lot of 1x1 pixels transparent gifs, coding HTML by hand and notepad. Then, he ended up working for that company for his first couple of years of college as well.

[05:30] – How did you wind up doing JavaScript?

After college, the job that Mike landed was spent on learning Microsoft technologies and then half on the open-source side of learning the LAMP stack. At that time, it required hand-coding JavaScript. His next role is building a custom mapping application which was a single page application that heavily relied upon JavaScript. This was client-side object-oriented. There were no frameworks but it was enough script to build a URL that called a custom CGI to render the map. So, he immediately jumped in and started using the early JavaScript frameworks and prototypes.

The role that Mike was in next was building a touchscreen capable device. They needed custom plug-ins to provide the highlight focus effect around the button. He needed to write a plugin to do that and jQuery has just been released. So, he stripped all the prototype code, throw JQuery in there, and then, write a plug-in to navigate this interface by keyboard.

[09:20] – Contributions with JavaScript

jQuery

Mike’s first participation was on the JQuery project. If you ever use the JQuery plug-ins site, the old site, that was his contribution. He ended up running infrastructure for JQuery for several years. JQuery launched his business career. He switched into an entrepreneur around 2009. Since then, he’s contributed in numerous ways through speaking, leading training, and writing articles. He was a co-author of the JQuery Cookbook.

Node.js

As Node began to get more popular, Mike switched his attention to Node and found passion around the Sails.js project. It was a Node framework that made it easy to build Express-powered apps with Node and limit a lot of the convention over configuration elements of the Sails framework. That morphed into ES6 rewrite of Sails called the Trails framework. Currently, he is an organizer of the Chicago Node.js Meetup and he’s a contributor to the Trails framework.

[11:50] – JQuery challenges and experiences

jQuery 1.4

Mike and the team made community’s problems their problems so the gravity of what they were working didn’t hit them very much until jQuery 1.4. They had an online conference. They all recorded talks and they’re releasing a talk a day for jQuery that will be going to accommodate the 1.4 release. He remembered that he was setting up, managing the servers, and was doing some last-minute configuration. Then, John had tweeted that 1.4 was ready, pointing to jQuery.com. The web server just ground to a halt as he saw the traffic come in off a tweet.

Open-source community

Mike remain friends with a lot of them. According to Mike, they were just normal people who made a choice to lean in, contribute, where those contributions ended up becoming popular. Looking forward, he said that he’s going to continue to contribute to the open-source community. He wants to help the junior developer that is learning ES6 for the first time and is solving a syntax error. From Mike’s perspective, technologies come in waves. jQuery was a wave but jQuery’s wave focuses its energy into JavaScript’s wave. Certain people catch a contribution wave. React is on the upswing. Node is in an interesting spot because they’ve been on the upswing for many years but there’s new work that could be done. He said that had a shot to be at the forefront of the wave and got to see it.

Advice

For anybody else that maybe listening, find a spot where there’s new ground that you can contribute to and just dive in and do what you can to solve a problem to make it better. You’ll catch your wave.

[21:00] – How to pick frameworks

Node frameworks

There was a Reddit thread about Node frameworks in 2017 that listed out all the possible frameworks. The classic answer is to use the right tool for the right job but Mike’s answer is: Node has grown so big that different frameworks are built to different people on the learning curve of Node. The other thing that Node has done is they have this culture of really running away from any Monolithic one-size-fits-all solution. The community of Node has made sure that they make space for an incredible diversity of solutions and frameworks.

Antipattern

The anti-pattern is: what is the best framework of 2017. That’s the wrong question in the Node culture. Look at your team, look at your project, what framework can you be most productive in and what framework can you contribute back into the community with? That is one of the key reasons that Node itself has remained and continued to grow in popularity.

[23:40] – Role in Sails and Trails

Mike’s not contributing to the Sails project at the moment. He has been focusing on the Trails project. He has written a couple of Trails packs or the equivalent of plug-ins, messed around with GraphQL. He is also helping answer questions in the Gitter chat – small ways.

[24:25] – Best ways to contribute

Stack Overflow

Go on to Stack Overflow. Subscribe to tags where you can answer questions. Every answer on Stack Overflow is a contribution. Go, watch, subscribe to the issue queues for the projects that you use. Just even sharing your experience with how you solve a problem, there is somebody that you could reach down to and answer their questions that take their burden off.

Gitter

Get involved in the Gitter chat. Listen, watch, stand on the sidelines, and see what’s going on how the community works.

Pull request

The next step, if you see a problem, submit a pull request, listen to see what the roadmap is, and see what you can contribute.

Infrastructure

A lot of projects need help in infrastructure in their build scripts to produce better-written code. You can document for them. If you wait for the next sexy thing to do, you’ll never get there. Be humble.

Fun

Remember that open-source is fun. If it becomes a drag, you are doing it wrong. Look for the opportunities that are aligned with what you do so it’s a fun, happy experience.

[26:45] – What are you working on now?

Raise Marketplace

Currently, Mike is taking on a new role as Director of Front-end Engineering at Raise Marketplace. It is a marketplace start-up in Chicago. His focus is rebuilding the front-end of Raise on a micro service Node.js in Go service architecture. They have also been listed to help some folks at Google in the web performance team. They are always hiring. If you are looking for a remote role for a start-up. Feel free to reach out to him on Twitter or on Raise.

ModernWeb

Mike’s side-project now is a website called ModernWeb.com, where they help connect companies with teams of software developers and tell the stories of those software projects. A lot of developers are great at writing code but are terrible at telling the awesome things that we do. So, ModernWeb exists to tell the stories of development. The great side effect is companies want to work with you when you tell your stories. They help complete that circle. Go over to ModernWeb.com and you can contact them through the website or you can drop him an email at mike@modernweb.com.

Picks

Mike Hostetler

Charles Max Wood

  •  




1

JSJ 289: Visual Studio Code and Live Sharing with Chris Dias and PJ Meyer LIVE at Microsoft Connect 2017

Panel:

Charles Max Wood

Special Guests: 

Chris Dias

PJ Meyer

In this episode, Charles is at Microsoft Connect 2017 in NYC. Charles speaks with Chris Dias and PJ Meyer about Visual Studio Code and Live Sharing. Chris and PJ explain more on their demo at Microsoft Connect on Live Collaborative Editing and Debugging. Learn more about the new features with Visual Studio Code and the efficient workflows with screen sharing, and much more.

In particular, we dive pretty deep on:

  • Demo of Live Collaborative Editing and Debugging explained
  • New Features with VS Code
  • Developer productive
  • Debugging pain points
  • Getting feedback
  • New in VS Code
  • Language support and Java Debugger
  • Live Share
  • Debugging from different machines and platforms
  • Multi-Stage Docker File
  • TypeScript compiler
  • More on debugging with Cosmos db
  • Debugging in the Cloud?
  • Docker Extensions
  • Data Bricks
  • Updated python tools
  • Coming up with Visual Studio Code in the next 6 months
  • TypeScript and Refactoring
  • Getting the word out about code -  Word of mouth?
  • Number of people using VS Code?
  • Envision for what VS Code is becoming?
  • Preparing for a keynote and processes?
  • And much more!

Links:

Picks:

Chris

  • Pizza

PJ

  • Deli

Charles

  • Coupon Pass for tourist in NYC
 




1

JSJ 291: Serverless For JavaScript with Gareth McCumskey

Panel:

Charles Max Wood 

Aimee Knight

AJ O’Neal

Joe Eames 

Special Guests: Gareth McCumskey

In this episode, JavaScript Jabber speaks with Gareth McCumskey about Serverless For JavaScript. Gareth leads the dev team at Expat Explore in Cape Town, South Africa. Gareth and this team specialize in exploring the Serverless realm in JavaScript. The JavaScript Jabbers panel and Gareth discuss the many different types of serverless systems, and when to implement them, how serverless system work, and when to go in the direction of using Serverless. 

In particular, we dive pretty deep on:

  • What does it mean to be Serverless? 
  • Since platform as a service.
  • Microservice on Docker 
  • Firebase
  • “no backend” 
  • Backend systems 
  • Cloud functions and failure in systems 
  • How do you start to think about a serverless system? 
  • How do decide what to do?
  • AWS Lambda 
  • Working in a different vendor
  • Node 4 
  • Programming JS to deploy 
  • Using libraries for NPM
  • How is works with AWS Lambda
  • Where is the database?
  • More point of failure? 
  • Calls to Slack?
  • Authentication
  • Micro Services
  • Elastic Bean Stalk
  • Static Assets, S3, Managing
  • Testing the services 
  • Integration testing
  • And much more! 

Links:

Picks:

Aimee

AJ

Charles

Gareth

Joe 

 




1

MJS 041: Austin McDaniel

Panel: 

Charles Max Wood

Guest: Austin McDaniel

This week on My JavaScript Story/My Angular Story, Charles speaks with Austin McDaniel. Austin is a return guest and was previously featured on JavaScript Jabber episode 275 . Austin talks about his journey getting into programming as an 11year old, to recently, as a web developer with more complex technologies. Austin talks about building widgets, working in Angular, JavaScript, and more in-depth web development on many different platforms. Lastly, Austin talks about his contributions to NGX Charts and speaking at a variety of developer conferences.

In particular, we dive pretty deep on: 

  • How did you get into programming? 11 years old
  • Cue Basic
  • Web developer
  • College jobs was in web developing
  • IE6
  • Building Widgets
  • Components
  • jquery 
  • Web is the future
  • How did you get into Angular? 2013, v1.2
  • Backbone
  • Angular 1 & 2
  • NG X Charts
  • Speaking at Conferences
  • Augmented Reality and VR
  • Web AR
  • Angular Air Podcast
  • Working as a contractor with Google
  • and much, much more!

Links: 

Picks

Austin

Charles




1

JSJ 301: CSS Grids: The Future of Frontend Layout with Dave Geddes

Panel: 

Charles Max Wood

Aimee Knight

Cory House

AJ O'Neal

Joe Eames

Aaron Frost

Special Guests: Dave Geddes

In this episode, the JavaScript Jabber panelists talk with Dave Geddes about CSS Grids. Dave quit his job about a year ago and has been living the entrepreneur and programmer life since then. Now, he builds mastery games to help people learn CSS. Dave discusses the differences between Flexbox and CSS Grid and how the games that he creates can help people learn CSS Grid in a fun and interactive way.

In particular, we dive pretty deep on:

  • CSS Mastery games
  • FlexboxZombies.com
  • GridCritters.com
  • Uses spaced repetition and delayed recall to learn
  • CSS Grid
  • Flexbox
  • CSS Grid as the cake and Flexbox as the frosting
  • Edge spec
  • What Flexbox can do
  • Sub-Grids
  • Geddski.com
  • Nesting Grids
  • Old Grid vs New Grid layout
  • Why would you move from Flexbox to CSS Grid?
  • CSS Grid tools
  • GridByExample.com
  • Education and Gamification
  • Pick a UI that interests you
  • For a discount on Grid Critters: enter JS Jabber for 20% off
  • And much, much more!

Links:

Picks:

Charles

Aimee

Cory

AJ

Joe

Aaron

Dave




1

MJS 051: Todd Gardner

Panel: Charles Max Wood

Guest: Todd Gardner

This week on My JavaScript Story, Charles speaks with Todd Gardner. Todd is one of the co-founders of Track JS, which is a JavaScript error monitoring service. He first got into programming in Jr. High when he and his friends played around with computers they had dumpster dived for from their school in order to play video games. In High School, he learned how to create websites so that people could register for his LAN parties online. They also discuss the importance of finding passion in what you do as well as what Todd is most proud of contributing to the JS community.

In particular, we dive pretty deep on:

  • Track JS
  • Stack trace
  • Telemetry
  • Decodes errors that are actually good to focus on
  • How did you get into programming?
  • Warcraft video game
  • Started programming past gaming in High School
  • LAN parties
  • Pearl
  • The importance of passion in programming
  • C#
  • He didn’t start off with programming as his focus
  • Find the thing that inspires you and go do it!
  • How did you wind up on JavaScript?
  • Working as a consultant
  • Knockout vs Backbone
  • .net contractor to JS contractor
  • Node JS
  • What are you most proud of in JS?
  • Understand that you’re never done with a JS app
  • What are you doing now?
  • And much, much more!

Links: 

Picks

Charles

Todd




1

JSJ 310: Thwarting Insider Threats with Greg Kushto

Panel:

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

Special Guests: Greg Kushto

In this episode, the JavaScript Jabber panelists discuss thwarting insider threats with Greg Kushto. Greg is the vice president of sales engineering for Force 3 and has been focused on computer security for the last 25 years. They discuss what insider threats are, what the term includes, and give examples of what insider threats look like. They also touch on some overarching principles that companies can use to help prevent insider threats from occurring.

In particular, we dive pretty deep on:

  • Greg intro
  • Insider threats are a passion of his
  • Most computer attacks come from the inside of the company
  • Insider threats have changed over time
  • What does the term “insider threats” include?
  • Using data in an irresponsible manner
  • Who’s fault is it?
  • Blame the company or blame the employee?
  • Need to understand that insider threats don’t always happen on purpose
  • How to prevent insider threats
  • Very broad term
  • Are there some general principles to implement?
  • Figure out what exactly you are doing and documenting it
  • Documentations doesn’t have to be a punishment
  • Know what data you have and what you need to do to protect it
  • How easy it is to get hacked
  • Practical things to keep people from clicking on curious links
  • The need to change the game
  • Fighting insider threats isn’t fun, but it is necessary
  • And much, much more!

Links:

Picks:

Charles

Cory

  • Plop
  • VS code sync plugin

Aimee

  • Awesome Proposals GitHub

AJ O’Neal

Greg




1

JSJ 311: Securing Express Apps with Helmet.js with Evan Hahn

Panel:

  • Charles Max Wood

Special Guests: Evan Hahn

In this episode, the JavaScript Jabber panelists discuss securing Express apps with Helmet.js with Evan Hahn. Evan is a developer at Airtable, which is a company that builds spreadsheet applications that are powerful enough that you can make applications with. He has also worked at Braintree, which does payment processing for companies. They talk about what Helmet.js is, when you would want to use it, and why it can help secure your Express apps. They also touch on when you wouldn’t want to use Helmet and the biggest thing that it saves you from in your code.

In particular, we dive pretty deep on:

  • Evan intro
  • JavaScript
  • What is Helmet.js?
  • Node and Express
  • Why would you use the approach of Middleware?
  • Helmet is not the only solution
  • Http headers
  • Current maintainer of Helmet.js
  • npm
  • Has added a lot to the project, but is not the original creator
  • Outbound HTTP response headers
  • Helmet doesn’t fully secure your app but it does help secure it
  • How does using Helmet work?
  • Are there instances when you wouldn’t want to use Helmet?
  • No cash middleware
  • Where do you set the configuration options?
  • Top level Helmet module
  • 12 modules
  • What is the biggest thing that Helmet saves you from?
  • Content security policy code
  • And much, much more!

Links:

Picks:

Charles

Evan




1

JSJ 312: Hygen with Dotan Nahum

Panel:

  • Charles Max Wood
  • Aimee Knight
  • AJ ONeal

Special Guests: Dotan Nahum

In this episode, the JavaScript Jabber panelists discuss Hygen with Dotan Nahum. Dotan has worked within open source community, where he created Hygen. They talk about what Hygen is, how it came to be, and code generators in general. He was inspired by the Rails generator to create his own generator and took his inspiration from 12 years prior to creating Hygen. They also touch on how to share generators in separate packages and much more!

In particular, we dive pretty deep on:

  • Dotan intro
  • What is Hygen?
  • Code generators
  • Rails in 2006
  • Ruby on Rails 15-minute blog video
  • PHP and Python
  • Carried Rails wow moment with him into creating Hygen
  • Wanted Rails generators everywhere
  • Can you also modify files?
  • Took the good things from Rails generator
  • The fact that front-end apps have architecture is new
  • Redux
  • The solution of generating code
  • A component is a ray of files and assets
  • JavaScript gives you great freedom
  • A standardized way of doing components
  • GraphQL
  • Everything lives in the “day job” project
  • How the Hygen template is formatted
  • Can have a shell action
  • Is there a way to share generators in a separate package?
  • Go
  • And much, much more!

Links:

Picks:

Charles

Aimee

AJ

Dotan




1

JSJ 313: Light Functional JavaScript with Kyle Simpson

Panel:

  • AJ ONeal
  • Aimee Knight
  • Joe Eames

Special Guests: Kyle Simpson

In this episode, the JavaScript Jabber panelists discuss light functional JavaScript with Kyle Simpson. Kyle is most well-known for writing the books You Don’t Know JS and is on the show today for his book Functional-Light JavaScript. They talk about what functional programming is, what side-effects are, and discuss the true heart behind functional programming. They also touch on the main focus of functional programming and much more!

In particular, we dive pretty deep on:

  • You Don’t Know JS
  • Functional-Light JavaScript
  • From the same spirit as first books
  • JavaScript
  • Documents journey of learning
  • What does Functional Programming mean?
  • Functional programming is being re-awoken
  • Many different definitions
  • History of functional programming
  • Programming with functions
  • What is a function?
  • “A collection of operations of doing some task” is what people think functions are
  • What a function really is
  • Map inputs to outputs
  • What is a side-effect?
  • Side-effects should be intentional and explicit
  • The heart of functional programming
  • Refactoring
  • Can’t write a functional program from scratch
  • What functional programming focuses on
  • Making more readable and reliable code
  • Pulling a time-stamp
  • Defining a side-effect
  • And much, much more!

Links:

Picks:

Aimee

AJ

Joe

Kyle