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

David Beazley7 HN recommenders · 2019–2025
26K views · talk · evergreen · Uploaded 2019-10-15

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.

Watch on YouTube

9 comments from Hacker News

@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 : [VIDEO] Mostly live coded, it really is pretty amazing but also quite insightful.

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. [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. [VIDEO]

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. [VIDEO]

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

I found this video [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
@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) [VIDEO]

@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] [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

@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. [VIDEO]

RecommendsView on HN