Episode
Mike Williams & Björn Gustavsson on Building the JAM
- Podcast
- BEAM There, Done That
- Published
- Jul 31, 2026
- Duration seconds
- 2540
- Processing state
not_requested
Actions
POST https://stenobird.com/v1/public/podcasts/beam-there-done-that-7725251/episodes/mike-williams-bj-rn-gustavsson-on-building-the-jam/transcription-requests
Idempotently request low-priority transcript generation for this episode.GET https://stenobird.com/podcast/beam-there-done-that-7725251/mike-williams-bj-rn-gustavsson-on-building-the-jam.md
Read the agent-friendly Markdown representation of this episode resource.
Summary
Before the BEAM, there was the JAM - Joe's Abstract Machine. It was the first virtual machine that made Erlang fast enough to run in production, and it was built by a handful of people at Ericsson's computer science lab who had a mandate to do whatever they wanted. Mike Williams wrote large parts of the emulator. Björn Gustavsson inherited it in 1996 and built what came after. In this episode - the most historically significant we've recorded - Alan Wyma and Francesco Cesarini bring them both together to tell the story of where the BEAM actually came from. Topics include: why Mike looked at Joe Armstrong's first 20 lines of C and said "this is awful, I'll do something about it" - and how he got message passing down to six instructions the three numbers that decide whether a concurrent language lives or dies: process creation time, context switch time, and message copy time - and why 70% of VM time was spent on them, not application code why keeping concurrency inside the language rather than the OS was "perfectly obvious" to Mike, and why it was a minority view even then - Java removed green threads, early Rust removed lightweight processes the two-version rule for module hot loading that's still in the BEAM today, 30 years on - and why Björn never wanted to remove it memory as the binding constraint, not speed: phone switches handling whole cities ran on 16–64 MB of RAM how distribution was added to the JAM by Claes Wikström - the person whose name is always forgotten in this story, who also invented ETS tables and created the first prototype of Erlang's binary syntax what Björn saw when he first read Mike's code in 1996, why he liked the JAM more than the BEAM at first, and what finally made the JAM obsolete the computer science lab culture that m…