Blog

data-stream-conflict.png

Architecting for Concurrency: Wolverine's Approach to Shared Resources

Brad Jolicoeur - 04/09/2026
Why distributed locks fail under load in async .NET systems, and how Wolverine's optimistic concurrency and partitioned messaging solve it architecturally.
Read More
disposable-code.png

Disposable Code from the Architect's Perspective

Brad Jolicoeur - 04/07/2026
Disposable code isn't technical debt—it's well-built features designed with vertical slice architecture to remove cleanly when business needs change.
Read More
heisenbug-hunting.png

Heisenbug Hunting in Async .NET Systems

Brad Jolicoeur - 04/07/2026
Heisenbugs in async .NET systems vanish when observed. Learn a 6-phase framework for hunting race conditions with NBomber, Marten, WireMock, and LitmusChaos.
Read More
copilot-squad.png

Using Copilot Squad with Copilot CLI for Building .NET Web Applications

Brad Jolicoeur - 04/06/2026
Master Copilot Squad for .NET development—orchestrate AI agents with GitHub Issues, Aspire, and Playwright to build modern web apps faster.
Read More
aspire-with-copilot.png

Leveling Up Local Dev with .NET Aspire & AI

Brad Jolicoeur - 03/22/2026
Level up your local .NET development in VS Code. Learn how to ditch docker-compose for .NET Aspire and unlock AI debugging with MCP and GitHub Copilot.
Read More
solid-repository.png

We Need to Talk About Your Repository Pattern

Brad Jolicoeur - 03/01/2026
The repository pattern violates SOLID principles and is redundant with modern ORMs like Marten. Learn better alternatives for .NET data access.
Read More
loosing-messages-trap.png

Why Your Safety Net Is Dropping Messages

Brad Jolicoeur - 02/28/2026
Stop silently dropping messages with Rebus. Learn why try/catch kills retries in .NET message handlers—and how to configure backoff, SLR, and circuit breakers.
Read More
sender-contract.png

In Message-Based Systems, Who Owns the Contract?

Brad Jolicoeur - 02/17/2026
In distributed systems, coupling often hides in message contracts. Learn why Events vs. Commands matters for ownership, and how to avoid the "Common" library trap.
Read More
userintent-workshop.png

The "Big Save" Problem: Why Task-Based UI is Event Sourcing’s Best Friend

Brad Jolicoeur - 02/16/2026
Learn how Task-Based UI solves the "Big Save" problem in Event Sourcing, retaining user intent and context for smarter downstream effects.
Read More
dotnet-profiler.png

Profiling .NET 10 Applications: The 2026 Guide to Performance

Brad Jolicoeur - 02/14/2026
Master .NET 10 profiling in 2026. Discover how AI-assisted tools like Visual Studio Copilot and triggered tracing transform performance tuning from guesswork to science.
Read More