Nov
20
2009

RubyConf Part Two: Principles and Progress

This entry is part 2 of 3 in the series RubyConf 2009

Day two of RubyConf 2009 was just as exciting as the first. Unfortunately, I slept through a piece of it! I woke up around 9:30AM—just short of making it to Ben Scofield (@bscofield)’s presentation on non-relational databases. Ben gave a really fantastic presentation at Windy City Rails 2009, where he described particular problem domains that don’t lend themselves to standard relational modeling—specifically cross-bred animals like Ligers when trying to model classifications of species, or worse, the incredibly confusing situation regarding comic books. From talking to Ben, the presentation he gave today would have been a great followup to that talk – as he demonstrated some of the non-relational tools that developers are beginning to use for persistence. I’m very sorry I missed his talk, but thankfully, all the presentations are being recorded!

Great talks continued throughout the day; some of the highlights included:

  • Jim Weirich (@jimweirich)’s talk on SOLID Ruby covered the idea that as developers, we still have a really hard time discussing what good code design is. The SOLID principles were laid out as objective means of evaluating static languages—but that doesn’t mean there isn’t great use for them as guides for developing Ruby code. SOLID, while written for static languages, is a good guide for RubyMost notably, Jim talked about how Java developers consistently try to “program to the interface”, because the abstraction layer of interfaces allows for increased modularity. With Ruby, this isn’t necessary—objects are objects. However, in order to maintain the modularity, clients who use functions that expect a certain type of object need to know what the input specs are. Therefore, it’s incredibly important to discuss the virtual concept of “protocol” between methods, in documentation.
  • Chris Wanstrath (@defunkt) presented on Python—specifically looking at ideas that the Ruby community could learn from or take away. He gave a brief overview of the language, and a brief description of some of the cool libraries that Ruby doesn’t quite have, or could improve upon. Chris’ ultimate message was that adopting new languages is a practice that should be encouraged, because communities have a lot to learn from each other, and it’s never good to get too comfortable at any one thing for too long.
  • Noah Thorpe (@aquabu) gave a demonstration of various audio libraries in Ruby. He discussed how music could be generated from mathematical constants, using various technologies. However, Ruby does have the limitation of being an interpreted language, so real-time audio is a bit crippled. He did suggest, however, that JRuby might help to fix this problem. Several of the demos were very exciting, and I can’t wait to play around with the code myself.

Day two of the conference ended with a hasty rush to the Startup Crawl—a tour of open-house events hosted by Ruby startups in the San Francisco area. While I decided not to attend, many developers are currently traveling between such wonderful companies as Scribd, Engine Yard, Heroku, Justin.tv, Apture, Yammer, HeyZap, Pivotal Labs, SocialCast, Sauce Labs, ZenDesk, Shop It To Me, Chargify, BigTent, Airbnb, Plato’s Forms, and Dropbox.

Recent Twitter updates suggest some transportation hiccups, but it appears to be a great event!

Series Navigation«RubyConf Part One: Education and Ideals
Nobody has commented yet!

Search