Pular para o conteúdo

Erlang Without an OS: Maxim Kharchenko on Building LING

7 de agosto de 2026 · 1 h 3 min

Notas do episódio

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.


Todos os episódios de BEAM There, Done That

Configurações

Exibição

Idioma

Define quais estações você vê primeiro na página inicial.

Histórico

As rádios e episódios ouvidos recentemente e suas últimas buscas ficam só neste navegador.

Avisos

Um aviso rápido quando um podcast que você segue tem um episódio novo. Desative podcasts individuais pelo sino na página deles.

Conta

Salve favoritos – no app e no site.

Atalhos de teclado

/
Abrir busca
Espaço
Reproduzir ou pausar
← →
No player: voltar 15 s, avançar 30 s (episódios) · na fileira: próximo bloco
↑ ↓
Na fileira: alvo dentro do bloco
Home / End
Na fileira: primeiro ou último bloco
Esc
Fechar janela ou menu
?
Esta visão geral
Tocando agora

Ir para a estação

A seguir

    Adicione episódios com “A seguir” – eles tocam depois do episódio atual.