What These Statements Look Like in Code
Principles are only as good as the code they produce. Here are six of the 36 statements applied to real TypeScript code, showing before and after what each principle looks like when you actually write it.
Technical deep-dives on software engineering, systems architecture, and AI.
Principles are only as good as the code they produce. Here are six of the 36 statements applied to real TypeScript code, showing before and after what each principle looks like when you actually write it.
A struct is a compiler-verified contract about where every field lives in memory. This article compares C, C++, and Zig to show what that contract actually guarantees—and what it doesn't.
Structs solve real problems in production code: parameter explosion, scattered state, and fragile function signatures. Here are the patterns that show up again and again.
A struct is a user-defined composite type that combines multiple variables into a single object. Here is what structs are, why we need them, and how they map to memory.
Polyfills let you write modern JavaScript without leaving legacy browsers behind. Here is how they work under the hood and why they matter.
Git stores everything as objects named by their content. This post covers the three object types (blobs, trees, commits) and how they chain together to form Git's immutable history.
A proper introduction: who I am, what I build, why I write, and where to find me around the web.
A first-principles look at autoregressive transformers, the hallucination problem, and how constrained decoding can ground LLM outputs in structured knowledge.
After sixty years of software engineering, what have we actually learned? These 36 statements are a distillation of recurring truths about complexity, abstraction, data layout, and organizational boundaries that keep appearing across decades of research and practice.
Error handling doesn't have to be an afterthought. By treating errors as values, separating business logic from side effects, and pushing I/O to the edges, you can build TypeScript systems that are easier to reason about, test, and trust.
How do we write code that is both reusable across types and safe at compile time?
A deep dive into implementing autocomplete using tries in Go.
How the left shift operator transforms subset generation from a complex combinatorial problem into straightforward binary operations.
Moving zeros, removing elements, finding container areas. These problems may look different but they share the same pattern. Scanning with one pointer while tracking with another.