It’s OSCON season, and most of the open-source world has descended on Portland for the week. This includes most of the leaders of the Ruby community, so the Portland Ruby Group held their own “Free OSCON” night at FreeGeek. Four of the people giving Ruby talks at OSCON gave their talks for free at FOSCON, and most of the rest of the Ruby speakers were there lurking in the back of the room, including Dave Thomas and Matz.

I dragged my trusty D60 along and took a few pictures, along with a few notes.

DHH on Rails

DHH's presentation begins

The first speaker was David Heinemeier Hansson, the creator of Ruby on Rails and O’Reilly’s “Hacker of the Year” for 2005. He basically gave us his 15-minute OSCON keynote on Rails, which was both a brief introduction and a marketing talk for Rails. His big theme was “flexibility is overrated”–by reducing the number of ways that you can approach web development, Rails makes it enormously easier to actually get things done.

When David’s talk was complete, our host Phil (Tomson, I presume) presented him with a vintage copy of How to Win Friends and Influence People.

Rich Kilmer on ActionStep

Rich Kilmer

This was deeply cool. Rich Kilmer gave a brief presentation on his current project, ActionStep, a port of OS X’s Cocoa API to Flash. Right now, there are free tools that can create Flash .swf files, but Macromedia’s licensing keeps them from legally using any of Flash’s windowing tools. So Rich decided to write his own windowing toolkit, using NextStep/Cocoa API. They’re over halfway done, and expect to release the first complete version before the end of 2005.

I’m not particularly fond of flash, so I wasn’t paying a lot of attention until Rich started showing off his ideas for Rails integration. He’s building a layer that will glue his Flash front end to a Rails back end, and the demo code that he presented made it look even easier then creating HTML forms for user interaction. I’m not sure that it’ll be something that I’ll ever end up using, but it looked deeply cool. Here are a couple screenshots:

ActionStep Rails Teaser, page 1 ActionStep Rails Teaser, page 2

Glenn Vanderburg on Metaprogramming

Glenn Vanderburg

Next up, Glenn Vanderburg gave a talk on metaprogramming in Ruby. He showed how Ruby itself uses metaprogramming to implement things like attr_accessor, and then showed how people have used and extended Ruby over the years. One theme was the continuing development of metaprogramming idioms in Ruby; he showed how things have changed over the years, starting with an X protocol wrapper that someone wrote years ago, through Rich Kilmer’s Java debug protocol system, and up through Rails. Ruby’s metaprogramming ability is one of the things that makes Rails so successful–the ability to extend the language to let you say things like:

class Article < ActiveRecord::Base
  has_and_belongs_to_many :categories
  has_many :comments
  belongs_to :user


This is one of the things that makes Rails so useful and so much fun to program.


Finally, Why The Lucky Stiff came on stage. Why (or sometimes _why) is sort of the rock star of the Ruby world. His real identity is a closely guarded secret. He's the author of why's (poignant) guide to Ruby, which is easily the strangest programming book that I've ever seen.

His FOSCON talk was sort of a performance-art interpretation of his book.

We knew that interesting things were afoot when he showed up with a backup band, and we had to stop for a break while they set up on stage.

They're setting up for a programming talk.  Really.

When he finally got on stage, we were treated to an animated production that skipped and jumped around, occasionally touching on some feature in Ruby and the jumping back off into the unknown. There were shadow puppets:

Ruby Shadow Puppets Shadow Puppets.  With Ruby Code.

Once that bit was done, they launched into song. Why had a nice little piece that was essentially the Ruby lexer set to music. “A symbol starts with a colon and is followed by lowercase letters and numbers! A constant is composed of capital letters and underscores!”

This is still a programming talk.  They were singing about Ruby's lexer.

This sort of thing went on for a while. He alternated between animated segments on the projector, demonstrations of distributed Ruby programming (with audience participation), singing about Ruby, and utter non-sequiturs.

Why Why Why Why Why Why

Why’s presentation ended with the immortal words “stop her, she’s stealing our eigenclasses.”

Thanks to Phil and everyone else from the Portland Ruby group, and all of the presenters for giving us a very memorable and enlightening night. I have a few more pictures on Flickr, if anyone’s interested.