Rails Rumble 2012

It was my extreme pleasure to take part in this year's Rails Rumble. Despite my lack of Rails experience, my friends Jason, Tyler and James invited me to help them develop All These Images!, an application that helps you collect images and position them in a moodboard.

It was a fantastic experience, and I learned so much over the 48 hours we were allowed in the competition, but it was super-stressful because I only had a couple weeks to learn a lot of new things:

I spent so many nights hunkered down in front of CodeSchool for crash courses on those first four but could have easily used another month or two just to feel comfortable. As it was, I didn't get to even glance at the documentation for Haml until the night before the Rumble and wasn't able to checkout Bootstrap until I had to actually use it. (I've used 960grid and Skeleton, so CSS frameworks aren't completely foreign to me.)

Fortunately, Tyler is a total Backbone wizard so I didn't have to touch a line of it, but I had to muddle my way through everything else. Experience in C#/ASP.NET meant dick in Rails, and my knowledge of JavaScript only mapped to CoffeScript for the simplest of functions. I had to rely on a JS->CoffeeScript translator for all my conditional syntax as well as passing parameters into functions.

And, God help me, my Sublime Text kept defaulting back to tabbed indentation.

I was fine with Haml until I actually needed to write out an element. Link is %a.style{:href => ""} Link?

Yeah, I had to find another translator. Of all the new things I had to work with, I liked Haml the least. I don't really understand the need for it -- it's far more error prone and its only slightly less verbose than the HTML it abstracts. It's great for basic layout elements and I'm sure I could get used to it, but it seems like a bad way to manage content.

Sass was a different story --  I had to refer to documentation to do the CSS animation mixins for the splash page and the modal dialogues, and I wanted to pop my semi-colon out of the keyboard so I'd stop using it on accident, but Sass was mostly a piece of cake. I liked Sass a lot -- I don't get to use a preprocessor at my day job and I was totally spoiled by it.

I don't know how well we'll place in the competition, and I don't especially care -- I'm just really grateful that I got to participate. Jason and Tyler are mind-blowingly good developers and extremely patient instructors -- they always answered my questions with enthusiasm and never let on that I was slow to complete tasks. Jason never gave me shit about all my link_to and asset pipeline questions, and Tyler didn't make me feel like an asshole when he helped me fix an app-slowing scope issue in one of my CoffeeScript files.

To add to my humility and awe, James cranked out some of the most incredible illustrations and copy for the application. I really think All These Images! has a ton of charm and character, and all of it either came directly from James or was inspired by his art direction.

It was completely exhausting, I totally missed my wife and daughter, and I could barely wait for everyone to leave my house, but I had a fantastic weekend and learned a lot in the process -- I'm looking forward to Rails Rumble 2013.