AI writes .NET code faster than anyone on your team. It can also write code that looks good but can fall apart during careful review. I have spent years improving the quality of code I write, long before the AI was around. I learned to write code that is easy to read and maintain, and I have been…
Apple now requires the UIScene lifecycle. Most .NET MAUI apps created before September 2026 don't have it. Here is what breaks, who is affected, and what I had to change in two production apps beyond the "official" fix. Last week I rebuilt two production .NET MAUI apps on a Mac that had just been…
Quick Answer securing MCP servers against prompt injection: Learn how to harden Model Context Protocol (MCP) servers against prompt injection and tool abuse with real‑world .NET patterns, sandboxing, and observability. In production, I’ve found that the real lever is server‑side policy enforcement…
I wanted to build something useful and ended up creating ResilienceLab 0.5.0 , an experimental resilience library for .NET 10 with its own API and an MIT license. I developed it with coding agents, reviewing the contracts and checking the results. It includes retries for exceptions and generic…
Disclosure: I work on SelectPdf, the library used in this article. It's a commercial library with a free Community Edition; both are covered at the end. If you've ever generated PDFs from HTML in a Linux container, you probably know the drill: a headless browser needs a long list of shared…
AI applications are no longer just: Request ↓ AI Model ↓ Response Real-world AI applications often involve multiple steps: User Request ↓ AI Analysis ↓ External API ↓ Database ↓ Human Approval ↓ Final Action But what happens if the AI API fails? What if the application crashes halfway through the…
If you've worked with .NET applications, you've probably written code like this: await ChargePayment(); await ReserveInventory(); await GenerateInvoice(); await SendEmail(); It looks simple. But what happens if the application crashes after ReserveInventory() ? What happens if the payment API is…
You've finished your .NET application, run it through an obfuscator, and everything looks great. Then production starts throwing exceptions: TypeLoadException MissingMethodException JsonSerializationException Nothing changed in your business logic. Unit tests passed before protection. Yet the…
Every weekday a single, opinionated rule for senior C#/.NET engineers using Cursor. Here's the full week in one read — canonical posts live on the Agentic Architect blog . 7 daily senior rules Rule 19: NetArchTest for Boundaries Sun 04 Oct Architectural rules belong in tests, not in code review.…