Featured
Go Concurrency Patterns: A Practical Reading Order
A guided reading order through the Go concurrency patterns that compound: producer-consumer, generator, worker pool, pipeline, semaphore, context, and real-world examples. The shortest path to writing concurrent Go you can reason about.
Go Goroutines vs C# async/await: Who Carries the Cognitive Load?
Goroutines and async/await solve the same problem from opposite assumptions. A polyglot's take on primitives vs compiler-managed patterns.
Generic Methods Coming to Go
Go just accepted the proposal for generic methods on concrete types. Here's what changes, what doesn't, and why it matters.
Latest Posts
Aggregates & Repositories — Refactoring Without Fear
Aggregates protect invariants across objects. Repositories abstract persistence. Learn how to build systems that don't break with TDD.
Building a Native x64-to-C# Transpiler: Why I Built Alicorn
Building a native x64-to-C# transpiler sounds simple until you meet the RFLAGS register. The question behind Alicorn, and what the gap keeps teaching me.
Context and Cancellation in Go: Stopping Work That Shouldn't Have Started
Go context cancellation without the fluff: timeouts, request lifecycles, errgroup fan-out, and graceful shutdown — no leaked goroutines.
Value Objects & Entities in TypeScript: Building Blocks That Can't Break
Learn how Value Objects and Entities make invalid states impossible in TypeScript. Build self-validating domain code with TDD — the blocks that can't break.
Beyond PGN: Designing an Ultra-Efficient Chess Storage Format
Every chess database begins with the same question: how do we store a game? PGN is the default answer — human-readable, portable, and surprisingly wasteful. A walkthrough of moving toward binary coordinates and legal-move indexing, and the engineering trade-off between the smallest format and the fastest one.
Beyond Minimalism: A Japanese-Inspired UX for the Web
The final UX Japan article: how ma, bento layouts, and designed density can give web interfaces more context, comparison, and confidence.
How to Merge PGN Files in F#: Streaming, Performance, and Discriminated Unions
How I built a CLI tool to merge chess PGN files using F#'s type system, streaming I/O, and functional patterns — merging gigabytes of games with 64 KB of memory.
What Western UX Can Learn from Japanese Web Design
Japanese websites are often dismissed as cluttered. But their density reveals a different design logic: trust through context, comparison, and visible reassurance.