Don’t you love it when stuff just works! We have been waiting for Litmus to fall over for the last two weeks, it is being pushed way beyond its original design requirements and we are completely blown away by how well it is managing.
Litmus was designed to be easily installed by teachers onto a school machine and serve a handful of students at any one time. At the moment it is comfortably handling hundreds of international students live on the Internet, even with Chinese characters!
Check out this screenshot.
Litmus was developed in Ruby a long time ago, about a year before Rails was released. Since nothing production ready existed we built our own framework. We used a bunch of technologies: Webrick and Erb for the server, Madeline for sessions, a flat-file persistence layer using YAML, and Redcloth and PDF-Writer for fancy views.
An interesting and unintentional side-effect of the structure is that it load balances out of the box. Just start up a few more Ruby processes and point them at the session and data locations. Unfortunately, the system is IO bound because of a very naive file locking mechanism. The ugly underbelly of not prematurely optimizing.
Once a few things are hardened up and some extra functionality is developed we will do a public release. Until then it will continue to be used for scientific literacy research purposes.

Post a Comment