Nordic Ruby day 2

Second day of Nordic Ruby and here’s a roundup of some talks I found interesting.

Beyond Ruby

Jakob Mattson from Burt talked about his view on Ruby as a language. Ruby is often titled as a fully dynamically typed language. Something the speaker wouldn’t  totally agree upon. Especially when it comes to the dynamic features. He made his point clear and we all could agree that everything in Ruby isn’t dynamic. He did also bring up the false assumption that everything (really everything) is an object in Ruby. For instance the “end” statement or the booleans operators (also referred to as “Chuck Norris” operators) aren’t object therefor almost impossible to overwrite their behavior.

I liked the fact that someone had the curage to share a rather critical opinion after lots of Ruby embracing. New programming languages often arises from frustration over the current available ones.

Mountain Dew and My Trail of Tears

Aaron Patterson more commonly known as @tenderlove held a real entertaining talk. This man knows how to get every single person in the audience attention during the whole talk. The topic was legacy code and what methods and techniques that can help us dealing with this phenomena on a regular basis.

Overall it was good stuff. A few notes that stuck:

  • Appending the “w” flag when using the Ruby binary will output warnings. Ruby 1.9.3 will even inform you when there’s unused variabels in your code(!).
  • The “I” flag lets you specify the load path when running the Ruby binary from your console. Comes handy if you for instance want to overwrite some dependencies with your own code.
  • Aaron uses pure Ruby to mock objects during testing.
  • Deprecation warnings should be omitted if the $VERBOSE variable isn’t present.

“Legacy”

Chad Fowler a respected and well-known person from the Ruby community did also talk about legacy. But from a totally different perspective.

Legacy isn’t by all definitions a bad thing. Legacy also means inheritance, gift or benefaction. Take Beethovens symphonies for instance. They’ve been around for ages by now and can therefor be classified as legacy by all means.

Keeping this definition in mind how do we then make software that stick? Statistics tells us the chances your code will still be around after a five year period of time is close to zero. Definitely worth thinking about.

Also worth mentioning. Nordic Ruby was one of the first conferences I attended that did have a fully mobile optimized website. It’s even responsive! Strangely enough this isn’t as common as you might assume.

Thanks to all the folks that made Nordic Ruby possible. I will definitely be back next year!