RubyConf 2008 in Review
Wynn, Jim, and I were able to represent Squeejee at this year’s RubyConf in beautiful Orlando. It was my first RubyConf and it was exciting to see many familiar faces and catch up with Rubyists from around the world. It’s impossible to capture the excitement and enthusiasm of the conference, but I’ll try to list some highlights from the sessions:
Day 1 highlights
- Matz’s keynote – I’ve never heard the word “love” mentioned so often in a technical conference. Matz talked about how he tried to create Ruby as a balance between something powerful but enjoyable. The big thing I got out of the keynote was Matz’s passion for both the language and the community. He ended with “I love you all”.
- Scaling Ruby (Gregg Pollack) – Gregg did an awesome job talking about all the nuances of Ruby’s scaling issues. He went over Ruby’s threading model in detail, including use cases for EventMachine, Rhinda, DBSlayer, and more. He also gave a lot of examples of ‘slow’ Ruby code and how to refactor for performance. Here’s a pdf of links he covered in the talk.
- Using Git in Ruby Apps (Scott Chacon) – We’ve been using git at Squeejee for quite a while now, but Scott’s talk really crystallized git for me. His talk was geared towards experienced git users, so it was little fast paced. When confreaks post the video, make sure to grab it.
- Building Distributed Apps (Mark Bates) – This was a talk on the Mack framework, which is a distributed web framework that uses the Rhinda framework, which is built on top of DRb. The distributed nature of Mack lets developers focus on ‘portlets’ (think fully functional small apps) that easily work together using a Rhinda server. The biggest benefit for Mack is in scaling: you can focus on scaling only the components that need to be scaled, rather than your entire app. The decoupling of components makes debugging, scaling, and component swapping much easier. Mack is being used in production on Mark’s product Helium.
- Recovering from the Enterprise… (Jamis Buck) – Coming from ‘the enterprise’ myself, I thoroughly enjoyed Jamis’ talk. He talked about his bumpy transition from Java to Ruby and one of his first Ruby projects, Needle, a dependency injection framework. The short of his talk is that in a dynamic language like Ruby, there’s no need for DI. In the Java world, patterns and ‘separation of concerns’ frameworks flourish because it’s a difficult problem, but luckily, Ruby doesn’t have those problems because you can open classes and mix in Modules at runtime.
- Peer-Aware Desktop Application Development (Preston Lee) – Preston showed off his Journeta Ruby library, which allows apps on different servers to communicate effortlessly over a LAN connection, all without a central server. For me, I came to Ruby by way of Rails, but it’s these interesting applications of Ruby that will make me stay and explore. I look forward to seeing the future development of Journeta.
- iam@sparticus.com – is filming a documentary about the testing community in Rails. Yes, you read that correctly. If you would like to be featured in his documentary and talk about testing in Rails, email him directly. I smell an Oscar, though somehow I don’t think rottentomatoes will rank it very high.
- RubyKaigi 2009 – awesome talk by a Japanese attendee (sorry, i didn’t write down name) about Japan’s premier Ruby conference, RubyKaigi. The 2009 event will be held in Tokyo in July, 2009. Subscribe to ruby-talk for updated info.
- Two (unkonwn) Japanese Rubyists – a touching talk by another Japanese attendee. He introduced two Japanese Rubyists. The first was Yugui, a female Rubyists and the release manager for Ruby 1.9. The second was Itojun, aka “IPv6 Samurai”, and a very important contribute to Ruby early on. Unfortunately, Itojun passed away last year. The speaker (I apologize for not writing down name, again) was in tears towards the end of the talk and ended with “we love you all”. His most insightful and touching comment was “even though you have never met Itojun, you can know him through his code, you can know him every time you use Ruby”. That’s powerful and why the Ruby community is so unique.
- Flay (Ryan Davis) – Ryan debuted his ‘flay’ Ruby gem, which finds similar block of code to refactor throughout your app.
- David Chelimsky – showed off cucumber, the replacement for rspec storyrunner. He also announced his rspec book
- Jeremy McAnally – shortly following David, Jeremy talked about switching away from rspec and using context, matchy and stump instead.
- Ruby Macros (Caleb Clausen) – Caleb talked about rubymacros, which introduces a lisp-like macro system for Ruby. It seems intersting, but honestly, I didn’t understand it very well from the talk. Check it out for yourself here.
- Obama site – Bruce Williams of FiveRuns talked about his being selected to the Obama election party in Chicago on election night and how he, Damon Clinksales, and Erik Kastner hacked together a site to track their historic trip in less than 24 hours. Some interesting quips: “Adrenaline Driven Development”, “Steal Ruthlessly”, and “Sinatra + jQuery + memcached”
- Coding for Failure…(Tammer Saleh) – I’m a huge thoughtbot fan, but had never heard Tammer present. I wasn’t disappointed. Tammer went into great detail on Ruby/Rails anti-patterns and how to fix them. There were too many good examples to list, just be sure to catch the confreaks video! I believe he is in the process of writing a Ruby/Rails anti-patterns book as well.
- What Every Rubyist Should Know About Threads (Jim Weirich) – This is a perfect example of how Ruby conferences can be more useful than Rails conferences, even for Rails developers. Jim talked about multi-core architecture and how applications can take advantage of multiple cores with multi-threading support. It’s a ‘big picture’ talk, but the gist of it is that we haven’t scratched the surface of what’s possible yet with multi-core processors.
- Dave Thomas Keynote – Dave talked about forking Ruby. Though mostly a mental exercise, his proposals were quite interesting.
- Ruby Lite: strip core Ruby down and package the rest in gems.
- Parallel Ruby: allow using multiple threads to do calculations and assignments. Can implement map/reduce algorithm in just a few lines, would be fun to investigate.
- Optionally Typed Ruby: allow possible runtime type checking and performance enhancement from IDEs. Could possibly implement with comments.
- Closure-based Ruby: allow easier method of creating blocks and lambdas. Allow more interesting and simple syntax
- Advanced DSLs (Neal Ford) – excellent talk on creating DSLs in Ruby. Neal covered several best practices when writing your own DSL grammar. Be sure to catch this video when it comes out.
- Ruby 1.9 (Dave Thomas & David Black) – Filling in for Sam Ruby, Dave and David went over several cool new features of Ruby 1.9. Unfortunately, I was too busy watching and didn’t take notes, but this is another must-see on video.
- Ruby Code Review (Jim Weirich & someone I didn’t recognize) – a very funny and very engaging ‘play’ on refactoring Rails code. The setting is a customer engagement and through several code refactorings, they demonstrate various best practices (testing, dangers of metaprogramming, fallacy of live coding).
Lightning Talks
The lightning talks started quite late, but they were the perfect highlight to end the first day. They were excellent and I wish they had them all 3 days.
There were several other interesting lightning talks, but it was getting late and I didn’t have any more energy to take notes. And the last noteworthy thing on Day 1 was the tribute to Guy Decoux, who was an early Rubyist and passed away last year. Unfortunately, I missed it but it’s yet another example of the friendship and bond of Rubyists. The only thing missing from the agenda from an action packed first day was werewolf, but by the end of the lightning talks, I was too tired to do much and went to bed. But the bar was still rocking with, I’m sure, some werewolves.
Day 2 highlights
After Day 2, Pivotal Labs threw a pool party. Luckily, only a few people took this literally and wore bathing suits.
Day 3 highlights
This blog post actually turned out a lot longer than I anticipated, but RubyConf was an absolute blast and I’m looking forward to next year already!

Older articles
Latest comments
Archives
Tweetstream