Blog An exploration of the art and
craft of software development

RubyConf 2008 thoughts

Posted by Marty Haught on Sunday, November 09, 2008

Now that I’m on the plane returning from Orlando, I have some time to reflect on the RubyConf 2008. As expected Florida provided stellar weather. I had heard that the weather had been a bit chilly the week before the conference but sunshine, low 80s and a gentle breeze greeted us for the first day. Another twist on the conference was that breakfast and lunch was served outside. This was awesome except for two things. First, I didn’t bring my sunglasses so it was a bit bright. Second, the Florida sunshine got to be pretty intense after sitting for a full hour eating lunch. That being said, I was still happy to be outside. Food was pretty good, as you’d expect, nothing spectacular but pleasant.

The hotel was very nice, almost too upscale for the Ruby crowd. As you would expect the 4 restaurants in the hotel were quite spendy and unfortunately the quality of food didn’t always match. This isn’t that surprising as I’ve seen this at many hotels. The Omni is pretty far removed from other things so you didn’t have many convenient options. This was also limited by the fact that our dinner time was usually one and half hours. Not enough time to get out, enjoy dinner elsewhere and get back in time for the evening festivities.

The only major complaint that I’d mention was the lack of power in the conference rooms. This essentially killed my laptop use during sessions and thus I had to go old school for conference notes. I used a pad and paper!

That was it for complaints. Logistics ran smoothly and the hotel staff did a stellar job. The fire pit and poolside area was a great nightly hang out. Many cool conversations were had there each night. I didn’t get in as much hacking as I’d like but that’s mainly my fault. I also didn’t see any werewolf games which was curious. I’d guess that some were played but it was a marked difference from recent Rails and Ruby conferences. I was looking forward to a game or two but hanging out with folks and chatting is just fine in my book too.

I’ll reflect on some notable sessions that I attended. As the conference was a three track conference I missed out on many sessions, some of which I wanted to see. Luckily Confreaks was recording all the sessions so video will be made available soon.

On Thursday I started off with Gregg Pollack’s Scaling Ruby talk. Gregg is a skilled presenter and it was fun watching him just to see how he put together his presentation. I picked up a few tips from this talk but most of what he covered I already knew. However sometimes I just like to go to talks with great presenters to see them work their craft.

The next session I attended was Using Git in Ruby Applications by Scott Chacon. Just before the session I chatted with Scott about using submodules in a rails application where the submodule code is shared internally among several apps. He gave me some great advice and essentially steered me clear of using submodules. I had already suffered some pain in my prototype app when I updated the submodule’s code inside the rails app and pushed it back to the origin repo. Scott’s talk was solid and focused around how you can use git in your Ruby code for various things, such as the data for a versioned wiki. It also helped me understand more of the internals of git. Very cool.

Later that day I attended Jamis Buck’s Recovering from the Enterprise. His talk started off with a metaphor about playing with legos and playdoh and how legos have so many pieces, many of which can only be used for one or two things. Conversely, playdoh allows you to make all sorts of shapes, you just have to do it yourself when molding it. He then related Java to legos and Ruby to playdoh. The rest of his talk was examples of how he tried to take a Java design mentality and build Ruby code with it. It was interesting to see the things he tried to do initially with Ruby. Crazy.

The other talk I thought I’d mention from Thursday was Rein Henrichs’ Unfactoring From Patterns. The description seemed curious so I wanted to see it. It was indeed what he described and was 100% comedy. I wondered if it would truly be that or have some redeeming design value but no. It was a pleasure to watch, including all the interaction with the crowd at the end helping him to further unfactor his code to unmaintainable, misleading anti-patterns.

Friday was probably the best day of the conference for me. I really enjoyed Fear of Programming by Nathaniel Talbott and it seemed the audience did as well. There were no slides and Nathaniel did a great job of going over his latest musings on how fear keeps us from being our best when programming. I think we can all relate in some form or another.

Later on I attended What every Rubyist should know about Threads by Jim Weirich. Jim rocks. It was a great overview of thread safety in Ruby. The effect is that I don’t intend to do ANY thread safe programming in Ruby and stick to the share nothing mentality. Other talks touched on this later on which only reinforced keeping things simple. If I want to program concurrent applications I’ll use a language that does that well.

Another interesting talk that day was Glenn Vanderburg’s How Ruby can be fast. This talk wasn’t really what I expected but was good nonetheless. I was expecting Glenn to review the various Ruby VMs and talk about how they compared and such. Instead he presented on several VM techniques that could improved Ruby’s performance based on things the Hotspot JVM and Smalltalk implementations have already pioneered. It was fascinating but ultimately I don’t see myself doing any VM work in the future.

We finished off the Friday sessions with OS X Application Development with HotCocoa by Rich Kilmer. This talk rocked. First, Rich is just plain enjoyable to watch on stage. In this talk he showed off the partially finished HotCocoa framework. It’s built on top of the new MacRuby implementation and has a beautiful Ruby syntax for creating Cocoa applications. It was very impressive seeing how easily you can wiring up the components. Rich has demonstrated some kick ass API design for a wrapper library. It made me want to download the code and start hacking away!

After a rushed dinner, we returned to watch Dave Thomas’ keynote. This was actually one of Dave’s better talks and I think it went over very well. The premise of his talk was to explore what forking Ruby would be like in several, humorous, alternate versions. Many of his suggestions seemed like great improvements so it will be curious to see if any of them make it into future Ruby releases.

We closed Friday night off with a large poolside party sponsored by Pivotal Labs. I got to meet many folks there and chat for hours. My roommate, Matt Todd, didn’t get back until 3am! I left closer to 11pm to do some hacking before retiring about 1am.

The final day was so-so. I think more of the great talks were loaded earlier in the conference and I ended up skipping some sessions to hack on some code and charge up my laptop. My flight also left at 5:20pm so I had to leave at 2:30, missing the final two sessions.

The one session I wanted to mention from this day was The Ruby Code Review by Chris Nelson and Jim Weirich. This was awesome. It was a play between a tech lead for a social networking start up, Chris, and a pro consultant, Jim. You just have to watch the video when it’s released. Beyond a little screw up with their live code demo towards the end it was spot on. I loved some of the meta programming Chris’ character had whipped up. It got many of us in the audience cracking up.

All in all, I thoroughly enjoyed myself at the conference. I love its smaller size and more intimate setting as compared to RailsConf. I did notice that many Rubyists that I’ve seen before seemed to be absent. It’s a bummer too as I was looking forward to seeing them. Oh well, perhaps next year.

blog comments powered by Disqus