Visualising RabbitMQ Topologies

Lee Coomber wrote “I’m currently documenting an application that uses RabbitMQ extensively. I want to show the routing topology within the broker, but I want the bulk generated automatically because there are a lot of entities to deal with. Given that I can export the broker definitions into JSON, it seemed like it would be fairly straightforward to…”

The Fallacies of Distributed Computing

Lee Coomber wrote “I recently helped a client take ownership of an application stack produced by a third party. There were various components to this, but the most interesting aspect allowed users to interact with each other by manipulating images in a browser. This was achieved using a small and simple NodeJS application to send events between the…”

Apache Camel and RabbitMQ

Lee Coomber wrote “I’m evaluating Apache Camel for use on a client project, but we need to back it on to RabbitMQ. The AMQP component that comes with Camel is based on the Qpid 0.5.0 client which does not work too well with Rabbit, so this seemed a good excuse to experiment with custom Camel components. There’s a…”

Testing Times in Java

Lee Coomber wrote “How do you test a Java application that uses the current date or time as the basis for a calculation? I’ve seen a couple of ways: Make sure all date/time operations use a service class to get the current date, which is then mocked Adjust the system clock Option 1) is a PITA for an…”

Performance testing RabbitMQ Streams

Lee Coomber wrote “RabbitMQ Streams is our data streams management system that allows arbitrary routing, transforming, and merging of messages. We used a “quick and dirty” test framework during development to check there were no major performance issues, but we needed to improve on this to test the real configurations used by the BBC Feeds Hub.”

Scripting SQL Server Databases

Lee Coomber wrote “I recently had a need to move a SQL Server database around several development environments. I would normally use SQL Server Management Studio to generate creation and drop scripts, but as the database was changing frequently, I wanted a way of automating this process. Being able to script the structure and data separately was also…”

What’s in a Distinguished Name?

Lee Coomber wrote “In one of our projects, we access a directory server via LDAP to obtain subject distinguished names (DNs) of X509 certificates. The team that provision the directory recently asked a simple question: what order should the components of the subject DN be in? Below follows my explanation of the answer. Please note that the referenced…”

S5: A Simple Standards-Based Slide Show System

Lee Coomber wrote “Whilst discussing presentation software the other day with a colleague, he kindly pointed me at S5. It is simple, it is standards-based, and it is a slide show system. In short, it does exactly what is says on the tin: S5 is a slide show format based entirely on XHTML, CSS, and JavaScript. With one…”


Lee Coomber wrote “I have been looking for something to help me do some automated functional tests on an existing web application, and came across Selenium. It is a framework that executes tests from within a browser using a combination of Javascript and DHTML. It supports IE, Firefox and Mozilla, thus allowing browser compatibility testing.”