My Story of Adopting LLM Tools

From GPT-1 curiosity to running agents in the background — how my relationship with LLM tools evolved over the years.

Agentic Engineering Patterns

A book-shaped guide on patterns for working with coding agents — from TDD with agents to rethinking how cheap code changes everything.

The High Priests of the Ether: A Sociological and Economic Analysis of Dysfunctions in the Celestial Order

An anthropological examination of how a priestly order founded on shared stewardship became a new aristocracy of complexity, gatekeeping, and self-serving architecture.

Bump: Semantic Versioning Made Simple

A lightweight command-line tool that automates semantic versioning for Git repositories with safety checks and intuitive commands

Structfieldsenforcer: Preventing Critical Field Initialization Bugs

A Go static analyzer that enforces mandatory struct field initialization using struct tags, preventing critical bugs from missing required configuration

macOS: Change the default text editor with duti

Use duti to set Zed (or any editor) as the default app for plain text and other text files on macOS

Positionless: Making Go Struct Initialization Safer

How I built a Go static analyzer to detect and fix fragile positional struct literals, improving code maintainability and preventing subtle bugs

Paddle Tourney: Day 1

Paddle Tourney Dev Log: Day 1

Tech Interview: Code Review & Debugging sessions

Alternative approaches to technical interviews beyond algorithmic puzzles

Keyboards

My journey through the world of mechanical keyboards