When a project's config inherits yours
Two configs for one tool, the user's and the project's, and no rule anywhere about which one wins. Twenty minutes to make one a layer of the other and keep a straight answer about where every value came from.


Two configs for one tool, the user's and the project's, and no rule anywhere about which one wins. Twenty minutes to make one a layer of the other and keep a straight answer about where every value came from.

Four places a config value can come from, and the only question that matters at the wrong end of an incident: which one won, and why. Twenty minutes, one module, no services.

Fifteen minutes, no API keys, nothing to pay for, and a real mp4 at the end of it. The cheapest way to find out whether keryx does what you think.

Twenty minutes from a folder of frames to an album-ready export, with nothing written over an original. Also: the install method that will cost you an evening if you pick the obvious one.

A change that ships without a version bump reaches nobody, and nothing tells you. Ten minutes in a throwaway directory to see it happen, and then catch it.

A backup is only real once you have tested the restore. A self-hosting backup guide that deliberately refuses to bless a single tool.

Setting up an AWS billing alarm before you need one, with a KMS gotcha in the middle that stops the alert ever reaching you.

Choosing a CLI library in Go and Rust. Go is a ladder you climb from the standard library; Rust asks a different question much earlier.

Rotate a release signing key and recover from a bad one without locking users out. Why asymmetric KMS keys have no auto-rotate button.

Make a tagged release sign itself: record the KMS key and regenerate GoReleaser config with a signs block that calls gtb sign directly.
