The gateway that split my trace in two
Wiring OTel-native observability through a gRPC service with a REST gateway, and discovering the gateway had split a single trace into two.

Wiring OTel-native observability through a gRPC service with a REST gateway, and discovering the gateway had split a single trace into two.

A gpg call that hung and never returned, and why release signing ended up built into the Go tool itself rather than shelled out to the gpg binary.

A configuration module that writes changes back without wrecking the file a person wrote, with one small adapter per format and backend.

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.

Dropping the Windows build of a photo tool rather than fixing it, and why that is the right call for a one-person project.

A photo tool that is non-destructive by construction rather than by intention, because the shoot it works on can never be taken again.

Two new public modules extracting the OpenPGP signing and verification model, so you can use it without adopting the whole framework.

Building on your own framework means finding its gaps as a user rather than an author, and having to file the request against yourself.

A wedding photo culler that contains no machine learning at all, by deliberate choice. Blur, exposure and eyes, done with plain arithmetic.

A tool-failure log dumped a wall of Go stack frames where one line would have done. What a log record owes the person reading it.
