Latest writing_
SELECT * FROM posts ORDER BY date DESC;

Distributed Training Frameworks
A one-page reference — how large models get split across many GPUs, the parallelism strategies that define the space, and the three frameworks that matter most. Why it exists A sin…

From Text to Vectors: How an Embedding Table Gets Trained
A seam runs through every language model. Above it: billions of floats learned by gradient descent. Below it: a text file full of strings, frozen before training began, that can ne…

ClickHouse MergeTree: Parts, Merges, and the Meaning of "Primary Key"
. A walk from the storage engine up to the vocabulary. The throughline: almost every surprising thing about ClickHouse — why it batches inserts, why dedup is eventual, why a skip i…

From RBAC to ABAC (to ReBAC): How Access Control Models Evolve
The one insight that makes the whole migration make sense A role is just a special case of an attribute. In pure RBAC the authorization question is narrow: "does this user hold a …

From Agentic Programming to Loop Engineering
The shift in one sentence Loop engineering is the move from prompting an AI agent by hand to designing the system that prompts it for you. The leverage stops living in the quality…

Plain RAG vs. Agentic RAG: It's the Control Flow, Not the Plumbing
Retrieval-Augmented Generation gets discussed as if "RAG" and "agentic RAG" were two different architectures. They mostly aren't. They're two different control flows over the same…

MCP Is Not a New Paradigm: What It Actually Standardizes, and How to Design For It
The Model Context Protocol (MCP) is best understood not as a new kind of API but as a standardized profile of existing API patterns — JSON-RPC 2.0, plus mandatory runtime introspe…