Thinking Elixir Podcast

296: OpenAI Chose Elixir and A VM Inside a VMV

14 snips
Mar 24, 2026
They cover Elixir 1.20 release candidates with a faster compiler and new interpreted mode. A clever trick to boot a peer VM inside a VM enables zero-downtime hot upgrades on Fly.io. Discord’s approach to adding distributed tracing without chaos is explored. Elixir running in the browser via WebAssembly and OpenAI choosing Elixir for Symphony spark lively discussion.
Ask episode
AI Snips
Chapters
Transcript
Episode notes
INSIGHT

Elixir 1.20 Speeds Up Compilation

  • Elixir v1.20 RCs bring a faster compiler, improved type inference, and an interpreted mode for much faster compile times.
  • José Valim says incremental compilation now recompiles fewer lines after struct changes, and interpreted mode can be up to 5x faster depending on cores.
ADVICE

Use fly_deploy For Hot BlueGreen Deploys

  • Use fly_deploy to enable zero-downtime hot code upgrades on Fly.io by booting a peer VM inside the running VM and migrating state via code_change callbacks.
  • Chris McCord's approach requires renaming your start function and cannot change supervision trees or application config without a restart.
INSIGHT

Discord Wrapped Messages To Add Tracing

  • Discord implemented distributed tracing by wrapping messages in an Envelope with serialized trace context so plain messages still work during gradual rollout.
  • Their Transport library unpacks context at the receiver and handles non-wrapped messages to allow zero-downtime rollout across many OTP processes.
Get the Snipd Podcast app to discover more snips from this episode
Get the app