Recent Articles

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.


Hash a String to a Number in Bash
Hash a String to a Number in Bash
Mar 5, 2023 · 2 min read

Sometimes you need to turn a stable string ID into a stable number ID, and it's relatively easy to do in Bash.


Installing npm Packages From GitHub
Installing npm Packages From GitHub
Feb 23, 2023 · 2 min read

Installing packages from GitHub is a great way to test them before publishing.


Reporting Lerna Monorepo Test Coverage to Codecov
Reporting Lerna Monorepo Test Coverage to Codecov
Feb 20, 2023 · 3 min read

It's not straightforward, and you likely can't use preexisting CI tasks.


Migrating Existing Repos to a Lerna Monorepo
Migrating Existing Repos to a Lerna Monorepo
Feb 20, 2023 · 9 min read

As of writing, I maintain 15 Metalsmith plugins, and it has become a pain to manage all of them independently.


Automatically Execute Code Before & After Unix Commands
Automatically Execute Code Before & After Unix Commands
Jan 19, 2023 · 4 min read

It can be helpful to run some code automatically before or after calling a command, and it is easy to accomplish with shadowing functions.


Calculating Table Size in MySQL
Calculating Table Size in MySQL
Sep 15, 2022 · 2 min read

Knowing how much disk space individual tables take up is important for DB maintenance and debugging, and it can be accomplished with a single query in MySQL.


Your Standup is Too Long
Your Standup is Too Long
Aug 8, 2022 · 8 min read

The Agile Alliance recommends 15 minutes every day, I would recommend even shorter and less often.