Going Off Grid: Rails as Platform by Evan Weaver

Evan, you seem cool: sorry you are my second choice. I had planned on going to the talk on REST, but needed coffee and a couple of other essentials. When I got to the REST talk, all the seats were full and spaces to stand at the wall were rapidly disappearing. Since I was already leaning towards just diving into REST anyway, I turned around and dropped into Going Off Grid.

So Evan works on the ‘bio’ project at the University of Delaware. They “emerge high order properties from raw sequence data.” He also writes all his slides in lowercase.

The actual calculations happen on ‘biowolf,’ a 128 Linux node supercomputer. They send jobs to the cluster using a REST-ful record server using yaml. So that’s cool. Maybe they should have used Merb?

They use Django as the admin interface.

Evan contributed an extenstions to Rails from this project: the has_many_polymorphs plugin. He learned some unpleasant things about ActiveRecord, mainly that the AR code is nasty:
– massive case statements
– SQL strings all over the place
– tightly-coupled classes

Evan says that the project had big integration issues. I can’t help but think that some of those issues were self-imposed.

Now he works at c|net. Their Rails app handles 2 million users/month, and this caused scaling issues. So they junked AR and use a hyper-denormalized model. The essentialy use the database as a hash. They use memcached “like most large Rails apps (Flickr, livejournal).” Really? It’s probably true — I’m just not clued-in.

When do you need a DB? When you really can’t predict what you might want to know. Most of the time, web apps know what the need….

Leave a Reply

You must be logged in to post a comment.