Summary of reading: April - June 2025

"All Thirteen: The Incredible Cave Rescue of the Thai Boys' Soccer Team" by Christina Soontornvat - a very nice account of the unusual event that kept the world enthralled in 2018. "The Frontiersmen: A Narrative" by Allan W. Eckert - tales from the US frontie...

Flags for discoverable test config in Go

As your test suite grows, you need ways to toggle certain kinds of tests on or off. Maybe you want to enable snapshot tests, skip long-running integration tests, or switch between real services and mocks. In every case, you’re really saying, “Run this test only if X i...

How to Create PRs That Get Merged The Same Day

Quick takeaways Prioritize reviews over new work - treat PRs as work that’s almost done and needs to be pushed to production quickly Big PRs create a deadly loop - when reviews take ages, developers make even bigger PRs to avoid multiple long waits Knowledge sharing is the...

Some bits on malloc(0) in C being allowed to return NULL

Go 1.25's JSON evolution

#​559 — June 25, 2025 Unsub  |  Web Version Go Weekly JSON Evolution in Go: From V1 to V2 — A good look into the practicalities of using the JSON v2 package which lands in Go 1.25 (final release due in August) with new field tags...

Dealing with race conditions

#​558 — June 18, 2025 Unsub  |  Web Version Go Weekly Dealing with Race Conditions in Go — Anton has written some fantastic posts about concurrency in Go and this latest outing takes us deep into race conditions, including uncove...

Moving on from Nix

After using nix in my dotfiles for over 2 years, I’m now moving away from it. Here’s why.

The joy of (type) sets

Generics introduces a whole new kind of interface to Go: one based not on methods, but on type sets. Let’s explore the possibilities.

Notes on Cramer's rule

Cramer's rule is a clever solution to the classical system of linear equations Ax=b: \[\begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \\ \end{bmatrix} \begin{bmatrix}x_1 \\ x_2 \\ x_3\end{bmatrix} = \...

Go 1.25 Release Candidate 1 released

#​557 — June 11, 2025 Unsub  |  Web Version Go Weekly Go 1.25 Release Candidate 1 — The final release of Go 1.25 isn’t till August, but the Go team is confident enough to issue the first RC now. The only language change is the...