Archives
All the articles I've archived.
-
Scope is a Composition Decision
Published: at 11:51 AMAngular's dependency injection model, providing services, etc.
-
Bean Soup and ACID
Published: at 08:00 PMMental blind-spots, CQRS, Event Sourcing and Bean Soup
-
Explicit RAG That the Developer Controls
Published: at 08:00 PMA cold Claude instance looked at msw-lens and said "this is just explicit RAG that the developer controls" — and that one sentence reframed the whole project.
-
Your AI Can't Watch Your Video
Published: at 08:00 PMThe same principle that makes runtime state legible to AI applies to video — the content isn't the artifact, the artifacts around it are.
-
Stop Giving Your AI a Role. Let It Watch You Instead.
Published: at 08:00 PMThe assigned-role paradigm puts the AI in a costume. The better move is a relationship where the AI can tell you when *you're* the one who's off.
-
AI-Supplemented Learning
Published: at 08:00 PMWays to use an AI coding assistant as a learning tool — not just a code generator.
-
Don't Build Smarter Tools — Build Tools That Make Your AI Smarter
Published: at 08:00 PMThe most productive thing I've done lately isn't writing better code — it's building tools designed for my AI assistant to use.
-
You Can Just Ask It
Published: at 08:00 PMThe entire genre of AI prompting hacks misunderstands what's actually happening. You don't need tricks. You need context.
-
Designing for Two Audiences at Once
Published: at 08:00 PMWhen you're building tools that serve both humans and AI, 'equal footing' hides a real conflict — here's how to name it and resolve it.
-
Pair Programming with an AI — What Actually Makes It Work
Published: at 08:00 PMWhat the collaboration that built Stellar taught me about the conditions that make human-AI pair programming genuinely generative.
-
Clean Code for AI
Published: at 08:00 PMWhich software conventions are load-bearing for correctness, and which are cognitive prosthetics for human working memory — and why the distinction matters more when AI is in the loop.
-
What Changes When the Cost of Friction Drops
Published: at 08:00 PMFred Brooks, essential vs. accidental complexity, and why the servant framing limits what you can build with AI.
-
Keeping Principles Alive Across AI Sessions
Published: at 08:00 PMTDRs document reasoning but don't enforce behavior — here's the two-artifact pattern that actually keeps design commitments alive across sessions.
-
humans.txt — Making the Human Contribution Visible
Published: at 08:00 PMOn adding a humans.txt alongside robots.txt and llms.txt — why marking human authorship explicitly matters in a world where it's increasingly easy to make it invisible.
-
Making Documentation Legible for LLMs
Published: at 08:00 PMLLM-legible documentation is actually two different problems that require different solutions — here's how to think about both.
-
Library Authors Should Ship AI Context
Published: at 08:00 PMThe emerging opportunity for library authors to ship AI context as a first-class artifact alongside documentation — not an afterthought, a deliverable.
-
ESLint Rules To Your Angular App More Better
Published: at 08:00 PMA Couple EsLint Rules To Keep Me On the Straight and Narrow
-
Using Dan Abramov Using AI To Solve My Problems
Published: at 04:01 PMFixing a problem I've had
-
Angular Big Project Structure
Published: at 08:00 PMMy Current Thoughts on Structuring Large Angular Applications