AMA #1: Clean Architecture, Learning, Event-Driven, Go

Quick takeaways Go in the AI era: Go is excellent for AI applications, as the built-in concurrency makes orchestrating parallel API calls much easier than languages like Python Architecture philosophy: Clean Architecture isn’t always necessary. Start simple and add layers...

How you can wind up trying to allocate zero bytes in C

1 million chess boards and 10,000+ Go binaries

#​560 — July 2, 2025 Unsub  |  Web Version Go Weekly An Interactive Tour of Go 1.25 — Release Candidate 1 is out, RC2 is expected next week, the draft release notes already make for good reading, and things are on schedule for a...

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.