Particular Software

Particular Software

@particular.net

Makers of NServiceBus and the most developer-friendly service platform for .NET

244 followers104 following1.7K posts

Another Particular engineer is taking the #TechoramaNL stage soon! 🎤 Tomasz Masternak will be digging into what happens when the abstractions around your message queues start to leak.

The Particular Software talks continue at #TechoramaNL! 🎤 Laila Bougria is tackling a problem every event-driven system eventually runs into: your messaging system needs to evolve, change contracts, change the topology, WITHOUT breaking consumers.

• Why did we choose a custom CI/CD pipeline configuration instead of the standard one? • Why is this a separate microservice instead of part of the core app? • Why did we choose this weird database instead of something mainstream? • Why are passwords hashed this way and not that?

By the time we get around to asking those questions, the people who knew the answers are often long gone, or maybe just have had too many nights of sleep since then. The result? They become unsolved mysteries. How do we prevent them from becoming cold cases?

particular.netThe Y Files - explain decisions, not just codeThe question I find myself asking more than any other is “Why?”… Why did we choose a custom CI/CD pipeline configuration instead of the standard one? Why is this a separate microservice instead of…

We’re here! 👋 The Particular Software booth is up and running at #TechoramaNL. If you're building message-driven systems - or wondering why yours behaved perfectly in development and then did something *interesting* in production - come talk to us. 😄

Derek Comartin’s five event driven pain points: tracing that stops at the broker, dead letter queues nobody can inspect, forcing everything into async events, eventual…

Ever saved data to a database only for the event notification to get lost in transit? Don't let the dual-write problem break your system consistency. Check out this quick…

🎲 What can a board game teach us about C# 15 and .NET 11? Quite a lot! Explore common domain modeling pitfalls, why invalid states slip past the compiler, and how new features like unions and closed hierarchies can help catch bugs earlier.

🧩 Design patterns are easier to understand when you see them in action! This handbook explores popular design patterns with practical C# examples, helping you understand when to use them and how they can make your code more maintainable.

🚀 A faster, lighter C# Dev Kit for VS Code! Spend less time waiting and more time coding. 💻 Discover how improvements to performance, memory usage, and startup time make the C# development experience smoother.

🚀 .NET 11 RC 2 is here! This latest release candidate brings us one step closer to .NET 11 general availability. Curious about what's new, what's improved, and what to test before upgrading? Explore the release highlights 👇 https://devblogs.microsoft.com/dotnet/dotnet-11-rc-2/ #dotnet #csharp

devblogs.microsoft.comAnnouncing .NET 11 Release Candidate 2 - .NET Blog.NET 11 Release Candidate 2 is available with improvements across libraries, runtime, SDK, MSBuild, NuGet, F#, ASP.NET Core, .NET MAUI, and Windows Forms.

⏳ Testing time-dependent code shouldn't mean waiting for time to pass! With .NET's `TimeProvider` and `FakeTimeProvider`, you can simulate time passing instantly, test delays and timeouts, and write faster, more deterministic tests.

Who will you find at the Particular Software booth at #TechoramaNL? 👀 A bunch of engineers who spend far too much time thinking about messages. 😄 Come find us if you want to talk about

🚀 Managing multiple .NET SDKs and runtimes just got easier! Meet dotnetup, a new toolchain manager for .NET (now in public preview). ✅ Install without admin rights

Event-driven architecture can help you deal with legacy systems to add visibility to your monolith. You can use messaging patterns like publish/subscribe to build new features outside the monolith while evolving toward smaller services

particular.netBreak that big ball of mud!Have you ever had to deal with a function that had hundreds and hundreds of lines? Code that had duplication all over the place? Chances are you were dealing with legacy code that was written years…

Andrew Lock describes how you can use linker substitutions to give a NativeAOT compilation more information that, at least in his case, allowed it to throw out a bunch of unneeded assemblies and arrive at a much smaller finished binary.

andrewlock.netStripping extra dependencies in .NET NativeAOT apps using linker substitutionsIn this post I describe how to perform method-substitutions with the NativeAOT linker to remove additional dependencies that the linker couldn't see were unused

One challenge with IBM MQ systems is correctly creating infrastructure with runmqsc scripts. With NServiceBus, you won’t need to author these by hand if you don’t want to.

With the ibmmq-transport tool, you move up a level of abstraction. Instead of directly describing queues, topics, and subscriptions that must agree based on some unseen rules, you define endpoints and subscribe events to them. The tool handles the necessary details.