Strachey's Principle: The Discipline That Makes Abstraction Work

In 1965, Christopher Strachey changed his mind about machine code. He was building the General Purpose Macrogenerator — the GPM — at Cambridge to help write a compiler for the Combined Programming Language (a C precursor). The original plan was simple: mix machine code with macro calls where convenient. The GPM was designed to make this possible. He ended up abandoning the mix entirely. For the CPL compiler, all machine code would be incorporated as macro calls — even sections called only once, where defining a macro added no economy at all. It had started as a way to save effort. It became a principle. ...

February 23, 2026 · 6 min · Bradley Fidler

Using CHANGELOG.md as LLM session memory

Most LLM assistants don’t maintain memory between sessions. The standard workaround — a large CLAUDE.md or AGENTS.md with everything in it — breaks down quickly. What’s more, it duplicates other content in your repo, growing the documentation maintenance surface without adding value. Lately I avoid this problem by treating CHANGELOG.md as my LLM’s memory — specifically the [Unreleased] section from the format standardized by Keep a Changelog, which becomes the primary mutable state document. ...

February 21, 2026 · 3 min · Bradley Fidler