How does Aspire expose resource connection info to the Azure Functions runtime?
A deep dive into IResourceWithAzureFunctionsConfig and how it enables Aspire to inject the right connection string references that Azure Functions expects.
The blog of @captainsafia
A deep dive into IResourceWithAzureFunctionsConfig and how it enables Aspire to inject the right connection string references that Azure Functions expects.
The story of how Aspire's activity reporting API evolved from sequential progress reporting to a concurrency-aware system that powers the deployment pipeline.
A look back at the year: blogging comebacks, principal engineer life, AI-assisted side projects, and gearing up to say goodbye to my 20s.
A brief history of ANSI escape codes, how they work under the hood, and why this decades-old standard still makes your terminal colorful today.
Exploring the improvements to custom image registry support in Aspire 13.1, and why explicit modeling beats implicit behavior.
A behind-the-scenes look at how Aspire launches the Azure Functions runtime locally, leveraging a clever .NET SDK feature to make it all work seamlessly.
A blog post dissecting Aspire's RunAsExisting, PublishAsExisting, and AsExisting APIs, why the naming haunts me, and what I would've done differently if I could turn back time.
A blog post exploring why minimal API's TypedResults.ServerSentEvents() has three different overloads, what each one does, and how to avoid mixing them up when you're streaming data to clients.
A deep dive into the design decisions behind ASP.NET Core's MapOpenApi() method exploring why it's modeled as an endpoint, how route templating enables YAML support, and the thoughtful details that make this tiny API so powerful.
How I used computer vision and GPT-4o to extract fitness stats from my walking pad's LED display, because wearing an Apple Watch on your ankle is for quitters.
A look at key ASP.NET Core features shipping in .NET 10, including: model validation for Minimal APIs, OpenAPI 3.1 support with unified JSON Schema, improved integration testing with top-level programs, and new browser testing capabilities with WebApplicationFactory.
The behind-the-scenes chronicles of building Aspire's pipelines feature: from basic callbacks and progress reporting to a full-on concurrent pipeline concept.
How I used Claude and Copilot to design the Aspire deploy CLI, moving from sequential steps to a concurrent-ready design that works in both interactive and CI/CD environments.
Exploring the new deployment state caching feature in .NET Aspire that eliminates repetitive prompting during deployments and lays the foundation for more sophisticated deployment workflows and CI/CD integration.
A deep dive into implementing XML documentation comment integration for ASP.NET Core's OpenAPI generator, exploring the technical challenges of bridging compile-time XML docs with runtime OpenAPI generation using source generators for AoT-friendly API documentation.
Exploring the design decisions behind aspire publish and aspire deploy commands, and how they balance between ejecting from the Aspire ecosystem versus providing fine-grained deployment control.
A deep dive into testing infrastructure I built for incremental .NET source generators, covering compile-time validation, runtime behavior verification, and incremental compilation testing.
Embrace tradition, reject modernity, let go of that noisy crap in your shell.
Why Aspire has run-mode and publish-mode but no deploy-mode, and what this reveals about API design trade-offs in distributed applications.
A blog post about how to use Aspire to deploy a static site to Azure Storage with Azure Front Door as a CDN and some exploration of Aspire's evolving deployment abstractions.