HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

A Talk Near the Future of Python (a.k.a., Dave live-codes a WebAssembly Interpreter)

David Beazley7 HN recommenders · recommended in 7 months, 2019-2025
YouTube
26K views · 7 years ago · talk · evergreen

David Beazley's PyCon India closing keynote, in which he live-codes a stack machine and grows it into an interpreter that runs WebAssembly, then uses it to play a Rust-written game. It requires no prior WebAssembly knowledge.

Regarded as a brilliant live-coding talk that teaches WASM and interpreter writing, with several calling it among the best conference talks they have seen.

Compilers, interpreters & program analysisPython, Ruby & scripting languagesSoftware practice, open source & careers#webassembly#python#livecoding#interpreters#stackmachine

9 comments from Hacker News

@skylurk2025 · in “So you want to speak at software conferences?”

I agree with these, but David Beazley breaks most of them and his talks are way better than mine ;) e.g. ▶ this video

RecommendsView on HN
@bane2022 · in “Ask HN: What piece of code/codebase blew your mind when you saw it?”

There was a youtube video a few years back that showed a guy livecoding...I think an ECMA interpreter, or maybe a WASM interpreter from scratch using some very easy to follow code. I can't remember what it was or the video, but it was gobsmacking. So instead here's another story. I once worked with an old Perl greybeard, he had written some kind of code that could parse an almost impossible large set of string formats that a large collection of automated systems produced except they all had some sort of non-standard/non-guaranteed formatting or semantics. Little bits and pieces (some semi-atomic bits) of them were semi-reliable, but the aggregate strings were just a huge mess, things came in all kinds of orders, had unreliable separators (if any) some things came in backwards, some forwards, and so on. You might imagine them to be things like IP addresses that sometimes had system names attached, sometimes locations, sometimes, no address, sometimes the address was separated by dots or commas, sometimes, pieces of equipment were listed. All legacy of decades of people slowly accruing bits and pieces of the larger system and naming things for local convenience rather for global understanding. As the systems rolled up these strings would sometimes get concatenated in different ways and in different orders. His code looked like total gibberish, a library of a bunch of code that sort of looked like Perl but also sort of looked like a custom rule language, it had something like 12

CitesView on HN
@newswasboring2021 · in “Ask HN: Best Tech Talks”

Any talk by Dylan Beattie[1,2] or David Beasley[3,4]. I think they are quite unique in their presentation, they tell a story. [1] link [2] link [3] link [4] ▶ this video

RecommendsView on HN
@yesenadam2021 · in “A Lisp interpreter written in Lisp (2017)”

Sounds like this! Dave Beazley's A Talk Near the Future of Python (a.k.a., Dave live-codes a WebAssembly Interpreter) (2019) ▶ this video

CitesView on HN
@milliams2021 · in “WebAssembly from Scratch: From FizzBuzz to DooM”

I found this video ▶ this video "A Talk Near the Future of Python (a.k.a., Dave live-codes a WebAssembly Interpreter)" to be a brilliant introduction to WASM as well as writing interpreters in general. I'm a relative novice in the subject and it was pitched right at my level.

Strongly recommendsView on HN
@kfrane2021 · in “Pokegb: A gameboy emulator that only plays Pokémon Blue, in 68 lines of C++”

You're right about wasm not being too complicated, I've learned this when watching David Beazley coding a WebAssembly interpreter in under an hour. And it doesn't require any knowledge about it beforehand. ▶ this video

RecommendsView on HN
@VBprogrammer2020 · in “Ask HN: Best Talks of 2020?”

Ok, it wasnt technically this year but I have to share this one just incase anyone missed it, because it's quite possible the best conference talk I've ever seen. ▶ this video

Strongly recommendsView on HN
@tzs2019 · in “W3C recommends WebAssembly”

I found this [1] quite interesting. It doesn't really answer any of the questions you asked, but I think it gives some interesting insights into WebAssembly, which might make it easier to put other things in context and also give a good low level understanding of it. It's the closing keynote talk at this year's PyCon India. From the description: > In this talk, I live-code a simple stack machine and turn it into an interpreter capable of running WebAssembly. I then use that to play a game written in Rust. ▶ this video

RecommendsView on HN
@kiriliponi2019 · in “Let's Write an LLVM Specializer for Python (2015)”

I recommand David Beazley's talk from a recent PyCon India on a similar subject : ▶ this video Mostly live coded, it really is pretty amazing but also quite insightful.

Strongly recommendsView on HN
Keynote: Begin...End?57:05

Keynote: Begin...End?

David Beazley
9K views • 5 years ago
Understanding the Python GIL46:10

Understanding the Python GIL

David Beazley
127K views • 14 years ago
Build Your Own Async2:12:42

Build Your Own Async

David Beazley
60K views • 7 years ago
David Beazley - Lambda Calculus from the Ground Up - PyCon 20193:26:34

David Beazley - Lambda Calculus from the Ground Up - PyCon 2019

PyCon 2019
52K views • 7 years ago
Friday evening lightning talks52:24

Friday evening lightning talks

Next Day Video
6K views • 13 years ago
Transforming Code into Beautiful, Idiomatic Python48:51

Transforming Code into Beautiful, Idiomatic Python

Next Day Video
1.1M views • 13 years ago
Raymond Hettinger, Keynote on Concurrency, PyBay 20171:13:53

Raymond Hettinger, Keynote on Concurrency, PyBay 2017

SF Python
161K views • 9 years ago
Mojo Lang - Tomorrow's High Performance Python? (with Chris Lattner)1:24:39

Mojo Lang - Tomorrow's High Performance Python? (with Chris Lattner)

Developer Voices
64K views • 2 years ago
Armin Ronacher - A Python for Future Generations42:44

Armin Ronacher - A Python for Future Generations

EuroPython Conference
6K views • 9 years ago
Nathaniel J. Smith - Trio: Async concurrency for mere mortals - PyCon 201832:17

Nathaniel J. Smith - Trio: Async concurrency for mere mortals - PyCon 2018

PyCon 2018
30K views • 8 years ago
Guido van Rossum: Python and the Future of Programming | Lex Fridman Podcast #3413:15:51

Guido van Rossum: Python and the Future of Programming | Lex Fridman Podcast #341

Lex Fridman
1.8M views • 3 years ago
Compiling and Optimizing Scripting Languages1:01:37

Compiling and Optimizing Scripting Languages

Google TechTalks
21K views • 17 years ago
Using Python to Code by Voice28:17

Using Python to Code by Voice

Next Day Video
348K views • 13 years ago
Raymond Hettinger - Dataclasses:  The code generator to end all code generators - PyCon 201845:08

Raymond Hettinger - Dataclasses: The code generator to end all code generators - PyCon 2018

PyCon 2018
130K views • 8 years ago
Building Your Own Dynamic Language1:14:32

Building Your Own Dynamic Language

Stanford
21K views • 18 years ago
Keynote - Preventing, Finding, and Fixing Bugs On a Time Budget | Raymond Hettinger @ PyBay201840:01

Keynote - Preventing, Finding, and Fixing Bugs On a Time Budget | Raymond Hettinger @ PyBay2018

SF Python
27K views • 8 years ago
Episode 1: A basic expression evaluator1:38:36

Episode 1: A basic expression evaluator

Immo Landwerth (terrajobst)
284K views • 8 years ago
Q&A with Guido van Rossum, Inventor of Python56:55

Q&A with Guido van Rossum, Inventor of Python

Microsoft Reactor
28K views • 5 years ago
"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)43:04

"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)

Strange Loop Conference
468K views • 4 years ago
The Mental Game of Python - Raymond Hettinger1:10:00

The Mental Game of Python - Raymond Hettinger

SF Python
131K views • 7 years ago