Latest posts

Page 2 of 3
  1. Infra/Docker

    Multi-Stage Docker Builds for a Leaner Node Image

    Our production image was 1.4GB and rebuilt from scratch on every dependency change. Multi-stage builds fixed both problems at once.

    2 min read
  2. Tools/Git

    Git Worktrees Changed How I Review PRs

    I used to stash my work, check out a branch to review it, then unstash and hope nothing broke. Worktrees ended that entire dance.

    2 min read
  3. Essays/Life

    Slow Letters in a Fast Inbox

    I started writing an old friend actual letters instead of messages. The three-week delay turned out to be a feature, not a bug.

    2 min read Featured
  4. Backend/Node.js

    Debugging a Node.js Memory Leak in Production

    The process crashed once a week, always in the middle of the night. Here's how I found the leak with heap snapshots instead of guessing.

    2 min read
  5. Frontend/CSS

    Container Queries Finally Fixed My Card Grid

    The same card component lives in a sidebar, a full-width grid, and a modal. Media queries couldn't handle that. Container queries can.

    2 min read
  6. Ghost/Themes

    Building a Table of Contents for a Ghost Theme

    A table of contents needs two things done right — an accurate heading list, and knowing which section is currently in view. Here's how I built both.

    2 min read
  7. AI/Agents

    Building a Small Agent Loop with Tool Calling

    Before reaching for an agent framework, I built the loop by hand in about eighty lines. It made every abstraction the frameworks provide obvious.

    2 min read Featured
  8. Reading/Books

    A Year of Reading 2/3: The Unhurried Mind

    Second in the reading log: a book that argues boredom is a skill, and the one idea from it I actually kept.

    2 min read
  9. Projects/Garden

    The 2026 Vegetable Plot: A Planting Log

    This year's vegetable plot, tracked from seed to harvest — including the zucchini that quietly took over two other beds.

    2 min read Featured
  10. Essays/Craft

    How I Actually Take Notes

    My actual note-taking system is a folder of dated plain text files and a habit of linking backward. Here's what it looks like in practice.

    2 min read