Archive for the ‘Designing Great Software’ Category

When Enterprise software will finally get respect

Posted by Rahoul Baruah on December 11th, 2007 under Designing Great Software  •  No Comments

Blackfriars Marketing commenting on Bill Gates’ claim that Enterprise Software gets little respect (via the Wall Street Journal).
As someone who has worked on ‘business’ and ‘enterprise’ software for most of my career (the difference being one of scale as far as I can see) I wholeheartedly agree. I got sick of being told that [...]

rake db:fixtures:load

Posted by Rahoul Baruah on November 9th, 2007 under Beautiful Code, Designing Great Software, Writing Reliable, Bug-Free Code  •  No Comments

rake db:fixtures:load is probably one of the most useful commands I have used recently.
You see, I was meeting some people about some potential work. They wanted to see an example - preferably related to payment systems. I had some code but unfortunately, the service that is part of had been switched [...]

My favourite plug-ins

Posted by Rahoul Baruah on October 25th, 2007 under Beautiful Code, Designing Great Software, Managing Successful Projects, Ruby on Rails and Software Development  •  No Comments

You know how it is - there are some things that you are just not comfortable without. My phone in my back pocket, my wallet in my front pocket, the key in the front door when I go to bed (just in case there’s a fire and we have to make a hasty exit), [...]

A method for successful software development

Posted by Rahoul Baruah on October 3rd, 2007 under Designing Great Software, Writing Reliable, Bug-Free Code  •  No Comments

I’m just thinking out loud here - based on stuff I’ve done well in the past. But this is no rigorous scientific method - just a set of notes for me to refer back to.
* Write a couple of paragraphs describing the application. Note down keywords (especially important nouns and verbs) [...]

Single Table Inheritance in Ruby on Rails

Posted by Rahoul Baruah on October 2nd, 2007 under Designing Great Software, Ruby on Rails and Software Development  •  No Comments

I remember years ago, when Object-Orientated Programming became fashionable, every single text on it (at least those that I could be bothered to read) repeated the mantra “OO is about inheritance”. Of course, that’s rubbish, but when you’ve been dealing with structs in C or Cobol it’s probably an easy way of thinking of [...]

Great Features you see, Great Features you don’t

Posted by Rahoul Baruah on May 25th, 2007 under Designing Great Software  •  No Comments

I love the song “Standing Here” by the Stone Roses (you may notice a Roses-bent to this blog). Not only does it have some of John Squire’s finest noodlings, great lyrics and fantastic work by Mani - it also includes one of my favourite bits of backing vocals in the world. A simple [...]

Can you use the same controller in two places at once?

Posted by Rahoul Baruah on April 23rd, 2007 under Designing Great Software, Ruby on Rails and Software Development  •  2 Comments

I’m currently wrestling with a problem. My application has Attendees that either belong to PrivateCourses or Bookings. It uses a polymorphic association for this: has_many :attendees, :as => :attendable.
However, in both cases the UI is pretty much identical. So I figured I could set up routes like so:
map.resources :private_courses [...]

Markaby Gotcha

Posted by Rahoul Baruah on April 23rd, 2007 under Designing Great Software, Ruby on Rails and Software Development  •  No Comments

One thing to watch out for, when using Markaby:
link_to_remote ‘whatever’, :url => some_path(@something), :before => do_this, :complete => do_that
will not work.
Instead you need:
link_to_remote ‘whatever’, :url => some_path(@something).to_s, :before => do_this, :complete => do_that
Spot the difference? The :url parameter has a .to_s appended on the end. [...]

Rails 1 - 0 Smalltalk

Posted by Rahoul Baruah on April 20th, 2007 under Beautiful Code, Designing Great Software, Ruby on Rails and Software Development  •  No Comments

One thing has struck me over my recent Rails-beautification tangent.
My fictional resource-routes example:
map.resources_called(:course_templates, :adding => [ GetMethod.called(:build_courses, :on => :members), PostMethod.called(:do_build_courses, :on => :members) ], :nesting => map.resources_called(:course_details) [...]

Single Table Inheritance and Virtual Controllers

Posted by Rahoul Baruah on April 18th, 2007 under Designing Great Software, Ruby on Rails and Software Development  •  No Comments

I have the following models: a “base” class, Event, with two descendants, PublicCourse and PrivateCourse. Although, data-wise, they are pretty similar, behaviour-wise they are quite different. So Single Table Inheritance (STI although that could mean something completely different) is the way to go. (The alternative, of course, is a mix-in - which [...]