Welcome to my blog! Here you'll find my thoughts on software development, technology trends, and creative problem-solving approaches. I write about everything from technical deep-dives to strategic insights in the tech world.
📅 July 13, 2026
More than a decade ago I burned out badly, and the obvious story (too many hours) turned out to be wrong. Burnout wasn't the work I did; it was the control I lost over where my time went, and everything the work made impossible outside of it.
Read more →
📅 July 13, 2026
Some of my best ideas came from stopping work, not doing more of it. Learning How to Learn's diffuse mode, Kahneman's System 1, and Cal Newport's Slow Productivity all describe the same mechanism: the mind does its best creative work in the background, so past a point more hours make creative output worse, not better.
Read more →
📅 July 10, 2026
Agentic tooling made pull requests cheap and plentiful, so the bottleneck moved from writing code to trusting it. The answer is not another review loop but front-loaded rigor: invest the engineering effort ahead of time to build a full, production-shaped synthetic environment you run locally, so that validation itself becomes cheap and the PR turns into a context-sharing mechanism instead of an approval gate. Tools like .NET Aspire and Dapr show what that inner loop can look like, and the same principles carry over to homegrown systems.
Read more →
📅 July 08, 2026
A George Washington film handed me a phrase that stuck: 'independent fire.' I cannot vouch that Washington ever said it, but the tactic it points at is real history. The colonists could not win by copying British linear volleys on open fields; they had to use cover and let soldiers pick their own targets. Independent fire is the perfect model for how high-agency engineering teams should be allowed to operate.
Read more →
📅 July 07, 2026
Watching World Cup 2026, some squads talk like a single organism and others like strangers in matching shirts. Soccer is a one-dimensional model of a team (one field, one ball, one clock); engineering is played across many planes at once and across time. The lesson: stardom is local, the most valuable star is the versatile generalist who moves between planes and passes the ball six months into the future, and resilient teams rotate that capability instead of betting on one hero.
Read more →
📅 July 05, 2026
Acquiring your own resources is one move in the Quest Engine, but zoom into that single move and it turns out to be a whole engine of its own. Being resourceful means running the full loop on the problem of getting what you need: you search for the resource, you act to acquire it, and then you improve the system that acquires. Resourcefulness is not a trait you either have or lack. It is a cycle you can run on purpose.
Read more →
📅 July 05, 2026
Swift might be my favorite language, striking a rare balance between low-level and high-level features, yet I've never been able to use it professionally. This is why, and what it takes for a language to break out of its home ecosystem.
Read more →
📅 July 04, 2026
Mustafa Suleyman named four capabilities that would make him shut an AI down. They map exactly onto the Quest Engine: one of them (setting its own goals) is the Objective Function, and the other three are Search, Drive, and Renew. The full mapping exposes the one layer the framework leaves to you: staying conscious of your own why while the loop closes on itself.
Read more →
📅 July 04, 2026
A personal retrospective spanning 25 years of operating systems, from Windows 98, 2000, and XP through a decade of macOS to a return to Windows 10 and 11, and a look at where a fully Linux development environment might fit next.
Read more →
📅 July 03, 2026
Kahneman's two modes of thinking (fast System 1 and slow System 2) map onto learning to ride a bicycle. Attention gives way to automaticity, and that same arc is a methodology for thinking about agents, leverage, and engineering systems.
Read more →