Don't Put an LLM Behind an MCP Server

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.

The Markdown Tamer

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.

How to Disable OTP on Your YubiKey

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.

Curating My Own Algorithm

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.

Shedding Dead Context

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.