Erlang Without an OS: Maxim Kharchenko on Building LING
Booting OTP without a Linux kernel underneath it. Running Erlang directly on a Xen hypervisor. Implementing a VM where every single out-of-memory condition is explicitly handled — not a single allocation without a recovery path.
Maxim Kharchenko spent five to eight years building Ling, a from-scratch Erlang runtime that runs without an operating system. Not a fork of the BEAM. Not a modification. A clean implementation, built to answer one question: can you run a system that never stops?
Francesco Cesarini joins Alan Wyma for this episode — he was there when it was built, running the Erlang Solutions team that worked on the other half of the project.
Topics include:
- how Maxim came to Erlang backwards — building his own isolation-based runtime first, then discovering Erlang had already solved the same problems
- what a Xen hypervisor actually is and why it's the right host for a no-OS Erlang VM
- how Ling's dynamic instruction set works: analyzing real OTP source code to figure out the optimal instruction set for that specific workload, then generating specialized opcodes — including one that loads the number 17 specifically because 17 appeared frequently enough to warrant it
- why every single memory allocation in Ling has an explicit out-of-memory handler — and how hard that discipline was to maintain
- the garbage collector design for bare-metal network applications and why it matters differently there than in regular BEAM workloads
- running the entire network as an Erlang application: not just a piece of it, but switch firmware, controller, and the full stack
- why the industry was not ready for this ten years ago — and why the problems Ling was solving have come back under different names
- where unikernels and Linux eBPF fit in the same space today
Recorded June 3, 2026.