Recent Articles
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.
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.
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.
Automate Your macOS Default Settings
Feb 18, 2024 · 7 min read
You can use built-in CLI tools to apply your preferred macOS settings.
Discussion Guide: The Staff Engineer's Path
Nov 7, 2023 · 7 min read
A guide with discussion prompts for Tanya Reilly's The Staff Engineer's Path.
Discussion Guide: The Unicorn Project
Nov 6, 2023 · 8 min read
A guide with discussion prompts for Gene Kim's The Unicorn Project.
Use GitHub Actions Timeouts to Protect Your Budget
Nov 5, 2023 · 4 min read
The default job timeout of 6 hours is unreasonably long.
Keep Lerna Monorepos Updated with Renovate
Nov 4, 2023 · 9 min read
Keeping dependencies up to date is important for every codebase, and there are a few strategies for Lerna monorepos.
An Effective Incident Runbook Template
Nov 3, 2023 · 8 min read
A structured incident runbook that is tailored to your organization's needs is an essential tool in your SRE documentation.