
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.
AI Snips
Chapters
Transcript
Episode notes
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.
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.
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.
