MCP took off because it solved a real problem: getting context out of external systems and into your agent. Then people started hiding entire LLMs behind a tool call. It's slow, it's opaque, and it inverts the point of the protocol. Don't do this.
AI coding tools are fast, but they emit feral Markdown—300-character lines, mangled lists, headings that skip levels, jagged tables, and more idiosyncrasies that I can't stand. Here are the practices I use to tame it: a linter as the feedback loop, semantic line breaks, and teaching the agent to clean up after itself.
Gene Kim and Steve Yegge's Vibe Coding makes the case that the DevOps Handbook's teachings—fast flow, fast feedback, discipline—matter more in the AI era, not less.
That mysterious string of characters someone just pasted into Slack? That's a YubiKey's OTP slot firing. Here's how to disable it via the ykman CLI or YubiKey Manager GUI, and why it won't affect FIDO2, OpenPGP, or anything else you actually use.
GPG-signed Git commits prove that code actually came from you, and storing your signing key on a YubiKey means the private key never persists on your filesystem. This guide walks through setting it all up on macOS, Windows, and Ubuntu.
A story about accidentally dropping a shared dev database, asking a DBA to revoke my own permissions, and why the principle of least privilege matters more than ever in the age of AI agents.
When things get cheaper, we use more of them, not less. William Stanley Jevons figured this out about coal in 1865. The cloud proved him right. AI will too, and that's good news for software engineers.
A follow-up to my previous post on information diets. This time I get specific about the tools, feeds, and habits that make up my personal approach to cutting through the noise and the slop.
More plugins, more extensions, more context doesn't mean better results. It often means worse. Your AI's context window is finite memory, and most people are wasting it before they've typed a real prompt.
Almost two years ago I wrote a guide to setting up Python environments with pyenv and pyenv-virtualenv, and I reserved the right to change my mind later. uv came along and I'm cashing in that reservation—it's faster, simpler, and finally makes Windows not weird.
A dev machine setup script practice I carried across jobs for years took me months to modernize with GitHub Copilot last summer. This year, Claude Code wrapped it in CI in ninety minutes and added a new distro in under an hour. The speedup isn't just better models—it's the compounding effect of practices like testing and CI that AI helps you put in place.
Software has always been a subtractive art—chipping away at possibility until the right shape emerges. AI coding tools gave us faster chisels, but taste is still the thing that separates a statue from a pile of dust.
Risk-oriented enterprise teams may block AI coding agents (and agents in general) based on fear of the unknown while ignoring fundamental controls that actually reduce blast radius. The real risk isn't the agent—it's the policy friction that lets competitors ship while you debate.
Startups scout ahead, big companies follow. The AI developer tools market is playing out the Innovator's Dilemma in real-time—and we're all just deciding between Quarter Pounders and Whoppers.