r/erlang

Meet with Elixir, Erlang, Gleam, OTP, BEAM Communities - Code BEAM Europe 2026
▲ 33 r/erlang+2 crossposts

Meet with Elixir, Erlang, Gleam, OTP, BEAM Communities - Code BEAM Europe 2026

Hey all 👋

Sharing a heads-up about Code BEAM Europe 2026 - 21-22 October in Haarlem (PHIL), plus online, with a training day on 20 October.

2 days, 2 tracks each day, and 3 keynotes - including Brooklyn Zelenka (Let It Disconnect: A Local-First Future), Sam Aaronof Sonic Pi (Notes on the Synthesis of Time, plus an interactive evening Phone Orchestra), and more.

~30 speakers across Erlang, Elixir and Gleam: ElixirConf®

The thing we're most excited about this year is the new Informal Space - a community-led area running alongside the main programme for the stuff that doesn't fit the talk format. Think hands-on demos, live experiments on real hardware, hacking sessions, games, panel-style discussions, talks in languages other than English… and at least one surprise we're not spoiling yet 🙂

We're finalising the Informal Space lineup now and will announce it soon. Newsletter subscribers get the first look(they already have), so if you don't want to miss it - and the other bits we'll be dropping between now and October - that's the place to be: Code BEAM Europe

Early bird tickets are limited - available for a limited time / until they sell out - so if you're planning to come, worth sorting sooner rather than later.

Register: Code BEAM Europe

See you in Haarlem or online!
The Code BEAM Europe Team

u/Interesting_Meat_964 — 18 hours ago
▲ 11 r/erlang+1 crossposts

ExDataSketch v0.10.2 is out

Just released ExDataSketch v0.10.2. This release contains mostly minor fixes and documentation updates. Here are the main changes:

  • You can now set per-family default options (backend, precision, capacity, etc.) once via Application config instead of passing them at every call site.
  • FilterChain.put_many/2 batches inserts through each stage's own batch path instead of looping single-item calls, and along the way we also caught and fixed a genuinely funny bug where Bloom.put_many/2's "optimized" batch path (an Erlang-tuple mutation trick that doesn't actually get the destructive-update optimization it was counting on) was slower than just looping single inserts — that's now ~25x faster and finally does what it always claimed to.
  • On top of that: Cuckoo no longer spuriously reports full well below its designed load factor (a kick-eviction cycling bug),
  • Quotient/CQF membership checks no longer decode the entire table on every call (up to 300x faster),
  • CQF now correctly reports {:error, :full} instead of silently dropping inserts,
  • and REQ gets the same compaction weight-invariant fix KLL got last release.
  • Finally the livebooks have been tested, fixed and updated.

Two small breaking API changes: CQF.put/2/put_many/2 now return {:ok, cqf} tuples (mirroring Cuckoo), and FilterChain.delete/2 now returns a bare struct instead of a pointless {:ok, _}.

Full changelog and upgrade notes in the repo.

u/Shoddy_One4465 — 5 days ago
▲ 36 r/erlang+1 crossposts

Mat Trudel spent six months debugging a single Bandit issue. The fix was one misread line in a 30-page RFC about HTTP/2 header compression.

New BEAM There, Done That with the author of Bandit - the pure Elixir web server now default in Phoenix. Covers the HPACK debugging nightmare, what one-process-per-connection actually buys you at 3am, and why there's an AI-generated HTTP/3 PR sitting open on the repo that Mat hasn't merged.

He uses agents for everything in his day job. Bandit stays handwritten. The episode is honest about why.

https://youtu.be/XXQcoz_dTE0

u/ancatrusca0 — 6 days ago
▲ 87 r/erlang+1 crossposts

PON-BEAM: a complete re-architecture of the Erlang/OTP Virtual Machine using the Notification-Oriented Paradigm (PON)

github.com
u/Conradfr — 12 days ago
▲ 39 r/erlang+1 crossposts

What does an Erlang VM look like with no OS underneath - and why did someone spend 8 years building one?

New BEAM There, Done That with Maxim Kharchenko, creator of LING - a from-scratch Erlang VM running directly on Xen with no Linux kernel.

The part I hadn't seen discussed before: Ling's instruction set isn't fixed. It analyzes real OTP source, identifies frequently occurring patterns, and generates specialized opcodes - if loading the constant 17 is common enough, 17 gets its own instruction. More opcodes means a bigger VM and slower dispatch, so a heuristic manages the tradeoff.

Also: every allocation in the codebase has an explicit out-of-memory handler. Not convention - a whole-system discipline.

Francesco notes the problems Ling solved ten years ago have come back as unikernels and eBPF. Is anyone here doing bare-metal or near-bare-metal BEAM deployments today?

https://youtu.be/ILEyncf194M

u/ancatrusca0 — 13 days ago