Some ways to navigate through 'git blame' over time in GNU Emacs

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.

Looking at the memory map of a Go 1.27 program on Linux

The bottleneck isn't writing code anymore. It's understanding it.

This week I was working on one non-critical feature that seemed simple at first sight. 50k lines of code later, it seemed to work as expected. In a side project, or a service where “nobody will be upset if it’s dead and kills everything around”, it would be read...

Code like a pirate with AI

Will AI coding agents pirate all our jobs? Not if we take back control, using my six-step PIRATE workflow for shipboard discipline.

Relative velocity and closing speed

In Physics simulations or game engines it’s sometimes useful to determine the speed with which two objects are approaching each other. This post will discuss the concept of closing speed, which is the normal component of the relative velocity of two objects. Relative velocity...

What '<code>sh -x</code>' mostly doesn't tell you about a shell script

Fake Clocks, Real Guarantees: Inside Go's synctest

The first time I reached for testing/synctest, I assumed it was a sleep helper with better manners. The public API is small enough to support that assumption: synctest.Test(t, func(t *testing.T) { ... }) synctest.Wait() synctest.Sleep(d) // new in Go 1.27 Three functions, one obv...

A plan to bring generic collections to Go 1.28

#​612 — July 31, 2026 Read the Web Version Go Weekly Go's Proposals for Generic Collection Types in Go 1.28 — An umbrella proposal from Go's Collections working group covering several collection data structures intended for the event...

Solving my problem with the Emacs Lisp byte compilation checker