Cover for What Western UX Can Learn from Japanese Web Design
Design 1128 words 6 min

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.
Cover for Why Japanese Websites Look Overloaded: Density, Tokyo, and Trust
Design 1207 words 6 min

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.
Programming 1526 words 8 min

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.
DevOps 1646 words 8 min

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.
Programming 1069 words 5 min

Why I Built ZaString

On zero allocations, Span<T>, and the pursuit of performance without sacrifice.
Thoughts 558 words 3 min

I Write, I Code, I Explore — Why Verbs, Not Nouns

On defining yourself by what you do, not what you are.
Cover for Go Pipeline Pattern: Turning Streams into Useful Data
Programming 1344 words 7 min

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.
Cover for Advanced Generator Pattern: Consuming and Testing Data Streams
Programming 788 words 4 min

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.
1
2
3