The If Works This dirt was a building before

Faye

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: # [...]

Terminus: control your browser from the command line

I’ve been saying for a while that I want to use Faye for automating JavaScript and integration testing, especially now that it has server-side clients. Well I took the first step in that direction this afternoon by hacking together Terminus, a distributed JavaScript console. You just install and run like so: $ sudo gem install [...]

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: Round-up

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 Over the last few articles, I’ve covered a few of the evented programming patterns I use most often. It’s by no means [...]

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 [...]