Trying to be cogent.
I’m a software engineer with a focus on designing for simplicity, reliability and stability in distributed systems.
At SoundCloud I’m the Tech Lead of the Data Platform, working on the architecture of our data infrastructure, and guiding how we work with data infrastructure across the company.
Posts here are about things I learned and found interesting, or just useful.
Flying with a bike is always a slightly trying affair, all the more so when I'm trying to fill the bag to the brim with kit, food and a big, heavy lock!
Training done, bike cleaned, punctures repaired and the start is suddenly very close.
The basic route was published months ago, but now we can see the detail, including how we're doing three ascents of Alpe d'Huez
On my third attempt at this beautiful but brutal course of 174km and 5500m of ascent I finished with a Brevet d'Or, the Gold Classification
Fast bunch riding and avoiding crashes in the 180km edition of the 2017 Berlin Velothon
We have a good solution for ownership of services in a microservices architecture. We can learn from this to define ownership of datasets in a way that reduces the total cost of maintenance and integration across teams.
A blockchain allows independent parties to make verifiable statements. This works with bitcoin, whose value comes from the system itself, but fails in applications where the value is external.
Two-phase commit is a long-established means of keeping two resources strongly synchronised. These days it's not so sexy, but it's an important piece of heritage of distributed computing.
Record shredding allows nested data structures to be considered in a sort-of-tabular way, and stored in a columnar data store. This post describes the intuition behind how this can be done preserving message structure, from Dremel and Parquet.
We like our code to be "robust". This post looks at different failure modes against which a system needs to be protected