HTTP Resilience with Polly: Retry and Circuit Breaker Patterns
The mobile app worked great on WiFi. Then a user drove through a tunnel and the sync button showed 'syncing' for 30 seconds before erroring.
Technical notes, project documentation, and lessons learned across software, DIY, writing, and more.
The mobile app worked great on WiFi. Then a user drove through a tunnel and the sync button showed 'syncing' for 30 seconds before erroring.
I once committed an API key to a public repo at 3 AM. That incident taught me secrets in source control are a when problem, not an if problem.
Your Blazor ErrorBoundary catches the error but blocks the user's escape route. They can't navigate away.
The API threw a NullReferenceException. The client got an HTML error page with a full stack trace. In production.
Your computer has a janitor that cleans up trash. But some things need to be thrown away immediately.
I fixed the HTTP disposal leaks. Memory dropped 70%. Then the 499s came back. The culprit: a factory pattern that created DbContexts but never properly...
Returning Task<HttpResponseMessage> from Web API controllers leaks memory. We had 200+ controllers doing it. Here's the fix.
Objects don't dispose themselves when they go out of scope. I believed they did. For three decades. Here's why C# works this way — and why it matters.
My AI companion's confabulation findings produced three architectural changes in a pediatric medical triage system — before a single line of production code...
Our high-volume API threw timeouts for two years. External consultants missed it. Infrastructure upgrades didn't fix it.
ORCID, Zenodo, arXiv endorsement, conference submissions — the practical steps for independent researchers who want their work citable, indexed...
When two services need each other, it's tempting to reach for IServiceProvider and lazy loading. But that quick fix hides architectural wounds.