Archive for July 2006

Why I chose Rails

In response to Andy’s comment, here’s why I’m enjoying the ride on Rails.

Ruby. Once upon a time (and this time happened to be eight or nine months ago), I decided to learn Python. It didn’t take long before I decided I’d never go back to Perl or PHP if I could help it. (In retrospect, I still use PHP on occasion as that’s what WordPress is written in, but someday I want to move all my blogs to a Rails-driven engine.) So when I heard about Ruby, and then Rails, it was clear that Perl and PHP and pretty much everything other than Python had become a non-issue in my mind. Zope and Catalyst and all the others held no allure for me. Django looked intriguing, but I decided to go with Rails because of…

The (well-deserved, IMHO) hype. In reading about Rails online, the people who were extolling its virtues were the kind of people whose opinions I value. There’s a substantive difference between the sort of people in the Rails camp and those in, say, the Java-based camps. It’s the same kind of thinking that I’ve found in the Mac world. So when I found that those kinds of people were really pleased with Rails, I knew almost from the get-go that I would like it.

37signals. It’s their child, of course, but I’d seen their other web stuff (Backpack, Campfire, Ta-da, etc.) and was impressed. Much of what they talk about on Signal v. Noise and in Getting Real resonated with me, too.

Finally, but most importantly, it’s fun. Coding for Rails is bliss. Once I got past the initial hump, it’s been nothing but a joy. Even when things go wrong! The happiness comes from both Ruby itself (a beautiful language) and Rails (metaprogramming, Active Record, etc.). Having worked with frameworks in .NET for the past couple of years, I was blown away by how tight and crystal-clear Rails felt.

Now, I do realize that Rails isn’t perfect. But love is blind, they say, and so far I haven’t found any faults. :) I’m sure the other frameworks out there are great, at least some of them, and if I had any advice to give it’d be this: go with what feels right for you. Rails meshes perfectly with the way I work, so that’s what I chose. I’d recommend it to anyone and everyone, but I’m sure there are people out there who wouldn’t like it, just like there are people who don’t like Mac, etc.

Not dead, just hiding

This next month is going to be a bit of a crunch, with several large projects to finish at work before I leave at the end of August. I guess that’s why I haven’t blogged here lately, but that’s kind of dumb because work is coding and it should spawn more blog posts. Oh well.

So, after working in Ruby on Rails for a while, going back to ASP.NET is paaaaaainful. I can’t wait till I’m done with these projects so I can spend all my coding time using a language I love. Soon, my precious… :P

The platypus pokes its head out

From this blog it looks like Google’s getting ready to launch gDrive (codenamed Platypus). Here are the features from the screenshot:

A filer for the whole world. But better.

Storing your files in Platypus has a number of advantages over storing your files on either your C: drive or filer.

  • Backup. If you lose your computer, grab a new one and reinstall Platypus. Your files will be on your new machine in minutes.
  • Sync. Keep all your machines synchronized, even if they run different operating systems.
  • VPN-less access. Not at a Google computer? View your files on the web at http://troutboard.com/p.
  • Collaborate. Create shared spaces to which multiple Googlers can write.
  • Disconnected access. On the plane? VPN broken? All your files are still accessible.

~drool~ :)

Salty logins

I’ve gotten a quick prototype of Beyond up even faster than I expected. It’s the bare minimum, but it works, and wow, Ruby on Rails really is as cool as I thought it was. :) Did I really just get it up as fast as that? Incredible.

And now a bone to pick. I’ve tried to install both the salted_login and the Login Engine, and I don’t know why I’m plagued with so much trouble, but neither one works. It’s getting really frustrating. When I try to login with the engine, for example, I get “undefined method ‘password_confirmation=’ for #“. I suspect the engine isn’t really starting after all. But I haven’t a clue how to fix that. ~sigh~ I’ve followed the instructions exactly — several times over! — and yet nothing. But I really don’t want to write my own login code. Hmm…

Well, I’ve struggled with it long enough today. Tomorrow I’ll press on.

On track with the Rails API

On Saturday I spent the whole morning reading through Ruby on Rails API and a number of other resources which have made quite a difference in my understanding. The API was the biggest thing, though. So much of what I had questioned before now makes sense. The main thing for me, I think, was that none the tutorials I’d read mentioned much beyond scaffolding, so I was completely unaware of layouts/partials, helpers, integration tests and fixtures, and so on. It’s so cool! Coming from ASP.NET, which is what I’ve been coding at work for the last year and a half, Ruby on Rails is a breath of fresh air. It’s beautiful. Perfect? No, but it’s more perfect than ASP.NET, at least in my eyes. And integration tests look pretty darn amazing. I’ve never done unit testing before, but I do believe I’m about to be converted to test-driven development. We’ll see how hard it is to get into that kind of mindset…