Archive for November, 2008

Can Ruby Scale? Still Don’t Know.

Thursday morning, first day of RubyConf. Matz has finished his keynote address and a check of my watch tells me that I’ve got some time to kill before Gregg Pollack’s talk on “Scaling Rails” starts at 10:25, so I head up to my hotel room for a bit. Unfortunately, when I returned to the conference room around 10:20, I found that Gregg had already begun his presentation to a standing-room-only audience. I wasn’t surprised that the room had filled up. Gregg is known to be a great presenter, and the topic is one of interest to most Rubyists these days.

As much as I was looking forward to seeing his talk, I’m not a big fan of standing in one place for 30 or 45 minutes, even if I have a wall to lean against, so I headed next door to sit in on David Koontz’s talk on Monkeybars. No problem, I figured, because the Confreaks guys were there recording all of the talks, and the video of Gregg’s talk would be up on their web site at some point after the conference ended. As David Black had noted in a conversation the night before, the fact that you can just catch videos of any of the talks you might have missed has quelled his concerns about RubyConf evolving from a single-track conference to one with multiple tracks.

Fast-forward to this morning, and I’m reading Peter Cooper’s review of one of the latest RailsEnvy screencasts, entitled (wait for it) “Scaling Ruby”. It is a 40-minute long, highly polished version of the presentation that Gregg gave at RubyConf, and it sells for $9. And I think this is great. Gregg and Jason provide a ton of absolutely free material to the Ruby and Rails community, including their popular weekly RailsEnvy podcasts. I’m sure that a lot of work went into producing the video, as well as the PDF that comes with it, and it is probably a great value for anyone who’s interested in purchasing it.

The thing that I didn’t realize until I got to the review’s comments section, however, is that Gregg apparently chose not to have his RubyConf presentation recorded. I didn’t even realize that this was an option, probably because it’s an option that no other RubyConf presenter has ever exercised. Jeremy McAnally, organizer of this year’s Ruby Hoedown, also indicated that Gregg didn’t want his Hoedown talk recorded either. Bottom line: If you (like me) missed his talk at RubyConf this year, you’re not going to see it.

Gregg did chime in with his response to some of the negative comments on the review, and you can (and should) read those to hear his side of the story. His defense is that he put a lot of time into preparing for his presentation, and that he deserves to be compensated for that, and that if a free Confreaks recording of the same material were available that no one would buy the screencast. All of those things are probably true. (He does neglect to mention that the $250 conference registration fee is waived for presenters; perhaps he also chose to pay that fee in lieu of having his talk recorded.)

Let me be clear that while it is quite possibly a serious PR blunder on his part, Gregg didn’t break any “rules” and hasn’t done anything unethical per se. There’s also nothing on the RubyConf site, or in the conference materials, that guarantees video of each and every conference presentation will eventually be available on the Confreaks site. And before someone accuses me of being a free software zealot who believes that “information wants to be free”, let me reiterate that I’m not opposed to folks charging money for their work. Baby needs new shoes and all that. I would simply request that in the future RubyConf organizers consider requiring conference speakers to agree to have their talks recorded; or, barring that, being a little more up-front somehow communicating with conference attendees about which conference presentations are truly “can’t miss”.

RubyConf 2008 Wrap-Up

I have an hour or so to kill while I’m waiting here in the Orlando airport for my flight back to Huntsville, so I thought I’d post a quick summary of RubyConf 2008.

The conference was held at the Omni Orlando Resort at ChampionsGate. The Omni is big place, and they were hosting several other conferences at the same time as as RubyConf (including, ironically, some sort of tanning convention). The resort has two or three swimming pools, including a “lazy river” which I took advantage of for a couple of hours on Saturday afternoon. They also have a golf course if you’re into that kind of thing, and free shuttle access to the Disney parks. As a location for a technical conference, however, the Omni is sort of a mixed bag. There are a number of seating places throughout the hotel where groups of Rubyists could gather to talk or hack on things, which was convenient. The (free) Wi-Fi coverage throughout the hotel was also very good. The resort is fairly isolated, however, and as a result those of us without cars were mostly restricted to eating at the pricey on-site restaurants. A shortage of power outlets in the conference rooms also presented a challenge for those of us using notebooks with short battery lives, but in hindsight I think it was a good thing that I wasn’t able to leave my computer open for very long during the presentations. I was a lot less distracted by IRC, Twitter, e-mail, etc. and I got a lot more out of the presentations as a result.

If there was a unifying theme for this year’s RubyConf, it was probably “love”. We heard a lot about love this weekend. And that’s not a bad thing, but it was no doubt a reaction to some of the pre-conference controversy and the more general problem of divisions in the Ruby community that have become more pronounced over the last couple of years. We also took time out to recognize the contributions of Guy Decoux and Itojun, both important Rubyists who passed away this past year.

This year’s RubyConf had three tracks, and I saw a lot of really excellent presentations. I’m not going to try to summarize the talks, because the conference videos will be up on the Confreaks site in due time, but I will mention a couple of presentations that you should look for. I’ve been trying to up my testing game over the last month or so, and Francis Hwang’s talk on “Testing Heresies” (Thursday afternoon) dealt with a number of dogmatic beliefs that we tend to have about testing and why some of those ideas may not hold up under examination. Greg Borenstein’s presenation on “Ruby Arduino Development” (Friday morning) was really interesting to me, and included a number of really compelling demos (including, at the end, a Ruby-powered drink mixer). Jim Weirich’s talk on “What Every Rubyist Should Know About Threads” (Friday afternoon) was a good refresher course for me; as I told someone, about once a year I need to hear (or read) what someone smarter than me has to say about developing mutli-threaded applications, so I’m sure still on the right track. Jake Scruggs’ talk on metrics (also on Friday afternoon) was a good survey of the tools available for static code analysis (such as RCov, Flog, and Saikuro) and how to interpret their results. Finally, Neal Ford’s talk on “Advanced DSLs in Ruby” (on Saturday morning) covered a number of techniques for building DSLs in Ruby and the best practices for doing so (along with some of the problems you can run into in the process).

So, all in all, another great RubyConf. Many thanks to Ruby Central, the conference organizers, and FiveRuns, the conference sponsor!