Hash Devlog: A Shell That Writes Its Own Tab Completions

bash and zsh let you extend tab completion by writing shell scripts, which is why I never do. Fish does it better, but I'm lazy. Hash goes further: a completion plugin takes about thirty seconds to write, and the shell's own agent can write it for you.

Read More →

Binary vs JSON for MCP: I Went Looking

Protobuf beats JSON. GraphBinary beats GraphSON. So I went looking for where a binary wire helps MCP. The answer, in the venues I tested, was narrower and more interesting than I expected: not text-heavy tools, not JSON-optimized structured payloads, but exactly where JSON is forced to fake binary.

Read More →

Learning Jujutsu by Teaching It

Building an interactive learning tool for jj, inspired by learngitbranching.js.org, because the best way to learn is to teach.

Read More →

Schema Validation for FluxCD HelmRelease Files

Bring LSP-powered autocomplete and validation to your FluxCD HelmRelease YAML files by creating composite JSON schemas that validate both the release structure and your Helm chart values.

Read More →