Reading List

This page is auto-generated from Github Actions workflow that runs every day at night and fetches the 5 latest articles from each of my favorite blogs.

That mockingbird won't sing: a mock API server in Rust

Faking it till you make it isn’t always the best strategy in life, but it can be a useful one in software engineering. Here’s an easy way to create a local HTTP server for testing Rust API clients.

How to Know If your Software Is Overcomplicated or Oversimplified?

Quick takeaways Complexity comes from two extremes - projects fail both when they’re overcomplicated with unnecessary patterns and when they’re oversimplified for a complex domain Essential vs accidental complexity - essential complexity comes from the domain itself...

Shooting myself in the foot with Git by accident

Plugins case study: mdBook preprocessors

mdBook is a tool for easily creating books out of Markdown files. It's very popular in the Rust ecosystem, where it's used (among other things) to publish the official Rust book. mdBook has a simple yet effective plugin mechanism that can be used to modify the book output in arbi...

Pop quiz: what time was it?

Here’s a small quiz derived from some incorrect advice from an AI coding assistant. This program prints two timestamps; will they be a. Roughly the same time (ie, the same second)b. Roughly 10 seconds apartc. Something else Answer after the fold

What an error log level should mean (a system administrator's view)

Go 1.26 RC1, and the top links of 2025

#​583 — December 17, 2025 Read the Web Version 🎄 It's the last issue of 2025, so we're looking back over some of the big stories and links of the year. Also, Go Weekly will be moving to Fridays in January 2026, as part of a reshuffle for many of our new...

Don't fear Python subprocess or Go codegen

Discusses some design choices used in Jubilant: Python subprocess.run to wrap a CLI tool, a code generator to convert Go structs to Python dataclasses, and the use of uv with a simple Makefile to run commands.

DDD: A Toolbox, Not a Religion

Quick takeaways Domain complexity matters more than technical complexity - Most projects fail not because of technical challenges, but because they don’t handle the business domain well. DDD is a toolbox, not a religion - You don’t need to use every pattern from Doma...