JavaScript Jabber

MJS #034 John-David Dalton


Listen Later

Tweet this Episode
MJS 034: John-David Dalton

Today’s episode is a My JavaScript Story with John-David Dalton. JD talked about his contributions to the JavaScript community like Lo-Dash, Sandboxed Native, etc. Listen to learn more about JD!

[01:15] – Introduction to JD

JD has been on JavaScript Jabber. He talked about Lo-Dash.

[02:00] – How did you get into programming?

First website

This was when JD was a junior in high school. Then, he got involved with a flight squadron for a World War 1 online game. They needed a website so he created a GeoCities website for them. That’s what got him into JavaScript. He’d have to enhance the page with mouseover effects - cursor trail, etc.

JavaScript

From there, JD started created a Dr. Wiley little-animated bot that would say random things in a little speech bubble with the HTML on your page like a widget. He also passed an assignment turning a web page into an English class paper. He used to spend his lunch breaks learning JavaScript and programming. He also created a little Mario game engine – Mario 1 with movable blocks that you could click and drag and Mario could jump over it. That was back with the document.layers and Netscape Navigator.

Animation

JD wanted to be an animator in animation so he started getting into macro media flash. That led him to ActionScript, which was another ECMAScript-based language. He took a break from JavaScript and did ActionScript and flash animations for a while as his day job too.

PHP and JavaScript

JD started learning PHP and they needed to create a web app that got him right back into JavaScript in 2005. That was when AJAX was coined and that’s when Prototype JS came up. He was reading AJAX blog posts back then because that was the place to find all of your JavaScript news.

JS Specification

JD remembers being really intimidated by JavaScript libraries so he started reading the JavaScript specification. It got him into a deeper understanding of why the language does what it does and realized that there’s actually a document that he could go to and look up exactly why things do what they do.

[06:45] – What was it about JavaScript?

JD has been tinkering with programming languages but what he liked about ActionScript at the time was it is so powerful. You could create games with it or you could script during animations. He eventually created a tool that was a Game Genie for flash games that you could get these decompilers that would show you the variables in the game, and then, you could use JavaScript to manipulate the variables in the flash game. He created a tool that could, for example, change your lives to infinite life, grow your character or access hidden characters that they don’t actually put in the game but they have the animations for it.

JD was led to a page on the web archive called Layer 51 or Proto 51. That was a web page that had a lot of JavaScript or ActionScript snippets. There were things for extending the built-in prototypes - adding array methods or string methods or regex methods. That was how JavaScript became appealing to him. He has been doing JavaScript for almost 20 years. PHP also made him appreciate JavaScript more because, at the time, you couldn’t have that interface.

[09:30] – Lo-Dash, Sandboxed Native, Microsoft

Lo-Dash

Eventually, JD grew to respect jQuery because I became a library author. jQuery is the example of how to create a successful library. It’s almost on 90% of the Internet. He likes that right now but before, he was a hardcore Prototype fanboy. He didn’t like new tools either. He liked augmenting prototypes but over time, he realized that augmenting prototypes wasn’t so great whenever you wanted to include other code on your page because it would have conflict and collisions. Later on, he took Prototype, forked it, and he made it faster and support more things, which is essentially what he did with Lo-Dash.

Sandboxed Native

JD created something called Sandboxed Native, which got him into talking on conferences. Sandboxed Native extends the prototypes for the built-ins for your current frame. It would import new built-ins so you got a new array constructor, a new date constructor, a new regex, or a new string. It wouldn’t collide or step on the built-ins of the current page.

Microsoft

After that, JD ended up transitioning to performance and benchmarking. That landed him his Microsoft job a couple years later.

Picks

John-David Dalton

  • JS Foundation
  • Sonarwhal
  • Twitter / Github: @jdalton
  • Charles Max Wood

    • Aaron Walker
    • Interview Valet
    •  

      ...more
      View all episodesView all episodes
      Download on the App Store

      JavaScript JabberBy Charles M Wood

      • 4.4
      • 4.4
      • 4.4
      • 4.4
      • 4.4

      4.4

      234 ratings


      More shows like JavaScript Jabber

      View all
      Freakonomics Radio by Freakonomics Radio + Stitcher

      Freakonomics Radio

      32,246 Listeners

      The Tim Ferriss Show by Tim Ferriss: Bestselling Author, Human Guinea Pig

      The Tim Ferriss Show

      16,174 Listeners

      The Changelog: Software Development, Open Source by Changelog Media

      The Changelog: Software Development, Open Source

      288 Listeners

      Ruby Rogues by Charles M Wood

      Ruby Rogues

      45 Listeners

      The Freelancers' Show by Charles M Wood

      The Freelancers' Show

      23 Listeners

      The a16z Show by Andreessen Horowitz

      The a16z Show

      1,105 Listeners

      Software Engineering Daily by Software Engineering Daily

      Software Engineering Daily

      626 Listeners

      Talk Python To Me by Michael Kennedy

      Talk Python To Me

      583 Listeners

      iPhreaks by Charles M Wood

      iPhreaks

      17 Listeners

      React Native Radio by Jamon Holmgren, Robin Heinze, Mazen Chami

      React Native Radio

      67 Listeners

      Adventures in Angular by Charles M Wood

      Adventures in Angular

      15 Listeners

      JavaScript Jabber by Charles M Wood

      JavaScript Jabber

      62 Listeners

      Ruby Rogues by Charles M Wood

      Ruby Rogues

      21 Listeners

      My JavaScript Story by Charles M Wood

      My JavaScript Story

      4 Listeners

      My Ruby Story by Charles M Wood

      My Ruby Story

      0 Listeners

      Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

      Syntax - Tasty Web Development Treats

      985 Listeners

      The Indicator from Planet Money by NPR

      The Indicator from Planet Money

      9,556 Listeners

      Tech Brew Ride Home by Morning Brew

      Tech Brew Ride Home

      964 Listeners

      All-In with Chamath, Jason, Sacks & Friedberg by All-In Podcast, LLC

      All-In with Chamath, Jason, Sacks & Friedberg

      10,254 Listeners

      Deep Questions with Cal Newport by Cal Newport

      Deep Questions with Cal Newport

      1,348 Listeners

      Dwarkesh Podcast by Dwarkesh Patel

      Dwarkesh Podcast

      551 Listeners

      Latent Space: The AI Engineer Podcast by Latent.Space

      Latent Space: The AI Engineer Podcast

      101 Listeners

      BG2Pod with Brad Gerstner and Bill Gurley by BG2Pod

      BG2Pod with Brad Gerstner and Bill Gurley

      475 Listeners

      AI + a16z by a16z

      AI + a16z

      34 Listeners