Writing
Thoughts & writing
108 posts on ML, engineering, and building things that work.
TurboQuant+ Meets Gemma on a Modal L40S
Second pass on TurboQuant+ KV cache compression, this time on a rented L40S across Gemma 3 12B, Gemma 4 E4B, and Gemma 4 26B MoE. One works beautifully, two break in interesting ways.
2026
42 postsThe x Pattern: What npx, uvx, bunx, and pipx Actually Do
You've typed npx create-react-app a hundred times. But what does the 'x' actually mean? Turns out every major package manager independently invented the same idea.
Benchmarking TurboQuant+ KV Cache Compression on Apple Silicon
I tested TurboQuant+ KV cache compression across 1.5B, 7B, and 14B models on an M4 MacBook Air. The speed gains are real, but there are sharp cliffs you need to know about.
Claude Code Isn't a Code Editor. It's a New Way to Use a Computer.
After a month of writing about Claude Code, here's the thing I keep coming back to: this isn't a developer tool. It's a new interface for computing.
Permissions, Security, and Trusting an AI with Your Codebase
Claude Code can edit files, run commands, and push to GitHub. The permission model determines what it can do and when. Here's how I think about trusting an AI agent with my code.
What 400+ Sessions Taught Me About Working with Claude Code
After hundreds of Claude Code sessions across personal projects and production codebases, here are the lessons that took the longest to learn.
Custom Commands and Slash Commands: Building Your Own Claude Code CLI
Slash commands turn Claude Code into a personalized CLI. A markdown file becomes a reusable workflow you invoke with a single slash. Here's how to build them.
Subagents and Parallel Execution: Making Claude Code 5x Faster
Claude Code can spawn autonomous worker agents that run in parallel. Here's how subagents work, when to use them, and why they make complex tasks dramatically faster.
Shipping a Feature in 45 Minutes: My Claude Code Workflow End to End
From memory recall to brainstorm to plan to execution to review to commit. Here's every step of building a real feature with Claude Code, with the actual workflow that makes it fast.
Hooks, Statuslines, and the Automation Layer Nobody Talks About
Hooks let you run shell commands when Claude Code starts, stops, or uses tools. Combined with a custom statusline, they turn Claude Code into a self-monitoring, self-correcting system.
MCP Servers Are the Glue Between Claude Code and the Real World
Model Context Protocol turns Claude Code from a code editor into something that can read Slack, control browsers, and talk to any service. Here's how it works in practice.
NotebookLM from the Terminal: Querying Your Docs with Claude Code
A Claude Code skill that queries Google NotebookLM notebooks directly from the terminal. Source-grounded answers from Gemini, with citations, without opening a browser.
I Track Calories and Plan Groceries from My Terminal
Claude Code isn't just for writing software. I built skills that track nutrition and automate grocery shopping at Wegmans, all from the terminal.