In trying to get back to having some technical skills, rather than just knowing how it works I had to decide on what technology to spend my time learning.  Java was what immediately came to mind as I have spent some time with it (albeit, in 1995 when it first came out and was quite a different beast).  But what I’m really looking to do is warm up the brain for programming again.  And though ultimately I do want to do some desktop application work, I’m primarily looking at web applications.  Ruby on Rails really surfaced as the quickest way to get something up and running and get my brain fired up again.

As with all my blog postings, this is really for me to keep notes in an organized way.  Maybe somebody will find it useful to learn along and save some time.

But learning Ruby on Rails actually requires learning all the tools in the ecosystem.  In order to deploy Ruby in a real production environment (i.e. not just my laptop) I’m going to need to know:

  • Linux – otherwise I’ll be required to deploy with a windows host, precluding me from using Amazon EC2
  • MySQL – free db!  Only way to go as a hobbyist
  • Ruby – the actual language
  • Rails – the framework for web apps in the Ruby language
  • JavaScript – the modern UI
  • Eclipse – Eventually I want to be doing this in an IDE

Rather than stumble around the web for countless hours trying to piece together the information I need to learn all of these I have signed up for Safari Bookshelf.  For less than the price of one book I get access to ten books on my ‘bookshelf’ each month.  Not super familiar with it yet, but looks like you can switch those out each month.  I doubt I’ll ever buy a printed technology book again.  Worst case, I’ll buy the PDF versions of these books.  Problem with tech books is they are out of date by the time I get around to reading them.

Linux

First step to learning to work in Linux is to actually have Linux up and running.  The challenge is I don’t want to reformat any machines.  The best solution I have found so far is a freely useable virtual machine ‘player’ from VMWare.  The player allows for using predefined images.  There are images up for various flavors of Linux, all pre-configured and ready to go.  Lots of tips out on the blogs on how to get it up and running also.  I’m torn between Debian Linux and RedHat at the moment.

MySQL

When I first started working with MySQL five years ago it was free and often used, but still couldn’t really compete with the commerical db’s (ex – no record locking, only page level locking at the time which was SQL Server circa 1994).  Here is the book I’ve settled on using:

Learn Rails

There is a decent online tutorial for free on the O’Reilly site.  But it’s based on an older version of rails, and as happy as I am somebody wrote it, the dialogue is annoying.  Besides, I need more meat so here is the book I’ve settled on using:

Learn Ruby

Ironically it is easier to learn rails first, with enough language to get by.  A language is only as useful as it’s application, and the sole useful application of Ruby is Rails.  On to this after I tackle the Ruby on Rails book.

JavaScript

Next up to bat.  Or maybe first, I need to gussy up this blog!

Using RoR with Eclipse.

I’m a big IDE fan, makes short work of tedious tasks.  Eclipse is the leading IDE, along with Visual Studio.  I did find a good tutorial on using Eclipse with RoR, but I’m not quite there yet in understanding what is happening.

http://www.oreillynet.com/pub/a/ruby/2007/04/26/ruby-on-rails-meets-eclipse.html?page=1