bookmark_borderget started on Ruby on Rails in hours

build you own ruby on rails application

Build you own Ruby on Rails web application is a book specially written for people wanting to start exploring rails. It is being pitched as the “ultimate beginners guide to Rails” by sitepoint.
So if you have been appreciating Rails from outside, get hold of this book and jump right it. Start experiencing the joy of Ruby on Rails programming in hours, if not minutes.

This book is also an exteremely useful resource for companies who want to train developers on Rails.

Thanks Jamis, for the review which made me look at this book. Now that a new rails book is coming out almost every fortnight, it’s getting difficuilt to keep track.
Also there is this gem hidden in Jamis’ review : never use a plugin you would not be able to write yourself. We have learnt it the hard way and I am sure so have many other Rails developers.

bookmark_borderRuby on Rails in India: It’s getting hotter

Believe me! The scene is much hotter than what I had anticipated a few months back.

Good to see so many companies and developers jumping ( or wanting to jump) onto Rails/Ruby from other frameworks and languages.
This means increased competition for us. But it could also be consolidation time for the small agile Rails teams in this area to join hands to increase their offering.

Talking about demand; yesterday, I received a job offer from a “Big Indian Outsourcing company”.
The lady who called me read this blog, but probably didn’t read “technopreneur” written on the top.
So when I told her that I was running a company myself, there was dead silence for a couple of seconds.
Then she asked me, if I could give references of any Rails programmers.

I told her that If I came across good people, I’ll hire them and I’ll pass on the others to her.
Fair enough. Right!

bookmark_borderRails training in Colombo, Sri Lanka

Rails Training at Providence Network, Colombo

I travelled to Colombo last week to train a team of web programmers on Ruby on Rails.

God! I had never imagined, I would be training people on rails in Colombo.

The web programming team at Providence Networks and Solutions was great. They were very good at php and Java, and it seemed like they enjoyed the Rails training a lot.
Thanks to Ajay at ITVidya for connecting me and Providence.

A couple of observations about Colombo, unrelated to the training
1. Inspite of the communal/political probem, Sri Lanka is doing well. The airport is the first impression of any city, Colombo airport was sparkling clean and the immigration staff was very friendly too. The duty free shops were much better than ours, carried much more stock than our new “flamingos” and the staff was friendlier too.
2. The streets were neat and there were no animals or Rickshaws. I thought I would find them in all developing countries. Or do we have too much of them in Indian cities.
3. They have a well implemented parking policy in Colombo. It is not like the haphazard way of sadi-dilli. It’s probably a good suggestion to ask our politicians to stop visiting London, Singapore and Tokyo and rather look around nearby to learn how to implement urban policies.

And for the business minded, there are a good number of developers available at much lesser cost there, and they all speak English too. So you know you have an option available for your next offshore team.

It was a good trip and I look forward to visiting Colombo again. 🙂

bookmark_borderRailsConf Europe 2006

Marcel and DHH were very surprized to know that I had flown in from India for the RailsConf.

I enjoyed most of the sessions that I attended. With four tracks going on in parallel definitely I missed out on some very good ones.

  • DHH’s session on ActiveResource was great. He demoed what he had talked about at Chicago RailsConf. I have also moved one of my projects to the edge to start playing with simply_restful.
  • Marcel’s session on making RJS DRYer was also good. simply_helpful is a good way of doing this. It applies the same philosophy to the View side of things, that simply_restful applies to the controller. Using the simply_helpful plugin, the application can use a lot of meaningful default, hence making the views and helpers a lot more dry-er.
  • Jamis just released a new version of capistrano and he demoed the cool new features. The slickest of them was the cap shell. It is a great tool to monitor multiple serves in a cluster from a single console, with the ability to run commands against only particular machines in the cluster identified by roles that the machines play in the cluster.
  • Jim Weirich’s plenary session was great. He demonstrated a lot of common mistakes that programmers make, because of Ruby’s open classes. A lot of his talk featured around being good to other’s code.
  • Dave Thomas and Kathy Siera were outstanding, entertaining and passionate as usual!

bookmark_borderready for RailsConfEurope2006, PizzaonRails

I am Travelling to London this wednesday, to attend the first RailsConf Europe 2006

I will be attending the pre-conference social PizzaOnRails on Wednesday evening. Then the RailsConf on Thursday, Friday.
I will be visiting the Shinnyo-en temple in Surrey on Saturday morning and be back in Central London by the afternoon.
Am flying back to Delhi on Sunday morning.

Anybody interested in meeting up to discuss ruby, rails, buddhism, India whatever… drop me
a mail.

bookmark_borderalready initialized constant in fixtures

Following the dynamic fixture example from most of the rail’s books and tutorials available out there… you would be tempted to add something like this to the top of your fixture. ( this example is particularly relevant to the users fixture for use with the LoginEngine)

[source:ruby]<% SALT = "nacl" %> [/source]and then you would use this constant in your fixture somewhere… like maybe

   salt: <%= SALT %>   salted_password: <%= LoginEngine::AuthenticatedUser.salted_password     (SALT, LoginEngine::AuthenticatedUser.hashed('secret'))%> 

This is good for a single use of this fixture. But if more than one unit tests or functional tests load this fixture, you will start getting a warning “already initialize constant SALT” for all but the first use of the fixture.
Though it is just a warning, I did not find a mention of this in any of the books/tutorials.

Just a small check for an already defined constant will fix this warning.

 <% SALT = "nacl" unless self.class.const_defined?("SALT") %>