Thinking Elixir Podcast
293: The BEAM as the Universal Runtime

293: The BEAM as the Universal Runtime

Thinking Elixir Podcast

February 24, 202628:44

About this episode

<p>News includes Hackney v3.1.0 dropping ~1.3 million lines of C code in favor of a pure Erlang QUIC implementation for HTTP/3 support, Benoît Chesneau's Hornbeam 1.0.0 bringing Erlang-powered hosting to Python web apps with performance that puts Gunicorn to shame, the Easel library offering a Canvas 2D drawing API for Elixir that works with Phoenix LiveView and native WX windows, Hologram v0.7.0 hitting a major milestone with client-side Erlang runtime coverage jumping from 34% to 96%, and more!</p> <p>Show Notes online - <a href="http://podcast.thinkingelixir.com/293" rel="nofollow noopener">http://podcast.thinkingelixir.com/293</a></p> <p><strong>Elixir Community News</strong></p> <ul> <li><a href="https://paraxial.io/?utm_source=thinkingelixir&amp;utm_campaign=thinkingelixir-oct2025" rel="nofollow noopener">https://paraxial.io/</a> – 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.</li> <li><a href="https://x.com/benoitc/status/2023675416465023212?utm_source=thinkingelixir&amp;utm_medium=shownotes" rel="nofollow noopener">https://x.com/benoitc/status/2023675416465023212</a> – Benoît Chesneau announces Hackney v3.1.0, a simple HTTP client for Erlang, now with HTTP/3 support via pure Erlang — no C compiler, CMake, or Go required.</li> <li><a href="https://github.com/benoitc/hackney/releases/tag/3.1.0?utm_source=thinkingelixir&amp;utm_medium=shownotes" rel="nofollow noopener">https://github.com/benoitc/hackney/releases/tag/3.1.0</a> – Hackney v3.1.0 release notes. Removes ~1.3M lines of C code (lsquic, BoringSSL, NIF) and replaces them with a pure Erlang QUIC implementation.</li> <li><a href="https://en.wikipedia.org/wiki/QUIC?utm_source=thinkingelixir&amp;utm_medium=shownotes" rel="nofollow noopener">https://en.wikipedia.org/wiki/QUIC</a> – Background on QUIC, the general-purpose transport layer protocol underlying HTTP/3 support in Hackney v3.1.0.</li> <li><a href="https://x.com/benoitc/status/2023711566370402574?utm_source=thinkingelixir&amp;utm_medium=shownotes" rel="nofollow noopener">https://x.com/benoitc/status/2023711566370402574</a> – Benoît Chesneau announces Hornbeam 1.0.0, an Erlang-powered WSGI/ASGI server for Python apps — 9x faster than Gunicorn, 10x lower latency.</li> <li><a href="https://github.com/benoitc/hornbeam?utm_source=thinkingelixir&amp;utm_medium=shownotes" rel="nofollow noopener">https://github.com/benoitc/hornbeam</a> – Hornbeam GitHub repository. Run Flask, FastAPI, and Django on the BEAM with Erlang's concurrency, resilience, and distribution.</li> <li><a href="https://hornbeam.dev/?utm_source=thinkingelixir&amp;utm_medium=shownotes" rel="nofollow noopener">https://hornbeam.dev/</a> – Hornbeam landing site — "When Python Meets Erlang." Highlights AI readiness, distributed clustering, supervisors, and no GIL concerns.</li> <li><a href="https://x.com/benoitc/status/2024066551092031773?utm_source=thinkingelixir&amp;utm_medium=shownotes" rel="nofollow noopener">https://x.com/benoitc/status/2024066551092031773</a> – Follow-up post announcing Hornbeam v1.3.0, achieving 68k req/s — 2x faster than Uvicorn/Gunicorn — with new NIF modules for direct C-level marshalling.</li> <li><a href="https://github.com/ivarvong/pyex?utm_source=thinkingelixir&amp;utm_medium=shownotes" rel="nofollow noopener">https://github.com/ivarvong/pyex</a> – PyEx — run LLM-generated Python inside your Elixir app with no containers, no ports, and no process isolation. Related project showing BEAM/Python integration.</li> <li><a href="https://bsky.app/profile/peregrine.bsky.social/post/3mehfa2urpc2w?utm_source=thinkingelixir&amp;utm_medium=shownotes" rel="nofollow noopener">https://bsky.app/profile/peregrine.bsky.social/post/3mehfa2urpc2w</a> – Jason Stiebs announces Easel v0.2.0, a Canvas 2D API for Elixir enabling drawing to Phoenix LiveView, native WX windows, or custom backends.</li> <li><a href="https://github.com/jeregrine/Easel?utm_source=thinkingelixir&amp;utm_medium=shownotes" rel="nofollow noopener">https://github.com/jeregrine/Easel</a> – Easel GitHub repository. Supports layers, animations, event handling, templating, and both LiveView and Wx rendering backends.</li> <li><a href="https://easel-demo.fly.dev/?utm_source=thinkingelixir&amp;utm_medium=shownotes" rel="nofollow noopener">https://easel-demo.fly.dev/</a> – Live demo of Easel running on Fly.io — all computations done in Elixir, sent over WebSocket to a canvas.</li> <li><a href="https://en.wikipedia.org/wiki/Boids?utm_source=thinkingelixir&amp;utm_medium=shownotes" rel="nofollow noopener">https://en.wikipedia.org/wiki/Boids</a> – Background on Boids, the artificial life program simulating flocking behaviour that inspired Easel's visual simulation capabilities.</li> <li><a href="https://x.com/Bart_Blast/status/2021741047903105527?utm_source=thinkingelixir&amp;utm_medium=shownotes" rel="nofollow noopener">https://x.com/Bart_Blast/status/2021741047903105527</a> – Hologram v0.7.0 announced — 49 contributors ported 150 Erlang functions to JS, pushing client-side Erlang runtime coverage from 34% to 96%.</li> <li><a href="https://hologram.page/blog/porting-initiative-delivers-hologram-v0-7-0?utm_source=thinkingelixir&amp;utm_medium=shownotes" rel="nofollow noopener">https://hologram.page/blog/porting-initiative-delivers-hologram-v0-7-0</a> – Hologram v0.7.0 blog post detailing the porting initiative. Overall Elixir standard library readiness grew from 74% to 87%, moving closer to full-stack pure Elixir development.</li> <li>Tidewave now supports OpenCode, and is deprecating "Bring your own key" support in favor of Codex, Claude Code, or OpenCode for richer agent features like MCPs, skills, planning, and compaction.</li> </ul> <p>Do you have some Elixir news to share? Tell us at <a href="https://twitter.com/ThinkingElixir" rel="nofollow noopener">@ThinkingElixir</a> or email at <a href="mailto:show@thinkingelixir.com" rel="nofollow noopener">show@thinkingelixir.com</a></p> <p><strong>Find us online</strong></p> <ul> <li>Message the show - <a href="https://bsky.app/profile/thinkingelixir.com" rel="nofollow noopener">Bluesky</a></li> <li>Message the show - <a href="https://x.com/ThinkingElixir" rel="nofollow noopener">X</a></li> <li>Message the show on Fediverse - <a href="https://genserver.social/ThinkingElixir" rel="nofollow noopener">@ThinkingElixir@genserver.social</a></li> <li>Email the show - <a href="mailto:show@thinkingelixir.com" rel="nofollow noopener">show@thinkingelixir.com</a></li> <li>Mark Ericksen on X - <a href="https://x.com/brainlid" rel="nofollow noopener">@brainlid</a></li> <li>Mark Ericksen on Bluesky - <a href="https://bsky.app/profile/brainlid.bsky.social" rel="nofollow noopener">@brainlid.bsky.social</a></li> <li>Mark Ericksen on Fediverse - <a href="https://genserver.social/brainlid" rel="nofollow noopener">@brainlid@genserver.social</a></li> <li>David Bernheisel on Bluesky - <a href="https://bsky.app/profile/david.bernheisel.com" rel="nofollow noopener">@david.bernheisel.com</a></li> <li>David Bernheisel on Fediverse - <a href="https://genserver.social/dbern" rel="nofollow noopener">@dbern@genserver.social</a></li> </ul><p>Sponsored By:</p><ul><li><a rel="nofollow" href="https://paraxial.io/?utm_source=thinkingelixir&amp;utm_campaign=thinkingelixir-oct2025">Paraxial.io</a>: <a rel="nofollow" href="https://paraxial.io/?utm_source=thinkingelixir&amp;utm_campaign=thinkingelixir-oct2025">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. </a></li></ul>