Recent Articles
I Don't Want to Have to Think About It
Jul 26, 2025 · 6 min read
I spent a substantial amount of time in the first half of 2025 ensuring that I don't have to think about microservices my team owns that have a low rate of change.

Resetting the Working Directory on Shell Function Exit
Jul 24, 2025 · 3 min read
Sometimes you need to change the working directory in a shell function. You should take care to reset it back after.

Copying Changes Between Git Clones
Jul 23, 2025 · 3 min read
How to copy uncommitted changes from one clone to another of the same repository.

Discussion Guide: The Pragmatic Programmer, 20th Anniversary Edition
Mar 26, 2025 · 7 min read
A guide with discussion prompts for David Thomas and Andrew Hunt's The Pragmatic Programmer, 20th Anniversary Edition.

Discussion Guide: More than a Glitch
Jan 26, 2025 · 8 min read
A guide with discussion prompts for Meredith Broussard's More than a Glitch: Confronting Race, Gender, and Ability Bias in Tech.

Automatic Audit Logging with PostgreSQL Triggers
Dec 12, 2024 · 10 min read
You can create an automatic audit log of changes to a table's rows by using functions, triggers, and a second table.

An Effective How-To Guide Template
Dec 11, 2024 · 8 min read
Having a template when writing technical how-to guides can increase clarity and therefore usability.

Reliably Detecting Command Existence in Bash
Dec 7, 2024 · 4 min read
You'll find quite a few different methods suggested on the internet, and they all have their own problems.

Heimdall: Attentive's Event Tracing Platform
Aug 28, 2024 · 13 min read
This article was originally posted on the Attentive Tech Blog.

Quickly Pin Python Package Versions
Mar 6, 2024 · 5 min read
Pinning package versions is important for reproducible builds and saving future you from headaches.

Resetting the Working Directory on Shell Script Exit
Mar 5, 2024 · 3 min read
Sometimes you need to change the working directory in a shell script. You should take care to reset it back after.
Amortize Your Learning by Writing How-To Guides
Mar 4, 2024 · 6 min read
The time required to learn something new can be large, but you can make that cost worth it by teaching it to others.