Entries
Optimizing deploys for a heavy Hugo site
How I'm Using AI Day to Day (2026)
Over the last week, I’ve used AI to, among other things:
- Write ~70kLOCs of integration and E2E tests for a codebase with hundreds of kLOCs and zero code coverage
- Have my PRs reviewed.
- Have AI address AI-generated PR comments.
- Debug product issues, GitHub Actions issues, and improve our observability.
- Research technologies and product categories to inform engineering decisions.
- Generate Anki cards for topics I’m studying using my Anki style guide.
- Create memorable D&D NPCs, create unique images for them, then turn them into 3D models for 3d printing.
- Learn Blender well enough to sculpt and slice those models.
- Build a Claude Code-like agent aware of my Obsidian vault to edit D&D synopses.
- Get coaching feedback on my communication style.
- Get useful comments on an important self-help topic involving spirituality, psychology, and engineering. I don’t know anyone I could currently talk about this topic.
As many have noted, even if AI progress stalled for 5+ years, it will take us a long time to max out the capabilities of what we already have.
— 2026-01-04Claude Code productivity boost
Google Photos - It's Bigger on the Inside

How to manage Python versions and packages
A simpler shell prompt
TIL about fzf built-in history command, fc, that keeps track of when you issue commands and how long they take to complete. It’s critical info when I need it, but I regularly don’t need it and so far I had been printing timestamps as part of my shell prompt. Time to update my aliases.zsh:
alias h='fc -lt "%b %d %H:%M:%S"'
alias history="echo 'use h'" # Reduce unnecessary keystrokes while we're at this
Prompt BEFORE:
— 2024-09-14Crowdstrike causes global outage

47% Space Savings Migrating from JPG to WebP
Today I converted all images on this hugo site, mostly travel photographs, from, mostly, JPEG to WebP because it seems like a widely supported format that is more efficient and covers both lossy and lossless use cases.
I used the following script which relies on Google’s WebP Converter.
# Create WebP files
$ find Public/ -depth -name "*.png" -exec sh -c 'cwebp -preset picture -q 95 -hint picture "$1" -o "${1%.png}.webp"' _ {} \;
$ find Public/ -depth -name "*.jpeg" -exec sh -c 'cwebp -preset picture -q 95 -hint picture "$1" -o "${1%.jpeg}.webp"' _ {} \;
$ find Public/ -depth -name "*.jpg" -exec sh -c 'cwebp -preset picture -q 95 -hint picture "$1" -o "${1%.jpg}.webp"' _ {} \;
# Update entries references to use WebP
find Public -type f -name '*.md' -exec sed -i '' s/\.jpg/\.webp/g {} +
find Public -type f -name '*.md' -exec sed -i '' s/\.png/\.webp/g {} +
find Public -type f -name '*.md' -exec sed -i '' s/\.jpeg/\.webp/g {} +
Space used by images: BEFORE: 650Mb of images AFTER: 412Mb
— 2022-08-24