It's true that the Ruby server works well, but if you are looking for a fun and quick-to-write project, there's Node.JS (http://nodejs.org/) which lets you write an ultra-high-performance server in very few lines of code.
It contains libraries for MySQL which makes implementation easy, and passing messages around between connected sockets is super easy too (there are built-in broadcast methods). Check some videos about it. It's fantastically fun and quick to develop for! I know that you could have a NodeJS based server in less than a day.
Here's an introduction video from a year ago, with the author himself. He goes through everything including how to make a chat server in Node. http://www.youtube.com/watch?v=jo_B4LTHi3I
The question remains: Why write a NodeJS server?
1. Ultra-high performance (asynchronous threads)
2. Very quick and fun to write a chat server in
3. Exists for every platform and requires only a single .exe/bin file which contains everything (http://nodejs.org/download/)
The third point is especially great, because the Ruby server requires lots of setup for Ruby itself on Mac OS X and Windows (it's easier on Linux).
With NodeJS, they just have to download Node, and run one of:
./node server.js (mac, linux, unix)
node.exe server.js (windows)
This is a good companion to #42 (HTML5 WebSockets).
If both were implemented, socket-based AJAXChat communications would finally be opened up to the world. All modern desktop and mobile browsers support WebSockets, and an accompanying NodeJS server is very easy to install and start on any computer.
End result: Finally switching from slow PHP/JSON back-end to Sockets for everyone!
Here is exactly what is needed. I am posting this for future reference. Would love to implement it myself, because it's a quick and fun job, but I am way too busy with work administering a network of Cloud servers right now and there's no way I can spare even a second to look at doing this myself.