Posts
All the articles I've posted.
-
Commit Messages & PR Titles
A practical guide to writing clearer commits and PRs. What I arrived at after almost two decades of questioning whether I was doing it right.
-
Ode to ADRs
Why Architecture Decision Records are one of the most underrated tools in software engineering, and why I start every project with them.
-
One Year at FoodCycle
Reflections on my first year of volunteering with FoodCycle — cooking for the community, fighting food waste, and finding something that actually matters on a Saturday morning.
-
Quick Image Resizing with macOS Automator
Simple Automator Quick Actions to resize images to 25% or 50% directly from Finder's right-click menu.
-
My Default Apps at the End of 2024
Updated:List of the apps I use, updated at the end of 2024.
-
The Invariant Pattern - Cleaner TypeScript with Assertion Functions
How the invariant pattern can eliminate endless null checks and make your TypeScript code more readable and type-safe.
-
Managing Default Code Editors on macOS
A simple bash script to quickly switch default file associations when jumping between code editors like VSCode, Cursor, and Windsurf.
-
Bulk Image Conversion to WebP with a Simple Zsh Function
A practical Zsh function to batch convert images to WebP format with ImageMagick.
-
Farewell, Twitter
After 15 years, I’ve said goodbye to Twitter — reflections on connections, lessons learned, and the bittersweet freedom of moving on.
-
Efficient API Polling in Redux RTK Query with EtagCacher
How to build a reusable caching utility that optimises API requests through ETag tracking and smart polling strategies.