Recent Posts

Where the Work Goes When Agents Arrive

7 minute read

A friend dropped this in our Slack the other day about Steve Yegge’s Gas Town: I think Gas Town is directionally correct but you have to admit also unhinged in a bunch of ways. I can’t help but be attracted to the absolute gonzo yolo mentality that birthed it, but I wouldn’t want to live there. It’s been rattling around in my head since. He’s right on both counts. And I say that as someone who actually lives there. The main thing I keep noticing isn’t the tools. It’s where the work goes. Over the last six months living in Gas Town, the biggest shift hasn’t been speed, it’s attention. This post is about how that attention moves upstream into design and guardrails, and how the feedback loops change once you stop reading every line.

How I Stopped Losing Track of Side Project Ideas

3 minute read

I’ve been using Claude Code and Codex a lot lately, and something unexpected happened: I started having more ideas than I could track. Not because I’m suddenly more creative. Because building stuff got faster. When you can go from “I wonder if…” to a working prototype in an afternoon, you start noticing more itches worth scratching. A dashboard for ski conditions. A break-even calculator for EV charging. A CLI for searching mountain peaks. A lot of these are afternoon builds. Some would take weeks. A few will never happen. But I kept losing them, scattered across Notion pages, random notes, half-remembered thoughts.

EV vs Gas Break-Even Calculator

2 minute read

Yesterday we were driving up to Snoqualmie Pass to ski with the family, and I realized I’d forgotten to charge the Rivian overnight. So we had to stop in Issaquah and top up at Electrify America, going from about 10% to 85%. The price there was roughly $0.56/kWh, which naturally turned into a conversation with my dad about how charging a Rivian really compares to fueling a gas car. We came up with some rough numbers on the spot, but I was curious what this actually looks like in perspective.

Session Topic Summaries in Claude Code Status Line

2 minute read

A couple of months ago I realized I run way too many parallel Claude Code sessions. Some are rapid-fire sessions where I’m iterating on code quickly. Others are slow burners that sit around for days while I context-switch to other work. The problem: when you come back to one of those slow sessions, you get that familiar moment of staring at the transcript thinking, what was I doing here again? Claude Code doesn’t help. There’s no at-a-glance “this session is about X” indicator. You end up scrolling up, re-reading, trying to reconstruct context like you’re debugging your own brain. So I built a thing.

iPhone to MacBook: My Remote Claude Code Setup

6 minute read

I’ve been looking for a way to run Claude Code sessions remotely, from my phone, while away from my desk. For simple tasks, the existing options work fine. Claude.ai on mobile handles quick questions. Cursor with Linear integration is decent for focused coding. But I kept hitting walls. Claude’s web interface doesn’t support MCP servers, custom plugins, or hooks. No claude-mem for cross-session memory. No custom skills. No ccstatusline. Basically none of the customizations that make my local Claude Code setup actually productive. I wanted access to my real environment, the one I’ve spent time configuring, not a stripped-down web version. Then I read Javier Granda Carvajal’s post on Claude Code on the go. He runs Claude Code on a cloud VM and connects from his phone. I liked the idea but went a different route: my MacBook at home, accessible via mosh and tmux.

Building a Claude Code Skill to Scratch My Own Itch

3 minute read

I’ve been using Claude Code lately to work on personal projects: a CLI for searching mountain peaks, Claude Code skills for route research, a Chrome extension for Mountaineers.org, and a tool to export GPX files from Strava. When Anthropic released Claude skills, I dove in and started experimenting with Obra’s superpowers. I liked that experience so much that I started building my own skills. This is one of them.

Virtualization with vagrant

less than 1 minute read

At the 2011 Pycon.UA conference, I presented on speeding up development with virtualized dev environments using VagrantUp and Fabric. Virtualization lets developers create consistent, reproducible development environments across teams. Vagrant makes this process simple by providing a unified workflow for managing virtual machines, while Fabric automates deployment tasks.

Automatically update project version info in sphinx documentation

1 minute read

I often need project version information for documentation, About boxes, or website footers. Instead of hardcoding version numbers, I let git provide them automatically. For my projects, git describe works best. It doesn’t modify sources on checkout and provides version information in a format usable in other git commands such as git diff.

Replacing Windows console font with a more suitable one

1 minute read

The limited console settings in Windows annoy many users. In particular, the font selection is limited to Consolas, Lucida Console, and vague “Raster Fonts.” This post explains how to add support for additional fonts. Many fonts are more suitable for programming and administration tasks. You can find a good list in this article or here. I prefer Inconsolata. You can connect your favorite font to the console, though it requires some registry work. Thanks to Scott Hanselman for the tips.

Using GitHub to store personal settings

1 minute read

Everyone who works on multiple computers faces the problem of unifying personal environment settings. When working in *nix/linux, you quickly develop your own favorite set of aliases, bash functions, prompts, and environment variables. Settings for other programs matter too: vim, emacs, git. Most settings on *nix systems are stored in simple text files and can be easily copied to a new server. However, as the number of servers grows, you face limitations. Which version is the main master copy? What if your servers run multiple operating systems with different settings? What if you can’t quickly download settings to all servers, say, they’re on your work machine behind a firewall?