Skip to main content

Particular Software Blog

Latest articles

  • Inside the fishbowl at NDC Oslo

    Particular stand at NDC Oslo
    Particular stand at NDC Oslo
    With a record breaking 1,900 attendees, 160 speakers, 20 workshops and 170 talks spread over 9 tracks, NDC Oslo last week again asserted itself as a cornerstone of the developer conference calendar. And it doesn’t stop there. Furthering the expansion that started in 2013 with the creation of NDC London, it was announced that the NDC will be coming to Australia’s Gold Coast in 2016. We were proud to be an official sponsor of NDC Oslo 2015, which ran from… Read more
  • Death to the batch job

    This post is part of the NServiceBus Learning Path.

    The Batch Job Troll
    There’s something dangerous lurking in your software. Not just the general lurking, murky, ickiness you might expect. Something big…something ugly. There might even be more than one. It can’t decide if it’s angry or hungry or both. All it knows is it’s having a very bad day. And it’s going to eat you… Ok, maybe it won’t literally eat you, but it will come after your family time, your sleep, and your sanity. Only the things you really care about. Read more
  • Mining for gold in your log files

    Once you’ve already learned the ins and outs of a library, it may seem obvious how it should be used (and which parts should be avoided). The thing is that, from one project to the next, we often make use of new and different libraries and frameworks and may not appreciate some of the more subtle differences among those technologies. The better frameworks out there will log all kinds of information, often telling you when you’re using them incorrectly. So… Read more
  • Empires fall: Decentralize your code to avoid total collapse

    Alexander the Great
    Alexander the Great by Wikimedia Commons — Public Domain
    Ruling the world is hard. Alexander the Great1 may arguably have been the person to come closest to being “Emperor of the World”. In 334 BC, his armies left his home in Macedon (modern-day Greece) and conquered a swath of territory to Egypt and halfway across Asia to northwest India - most of the known world at that point, but ultimately failed in ruling all of humanity when he died at the age of 32 under somewhat suspicious circumstances2. Of… Read more
  • It's official: we are now cool

    We are pleased to announce that we have been selected as a Gartner “Cool Vendor in Web-Scale Platforms” for 2015. This is an accomplishment for us and it goes beyond simply getting a vote of confidence from an influential IT reporting organization. Danny Cohen, Director of Product Development at Particular Software, accepts Cool Vendor recognition from Gartner associates If you walk through the halls of a sufficiently large enterprise and hang around the IT building long enough, you’ll hear someone… Read more
  • Protect your software with the Circuit Breaker design pattern

    Don't get zapped! Protect your software
    Life as a software developer is definitely lived in the fast lane. After weeks and hours of cranking out the code to get the features developed, and after the builds and tests are green and QA stamps its seal of approval, the code is deployed to Production. And then the most dreaded thing happens, the deployed software fails in production in a bad sort of way. In a Murphy’s law sort of way. As the saying goes, “Anything that can… Read more
  • OMG! They Killed My Stacktrace!

    OMG! They Killed My Stacktrace!
    I can’t get that flashing red light on my desktop out of my mind. It’s nagging me. What is it? Oh my… I just killed the build! How embarrassing – only a few weeks on the team and I’m already a trouble-maker. Resistance is futile. The flashing red light got me. Five acceptance tests are failing on the build server. Hold on – those tests are working on my machine! Can’t I just add a works on my machine badge… Read more
  • UI composition - the blind spot of distributed systems

    When architecting a distributed system, it’s easy to get caught up in the excitement of all the cloud backend services available to us. Azure Service Bus! AWS Lambda! CosmosDB! We spend a lot of time decoupling all our backend with microservices, each with their own responsibility and stack and so forth, that we often forget: the front-end has to talk to all of these services. But it can be decomposed into components just as easily as the back-end services can. Here’s a story of how we did it.

    Read more
  • The day we almost lost an invoice

    Lost invoice
    The day started like any other day working as a solution architect for a healthcare invoice processing system. When I came into the office I didn’t anticipate that this was going to be a special day. I only realized it when a customer called in and asked for a specific invoice that should have been processed in our system. We couldn’t find it! It just wasn’t there at all. Sweat was dripping down my neck. Did we just lose an… Read more

    1. It would be easy to hit a maximum message size when using other message queues as well. Amazon SQS, Azure Queues, and MSMQ all have hard limits on size too. RabbitMQ is one notable message queue that does not have a limit, but even then, the larger your messages become, the worse a RabbitMQ system will perform.

  • Microservices: the future or empty hype?

    As is common with the advent of new technology, there currently exists a lot of hype around the concept of microservices. Hype does not necessarily equate with superiority, and blindly following the hype can easily result in us making all of the same old mistakes in completely new and different ways. In order to be more effective at software development, we need to take a step back and unravel the hype from reality. There are a few broad classes of… Read more