Following some gentle prompting by Mark, I have submitted my proposal to present a paper entitled "Why would a Java shop want to use Ruby?" to OSDC 2007. I enjoyed last year's conference in Melbourne so hopefully in late November this year I'll be in Brisbane soaking up the OSDC experience.
"What is so important about Ruby as the language that underpins the Rails framework?"
It's an important question to answer. After all, one of the early responses to Rails in the Java community was an attempt to build a similar framework in Java. I think it's fair to say that Trails has not achieved significant traction.
So what's so special about Ruby? The answer would appear to be metaprogramming or, to express it another way, the dynamic power of the language. It is an aspect of Ruby that I'm currently exploring in order to feel that I have a better grasp of how Ruby's features are key to enabling the power of Rails.
In conjunction with delving into the Rails source code looking for uses of methods such as class_eval, method_missing and define_method, I'm currently carefully reading chapter 13 of David A. Black's book "Ruby for Rails". This chapter is devoted to what David calls "Ruby dynamics". It deals with characteristics such as singleton classes, the eval family of methods, callable objects, callbacks and hooks and overriding and adding to core functionality.
So that's what I'm currently exploring in Ruby. Soon I hope to be in a position to write about examples of how Ruby metaprogramming is used within Rails.
I'm tired. I keep nodding off. Perhaps it's the wintry weather or the fact that I'm run down. In any case I must give myself a decent chance to rest over the next week or two.
Rails Camp (Australia) starts tomorrow night, conveniently located no more than ten minutes from my home. It promises to be a wonderful weekend of sharing knowledge about Ruby on Rails. I'm sure I'll be able to learn from those more skilled in both Rails and Ruby. Hopefully I'll also be able to contribute something too!
When I'm ready to deploy an upgrade to a Rails app, it's wonderful to simply type cap deploy or cap deploy_with_migrations if I've made some table changes.
I've been happy to stay with version 1.4.1 as Jamis has been releasing candidates for Capistrano 2.0 but have been interested to follow it's progress via the mailing list.
Now it seems that the announcement that Capistrano will be shipped with Mac OS X Leopard has spurred Jamis to put the finishing touches to the new version in the next two or three weeks. Excellent news and kudos to Jamis!
"Your blog's gone quiet."
It was a passing comment from a former colleague I had lunch with in Melbourne more than two weeks ago. I had to agree and feebly mumbled something about rectifying the situation.
As I write this, I notice that my previous entry was a positive account of a book about writing. Looking at what I wrote, I guess I could claim that I've been metaphorically collecting writing stones. Or that there hasn't been anything that I've cared about enough to warrant putting "pen to paper".
That would be misleading. The truth is that I've been busy, ill and neglecting my writing. Now I'm back!