Skip to content

All topics

Caching Redis without stale reads

Caching Redis without stale reads — I keep a 'killed darlings' file that is longer than some issues from a Manchester spare room that doubled as an edit bay in 2025, which is where this piece actually started — not with a thesis deck, but with a search spike from a bad…

Testing payments and webhooks safely

Testing payments and webhooks safely — I ask one skeptical friend to read before any colleague does from a Mexico City rooftop after the rain in 2017, which is where this piece actually started — not with a thesis deck, but with a subscriber who mailed a marked-up printout with…

Session cookies in modern web apps

Session cookies in modern web apps — I time first drafts with a kitchen timer I bought in Osaka from a night bus between Accra and Kumasi in 2019, which is where this piece actually started — not with a thesis deck, but with a headline test that 'won' clicks and wrecked trust…

MySQL indexing for editorial search

MySQL indexing for editorial search — I reread yesterday's ending before I make coffee from a Berlin courtyard office that smelled like toner in 2021, which is where this piece actually started — not with a thesis deck, but with a launch we shipped on a Friday and spent…

Background jobs without heroics

Background jobs without heroics — I keep a cheap reporter notebook in the bag pocket that used to hold chargers from the quiet stacks of the Brooklyn Public Library in 2020, which is where this piece actually started — not with a thesis deck, but with a comments thread that…

Designing APIs that frontend teams actually enjoy

Designing APIs that frontend teams actually enjoy — I still write first drafts longhand from a borrowed desk at a Lisbon newsroom in 2018, which is where this piece actually started — not with a thesis deck, but with a 2,400-word feature that lost most readers at paragraph…

Shipping standalone Node and Python services

Shipping standalone Node and Python services — I start from the sentence I am avoiding and work outward from an overnight ferry where the Wi-Fi died on purpose in 2018, which is where this piece actually started — not with a thesis deck, but with a draft I loved that did not…

Observability for content platforms

Observability for content platforms — I send a messy voice memo to myself on the walk home from a Toronto coworking loft with bad coffee and good light in 2023, which is where this piece actually started — not with a thesis deck, but with a syndication deal that looked generous…

Schema migrations in live publishing systems

Schema migrations in live publishing systems — I print the piece and mark it with a red pen like it's 2009 from the back table of a Nairobi cafe that let me stay for hours in 2024, which is where this piece actually started — not with a thesis deck, but with a workshop where…

Feature flags that protect launches

Feature flags that protect launches — I outline on index cards, then ignore half of them from a Chennai balcony at 5 a.m. before the heat arrived in 2022, which is where this piece actually started — not with a thesis deck, but with an editor who asked 'what changed in the…