Learn

Get better at programming on purpose, even while AI writes more of the code.

Start here

Every craft is learned the same way: imitate first, then improvise, and only then innovate. Programming is no exception. AI can hand you finished code at any stage, but not the understanding that comes from making it. Start with the path, then read why speed and understanding are different outputs:

Paths

Over a decade of notes on how programmers get better: deliberate practice, useful friction, and writing to find out what you don’t understand yet.

Practice

Learning with a Zettelkasten

Swift and AppKit craft

Work with me

Latest

All 931 posts
Sep 29 2026

Mastery is a Wicked Problem

Reaching mastery has no clearly defined finish line, and in software crafting in particular, it is a ‘wicked’ environment because the rules and tools change under you all the time while everyone disagrees about what the goal is.

Apr 24 2026

Counter Drift and Entropy with Kaizen

The answer to entropy in things we build, of getting worse over time and not better, always has been to stay vigilant and impose order, even as the order changes.

Mar 26 2026

Peloton for the Mind

Use a computer to be fast, use a computer to exercise the mind.