Recent Articles
If It Doesn't Page Me, I'm Not Looking at It
Mar 16, 2026 · 4 min read
If an alert isn't important enough to wake me up at 2 a.m., then it isn't important enough to interrupt my working hours.
Your Service Should Make a Sound When it Flatlines
Dec 18, 2025 · 3 min read
When (not if) your service dies, do you have an EKG to tell you so?
The Rings of Legacy Code
Nov 28, 2025 · 2 min read
It's easy to see the growth of a tree in hindsight by cutting it down and measuring its rings. Software at your company has growth rings, too.

Defensive Shell Scripting with Shell Options
Nov 24, 2025 · 10 min read
Unlike typical programming languages, Bash doesn't terminate when it encounters a variety of exceptions.
Be an Engineer Who Invites Collaboration
Nov 23, 2025 · 7 min read
I don't care if you're a 10x engineer, I care if we can build great things together.
One, Few, or Many: A Guide to Rapid Impact Assessment
Nov 22, 2025 · 3 min read
Stakeholders love this one simple trick.

Querying MySQL Row Counts the Fast Way
Oct 5, 2025 · 7 min read
SELECT COUNT(*) requires an expensive full index scan, which probably isn't what you want.

Installing Old Homebrew Cask Versions
Oct 4, 2025 · 5 min read
Homebrew makes it very difficult to install older versions of a cask.

Pin Your GitHub Actions to Protect Against Supply Chain Attacks
Aug 23, 2025 · 5 min read
Pinning third-party GitHub Actions to a commit SHA helps protect you against supply chain attacks.

Installing Old Homebrew Formula Versions
Aug 13, 2025 · 5 min read
Homebrew makes it very difficult to install older versions of a formula.

