The Object in the Machine
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.
Technical deep-dives on software engineering, systems architecture, and AI.
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.
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.