STOMP adapter updated for RabbitMQ 1.3.0

I’ve updated our STOMP adapter for RabbitMQ to fix a bug reported by Carl Bourne. In the process, I updated the code to work with the latest snapshots of RabbitMQ, including the currently-released version, v1.3.0. You can get the code by checking it out from our repository with hg clone http://hg.rabbitmq.com/rabbitmq-stomp/ hg update rabbitmq_v1_3_0_branch UPDATE:…

Abstraction in CSS

I’ve written before, to no acclamation, about the difficulty in factoring CSS. After more talking to and working with people who use CSS a lot more than I do (and are commensurately more skillful), I think the difficulty is the level of abstraction: CSS is declarative, but it is not very abstract. Usually the idea…

Choosing a new version control system

(Continued from Moving away from CVS) The wealth of options for a replacement for CVS presents us with a problem. We can't choose a version control system by comparing feature lists: what seems perverse when presented in the manual may become natural in real use (which is the reaction many have to CVS's "merge-don't-lock" way of working at first), and contrarily what seems attractive on paper may prove problematic in real use (the system may claim sophisticated merging, but will it actually do what you want given your version history?). Equally, however, trying to use every system in anger would impose a very serious cost: unless we write the infrastructure for every system we test, some live project will have to do without it while they try out the shiny new system, and for every system someone will have to undergo the considerable expense of really learning how to use it and make it behave well. So we have to find ways to at least thin the candidate list.

Moving away from CVS

When LShift first started off in 2000, the only real option for mature, open source version control was CVS. We've used CVS for most of our projects since then, and gone on to develop a strong infrastructure for managing CVS-backed projects, including a web interface for viewing versions, a web-based searchable database for related CVS commits ("CVSzilla") which infers transactions from multiple simultaneous commits, and integration with the Bugzilla bug tracker. Today, there are many other options, and I'll discuss six major alternatives here: Subversion, Monotone, darcs, Git, Bazaar, and Mercurial.