Programming Language Progress Is Subtraction
From Dijkstra's goto to Rust's ownership: every major language leap removed a power from the programmer. Could AI design the minimal universal language, the Esperanto of programming?
Lessons learned, problems and solutions
From Dijkstra's goto to Rust's ownership: every major language leap removed a power from the programmer. Could AI design the minimal universal language, the Esperanto of programming?
You don't learn Git by memorizing commands, but by grasping the mental model (the three zones) then practicing the core loop before branches. The method that sticks.
Graceful shutdown, middleware stack, circuit breaker, structured logging. The Go patterns that survived months of regulated financial production.
CSS frustrates when you jump to styling before understanding space. It's learned in a precise order: selectors, box model, layout, responsive, animations. With an interactive course.
HTML is learned by building real pages, not by memorizing a list of tags. The right order, from structure to forms, with a free course to practice.
Go iterators explained through the real traps: the yield contract, the 'continued iteration' panic, cleanup on break, iter.Pull and its stop(), and when NOT to write an iterator.
Copy-paste Claude Code hook examples: auto-format after edits, block dangerous commands, and the Stop hook that forces a final check without an infinite loop. Real settings.json config.
Expose your API to Claude through a Go MCP server: the official SDK, stdio vs streamable HTTP, typed tools, auth, and the design mistakes to avoid in production.
Chaining order, recover, context timeouts, the ResponseWriter wrapping that breaks streaming, request IDs: the Go HTTP middleware that holds up in production, with real code and traps.
How I reworked 109 interactive lessons with 5 desirable difficulties (active recall, spaced repetition, the generation effect) and AI agents, all tested in production.