Recent Articles
![Quickly Pin Python Package Versions](../static/img/blog/quickly-pin-python-package-versions-thumb.jpg)
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](../static/img/blog/resetting-the-working-directory-on-shell-script-exit-thumb.jpg)
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](../static/img/blog/automate-your-macos-defaults-thumb.jpg)
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](../static/img/blog/discussion-guide-the-staff-engineer-s-path-thumb.jpg)
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](../static/img/blog/discussion-guide-the-unicorn-project-thumb.jpg)
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](../static/img/blog/use-github-actions-timeouts-to-protect-your-budget-thumb.jpg)
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](../static/img/blog/keep-lerna-monorepos-updated-with-renovate-thumb.jpg)
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](../static/img/blog/an-effective-incident-runbook-template-thumb.jpg)
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](../static/img/blog/skippable-github-status-checks-aren-t-really-required-thumb.jpg)
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](../static/img/blog/linting-markdown-files-with-markdownlint-thumb.jpg)
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](../static/img/blog/bash-environment-variable-defaults-thumb.jpg)
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.