margin

Writing

2017
Systems

The first service

2017.074

Picking the first piece to cut from a Perl monolith, rewriting it in Go, and switching over before you lose your nerve.

2016
2015
2014
Craft

Git history with Gource

2014.158

Turning months of git commits into an animated video with Gource and ffmpeg -- then opening the weekly sharing session with it.

Craft

Plans, not posts

2014.120

Leaving the salary to try building something -- a platform where the unit isn't opinion or memory, but a plan.

Notation

ACCEPTed. COMMITed. RESOLVEd.

2014.101

Adrian Hands contributed a GNOME patch using Morse code typed with his knees. His commit message was three words and an exclamation.

Notation

Go Big or Go Home

2014.006

A text-poster on a meeting-room wall, doing more work than a poster should.

2013
Notation

11/12/13

2013.345

A birthday, a public oath, and one line I want to keep.

Node

Express middleware chains

2013.288

Route handlers don't need to be nested callbacks -- Express middleware chains turn them into a flat, readable sequence.

Ops

Zero-downtime deploys

2013.196

A bash deploy script and a Node.js process monitor -- SSH, pull, touch a file, the cluster reloads. No CI, no dashboard. The terminal.

Node

Sorting by multiple fields

2013.179

A composable predicate function for sorting arrays of objects by multiple fields -- with reverse, primers, and short-circuit evaluation.