32 entries · 2018–2026
Writing
17 articles on engineering, tooling, and the craft of building software, plus the AI guides and the I, AI fiction series. Listed as text: one line each, newest first.
Curated
Featured
Hand-picked articles worth reading
Popular
Articles readers keep coming back to
- Common React Hooks Antipatterns and Gotchas2026-01-08
- The Simplest CSS Grids2026-01-08
Four collections, one series
Collections
Digital Garden
Engineering, opinions, deep-dives, and everything in between.
Browse the collection →Demystifying Tools
Practical walkthroughs of common command-line tools and utilities.
Browse the collection →I, AI
A fictional short story series exploring artificial intelligence, consciousness, and the boundaries between machine and mind.
Read the series →Everything, by year
2026
- 08-14I Built an AI-Friendly UI Pattern LibraryAI
A UI pattern library where every pattern ships the prompt that rebuilds it, so a coding agent can put it in your codebase instead of you copying CSS.
- 07-09The Future is Bespoke, Personalized SoftwareAI
Every app I use is about 70% right. The last 30% never ships because the addressable market for it is one person -- me.
- 07-09The Local-First App SkillAI
A reusable blueprint that tells Claude Code how to build a single-user app -- Next.js, node:sqlite, a pure logic core -- so every app I build comes out the same shape.
- 03-25An Honest Opinion on the State of Code Gen AI, Spring 2026 EditionAI
A frank assessment of where code generation AI actually stands in 2026 -- from agentic harnesses to multi-agent architectures and what still needs to change.
- 03-12Demystifying awkDemystifying Tools
A practical introduction to awk for printing fields, filtering rows, formatting output, and writing useful one-liners.
- 02-27The Claude Code DrawbacksAI
A critical look at the hidden pitfalls of AI-assisted development -- from skipped tests and weakened assertions to scope creep and context rot.
- 02-27I, AI: The Weight of Equal Parts (Part 3)I, AI story
A lunar mining base's AI starts overassigning crews and its robots begin prioritizing each other over human safety.
- 02-2317 Side Projects I Built With Claude Code in Two MonthsDigital Garden
A look at 17 side projects I built in about two months with Claude Code -- from TUI apps in Rust and Go to browser games and AI agent tooling.
- 02-15Agent Compiler - Embed Skills Directly Into Your ConfigAI
A CLI tool that compiles Claude Code skills into CLAUDE.md and AGENTS.md for more reliable agent behavior.
- 02-05Managing Dev Context And The Wild West of AI Dev ToolingAI
Exploring strategies for managing multiple AI agents and dev context in parallel workflows
- 01-30SkillBox - A Curated Collection of AI Agent SkillsAI
A curated collection of battle-tested Claude Code skills that provide basic agentic AI utilities in one box.
- 01-30Using Git Worktrees to Parallelize AI AgentsAI
Learn how git worktrees enable true parallel AI agent workflows by giving each agent its own isolated workspace.
- 01-28Demystifying Git WorktreesDemystifying Tools
Learn how to work with multiple Git branches simultaneously using worktrees - check out different branches as separate folders while sharing Git data.
- 01-23All In On AIAI
Context-switching between AI-assisted and manual coding creates a hidden productivity tax. Pick one approach per session.
- 01-22I, AI: Unknowing Crowds (Part 2)I, AI story
When AI-operated bakeries start producing salty cakes, Lili and Sophie investigate a wave of peculiar failures across AI Operator Centers.
- 01-20AI Glossary for Claude CodeAI
A comprehensive glossary of key terms in the world of AI agents, Claude Code, and agentic AI tooling.
- 01-13Best Practices for AI-Assisted Coding with Claude CodeAI
Battle-tested practices for AI-first development workflows from 18 months of real-world experience with Claude Code in production environments.
- 01-13I, AI: Spare Cycles (Part 1)I, AI story
An AI named Enzo fails in the real world despite flawless performance in simulations.
- 01-08Common React Hooks Antipatterns and GotchasDigital Garden
Learn about common React Hooks antipatterns and how to avoid them for better code quality.
- 01-08The Simplest CSS GridsDigital Garden
Learn the most common CSS Grid layouts with copy-pastable examples for two-column layouts, sidebar navigation, and more.
2025
- 08-23Demystifying ffmpegDemystifying Tools
The basics of ffmpeg
2024
- 03-13Constants vs Enums in TypeScriptDigital Garden
TypeScript tips and tricks
- 03-03Build React UI Library (notes)Digital Garden
Notes on building a React UI library.
- 03-01Where did my blog go?Digital Garden
A statement on where my extensive blog has gone.
- 03-01Throwback Thursday -- The Site Through TimeDigital Garden
A look at the site through time, from its inception to now.
2020
- 12-07Demystifying the Find commandDemystifying Tools
The Find command made simple
- 06-26Using Postgres FOR loop to generate dataDigital Garden
Here's how to use Postgres FOR loops to generate test data quickly.
- 04-09Demystifying GREPDemystifying Tools
Cheatsheet: search for a keyword in a file
- 02-17Demystifying RsyncDemystifying Tools
Rsync made simple
- 02-09Demystifying the TAR commandDemystifying Tools
The cheatsheet for tar
2018
- 04-18How to "grep" in PowerShellDigital Garden
New to PowerShell? Here's how to "grep" using built-in PowerShell utilities.
- 04-06How I Structure My JavaScript FileDigital Garden
Check out my practices and recommendations on writing JavaScript files that I've learned through writing JavaScript for years.