Code BEAM America 2022
as the organisers put it
Welcome to Code BEAM America, a conference organised by Code Sync. Code BEAM America is the premiere Erlang and Elixir conference in America, bringing the best speakers in the community together, for two days of first-rate BEAM-related talks and two days of tutorials.
who it's for
elixir developers, erlang developers, embedded systems engineers, tooling and developer-experience engineers, site reliability engineers, data engineers, machine learning engineers
topics
Nerves and Phoenix on-device deploys; seL4 microkernel with BEAM; Nx backends and EXLA compilation; GenStage high-throughput pipelines; TimescaleDB hypertables and time_bucket_gapfill; Erlang Language Server refactor integration; ActiveMemory for ETS and Mnesia; persistent_term performance optimizations; formal reasoning with TLA+ and Mealy models; OTP process abstractions with proc_lib
| title | author | length |
|---|---|---|
| Keynote: We are stronger together | Andrea Leopardi, Maxim Fedorov | 57m |
Claims the BEAM ecosystem has over 30 languages and suffers fragmentation while the VM remains the stable core, argues for a monorepo for the BEAM with… | ||
| Keynote: Formal Verification? No, Formal Reasoning! | Marianne Bellotti | 46m |
Argues that formal methods are more useful as formal reasoning than full verification and shows practical tactics: pick one transaction, model states as Mealy… | ||
| Keynote: Security Under the BEAM | Boyd Multerer | 43m |
Claims a working platform that marries the BEAM and OTP fault model with a formally verified microkernel and management stack, shipping an early Kry10 Secure… | ||
| Keynote Panel discussion: Erlang all the things | Randall Thomas | 41m |
Panel argues that running Elixir/Erlang on the BEAM with Nerves turns many IoT projects into software problems: deploy Elixir to Raspberry Pi/BeagleBone, use… | ||
| Refactoring via the Language Server Protocol | Simon Thompson, Dominik Katkó | 32m |
Implements Wrangler refactorings inside the Erlang Language Server so editors get Wrangler via Erlang LS using LSP JSON-RPC messages; uses code actions… | ||
| Network Observability | Ananya Shandilya | 41m |
Erlang-based InFlow collector parses sFlow and IPFIX via binary pattern matching, runs gen_udp receivers that hand work to parser workers, and handles template… | ||
| Accessible Time Series data | David Lucia | 42m |
TimescaleDB installs as a Postgres extension that converts tables into hypertables split into time-and-space chunks, enabling fast time-aware queries (example… | ||
| Building blocks and How to Use Them: A MongooseIM Case Study | Nelson Vides | 40m |
MongooseIM is an Erlang XMPP server that shows concrete refactors: a single persistor term config replaces nested ETS, the XML parser moves to a non-yielding… | ||
| Build animatronics | Flora Petterson | 19m |
Nerves Livebook running on a Raspberry Pi controls real hardware and lets live code puppetry: examples include blinking LEDs and a servo-driven… | ||
| seL4 and BEAM: A match made in Erlang | Ihor Kuz | 26m |
Ports the open-source BEAM to a freestanding seL4 microkernel on ARMv7, implementing a minimal POSIX layer (pthread wrappers, basic filesystem, LWIP network… | ||
| Deep dive in Nx Backends | Paulo Valente | 23m |
Shows how Nx represents tensors (binary backend) and the defn expression backend as a shared graph that enables compilation and symbolic transforms… | ||
| Good behaviour: Cultivating Healthy Elixir Teams & Codebases | Meryl Dakin | 47m |
Shows a small Letterboxed-style API built with Phoenix and Ecto where preloads move from controllers into a movies context, workers use Oban job enqueues… | ||
| When the Cloud s Reign is Over | Nicholas Adams | 26m |
Claim: beyond a tipping point public cloud becomes far more expensive—sometimes approaching double an in‑house IT budget—and moving data back can cut costs… | ||
| On the way to achieve autonomous node communication Elixir | Hideki Takase | 26m |
Rclex embeds ROS 2’s RTPS/DDS into Elixir to enable brokerless discovery and publish/subscribe; the demo spawns 5 publishers and 3 subscribers as Elixir… | ||
| ActiveMemory the missing ORM for ETS and Mnesia | Erin Boeger | 21m |
Introduces the ActiveMemory hex package that wraps ETS and Mnesia into a familiar Store API with auto-generated UUIDs, migrations, match-style queries and seed… | ||
| Fast IP Address Matching in Elixir (...) & Persistent Term | Michael Lubas | 18m |
Solves matching 1 million IP prefixes by parsing CIDR into bit-keyed structs and storing them in a radix tree so lookups stay in microseconds versus list scans… | ||
| Elixir update | Andrea Leopardi | 18m |
Elixir 1.13 added semantic recompilation, mix xref, code.fragment for IDE tooling and formatter plugins for custom syntax, while 1.14 (Sept 2022, OTP 23) ships… | ||
| Tackling Technical Debt at Adobe: A Story | Milton Mazzarri | 30m |
Elixir monolith migrates background work to Oban Pro+Web and a Broadway pipeline, cuts API instances from 22 down to 9 while traffic doubles, and halves… | ||
| How Elixir Helped Me to Love the Back End | Katelynn Burns | 28m |
A JavaScript-focused developer switches to Elixir and finds the backend suddenly clear and enjoyable: generating a working app with mix phoenix.new in a few… | ||
| An Elixir app to a small hydropower plant | Yutaka Kikuchi | 40m |
Elixir runs SCADA on custom Nerves machines based on BeagleBone Green, replacing fragile Raspberry Pi and offloading PLC-style regulation/protection to… | ||
| OTP Process Abstractions with proc lib | Mitchell Hanberg | 32m |
Shows how to build an OTP‑compliant process abstraction with proc_lib instead of wrapping gen_server, implements a small gen_lsp behavior (start_link… | ||
| Learn you some pattern matching for great good! | Elayne Juten | 45m |
Explains how Elixir’s match operator binds and fails with a MatchError, shows lists are strict about order/length while maps match on subsets, and demonstrates… | ||
| Comparing Elixir and Python when working with Simple Neural Networks | A. Neto, L. C. Tavano | 38m |
Comparison of Elixir using Nx and Axon versus Python with Keras trains MNIST in ~20s (Elixir) vs 15s (Python) and CIFAR-10 in ~28s vs 23s; raw Elixir without… | ||
| Freestanding Erlang Porting BEAM close to the metal. | Ihor Kuz, Kent McLeod | 27m |
Project ports an unmodified BEAM to a freestanding ARMv7 environment and runs real Elixir/Erlang workloads. It replaces kernel calls with a vdso-style vsyscall… | ||
| Performance Improvements | David Ansari | 40m |
Overview of concrete changes and results: RabbitMQ leverages Erlang/OTP and the BEAM, uses perf flame graphs and perf_test/stream_perf_test/emqtt_bench for… | ||
| Typing with pixie dust | Mackenzie Morgan | 11m |
A Rebar3 plugin that automates TypEr by wiring CLI and rebar config into TypEr, vendoring TypEr to split out typer_core and submitting that patch to OTP… | ||
| Better Data Access with Composable Queries | Andrew Ek | 42m |
Decomposes Ecto.Query into small composable functions that return a queriable, showing concrete helpers like joins, subqueries and named bindings so callers… | ||
| Crossing boundaries with Gleam - from functions to runtime | Raúl Chouza | 21m |
A functional chess engine is built in Gleam with opaque types, pattern matching and a rules engine, compiled to Erlang and loadable in IEx via compile to… | ||
| A case study of using FP and Erlang in a Computer Science Curriculum. | Lee Barney | 43m |
A department rewrites an undergraduate CS curriculum around functional programming, adding Erlang OTP and Clojure tracks while keeping early Python and C… | ||
| High throughput data processing with GenStage | Ian Butler | 22m |
Shows how GenStage composes producers, producer_consumers and consumers to implement micro‑batching, partitioning, retries and backpressure with concrete… | ||
| A decentralized data platform to take back the control of your data | Benoit Chesneau | 30m |
Barrel is a decentralized data platform built in Erlang that separates control plane from data nodes so local data stores hold encrypted blobs and metadata… | ||
| nothing matches | ||