Notes
Daily thoughts on things I've read, watched, or want to remember.
These Aren't New Principles
Evals, backpressure and agent guardrails are the feedback loops we already had. The mechanism didn't change, only who reads the output.
Is Attention a Budget or a Curve?
Attention budget and attention curve describe different parts of the same problem. Budget is about how much attention there is. Curve is about how it gets distributed across the context.
The Open-Closed Principle perfectly explains the replicator from Star Trek
Adding a latte shouldn't require opening the replicator. That's the Open-Closed Principle, and the holodeck safety protocols going offline is what happens when a design ignores it.
My video titles are honest, and that's a problem...
My video titles are usually just the name of the pattern. I won't do clickbait, so I'm experimenting: put the boring, accurate name on the thumbnail and use the title field as a hook.
The Four-Eyes Principle Isn't Slowing You Down
AI is accelerating PR volume and cracking a review bottleneck that's been straining for years. The proposed fix — let any engineer approve anything — guts the signal four-eyes is supposed to provide. There's a better answer, and it predates AI.
AX: Agent Experience
There's a term for what I've been focused on: AX. Agent Experience. It's been around a while, and it's where most of my time has gone recently.
Disable the 1M context window
Claude Code ships with a 1M token context window. We don't need it. Disable it and your context becomes something you have to manage.
How I avoid context switching
There's a quiet assumption in agentic workflows that context switching stopped being a problem. It didn't. Here's how I capture mid-session discoveries without leaving the task I'm actually in.
I finally finished my Event Sourcing video
After four to six months of work, my video introducing Event Sourcing using football as a metaphor is finally out.
Success Is Silent
A principle emerging from agentic coding: verification steps that pass should produce no output; failures should dump everything. Simple idea, but it matters more than you'd expect when an LLM is the one reading the output.
The Night Shift Workflow
Jamon Holmgren's Night Shift workflow separates human thinking from agent execution — specs by day, autonomous implementation by night. The core insight: your time is the expensive resource, tokens are cheap. Start from a draft PR, not from zero.
Composition over Inheritance on roadmap.sh
My Composition over Inheritance YouTube video is listed as a learning resource on the roadmap.sh Software Design and Architecture roadmap.
LSP plugins in Claude Code
Claude Code has official LSP plugins for code intelligence. Easy to miss if you haven't gone looking.
Neologisms
Fowler coins new words to describe things he sees in software. I do the same. I don't expect any to catch on. I do it to help me think.
Semantic Diffusion
Semantic Diffusion describes how terms lose their meaning as they spread. I discovered it a while ago. I think Event Sourcing, CQRS, and DDD are topics that suffer from this exact problem.
42 Days Across the Labrador Wilderness
Kevin Wild filmed his 42-day, 650km solo canoe expedition across the Labrador wilderness. The result is an 8-hour documentary covering everything from polar bear territory to paddling alongside whales. Unmissable!
Implicit Freshness
Claude is assuming my codebase and dependencies are always fresh. I'm experimenting with a new CLAUDE.md decision-making heuristic. I'm trying to nudge it to check before wasting a bunch of time on debugging cycles.
Pointer Capture for Range Inputs
Native range inputs have a tiny capture area — drag too fast and the pointer escapes. setPointerCapture locks tracking to the element, touch-none stops the browser stealing the pointer for gestures, and a pointerup handler catches the final position that pointermove misses.
Manage the Context Window
Daniel Griesser's custom sub-agent workflow for context management was ahead of its time — what he hand-rolled is now being shipped as first-class tooling. The core insight still stands: context is precious, and managing it intentionally is everything.
Deep Modules and AI-Ready Codebases
Matt Pocock argues your codebase is the biggest influence on AI output, not your prompt. His solution is deep modules from John Ousterhout's A Philosophy of Software Design. It maps perfectly to how CQRS already works — each service boundary is a deep module with commands and queries as its interface.
Mole — macOS Disk Space Cleaner
Mole is a macOS command-line tool that bundles system cleaning, smart app uninstalling, and build artifact removal into one binary. Ran it while fighting a disk space crunch and recovered over 20GB in minutes.
Subagents and the Smart Zone
Matt Pocock explains why subagents are the dominant pattern for coding agents, keeping work in the first 40-50% of the context window where models perform best.
Raspberry Pi with a Purpose
Got a new Raspberry Pi, but this time it's not for tinkering—it's for an actual project. First time installing a heat sink that won't be used to play Counter Strike.
Discovered EaseMaster – A Playground for Custom Easing
Found this fantastic tool for exploring easing functions. It's opened up a whole playground for experimenting with custom timing curves to match the vibe and feeling of different animations.
Design Patterns for Humans
Solid resource for understanding design patterns with good explanations and examples.
Compiled Conversations #17: Event Sourcing
Shawn McCool discusses Event Sourcing as a modelling technique—how it differs from Event Streaming, why aggregates work better as short-lived lifecycles, and how CQRS pairs naturally with it. Touches on DDD as a pursuit of domain understanding.