Distributed Systems
This is the throughline of the blog. A decade of work on coordination-free programming, conflict-free replicated data types, fault injection, and the engineering practice of building distributed systems that don't lie about their state. The recent AI-agents writing keeps re-discovering problems I spent that decade staring at.
- Verified Vector Clocks — a Coq-verified vector clock library, exported to Erlang for Riak. Posts walk through the experience of formalizing a distributed primitive in a proof assistant.
- SyncFree / Lasp — a coordination-free distributed programming language. Five years of work, including the EU-funded SyncFree research project. Lasp lets you build distributed applications without coordination, using CRDTs as the underlying data model.
- Partisan — a high-performance, fault-tolerant distributed runtime for Erlang. Replaces the default Erlang distribution layer with one designed for modern cloud environments.
- Filibuster — service-level fault injection testing. Companion to my Ph.D. thesis. Production version at filibuster.cloud.
- Programming Models for Distributed Computing — the seminar curriculum I taught, walking through the foundational papers in the field (Argus, Emerald, Hermes, Promises, etc.).