Learn Ruby In 3 Weeks
Sunday, March 13, 2005
Update: I put the wrong end date, it's been corrected below. What a jackass... And the series resumes tomorrow - I've been sidelined with backed up client work and a major cold. Looks like I've got a lot of ground to make up to stay on schedule. Ah, that's what weekends are for: working.
I've decided to learn the Ruby programming language over the course of 3 weeks - anyone wanna learn along with me? I'm going to blog out every day of my progress throughout and leave the commenting on for group participation. Here's the details.
Book
I'll be using Sams Teach Yourself Ruby in 21 Days. It's pretty widely available, whether at your local megastore or online. If you do decide to get it from Amazon, I'd appreciate if you click through the referral link from my site before ordering just to support the project in a small way. No one's asked this, but just to be clear: it doesn't tack on any extra charges, it just gives me a tiny cut for passing on customers.
Schedule
The starting date is about two weeks from now: Sunday, March 27th, 2005. That should give people enough time to get the book. I'll blog out every day of the course (including weekends) from then until Saturday, April 9th Saturday, April 16th. And for any geeks following along in San Diego or visiting during the weekend of the 9th, I'll also be hosting an end party to celebrate, an informal get together at a bar or coffee shop nearby - more links and details later on.
Format
You don't have to have a blog or even a server to participate. I'll make a post every morning summarizing the chapter's objectives and then I'll update the same post later in the day with a description of how it went for me, with the comments area left open the entire time. Just stay tuned to the main page of my weblog or subscribe to the RSS/Atom feed and you're cool.
Participation
The posts will have commenting turned on and anyone can leave their own notes about how it's going for them: enthusiasm for the new language, questions about stumbling blocks, links to more resources - it's all fair game. You don't need a blog to join along, although those that do should feel free to give shoutouts to their sites, preferably in the comments rather than emailing me. Actually, give yourself a mention even if you're not blogging it out!
You also don't have to have any specific hardware or server setup - Ruby runs fine on Windows, Linux or OS X and unless I'm mistaken, all the exercises will be done on your local computer.
Motivation & Background
I'm a professional web designer who just recently went out on his own after many years of working away full-time at UC San Diego. My skill set is primarily client-side and I'd say I'm firmly in the intermediate programming camp, with advanced skills in non-traditional languages "real" programmers turn their noses up at (Actionscript, XHTML/CSS, XSLT) and semi-newbie status with server-side scripting (like my case study section or simple email forms for clients' contact pages) that they tolerate only a bit more. And that's fine - I don't and am not looking to make desktop software or giant backend apps, the kind of stuff that runs your accounting department and backs up your servers. I want to make great websites, from beginning to end.
Inspiration
- Kottke's book club experiment (initial post and review), with a post announcing the McSweeney's book he wanted to read and an end post announcing that he was done. It was yet another neat application of the blogging medium to a new collaborative project - not only was there a sense of going through something with others, but I picked up a good read I probably never would have otherwise and got back into comics for the first time in a long time.
- Tantek's writeup (overview and much more useful commentary) of Tim Berners Lee's "Weaving The Web" - I got a lot more out of the book than if I had read it without his insight.
- Mark Pilgrim's "Dive Into Accessibility" was a huge influence on me when I was first learning the ropes of standards-based web development and I found the 30 day format very digestible.
Future
I'm curious to see what this'll be like and might consider doing it again. For example, the next logical step after learning Ruby is using the Ruby On Rails framework/library/whatever. Due to a clear O'Reilly tutorial, I've already installed it, played with it and seen the light - it was fun, something I've also heard a lot about learning Ruby in general. There's a "Four Days on Rails" PDF out that looks cool and even more promising, Dave Thomas (no, not the Wendy's guy, the one that wrote the fabulous, inspirational, highly influential and immensely readable "The Pragmatic Programmer: From Journeyman to Master" tomb) has already written a book on Ruby (already in second edition) and is in the final stages of writing a book on Rails titled "Agile Web Development with Rails", due out in July. Branching out to other areas is definitely possible too, whether to even more foreign territories as a newbie or topics where I can give more of an expert viewpoint, like CSS or Turkish soccer :)
Summary
So that's the project and I'm excited to get it underway! Feel free to leave a comment here to say hello. I've got a few friends lined up already and hopefully there'll be a good-sized group of people doing this at the same time, but the beauty of the time-stamped blogosphere is that at the end of this, there'll be a resource standing there for anyone that comes across it later and decides to run the gauntlet too.
elsewhere on the web: Ruby, programming, learn, tutorial
http://www.rubycentral.com/book/
And the newer version (already mentioned by Curt above) is available in both printed and PDF format (you can get both for a discount). The book is excellent and is a good way to learn Ruby.
http://pine.fm/LearnToProgram/
All of the code examples in the tutorial are live, so you know it's accurate. (And if you hit 'reload', you'll see the random number examples change. :)
Just thought I should mention it.
After that, 2nd edition Pickaxe, of course.
Chris
I ran across your tutorial about a week ago. I am a newbie to programming but have always wanted to learn. It is a great tutorial and I am almost finished with it.
only problem is this is going to be an addicting hobby. hahaI have learned alot already. Thanks alot for giving of what you know.
And for the others in hibernation and lurking, this post series isn't dead, it's soon to be revived - I've moved from San Diego to San Francisco and still waiting to settle in with a place. Any tips while I'm apt hunting?
Not until you've reached the middle of the book, then he'll go over all the concepts again, but by that time, you're worn out, tired, and confused at his writing.
If you're a newb, Sams 21 days for Ruby is a great book. I def recommend Chris Pine's Learning to Program also.
To be perfectly honest, a big reason I've slacked on finishing the tutorial is that I overestimated how much Ruby you need to know to use Rails, by a wide margin. The single chapter specific to web development towards the end felt pretty slim and conversely, the pickaxe book makes Rails such a breeze to read and apply. Still, I feel the need to get back to this tutorial to brush up on fundamentals and to tie up loose ends :)
Post a Comment