More articles about Ruby on Rails

More articles about Business

Silicon Valley Ruby Conference

By Michael Slater

Published April 27, 2008  |   0 comments

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:

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.


Add your comment on this article