Ruby Conference Wrap-Up (Part 1)
Early this morning, I was in the middle of typing up a summary of my notes and reflections on this year’s Ruby Conference, when I innocently surfed over to ruby-doc.org to look up something. Imagine my horror as I watched Firefox crash before my eyes, wiping out the previous half-hour’s work in the process.
Note to self: Save early, save often. Or better yet, compose blog posts off-line from now on.
So instead of going into detail about the weekend’s talks, let me just hit the highlights:
Francis Hwang opened the first morning’s panel with a talk on “Top-to-bottom testing in Ruby”. I’ve only seen Francis speak once before, I guess at the Seattle conference when he introduced Lafcadio. I had forgotten how good he is at this, and it was a great way to kick things off. Favorite quote: “Sometimes a global variable is just a global variable.”
To be blunt, I had low expectations for Akira Tanaka’s talk, entitled “open-uri: easy to use & extensible virtual file system”. This is not to say that open-uri isn’t a wonderfully ingenious and useful module to have in the standard library, but come on: there’s just not that much to say about it, is there? I was pleasantly surprised to find that after spending a relatively short time talking about open-uri itself, Akira turned to the more general subject of how to design “easy to use” APIs.
Akira covered a number of topics during this part of his talk, but perhaps the most interesting was his use of Huffman encoding as an analogy for how one should think about names in APIs: use shorter names for frequently used methods, and longer names for less frequently used methods. As he correctly noted, Ruby’s “p” method has a lousy name by most any objective standard, but in practice it doesn’t present a problem because everyone uses it and thus everyone remembers what it does. He made a number of other good points about what makes for a good (or bad) API, and this turned out to be one of the most interesting talks at the conference for me. Favorite quote: “No configuration is good configuration”.
The final talk of the morning was Charles Nutter’s presentation on the state of JRuby, and especially the redesign work that is now underway. I didn’t take a lot of notes on Charles’ talk because his slides were so detailed and captured most of what he had to say, but this was definitely a topic of interest to me.
More to come in a later installment…