Episode Details
Back to Episodes
296: OpenAI Chose Elixir and A VM Inside a VMV
Description
Elixir v1.20.0-rc.2 and rc.3 arrive with a faster compiler, better type inference, and improved incremental compilation; José Valim drops a low-key bombshell with Distributed Python running on top of the Erlang distribution with full Livebook integration; Chris McCord wows the community with fly_deploy, enabling zero-downtime hot code upgrades on Fly.io using the BEAM's ability to boot a peer VM inside a running VM; Discord shares a deep dive into how they added distributed tracing to their Elixir systems without melting everything; Popcorn v0.2 brings Elixir to the browser as a proper npm package; OpenAI's Symphony project — built in Elixir — sparks conversation about vibe-coded BEAM code and whether TypeScript tools can truly replicate what the BEAM offers, and more!
Show Notes online - http://podcast.thinkingelixir.com/296
Elixir Community News
- https://paraxial.io/ – Paraxial.io is sponsoring today's show! Sign up for a free trial of Paraxial.io today and mention Thinking Elixir when you schedule a demo for a special offer.
- https://x.com/josevalim/status/2029221739285057565 – José Valim announced Elixir v1.20.0-rc.2 and rc.3 on X. The compiler finds more bugs, is ~10% faster, has a new interpreted mode (up to 5x faster), and improves incremental compilation for struct changes.
- https://github.com/elixir-lang/elixir/releases/tag/v1.20.0-rc.2 – Release page for Elixir v1.20.0-rc.2.
- https://github.com/elixir-lang/elixir/releases/tag/v1.20.0-rc.3 – Release page for Elixir v1.20.0-rc.3, including a number of fixes and IEx autocomplete optimization.
- https://x.com/chris_mccord/status/2029630330630508929 – Chris McCord shared how the BEAM supports booting a :peer node as a VM within the VM, enabling "hot bluegreen" deploys on Fly.io — spinning up a new incoming VM and cutting over seamlessly while both peers stay clustered.
- https://hex.pm/packages/fly_deploy – Hex package page for fly_deploy, Chris McCord's new library for zero-downtime hot code upgrades on Fly.io without restarts.
- https://github.com/chrismccord/fly_deploy – GitHub repo for fly_deploy, which enables hot code upgrades for Elixir apps on Fly.io by suspending processes, swapping in new code, migrating state via code_change callbacks, and resuming — without downtime.
- https://hexdocs.pm/fly_deploy/FlyDeploy.html#module-limitations-vs-otp-releases – Documentation outlining the limitations of fly_deploy's hot deploy approach, such as inability to change supervision trees or application config.
- https://discord.com/blog/tracing-discords-elixir-systems-without-melting-everything – Discord engineering blog deep dive on how