This article is a lot more than Derek imporing you to use a Guid. He also touches on event size, views composed from data hiding behind different service boundaries. Like he says, a small decision with big impact! codeopinion.com/database-gen…
And if you hate Guids, there are other options! Have you checked guidgenerator.com lately, in the Version dropdown? ULID and NanoID are shorter and potentially more URL-friendly alternatives.
Hey #Zelda fans: if you need a short break from the Ocarina of Time remake today (please remember to eat!) check out William Brander's Zelda-themed talk, "So you want to build a service bus?" particular.net/videos/so-you…
"I'm afraid I can't do that, Dave." Perhaps knowing whether your colleague actually wrote the comment is now part of pull request ettiquette too. rehansaeed.com/ai-gone-rogue…
Architectural Decision Records (or ADRs) capture key decisions, along with their context, alternatives, and consequences. They give future-you a window into the context, constaints, and rationale that shaped the system. See an example of how we do ADRs at Particular. particular.net/blog/architec…
When software is slow, the instinct is often to blame the language and consider a rewrite. Sean Goedecke questions that instinct. seangoedecke.com/software-is…
"Simple systems do tend to evolve into more complex ones. With careful application of loosely coupled architecture using messages and publish/subscribe, you can keep both the complexity of individual components in your system low." particular.net/blog/empires-…
Ready to see what’s next in .NET 11? As proud sponsors of #dotnetconf 2026, we invite you to join the world's largest virtual .NET event this Nov 10–13! 💻✨
Reserve your free virtual ticket: dotnetconf.net/#dotnet#developers
Low-level .NET performance work is worth doing when the code runs often enough, the improvement reaches enough users, and measurements justify the added complexity. planetgeek.ch/2026/10/27/why…
How can I safely make a change now that it’s been several weeks, months, or even years? Without a trail of reasoning, it’s easy to second-guess decisions that may still be sound, repeat gotcha mistakes, or simply waste time and resources unraveling past logic. particular.net/blog/architec…
In a hospital ER, birthdate is nullable because patients sometimes arrive unconscious. In a pharmacy, birthdate is a rule that controls what patients get access to which drugs. How do we integrate these two systems? Fallacy 8: The network is homogeneous particular.net/blog/the-netw…
Primary constructors are more than syntactic sugar … they do change *when* your fields get initialized. (Love them though!) steven-giesel.com/blogPost/a…
Distributed systems come in all shapes and sizes. With the NServiceBus messaging bridge, you can send and receive messages between endpoints using different transports. docs.particular.net/nservice…
Retries causing duplicates? Workflows breaking halfway? Services tightly coupled? Learn how to fix real microservice problems with ASP.NET Core + NServiceBus 10. pluralsight.com/courses/micr…
A ValueTask can look like a free performance win, yet it carries rules that Task doesn’t. Gérald Barré explains why the cheaper return type isn’t the better default for most methods. meziantou.net/task-vs-valuet…
What can ordering a latte at Starbucks teach you about software system design? Quite a lot, actually. Check out our blog post: particular.net/blog/what-sta…