Work
A few selected projects I have worked on or am still working on, mostly in my spare time.
Distributed systems
Programming models and infrastructure for software that communicates and coordinates across processes and machines.
Kompact
Actors and typed components in Rust, bringing flexible messaging and explicit interfaces together for distributed systems.
Flotsync
An experimental peer-to-peer group synchronisation project, currently under development.
Delta Lake contributions
An open table format providing reliable transactions over data-lake files, with support for batch and streaming workloads.
Kompics, Scala and Kola
Component-based distributed programming, with language support for clearer algorithms and stronger static checks.
Leader-based Sequence Paxos
Lecture notes that develop a practical consensus algorithm for agreeing on a sequence of decisions despite failures.
Arc and Arcon
Research into a common representation for batch and stream analytics, connected to the Arcon runtime through Kompact.
CaracalDB
A distributed key-value store combining ordered keys, replicated partitions and load balancing.
Rust ecosystem
General-purpose libraries for the Rust ecosystem.
Rust Executors
Task executors for Rust, with work-stealing and channel-based thread pools and a benchmark suite for comparing scheduling choices.
Hash Wheel Timer
Timer facilities for Rust, built for distributed algorithms and testing with simulation time.
Gaming
Tools for tabletop games and their worlds.
Eclipse Phase Solar System Explorer
An interactive 3D map of the Eclipse Phase solar system and its settlements.
Eclipse Phase tools
First Edition tools for players and GMs, spanning a Roll20 sheet, companion script, compendium and character generator.
Developer tools
Tools for working with code and the work around it.
Gitrack
Git-native issue tracking that keeps work and its history alongside the code, with predictable workflows for coding agents.