RubyConf at a Glance
It was very clear by Saturday that I wasn’t going to be able to blog
each and every talk like I had in the past. There was just too much
going on and I had too much on my plate to do it justice. Plus there
were a lot of people doing a talk by talk blog on the conference, so
my additional comments seemed superfluous.
So rather than do a blow by blow descriptions, I thought I would just
touch on a few highlights.
Matz’s Keynote Address
Matz subtitled his talk “Weird and Crazy Ideas” and he talked about
some of the “stretch” ideas he has for Ruby 2.0. If you are following
the Ruby 2.0 discussions up to this point, there wasn’t anything that
was a big surprise. But he did give some more details on what we
should be expecting.
Two big topics of conversation came out of this keynote. One was the
syntax for anonymous functions. The second was the syntax for keyword
arguments. See the ruby-talk mailing list before the conference for a
discussion of anonymous functions. See ruby-talk after the conference
for keyword arguments discussions. Both topics are generating a lot
of traffic on the ruby-talk mailing list, so check the mailing lists
for any details.
Selector namespaces were mentioned by Matz, but without any hint of
how they would be implemented. After the keynote, Rich Kilmer
brainstormed some ideas and Paul Brannon actually did a (simplifed)
pilot implementation in pure Ruby to get a feel for how they might
The Long Tail
One of my favorite talks was Nathaniel Talbott’s talk on the long tail
of software development. He explored the question of what happens to
software development as the time and cost to develope software
approaches zero. He compares it to intercontinental railroad (rails
... get it?) which lowered the cost of traveling to the interior of
the US to a point that almost anyone could travel.
Metaruby and Ruby2C
The Seattle group is doing some really exciting stuff exploring what
it would take to get the standard Ruby library (currently written in
C) defined in Ruby. Its a two pronged approach. Part 1 is the
Metaruby effort to rewrite the standard classes is a (rather static)
subset of Ruby. Part 2 is the Ruby2C translator that can take a
subset of Ruby and rewrite it as C code. If this project is
successful, moving Ruby to a different platform (i.e. the Java JVM or
.NET CLR) much easier. Ryan Davis and Eric Hodel were the presenters
for these two talks.
JRuby and YARV
I see these two projects are very important to the future adoption of
Ruby in two different groups. YARV addresses the “Ruby is too slow”
crowd, while JRuby addresses the “but it doesn’t interact well with
Java” crowd. While neither group is critical to future adoption, Ruby
acceptance would be enhanced by addressing their concerns.
I did two talks this year. One was in the standard track and was on
the topic of Domain Specific Languages written in Ruby. It was well
received and seems to seeded some new ideas in some people.
The second talk was a workshop (with Chad Fowler) on Sunday afternoon
where we delved into the details of programming with continuations.
The other workshop was on Rails, so I expected a light turnout at
ours. Surprisingly we had a very good crowd. Presenting with Chad
was a lot of fun (I really liked the conversational approach we used)
and people seemed to enjoy it. Plus I worked in playing a video game
into the talk.
I think the best part of RubyConf is not the formal talks, but the
chance to meet and talk to people over meals and between sessions. I
will post on some of the topics sparked by these conversations in the
weeks to come. Unfortunately, I didn’t get to participate in as many
code fests as I had hoped (I was too brain dead for serious coding by
the end of the day).
I’m already looking forward to next year!