RAG in .NET: The Complete Series
Last updated: 28 July 2026 Retrieval-Augmented Generation is a pattern, not a framework, and the gap between a RAG tutorial and a RAG pipeline that stays healthy in production is substantial. This series covers what…
Last updated: 28 July 2026 Retrieval-Augmented Generation is a pattern, not a framework, and the gap between a RAG tutorial and a RAG pipeline that stays healthy in production is substantial. This series covers what…
Microsoft awarded me the Most Valuable Professional Award for the 8th year in a row. The disk was shipped and each year it still means something. I don’t take it for granted. Eight years is…
I shut down a SaaS product a few years ago. Not because the idea was wrong, and not because the market wasn’t there. Because the platform underneath it changed ownership, repriced its API overnight, and…
I’ve been using Claude Code heavily across AI engineering work: RAG pipelines, .NET MCP servers, content automation, agentic workflows. The way I use it now looks nothing like how I started. Most write-ups on Claude…
I have spent a good while now building RAG pipelines across a number of engagements, mostly for documentation sites, and the gap between the tutorials and the reality of production is substantial. This post is…
A continuous Azure WebJob stopped mid-run with no exception, no stack trace, and no shutdown message. Here’s why the Web App memory chart lied, and how to find out who killed your process.
A RAG chunker’s “is this small enough to skip splitting?” check ran against placeholder text, not the real code it stood in for — so oversized code-heavy chunks sailed straight past the embedding model’s token limit.
A production RAG agent threw intermittent 500s because nobody guarded the upper length of the embedding query – here is the two-tier fix and the multi-turn edge case that hides it.
When you build and ship a RAG pipeline, you quickly discover that the real work is not the initial vectorisation pass. It is keeping the pipeline healthy after that. Documents get deleted, re-crawled content fails…