Practical .NET and cloud architecture
I write about ASP.NET Core, AWS, APIs, testing, infrastructure, and developer tooling, grounded in problems I encounter while building real systems.
Recent posts
8 minute read
Lambda functions created with Kralizek.Lambda.Templates can expose invocation, record and source-specific telemetry before application code adds a single span. Here is how that telemetry fits into OpenTelemetry locally with Aspire and wh...
5 minute read
Constructor injection keeps Minimal API handler tests focused as endpoint dependencies grow.
11 minute read
Residuality Theory gave names and structure to architectural habits I had developed over years: walking a problem repeatedly, challenging assumptions, and designing with uncertainty in mind.
5 minute read
How to design your code for union types before C# actually supports them.
14 minute read
AWS provides the Lambda runtime primitives. AWSLambdaSharpTemplate V6 adds an opinionated .NET programming model for handlers, scopes, contexts and event-source semantics.
6 minute read
Use NuGet Trusted Publishing with GitHub Actions to publish packages without storing a long-lived API key.
4 minute read
Source generation can remove repetitive service-module registration from ASP.NET Core applications without relying on runtime reflection.
10 minute read
Most ASP.NET Core projects generate OpenAPI from code. This post explores the opposite approach: treating the spec as the source of truth for Minimal APIs.
14 minute read
AWS SSO is a great alternative to static access keys, but expired sessions can
break local Aspire startup in confusing ways. Let’s automate renewing a session.
6 minute read
gRPC services and clients rely on protobuf contracts to align on the shape of requests and responses. NuGet can make sharing these contracts more convenient.