I just shipped version 0.8 of Faye, the pub/sub messaging toolkit for the Web. It splits the WebSocket support and Redis backend into new libraries, and makes it possible for 3rd parties to implement their own pluggable backends. Everything you need to know is on the blog.
jcoglan — 21 posts
Announcing faye-websocket, and standards-compliant WebSocket library blog.jcoglan.com
As promised after the release of Faye 0.7, its WebSocket code is now available on its own, providing a robust, general purpose WebSocket implementation that's easy to integrate into Rack apps.
Faye 0.7: new event APIs and an open WebSocket stack blog.jcoglan.com
The latest release of Faye adds a few new event hooks, and ships with a stand-alone WebSocket client/server implementation that makes adding WebSockets to any Rack app dead simple.
Faye 0.6.4 with updated WebSocket support faye.jcoglan.com
Faye is a simple pub/sub server for the web, and I just put out a release that adds support for the new WebSocket protocol used by Firefox 6 and Chrome 14.
Terminus: a cross-browser Capybara driver terminus.jcoglan.com
I just pushed out version 0.3 of Terminus and gave it a spiffy new website. This is the first release since Capybara 1.0 and it supports almost all of Capybara's capabilities. Plus it lets you run tests on your iPad, which is pretty sweet.
Faye 0.6 released blog.jcoglan.com
The easy-to-use pub/sub messaging server Faye is now on version 0.6, which features a new backend engine based on Redis. This lets you distribute your Faye service across many web servers to increase connection capacity.
I've been putting together some exercises for a workshop to introduce people to language-building. You're given a parser for a basic Lisp and it's up to you to write an interpreter for it. I'd love feedback if anyone wants to try it out.
JS.Class 3.0: a portable JavaScript class library based on Ruby blog.jcoglan.com
I just released JS.Class 3.0, a portable modular JavaScript class library based on Ruby. It includes a cross-platform package loader and testing framework, and a ton of data structures and other useful OO goodies.
Primer: the cache that knows too much blog.jcoglan.com
I spent the last week hacking on Primer, a cache that knows when to update itself. Very much an experiment, feedback welcome.
Terminus: a client-side Capybara driver blog.jcoglan.com
Following the release of Capybara 0.4, I've pushed out Terminus, a driver that lets you script any browser on any machine. Run cukes on your iPad!
Faye 0.5: WebSockets, protocol extensions API and CometD integration blog.jcoglan.com
I just released Faye 0.5, an easy-to-use pub/sub messaging system for Rack, Node and web browsers.
New docs site for Faye faye.jcoglan.com
If you've been using Faye, my HTTP messaging middleware for Rack, you should take a look at the new project site. Should be a bit easier to skim than the pile of text that previously resided on the GitHubs.
Terminus: control your browser from the command line blog.jcoglan.com
I've just published an alpha release of Terminus after hacking on it for an afternoon. It lets you script browsers from the command line, and hopefully will turn into something that makes integration testing easier.
Faye gets server-side clients github.com
Faye is a simple-to-use publish/subscribe messaging library that implements the Bayeux protocol for Ruby and Node.js. The latest release adds support for server-side clients, so now your backend application can send messages out to client browsers.
Heist 0.3.0 released github.com
Heist is an interpreter for R5RS Scheme, written in as little Ruby and as much Scheme as possible. This release adds support for the character, string and vector datatypes, including complete R5RS libraries for each. Heist supports tail call optimisation, macros and first-class continuations and is easily extensible using Ruby.
Siren: a JSONQuery interpreter for Ruby github.com
Prompted by its being featured on Rails Tips recently, I've completed my original and long-interupted plans for Siren. It allows JSONQuery expressions to run against any Ruby object graph, and includes a JSON parser that supports cross-referencing and embedded queries.
Faye 0.1.0 released github.com
Faye is an implementation of the Bayeux Comet protocol as Rack middleware, including a JavaScript client. I'm putting out a very early version and need help scaling the server across multiple Ruby processes so I can use it with Passenger.
Eventful 1.0 release github.com
Eventful is a very small event handling library based on Observable that adds named events, block listeners and event bubbling to your objects.
JS.Class 2.1 released blog.jcoglan.com
I just released JS.Class 2.1, my implementation of Ruby's object system in JavaScript. This release includes a Hash implementation, HashSet, an updated Ruby 1.9 Enumerable module with enumerators and Symbol#to_proc functionality, and an improved package manager.
Consent: an access control DSL for Rails github.com
Consent provides a DSL for matching HTTP requests and managing access control to Rails apps. Recently updated to support Rails 2.3 and provide shorthand URL generator expressions for controller and view code.
