A Personal RubyConf 2008 Recap

Posted by Rick DeNatale Tue, 11 Nov 2008 01:11:00 GMT

RubyConf 2008 has come and gone. It was a great opportunity to meet Ruby friends and make new ones.

I think that my talk on Friday afternoon went well. It’s amazing how your perception of the conference changes when you shift from fretting about your upcoming talk, to relief once it’s done. I don’t know how many times I’ve given talks to similar audiences, but the butterflies never seem to stay away, and I think that it’s a good thing since it keeps you on your toes. If you are going to be in western Michigan on the evening of November 25th, I’ll be reprising this talk at XP West Michigan.

A Quick Sample of RubyConf 2008 Speakers

Greg Pollack has put up a preview of his upcoming “RubyConf Trailer” RubyConf in 90 Seconds. As he did earlier for this year’s RailsConf Gregg did brief video interviews of as many conference speakers as he could. He’s planning to edit these together, and provide them as kind of a video “Table of contents” to the full talk videos which will be appearing on the Confreaks web-site. Coby Randquist of Confreaks told me that he expected all the videos to be available by a week from today.

A Walk Down Memory Lane

Josh Susser, who is another Rubyist with a background in Smalltalk, tweeted during my talk, that I was “taking a walk down memory lane.” In a way, RubyConf 2008 was very much a walk down memory lane for me. Not only did I reminisce in my talk, but I got to see some old familiar faces from the early days of OOPSLA in the 1980s and 1990s. Allen Otis, who served as the technical half of the team from GemStone presenting MagLev was one. Another was Monty Williams, also of GemStone. I had a very nice lunch with Monty and his wife on Saturday, along with another more guy who had recently joined GemStone to work on MagLev, who we probably bored with old war stories.

Things I learned at RubyConf 2008

In no particular order:

  • Werewolf fever seems to have died off. As far as I could tell, no werewolf games materialized. The two main instigators weren’t there. Marcel Molina, apparently never was coming, and Chad Fowler, unfortunately, had to stay away due to the sudden death of his father-in-law. On the other hand, the musicians, some of them former werewolves, were there in force, leading to an enjoyable jam session.

  • Jim Weirich and I established that I’ve got a year or two on him, although my hair has retained a bit more of its color.

  • I also found that I wasn’t the oldest attendee, but I won’t reveal his or her identity.

  • “PragDave” Thomas gave a great talk, challenging the community to “fork Ruby”, that is to spawn some incubator branches of the language to experiment with new ideas without delaying or derailing the main Ruby language. If some of these forks produced value, they might have their ideas merged back. Some of his ideas for forks were Ruby-lite, which had lots of cruft which is not often used removed. Another was Otuby (for optionally typed Ruby), which was different from Charlie Nutter’s Duby

    I thought that the most interesting was probably Cluby, or Ruby with Closures. By making some lexical changes to the language, Dave suggested that Cluby could allow blocks to always be lambda literals, and to allow blocks to be used in many more places, such as for ANY argument to a method. This would allow control flow to be implemented by methods, for example an if method which took an argument to be tested, and one or two blocks, to be executed depending on the truthiness of the first argument, or a looping method which evaluated it’s second block argument as long at the first block argument evaluated to a truthy value. He also did away with grammar for both method definitions and class/instance variables. Methods would simply be blocks which would be called when the object received the corresponding method selector in a message.

    He acknowledged, that “Smalltalk had already done this.” Which is half-true. Smalltalk alows arbitrary block closures as arguments, but you need to look at a language like self for the unification of methods and attributes.

  • There are some talented musicians in the Ruby community. This wasn’t surprising since there seems to be a positive correlation between talent for programming and talent for music. Jim Weirich is an avid, and accomplished guitarist, and David Chelimsky and Diego Scataglini blew me away with a cool acoustic jazz guitar duet! I gotta give those guys, some RSpec!

  • Appropriately enough, since we were so close to Epcot, once again I learned that “it’s a small world after all.” My wife was along with me, although she didn’t hang out at the conference. On Saturday evening, Deborah and I tagged along with a group which included Matz and the members of his team who were there as well as a few of us gai-jin. Deborah is half-Japanese, an Air Force brat who spent a couple of tours of duty in Tokyo during her formative years. She sat next to Matz and they talked a lot in both Japanese and English. At one point Deborah was telling Matz about some of our Japanese IBM/ex-IBM friends. When she mentioned Kuse-san, who had visited with us several times when he was here on business, Matz said “I know Kuse-san!” In retrospect this isn’t surprising, since Kuse-san, now the director of IBM’s Tokyo Research Lab, has a background in object oriented languages.

And to put a cap on a week full of personal memories, Deb and I flew back home on Sunday for an evening from the 1960s with Ed Sullivan, old VW ads, and the “Beatles.”

Posted in ,  | Tags  | 4 comments | no trackbacks

Comments

  1. Marcel Molina said 1 day later:

    I was planning on coming but a cross country move ended up coinciding with the conference date. Bummed I couldn’t attend.

  2. Mark Wilden said 1 day later:

    Cluby sounds like it would let me implement the one control structure that I’ve only been able to use in one language (Smalltalk). That’s the do-while-do loop. It’s often useful in file handling or cursor navigation through a database. You do something to get some values, check those values to see if you should continue, do something with the values, and repeat.

  3. Pedro said 1 day later:

    During the last edition of the Google Summer of Code I present a proposal to develop a gradual typing version of Ruby based on Duby [1], but it was rejected.

    Just for the record, (Sorry my english) [1] http://theplana.files.wordpress.com/2008/03/strongruby.pdf

  4. Rick DeNatale said 2 days later:

    Mark,

    Of course you can also do this in Ruby

    def do_while_do(test_block)
      while test_block.call
        yield
      end
    end
    
    i = 0
    do_while_do(lambda {i < 3}) {puts i; i += 1}

    Of course the Smalltalk syntax is nicer, and doesn’t require lambda to get a block closure for ‘regular’ parameters.

Trackbacks

Use the following link to trackback from your own site:
http://talklikeaduck.denhaven2.com/articles/trackback/513

Comments are disabled