Tech

Entries

Optimizing deploys for a heavy Hugo site

Iteratively optimizing a Hugo blog publishing pipeline from 8 minutes to 45 seconds. — 2026-04-12

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-04

Claude Code productivity boost

Observations from using Claude Code for a few weeks. — 2025-07-09

Google Photos - It's Bigger on the Inside

/attachments/tech/google-photos-tardis_hu_1fb370e6c02a9380.webp
Christmas family IT support ticket involving Google Photos and infinity. — 2024-12-25

How to manage Python versions and packages

Instructions on how to easily set up python virtual environments. — 2024-10-05

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-14

Crowdstrike causes global outage

/attachments/tech/crowdstrike/crowdstrike-site-marketing_hu_610e2a6c4d5463.webp
Thoughts on the recent Crowdstrike global outage. — 2024-08-03

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