Sunday, June 7, 2009

The Demanding Indian Customer

If you have visited a Reliance store (the closest to my house is a Hypermart with a grocery section as well) you know how busy and messy it can get. Specially if you are shopping for vegetables, then it is a unique experience in itself. Sometimes I think there is more staff than the customers. Its hard to find plastic bags, and if you find some, one in every two will come apart without holding much. After you are done with all that there is the first queue to weigh your crop and tag it with stickers.

In this first queue confusion, ahead of me there was a guy with the kid. After weighing his harvest, he now wanted to weigh his kid on the measuring scale. The girl in charge there tried to avoid it by being polite and saying the maximum they could weigh on the scale was just 15 Kgs. Pat came the reply, the boy only weighed 7Kgs and hence it was Ok to put him on the scale. Putting him on the scale he did with the attendant having lost the argument with him. Off-course the kid refused to raise his legs to sit on the scale and hence no real weight could be ascertained, but I was happy that at least the queue moved on to the next customer.

But this threw up a few questions in my mind.
  1. Did allowing the kid to be weighed bring the WOW to the customer service that everybody talks about?
  2. Should the attendant have insisted that the company policy did not permit them to allow anything like that as they do in the western world?
  3. Was there any better way work around the situation and would it have been worth it?
  4. How demanding can the customer get and does customer expectation setting work in India?

If you have any thoughts, I would like to hear.

Tuesday, April 7, 2009

Mounting ISO as a CD drive

Was looking for a good driver to let me mount my ISO image as a CD. Did not want to waste a CD to burn the image and throw it away after the installation is complete. So did my usual google and got the usual answers.

There are a bunch of paid tools which work pretty cool but did not want to pay for something that I need to use only 2 times a year at best. The free one was an unsupported tool from MS called Virtual CD-ROM Control Panel for Windows XP. But that did not work for me.

Then low down below comparatively hidded was an opensource tool called WinCDEMU. Downloaded it from http://sourceforge.net/projects/wincdemu/ and it worked like a breeze. The driver that comes with it is not a signed one but I have had no problems whatsoever. Thought should share this so that if there are enough links for this project it would show up higher on google.

Friday, March 20, 2009

Unknown Pain/Gain ratios

It is really funny. The best thing I like about my job is that I have to follow no process. But then the worst thing is that nobody else follows it either :-)

I love to not to have to look up pages of coding guidelines, just to figure out where the semicolon should be placed, when all the code reviewers do is point out the mistake in the variable naming convention, column width and indentation. But then without a coding guideline, I can barely understand what other folks have written.

I hate to have to update the High Level Design everytime a data structure changes or I modify the order in which they are initialized. But when I get into a new project, that is the first document that I need, and I hate the fact that the Design is so out of date and code, and only code will tell me what to do.

I hate to create a new branch in source control for every bug fix that I make. But when the build breaks, the first thing I want to find out is the list of files that were modified as a part of this check-in. This is the only way I can find out what the problem could be with the code.

I hate to run all the tests after I have put in my fix, but everytime I hit a problem in someone else's code, the only thought I have is "Did he even run the basic Sanity tests before checking in?". It would have saved me so much time that I spent debugging something that could have been caught by a simple test.

Now to make a decision on whether to follow the process or not, what you need is a PAIN:GAIN ratio. A manager will always say the it is <1>1. I am still alive with and without the process and I have had project which have bombed equally with or without process. So I don't know what to think.

Monday, March 16, 2009

Pointer Heroics

I somtime come across code like the following. I wonder if this is ignorance, heroics or just cool. Some compilers flag these as warning but some (specially the embedded) will let it pass. Look at the code and guess what I am talking about

#include
typedef struct _nameString {
char nameStr[64];
char nothing[64];
} nameString;

typedef struct _myName {
nameString lastName;
nameString firstName;
} myName;

main() {
myName name;
printf("Enter the Lastname:");
scanf("%s", &name.lastName);
printf("Last Name is %s\n",name.lastName.nameStr);
}

Monday, March 2, 2009

Inroduction

There are lots of technical resources available online for system software development. Most of them explain the how it can be done but very few explain why it should be done like that or even why it should not be done in another way.

This is a blog to explain some of the design/architectures from my point of view and everybody is free to pitch in on if they see/feel something else.