Beyond Unicorn: Why I Code-Gen Instead of Emulating
Emulation is wrong when you call the same routine thousands of times. How Alicorn lifts x64 to C# and replaces Unicorn on the hot path.
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.
TypeScript DDD Aggregates & Repositories
Build DDD aggregates and repositories in TypeScript with TDD. Enforce invariants and test application flows with an in-memory repository.
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.
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.
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.
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.
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.
Why I Built ZaString
On zero allocations, Span<T>, and the pursuit of performance without sacrifice.
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.
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.
Flexible Approaches to Worker Pools in Go
Explore flexible approaches to the Worker Pool pattern in Go, including the Shared Semaphore method and third-party libraries. Learn when to use each approach for optimal concurrency management in your Go projects.
Mastering the Worker Pool Pattern in Go
Master the Worker Pool Pattern in Go to manage concurrent tasks efficiently. Control resource usage, improve throughput, and scale your applications.
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.
Advanced Generator Pattern in Go: Test Data Generation
Practical Generator Pattern examples in Go for test data generation, streaming, and building composable data pipelines.
Mastering the Generator Pattern in Go
Master the Generator Pattern in Go using goroutines and channels. Learn lazy evaluation, composability, and practical examples for data streams and iterators.
Producer-Consumer in Go: Beyond the Basics
Explore advanced aspects of Go's Producer-Consumer pattern with buffered channels and real-world examples. A beginner-friendly deep dive into practical applications.
Understanding the Producer-Consumer Pattern in Go
Understanding the Producer-Consumer Pattern in Go with channels. Modular architecture, flexible scaling, and real-world concurrent data processing examples.
Solving the Sum of Squares Problem: Optimizing Performance
Optimize Go performance by solving the sum of squares problem. Benchmark goroutines vs sequential code and avoid common concurrency pitfalls.
Merge Sort using Goroutines
Implement parallel Merge Sort in Go using goroutines. Compare performance with sequential version and learn when parallelization pays off.
Goroutine vs Simple function
When are goroutines overkill in Go? Benchmark comparison showing simple functions can outperform goroutines for small datasets.
How to optimize a Go deployment with Docker
Optimize your Go deployment with Docker using multi-stage builds. Reduce image size from 1GB to 15MB with practical Dockerfile examples.