Skip to content

~/blog

Writing about infrastructure, software supply chain security, and what happens when you remove too much friction from engineering.

ai ai-agents architecture astro engineering-management leadership platform-engineering principles python resilience security software-engineering tailwind threat-modeling webdev writing
2026-06-29 - 9 min read

Platform Engineering for Human Beings

The job of a technical leader isn't to make every decision. It's to build the systems that let good engineering happen without them in the room.

leadership platform-engineering engineering-management software-engineering
2026-05-11 - 11 min read

In Praise of Inefficiency

Resilient systems need inefficiency built in. Seedlings, deadlifts, and what happens to engineers who never learn to struggle.

ai software-engineering security resilience
2026-04-15 - 11 min read

The Centaur Model: Why the Best AI Work Is Still Partnership

The best use of AI isn't vibe coding or refusing the tool. It's pair programming in the deepest sense, where both parties bring something the other can't.

ai software-engineering writing
2026-04-06 - 9 min read

Threat Modeling for Software Developers

Security has a baseline that everyone should meet. Above that, the right level of security depends on your threat model, and that's a business decision, not a technical one.

security threat-modeling ai-agents architecture
2026-03-26 - 8 min read

DRY Doesn't Mean What You Think It Means

Most developers learn DRY as 'don't duplicate code.' The original principle is about something deeper: every piece of knowledge should have a single source of truth.

software-engineering principles python
2026-03-24 - 6 min read

Rebuilding My Site with Astro, Tailwind, and DaisyUI

Why I ditched Hugo after years and rebuilt my personal site from scratch with Astro, Tailwind CSS v4, and DaisyUI v5.

astro tailwind webdev