The If Works This dirt was a building before

Node

Faye 0.5: WebSockets, protocol extensions API and CometD integration

It’s been a few months since the last major Faye update, and in the interim the new release ended up getting so much feature creep that I’ve decided to skip a version number. That’s how much awesome is in the new release! 0.2 versions worth! It’s now available through npm, as well as Rubygems: # [...]

JS.Class 2.1.5 supports Node, Narwhal and more

While there’s much work going on towards what will probably be JS.Class 3.0, the 2.1.x series is benefiting from some of the goodness being added upstream. I’ve just pushed out a new release that gets the package manager and all the libraries to work under CommonJS, specifically targeting Node.js and Narwhal for now. I’ve had [...]

Faye gets server-side clients

After its initial release a few weeks ago, the number one feature requested for Faye has been server-side clients. The first version let JavaScript running in the browser send messages, but now you can create a client on the server side to let your backend applications subscribe and publish messages. We’ve got clients for Node.js [...]

Evented programming patterns: Asynchronous methods

This post is part of a series on event-driven programming. The complete series is: Events: they’re not just for the DOM, you know Observable objects Deferrable values Asynchronous methods Round-up and final remarks Building on the pattern for deferred processing that we just saw, asynchronous methods are typically used to return a value from a [...]

Evented programming patterns: Deferrable values

This post is part of a series on event-driven programming. The complete series is: Events: they’re not just for the DOM, you know Observable objects Deferrable values Asynchronous methods Round-up and final remarks The Deferrable pattern is a specialisation of observable objects that mixes state into the event dispatch process. The goal is to encapsulate [...]

Faye: a Comet client and server for Node.js and Rack

I’m doing my traditional birthday software announcement a little early this year, mostly because I really want to get this out and partly because I’m doing a lot of little bits of work on old projects at the moment and this is the only fancy new thing I’ve got to show. Spurred on by the [...]