Snarl: A Growl-like notification system for Squeak Smalltalk

I’ve just released Snarl, a Growl-like notification system for Squeak. To use it, Snarl label: ‘Something happened’ body: ‘What could it have been?’ I’ve recorded a quick demo: (It’s pretty blurry, so I’ve uploaded it to vimeo too, but it’s still in the queue for conversion; when it’s converted, it’ll be here.) The code is…

Merry Christmas: Toke — Tokyo Cabinet driver for Erlang

Tokyo Cabinet is a rather excellent key-value store, with the ability to write to disk in a sane way (i.e. not just repeatedly dumping the same data over and over again), operate in bounded memory, and go really fast. I like it a lot, and there’s a likelihood that there’ll be a RabbitMQ plugin fairly…

RabbitMQ at the Skills Matter Functional Programming Exchange

Today I was lucky enough to give a talk at the Skills Matter Functional Programming Exchange. I talked about resource management in RabbitMQ and how we’re improving this in upcoming versions of RabbitMQ. All the sessions were videotaped and it would seem that a podcast will be going up shortly. In the mean time you…

Testing Times in Java

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…

Getting into Debian

mercurial-server is an official Debian package! Right now it’s only in the “unstable” distribution, but all being well it will slowly percolate forward, first into “testing”, then eventually into the stable distributions of not only Debian but Ubuntu and other Debian-based systems. Getting it into Debian was quite a long and strange process; the care…

Garbage Collection in Erlang

The new persister that is being developed for RabbitMQ is nearing completion and is currently working its way through code review and QA. It’s being pretty thoroughly tested and generally stressed to see what could go wrong. One of the issues that we’ve come across in the past has to do with Erlang’s garbage collector:…