More articles about Ruby on Rails
Silicon Valley Ruby Conference
By
Last week’s Silicon Valley Ruby Conference was perhaps the year’s largest local gathering of Ruby enthusiasts, with 130 attendees. Although not in the same league as the big-time RailsConf and RubyConf events, it was nonetheless a worthwhile couple of days.
In this article, we present a few tidbits from various talks at the conference. We’ve also posted separate articles from two talks:
- Tim Bray: Ruby is the Leading Language for Web Applications
- Selling Friends: Scaling a High-Traffic Rails Application
The Desert Framework
Parker Thompson from Pivotal Labs talked about the Desert component framework. This open-source framework is a gem that Pivotal Labs uses to easily modularize their application components and quickly assemble them to create new applications.

The Desert framework allows a component to provide models, migrations, routes, controllers, views, and even plugins. It includes a modification to the Rails class loader, allowing code to define a class in multiple places, yielding the sum of all of them. Components are templating language agnostic. The framework deals with dependencies between plugins and load order—something Parker noted should be in Rails.
Pivotal has built about a dozen apps with the Desert framework and has done one full rewrite of the framework. While the framework itself is open source, Pivotal has not, unfortunately, open-sourced any of the components, which limits the immediate appeal. Pivotal may release some of the components in the future.
IronRuby
John Lam talked about the IronRuby project. He is one of two people at Microsoft working on IronRuby. They’ve been working on it for 14 months and are getting “relatively close to running real ruby programs”; John characterized it as “about halfway done.” IronRuby runs on top of the Dynamic Language Runtime (DLR), which in turn runs on the Common Language Runtime (CLR), just as IronPython does.
The runtime environment is part of Silverlight, which is a 4M download, on top of 1M download for video playing, plus 1.5M for DLR and Ruby. When this technology is ready, you could run a Rails view on the client instead of on the server. You could run Ruby “on both sides of the wire” and access .NET routines from Ruby. Because IronRuby lives in the Silverlight security model, it allows Ruby code to run from within the browser without needing to have its own security model.
IronRuby is being released under the Microsoft Public License, Microsoft’s open-source license.
Rubinius and Merb
Tom Morini from Engine Yard talked about the state of Ruby and the Rubinius project. Tom noted that the growth in Ruby jobs is quite dramatic:
However, this is on a relative scale. On an absolute scale, it’s clear that there are still vastly more Java jobs:
Nevertheless, it is compelling that the number of Java jobs is stagnant, while Ruby jobs are increasing steadily.
Rubinius is a next-generation virtual machine for Ruby that is written entirely in Ruby. The project is now backed by Engine Yard, which hired project creator Evan Phoenix and four other top Ruby programmers to work on it. Tom said they hope to have a demo running Rails by RailsConf in May, and to have a 1.0 release this summer.
There are 136 committers to date to Rubinius, making it the largest Ruby interpreter project by that measure; there are only 53 on the Matz Ruby Interpreter (MRI), 22 on Jruby, and 10 on IronRuby.
The RubySpecs project, which is an RSpec test suite for the Ruby language being built for Rubinius, is becoming the definition of the Ruby language, which has no formal definition. There are currently 22,664 expectations in the tests.
Matz is participating in monthly meetings with other Ruby implementors, which should help ensure that Ruby compatibility remains high even as the number of execution environments proliferates.
Merb, which is also being backed by Engine Yard, is a Rails-like framework that was originally designed to solve file upload problems with Rails applications. It is steadily increasing in capability. Sony is writing backends for PSP and PlayStation 3 games in Merb, and music site MOG is being rewritten in Merb. The 1.0 release of Merb is planned for this summer.
Rails at IBM
IBM’s Anant Jhingran and Julian Kamil talked about using Rails in enterprise environments. It may come a surprise to some that IBM has created a number of web applications for clients using Rails. One example is the site for the National Museum of African American History and Culture, which has launched as a virtual museum while the physical museum is being constructed. The site was created by a team from from IBM’s Innovation Center in Washington, DC.

Anant Jhingran (left) and Michael ‘Max’ Maximilien
The speakers noted that while Rails is not ready to replace core enterprise functions, it can be used very effectively to manage web services and create mashups that draw on other enterprise systems. Julian calls this “penetration from the skin,” rather than attacking the core. He showed that he has Rails running on an IBM S/390 mainframe, and Anant talked about using IBM’s DB2 database with Rails.
One barrier is that some customer contracts prohibit the use of open-source software because they want everything to be fully supported. This is a customer education issue, rather than a technology challenge. In terms of Rails itself, the highly prescriptive nature of Rails (such as the lack of support for natural database keys) is a challenge when working with core enterprise functions.
Michael ‘Max’ Maximilien from IBM’s San Jose research lab showed his DSL for mashups, which allows mashups to be easily defined in a Ruby-based DSL and then automatically creates a Rails application that implements them.
More Presentations and Videos
These notes reflect only about half of the presentations; see the SD Forum site for links to other presentations. They will also be publishing video recordings of the presentations.
Join Our List
And we'll let you know when we post major new site updates.
We’ll never share your email address with anyone else.
Related Content
from around the Web
Other Articles
- Ruby on Rails routing demystified
- Riding Rails: Rails 2.0: It's done!
- iPhone on Rails - Creating an iPhone optimised version of your Rails site using iUI and Rails 2
- Restful Authentication with all the bells and whistles
- Understanding Ruby blocks, Procs and methods
- Riding Rails: Rails 2.1: Time zones, dirty, caching, gem dependencies, caching, etc
Screencasts
- Envycasts -- Advanced Active Record
- Railscasts - Free Ruby on Rails Screencasts
- PeepCode
- Benchmarking with httperf
- Railscasts - Tracking Attribute Changes
- Railscasts - named_scope
Documentation
- Textile Reference
- Ruby on Rails API
- RubyBrain.com: Javascript enhanced Ruby API docs
- GotAPI
- RailsBrain: Javascript-Enhanced Rails API Documentation
- Ruby Standard Library Documentation
This article is licensed under a Creative Commons Attribution-NoDerivs 3.0 License