Deep dive into thread pool exhaustion caused by GetAwaiter().GetResult() in C#. Learn why blocking on async code leads to deadlocks and how to fix it.
Writing archive
Writing
A curated archive of essays on distributed systems, observability, reliability, and AI-assisted engineering practice.
This is the main writing archive for the site. It keeps the latest essays easy to browse while preserving the same minimal, professional tone as the homepage and topic hubs.
Recent writing
Published essays and working notes organized for readers who prefer a clean, chronological archive.