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.
Why Japanese Websites Look Overloaded: Density, Tokyo, and Trust
Why Japanese websites look overloaded, how Tokyo's dense visual environment helps explain the pattern, and why 'clutter' is often the wrong UX question.
TDD Isn't About Bugs — It's Your Permission to Refactor
Learn why test-driven development is really about permission to refactor, not catching bugs. With TypeScript examples, Result<T, E> patterns, and behavior-based testing from 3 years in production.
Docker 29 Broke Traefik — Here's the Fix (and Why It Happened)
Docker Engine v29 raised the minimum API version to 1.44, breaking Traefik and a dozen other tools. Here's the daemon.json fix that takes 30 seconds, and the real solution.
Why I Built ZaString
On zero allocations, Span<T>, and the pursuit of performance without sacrifice.
I Write, I Code, I Explore — Why Verbs, Not Nouns
On defining yourself by what you do, not what you are.
Go Pipeline Pattern: Turning Streams into Useful Data
Learn the Pipeline Pattern in Go using goroutines and channels. Build composable stages for parsing, filtering, enriching, and processing log streams.
Advanced Generator Pattern: Consuming and Testing Data Streams
Advanced Generator Pattern in Go: testing, error handling, and real-world data generation techniques for robust applications.