Every Great Product Has a Stack. Every Stack Has a Story.
Deep dives into AI, Azure, cloud architecture, distributed systems, and engineering decisions.
Get new posts by email
Topics
Latest posts
-
Your Reranker Has a Candidate Limit. Here’s What Windowing Around It Actually Costs You
Listwise rerankers cap how many candidates they see per pass. I measured what naive windowing around that cap…
-
Quarantining Tool Output in an Agent: Half My Filters Did Nothing
I measured a prompt-injection quarantine layer offline. Text cleanup took detection from 16/20 to 19/20; a shorter nonce…
-
Your Agent’s Idempotency Key Is Hashing the Wrong Thing
Hashing tool-call arguments caught 12 of 96 retried agent calls in an offline replay. Here is the keyer…
-
I Was Paying Max Reasoning Effort for “What Port Does the Sidecar Use?”
I built a reasoning-effort router in front of Bedrock’s gpt-oss-120b. Replayed on real logs it cut output tokens…
-
Improvements to reading Process outputs: Exploring the .NET 11 preview – Part 5
If you have ever shelled out to git, az cli, or any external tool from a .NET application,…
-
Agent Skills for .NET Is Now Released
Microsoft has moved Agent Skills for .NET out of experimental preview in the Agent Framework. The [Experimental] attribute…
-
Saga Pattern in .NET: Managing Distributed Transactions
Your order service saves the order successfully. A few seconds later the payment service call times out. You…
-
Polly v8: Resilience Pipelines Explained
If you learned Polly before 2023, your muscle memory is probably Policy.Handle<HttpRequestException>().WaitAndRetryAsync(…), wrapped inside Policy.WrapAsync(retry, breaker, timeout). Polly…
-
Closed class hierarchies: Exploring the .NET 11 preview – Part 4
C# 15, shipping alongside .NET 11, adds a new closed modifier for classes and records. This post is…