Why fight being a nerd? Embrace it.

My latest obsession is an open source application framework called Ruby on Rails. To most, RoR is old news, as it has been around since 2004. For those of you who don’t know, RoR is a powerful tool for making dynamic websites like Hulu and Twitter. It uses a very straightforward language and logic that even a designer like me can understand. Since starting Ruby on Rails, I feel much more comfortable using the Terminal, Model View Controller and Object Oriented Programing.

I was first introduced to it by Eric Lubow only a few months ago while working on SupportSkydivers.org. I was intimidated by RoR at first because it meant using my computer’s command line Terminal. For the non-developers out there, the Terminal allows you to interact with your computers operating system through a series of commands. Most people are most familiar with their computer’s graphical user interface, in which you use a mouse pointer to interact with the computer. Now I admit, when I first started using Terminal I had a fear of hitting the wrong key and self destructing my computer. After enough time in the Terminal, I overcame that fear and embraced the command line.

Another fear I overcame was the Model View Controller pattern, or MVC for short. ActionScript had given me some experience with MVC, but learning Ruby on Rails really helped me understand the patterns benefits. With MVC you split your site into three sections, each with their own functionality. To help you visualize what is going on in this pattern, imagine that the MVC as a computer. You Control the computer using the keyboard or mouse. This request information from your Model a.k.a. the hard drive. Then you can View that information on your monitor. Splitting up the functionality in this way allows for easy modification of the individual parts for new applications. Why reinvent the wheel if you don’t have to?

The last concept that became less threatening was Object Oriented Programing. Again this was something I had dealt with in ActionScript, but using it in Rails just helped the concept click in my mind. Simply put, OOP is a style of programming that connects smaller functioning entities called “objects” in to one cohesive body. For example, think about a human body. It consists of “objects” like feet, legs, torso, arms, hands and a head. Each “object” in the human body its own unique functionality (hands can grab, legs can bear weight and the torso can bend, etc.). Combine them all and you have a fully functional body that can accomplish more than the parts alone.

Ruby on Rails has been a great tool for me to grasp some of these concepts. I look forward to working on my RoR projects in the future and will keep you posted of any new work. If you have some extra time to kill, I would recommend taking a look at Ruby on Rails.

For more info on Ruby on Rails visit their site at:
http://rubyonrails.org/