Back on Rails

As of today, I’ve been with Vigilos, Inc. for exactly four months, a fact I was reminded of when the password expiration policy kicked in and I had to track down the admin to reset it. While my days have been spent slogging through old crappy C code (and replacing it with shiny new C code), I been spend ing evenings and weekends getting reacquainted with Ruby on Rails. This has been inspired in large part by the Second Edition of Agile Web Development with Rails, an excellent book, both as tutorial and reference, and I highly recommend it to anyone doing Rails development.

After perusing the book cover-to-cover on my daily bus commute, I decided it was time to go back and rewrite my nominal web site ( This was my first Rails project, back when Rails was only up to version 0.10, and had quite a bit of cruft due to the ancient version (lots of stuff has changed since then) and my own lack of Ruby/Rails experience. Starting from scratch, following the book closely, and salvaging chunks of code from the original version, produced a much smaller and cleaner implementation.

Along the way, I also learned some new an interesting Rails development tricks. I’ve been using RadRails on my PowerBook laptop (sooo much more responsive than running KDevelop over X11), which is a nice little IDE. My only gripe is that it doesn’t support autotest, but it’s easy enough to run that in a shell. I’ve also been using some rather spiffy plugins, some new some old:

  • manage_fixtures allows for easy export/import of YAML fixtures to/from the data base,
  • acts_as_textiled handles converting models’ Textile markup into HTML,
  • assert-valid-asset is a great tool for automagically validating HTML and CSS.
  • backgroundrb provides facilities for executing long-running (or persistant) processes, and tying them into Rails.
  • Finally, I’m using the open_id_consumer plugin to handle logins via OpenID. Username/password is so Web 1.0. ;)

Next up I need to hone my CSS skills a bit, maybe get a good Agile Web-style book on making pretty web themes. Any suggestions?