Skip to main content

Particular Software Blog

  • Third-order effects and software systems

    Interstate Highway System
    Afternoon Drive by Nicholas A. TonelliPublic domain

    At the height of the Cold War, the United States passed the Federal Aid Highway Act of 1956, giving birth to the Interstate Highway System. Fueled by the fear of foreign attack and the need to quickly transport troops and equipment across the continent, the network of protected access highways ended up transforming the nation’s economy and culture forever.

    It was perhaps easy to predict a first-order effect: people would travel longer distances given the ease of doing so. A second-order effect was perhaps also easy to foresee: people would be much more likely to work or shop further away from home.

    Read more
  • Classic rock and async/await: Stop breaking the rules!

    Vinyl record collection
    Vinyl by Dun.canCC BY-SA 2.0

    The universe demands some things must always occur in a certain order. Queen's "We Will Rock You" must be followed by "We Are The Champions." Same with Led Zeppelin's "Heartbreaker" -> "Living Loving Maid," Van Halen's "Eruption" -> "You Really Got Me," and Boston's "Foreplay" -> "Long Time." You have to. Every DJ knows this. It's the rule!

    Read more
  • NServiceBus 7 for .NET Core is here

    It's a pretty cool time to be a .NET developer. Don't believe it? Check out this excerpt from a popular children's book1:

    Congratulations! Today is your day.
    You're off to Great Places! You're off and away!

    Maybe you like Linux or have a MacBook,
    Or want to host code without breaking your checkbook.
    The license for Windows can be a bit pricey.
    Getting approval for more servers can be a bit dicey.

    But now you have choices, it's a bit of a shocker.
    You can even choose to deploy your apps using Docker!
    With your skills in .NET no opportunity shall go by,
    When you can even deploy on a Raspberry Pi.

    And now NServiceBus is ready, we've got your back.
    The ultimate cross-platform messaging stack!
    You're off to Great Places! Today is your day!
    There's more than Windows now, so…get on your way!

    -Adapted from Oh, the Places You'll Go! by Dr. Seuss

    In other words, NServiceBus 7 for .NET Core is here.

    Read more
  • No Dogma Podcast with Adam Ralph

    I'd like to share some highlights from a recent chat I had with Bryan Hogan on his No Dogma Podcast.

    We kicked off with NServiceBus and how it helps building distributed systems and microservices. We talked about the general challenges such as coupling, communication, and fault tolerance. We also investigated some of the patterns that help, such as events, retries, and long running processes. We wrapped up with the importance of system monitoring, and what's next for NServiceBus.

    Read more
  • 10X faster execution with compiled expression trees

    By building expression trees at startup and then dynamically compiling them, we were able to achieve 10X faster pipeline execution and a 94% reduction in Gen 0 garbage creation. In this post, I'll explain the secret to getting these kinds of performance boosts from expression tree compilation.

    Read more
  • Break 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 ago. If you're a Star Wars fan like I am, it's like dealing with the Force. As Yoda would say, “Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.” In my 15+ years of coding, every single time I've dealt with legacy code, fear, anger, hate, and suffering were pretty common.

    Read more
  • A new Azure Service Bus transport—but not just yet

    If you've been looking forward to using .NET Core with NServiceBus on Azure, I'm afraid we've got some bad news. Instead of making their existing Azure Service Bus client library support .NET Core, Microsoft has released a brand-new incompatible client. This makes it impossible for us to upgrade the NServiceBus Azure Service Bus transport you know and love to support .NET Core as is, and forces us to write a brand-new transport as well. Here's the full story.

    Read more
  • NServiceBus for .NET Core beta

    Today we're happy to announce that you can start building production-grade NServiceBus systems on .NET Core. Although the bits are currently marked as beta, a release candidate with a go-live license is coming soon.

    Read more
  • Decisions without managers

    Decision making is tricky business. Decisions often move up and down the chain of command without the input of those best equipped to make those decisions. In smaller companies, there's often too much reliance on the CEO, and that doesn't scale as the company grows. Ultimately, we can easily end up in a situation where the input of those most knowledgeable is not considered.

    Read more
Need help getting started?