Recent Articles

Quickly Pin Python Package Versions
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
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
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
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
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
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
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
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
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.


Skippable GitHub Status Checks Aren't Really Required
Skippable GitHub Status Checks Aren't Really Required
Jul 25, 2023 · 5 min read

If your GitHub branch protection rule requires a status check, but that status check can be skipped, you aren't actually protected.


Linting Markdown files with markdownlint
Linting Markdown files with markdownlint
Apr 5, 2023 · 2 min read

Markdown's syntax is easy to learn, and even though the syntax is forgiving, linting can help you avoid unexpected issues.


Bash Environment Variable Defaults
Bash Environment Variable Defaults
Apr 5, 2023 · 3 min read

Bash scripts can set defaults for environment variables that are optionally supplied at execution time.