In spite of yesterday’s all-day snowstorm and sub-freezing temperatures (-10 C / 14 F), about a couple of dozen people still showed up for last night’s Ruby/Rails Project Night, TSOT’s monthly session where developers from Toronto and surrounding areas get together to see in-depth presentations on projects done using Ruby and Rails.
As per tradition (well, as much tradition as you can get with this being only the second Project Night), I presented the opening monologue, titled Do the Stupidest Thing That Could Possibly Work. The basic premise: if a stupid idea works for you, it isn’t stupid. It’s something I’d been meaning to do — a live version of this article from last June.
The first presenter was Rowan Hick, with his presentation How to Avoid Hanging Yourself in Rails, a guide to getting the most out of ActiveRecord. He billed it as something intended for developers new to Rails or intermediate developers who’ve been frustrated by Rails’ database performance.
A good chunk of his presentation focused on ways of speeding up getting results from ActiveRecord, which can summarized in a chart like this:
|Method||Requests per second||Speed index||Notes|
||5.26||1x (baseline)||Straight out of every Rails tutorial every written.|
||7.70||1.4x||A little better…|
||15.15||2.88x||Nearly 3 times the speed for only a little work.|
||28.90||5.49x||Considerably faster, but no longer database-independent and harder to maintain. Still, I can see optimizations like this in my future…|
|Merb||38.56||7x||Next to Rails, Merb is blazingly fast, and Rowan says you can use code nearly identical to Rails. I’ll have to give it a peek sometime…|
Rowan is kindly sharing the slides from his presentation — you can get it from this entry in his blog.
Next came Mike Bowler, who presented Easy Branding Tools, his one-stop online shop for ordering all sorts of things related to your brand — from business cards and stationery to domain names — powered mostly by Rails. Notable points in his presentation included:
- “PassiveRecord”, which was his way of creating subclasses of ActiveRecord for objects that weren’t connected to the database but still had ActiveRecord goodies like validation.
- Some custom validations
- Thoughts on running tasks in the background: he used
script/runnerfor this project, but for future apps, he’s more likely to use
The final presentation was Luke Galea’s who presented CRMS: Clinical Research Management System, an enterprise-class Rails app that manages drug and treatment experimental trials carried out at various hospitals across the United States.he covered all sorts of aspects of building such an app, which included using databases not typically used with Rails (the hospitals tend to use SQL Server), offloading some work to apps implemented in other languages (some hairy calculations are handed off to an engine written in Prolog), and building a “vanilla” app with features needed by all the research hospitals, and “spicing” them individually as needed by each client.
We kept things moving quickly so that people could brave the snow and go home, so the event wrapped up at 8:00 p.m.. More than a few decided to join us at the TSOT development team’s semi-official watering hole, Hemingway’s, to hoist some pints and socialize.
I’d like to thanks the presenters for the work they put into their presentations and the attendees for braving the snow and coming out! I’d also like to say thanks to my co-worker and TSOT’s VP of Public Relations, Corina Newby, for doing the heavy lifting in getting the event together.
If you’ve got a Ruby or Rails project that you’d like to show off in front of your peers in a 20- to 30-minute presentation (where you can get as in-depth and tech-y as you like), we’d like you to present! Email either Corina or me for details.
Keep an eye open for announcement of the next Ruby/Rails Project Night!