Airport Baggage Claims, Selective Consumers, and RabbitMQ Anti-Patterns


One of the patterns found in the Enterprise Integration Patterns book covers the idea of a “selective consumer” – that is, a message consumer that uses some criteria to determine which messages it receives and processes, from a given channel (queue). Years ago, when I was first working with queueing in WebsphereMQ, I used this pattern to […]

Using ES6 Generators To Recursively Traverse A Nested Data Structure

I’ve been learning ES6 for a few weeks now, recording my efforts as live screencasts for my WatchMeCode series on ES6 in the process. In episode 91, as I am stumbling my way through learning how generators work, I decided to try a recursive call for a generator function just to see what happens. I […]

Some Problem(s) With Implicit Code: “options.change && options.change()”


I started a small … umm… argument via twitter (imagine that) about code readability a while back. It all started with this tweet: #ProTip your job is not typing. code should communicate intent to other humans, not save keystrokes for compilers. — Derick Bailey (@derickbailey) July 2, 2015 Shortly after, I received this response: […]

The RabbitMQ Patterns For Applications Email Course And Ebook


Since the release of my RabbitMQ For Developers bundle, I have been continuing the work of producing even more material for it! I want to help you get up and running quickly, and make sure you are using RabbitMQ effectively from the beginning. With that in mind, I’ve produce another short ebook and also made […]

Should I Patch Built-In Objects / Prototypes? (Hint: NO!)


A question was asked via twitter: @derickbailey @rauschma What do you think about adding methods on built-in prototypes (e.g. String.prototype)? — Boris Kozorovitzky (@zbzzn) June 30, 2015 So, I built a simple flow chart to answer the question (created w/ All joking aside, there’s only 1 situation where you should patch a built in object […]

I’ll Let My Code Fail, and Still Succeed With Message Queues


In my upcoming book on RabbitMQ Layout (part of the RabbitMQ For Developers bundle, to be released on June 15th), I tell a story about a system that uses an analytics service. In this system, the analytics service isn’t reliable so the developers make a backup of all the events in a local database.   […]