Ryan Dahl: Original Node.js presentation

stri8ted · 234K views · 2012 · 48:32

Open on YouTube

Web developmentTech pioneers & interviewstalk

Why Hacker News recommends it

HN recommends it as a classic dev tool pitch with palpable energy, and cites it for why Node was created.

What it is

Ryan Dahl's first presentation of Node.js at JSConf 2009. He pitches event-driven, non-blocking I/O as the motivation, rather than JavaScript itself.

Recommended by 3 HN commenters across 3 different months, 2016 to 2023.

What Hacker News said

Strong rec samblr · 2016-10 · on “Ask HN: What's your favorite tech talk?”

There is a sort of palpable energy in (Ryan Dahl) node.js original presentation. [this video] edit: +Ryan Dahl

Recommends knbknb · 2018-10 · on “Ask HN: What are some of the best technical talks you've heard?”

I like the talk by Ryan Dahl, node.js inventor Original Node JS Presentation, 2009, [this video] In 2018 he gave a follow-up presentation "10 things I regret about node", but that presentation is more for experts.

Recommends swyx · 2022-06 · on “Ask HN: Best dev tool pitches of all time?”

i also asked this on twitter so just putting some replies here: - Doug Engelbart [LINK] - Twilio [LINK] - Stripe - "7 lines of code" - Netlify - [LINK] - Heroku - [LINK] and git push heroku master - Cloudflare - [LINK] - Node ( [this video] ) and Deno ( [LINK] ) - Firebase (reportedly) - [LINK] smaller companies/less impactful pitches that i still like - Redux [LINK] - Stackblitz [LINK] - Comm [LINK] - Mongodb [LINK] - Let's Encrypt [LINK] - Figwheel-Clojurescript [LINK] - Svelte [LINK]

Cites alexc05 · 2016-02 · on “A love letter to jQuery”

Ahh.... lovely, thank you. So what I'm referring to as "asynchronous javascript" is technically a colloquialism used to describe the event-driven callback-y nature of the code. I'm not sure I'm still against referring to javascript as asynchronous or at least as having asynchronous methods for the purposes shorthand and quick communication. Consider the code (or paste it into a chrome console) function _done(){ console.log(arguments) } var db = window.openDatabase("dbfoo", 1, "test db", 5e6) db.transaction(function(tx){ tx.executeSql('CREATE TABLE t1(a, b PRIMARY KEY);', _done, _done) }) console.log("i happen before the line above me") Notice how the lines of code complete out of order. I th

Cites e12e · 2020-09 · on “Deno 1.4”

See also - post on original nodejs presentation: [LINK] (was a surprisingly large number of dead links on hn regarding this one). I believe this is a copy of the video: [this video]

Cites jorisd · 2021-04 · on “Deno 1.9”

The third slide of Ryan Dahl's 2009 JSConf.eu presentation ( [this video] ) covers most of the reasons for why it was made: "I/O needs to be done differently". Evented I/O via event loops wasn't really that much of a thing back then, and many server-side web frameworks were simply sitting idle whilst waiting on I/O. Node changed this, and thereby enabled a kind of concurrency that was easy to achieve and there by default, often without the programmer really realizing it, because they didn't have to do anything too special to get it done other than write JavaScript with callbacks. I don't think JavaScript was really the point of it. (EDIT: but JavaScript having functions as a first-class citizen,

Cites danShumway · 2023-08 · on “JavaScript Is Weird”

Edit: here's the actual presentation, not just the slides: [this video] What's interesting about this talk is that Ryan doesn't even mention Javascript at all (other than briefly to say that NodeJS is built on it) until nearly 13 minutes into the presentation. And it's clear that he's using Javascript as a means to an end -- he's going with Javascript largely just because Javascript by default has a single threaded event loop that every JS programmer had to learn to work with it. So he brings up going with JS because JS programmers are used to callbacks already -- and then roughly 2 minutes later he immediately moves back to talking about I/O and request handling again. Very little of his present