growth: topic:
🌲 evergreen updated feb 18, 2026
Composable Configuration Patterns
Why layered, composable configuration beats monolithic env files in real-world systems. A deep exploration of how configuration management evolves from simple key-value pairs to structured, inheritable, environment-aware config layers.
🌳 budding feb 15
The Case for Boring Deploys
Predictability over cleverness. Making deployments so uneventful that nobody notices them.
🌱 seedling feb 12
AI Pair Programming Is Not What You Think
Early notes on how the workflow actually changes after six months of daily work with Claude Code.
🌲 evergreen feb 8
Thinking in Interfaces, Not Implementations
The single most impactful shift in how I design software. Why contracts between modules matter more than their internals.
🌳 budding feb 3
SSH Keys, Git Identities, and Sanity
A practical guide to managing multiple GitHub identities across personal and organizational accounts.
🌱 seedling jan 29
Why I Moved Everything to Git Repos
Treating documentation like code changed how I think about knowledge. Version-controlled ideas.
🌲 evergreen jan 22
The Browser as an Operating System
Web APIs have grown so powerful that the browser is becoming the universal runtime. What that means for app architecture.
🌳 budding jan 18
Prompt Engineering as Software Design
Drawing parallels between structured prompt authoring and API contract design. More alike than different.
🌲 evergreen jan 12
Dotfiles as Infrastructure
Your development environment is infrastructure. Treat it that way. Reproducible, versioned, portable.
🌱 seedling jan 5
Consulting as Teaching
Raw notes on why the best consulting engagements feel like teaching, not delivering. Knowledge transfer > deliverables.
🌳 budding dec 28
Event Sourcing in Practice
Lessons from implementing event sourcing in three production systems. Where it shines and where it hurts.
🌱 seedling dec 20
Digital Gardens vs. Blogs
Why I stopped writing blog posts and started tending a garden. The difference is temporal vs. topological.