RubyNation 2010

This past weekend was fun-filled with geekyness in the DC area! Here are a few of my favorite sessions and thoughts from RubyNation 2010.

Grease Your Suite by Nick Gauthier: Nick killed it with his presentation on how he used all sorts of optimizations to get his project’s test suite from 13 minutes down to less than 30 seconds. Wow! Presentation style was fun and playful, while still being hardcore and informative (optimizing the filesystem? whoa). I’m really glad this talk was inserted, and wished more people could have seen it.

Pure RSpec by John Larkowski: This talk was all about rspec syntax, and how to make your tests read better. I really dig this type of talk, since I always come away with a dozen new tips to integrate into my code right away.

Git Guts by Jeff Kunkle: Oh man, Jeff unleashed all the crazy details about internal git objects and trees within the first 3 minutes. This was not just a discussion of the basic git commands! This was all about how git works under the covers. Not surprisingly, there were plenty of questions and discussions at the end. Maybe git workflow with branches and merging and rebasing is something we should talk about publicly more often.

Looking Inside Your Ruby Implementation by Russ Olsen: “How many of you are comfortable with C programming?” Russ asked. Heh. He went on to take us on a tour of the C code behind puts. Then he took us through the jRuby implementation too! Unique and informative.

Garbage Collection and the Ruby Heap by Joe Damato and Aman Gupta: I heard this described this as “if you work with Ruby, you gotta go to this one”. It reminded me of a talk I saw at JavaOne way back when about the Java gc. Very detailed.

Sadly, I lollygagged back from lunch on Friday and missed John Trupiano presenting I Don’t Trust Your Code which contains excellent details about how gem maintainers should structure, build, and manage public gems. Excellent advice! This presentation, as well as a few others this weekend, were built with showoff. It’s easy to use:

gem install showoff
git clone git://
cd i_dont_trust_your_code
showoff serve

Now open a browser to http://localhost:9090, and right-arrow through the slides!

How to Teach Anything to Anyone, Even Your Dev Team by Jeff Casimir: Jeff says he wishes he could speak like Dave Thomas…I say, I wish I could speak like Jeff. This was a non-technical and inspirational presentation of some of the basic concepts of teaching. Using books, graphs, and statistics, Jeff took us through the various ways people learn, especially highlighting the “gradual release of responsibility principle”. If I had to pick a favorite talk from the weekend, this would be it. “I do, we do, you do”, Jeff.

Blocks, Procs and Lambdas, Oh My! Functional Programming in Ruby by Paul Barry: Out of my colleagues, Paul holds the title of “The Language Mayor”. During this talk, he showed us some “functional” programming constructs and how they can be applied to Ruby as well as other languages such as Clojure. Rich with syntax and details.

Rails in the Large by Neal Ford: Other than using rock/paper/scissors to solve office dilemmas, Neal also seems to work on one of the hugest Rails projects around. 11 pairs of programmers!?! It sounds insane, and it probably is. Wow. Great insights from an “enterprise” team, including PMs, BAs, UAT, and coffee delivery services.

But, as always, the real value of these local conferences is with the people who attend, and some of the most fun was not sitting and listening, but sitting and conversing and working and learning. I spent some time building an interactive Google map into a project @jtrupiano is working on. I hung out with @nerded and learned why I should be using gitx more often. Over a beer at the RuBy-B-Q, I caught up with @abatalion and met @marchdoe, then Paul and I owned the foosball table. I learned how @bryanl likes to set up maintenance contracts with his clients, and we both agreed that there is plenty of work in the mid-atlantic region right now for all of us. I met @greggpollack for the first time. I talked natural database id’s with @avdi. I think I convinced @stevenhaddox that he can make it to more bmoreonrails meetings if he brings his family! I got to meet @mbleigh and learned about his Rack-based authentication system for twitter/oauth/facebook/etc called OmniAuth. Over beers in the hotel bar, I hacked on the new bmoreonrails website, adding live tweets and a member roster. And the ride up and back from Baltimore with @pjb3 was chock-filled with fun talk about rspec, rss readers, and rails!

Hopefully, I’ll have a similar experience this coming week at JSConf, as well as at Railsconf this June!