Monday, February 20, 2012

Let the Ruby on Rails Tutorials Begin!

Red Ruby on Red Rails
Source:  Iconspedia
During this semester, I’m taking some time to learn Ruby.  I am actually hoping to learn to play in Ruby on Rails in particular.  I decided to work with this web application developer which is based in the Ruby language for a few reasons.  As I’ve mentioned elsewhere in this blog, I have worked with HTML/XHTML and CSS in the past.  I feel like I have a pretty comfortable working knowledge of those.  I pretty much understand how webpages go from text files to the beautiful or terrifying (read:  PineSol) results we see in our Internet browsers.  Of course, my knowledge is mostly limited to building static websites.  I have a really limited knowledge of what goes into making dynamic webpages.   Ruby on Rails is a really powerful platform for creating dynamic webpages quickly and smoothly.  At least that’s what it seems to promise.  So that appeals to me.

The fact that it’s based in Ruby is also a draw.  One thing that’s always been a mystery to me is more “hardcore” programming.  I’ve never taught myself a C based language or worked with a programming that required that I hang out in Terminal.  So I wanted to take some time in the safe space of my New Media Theory and Practice class to play with learning this form of programming.  Right now we’re working on a project simply called “Individual Tutorials and Reflection” where we are tasked with people a language or development tool and spending time working through tutorials on it and reporting what we’ve learned.  I am learning the basics of Ruby and terminal commands as necessary to make a web application by using Ruby on Rails.  The tutorials I am following are mostly Ruby on Rails tutorials, but have been using Ruby and basic programming tutorials (or wiki pages) as I’ve worked to help me when I get stuck or run into an error the book I’m working through doesn’t explain.

Ruby on Rails really appeals to me because I am the kind of person that needs to see a product of his or her time.  I need to be able to play with something real.  So, I tried learning Ruby alone through just basic tutorials.  I found a few that were really quite user-friendly, in fact:
However, after I worked through a number of exercises in these sites, I found myself getting antsy.  I wanted a product beyond what was possible from the puts command.  So—off to Rails I went after having watched the video below and being amazed by what the creator, Davide Heinemeier Hansson could accomplish so quickly during his demo:

I am able to see the product of Rails tutorials more concretely by viewing how my changes effect the first application I’ve created (more on that in my next blog).  The tutorials I’m currently working through are from Ruby on Rails 3 Tutorial:  Learn Rails by Example.

What I hope to do in Rails is develop my own web space from the ground up.  As I’ve mentioned previously, I’m really something of a control freak.  I want to put together a site for my portfolio, but I want to be able to do so in a space that I have more control over than what many web development sites provide (Wordpress or GoogleSites for example).  In the meantime, I’m hoping what I learn through this exploration can next be transferred into a larger project for New Media Theory and Practice and then become the foundation for the New Media Application project that I will complete in place of the foreign language requirement for my degree.  


  1. I look forward to seeing/reading your process. You've definitely taken on one of the more complex languages for the course. I also appreciate that you have a goal but acknowledge that this just might be play this round.

  2. I truly appreciate the honesty you expressed in this posting about taking on the challenge of a new programming language. For me, much of this course has been about overcoming fears and anxiety about technology and my very amateur advances into the field. However, to read that you still harbor some reservations about exploring Ruby, even after having some proficiency with other languages, made me realize that we will always have new things to learn. We will probably always have to push ourselves outsude our comfort zones and jump into the chaos of something new. It can be overwhelming at times, but this project gives us a framework for "safe" exploration. Choosing a tool, viewing and reflecting on tutorials, and outlining a project on which the tool can be applied seems to be a viable framework for future explorations. My question (with having myself just created a WordPress site) is what controls would you have with your own site that you do not have with the others? Best of luck to you as you work on your project!