Have you heard thousands of people traveling from all over India to Sri Lanka to listen to Ram Katha? By comman sense it would sound pretty lame. The greatest Ram Katha gurus are all based out of India, and if you are not the Sanskar Channel types then let me tell you Morari Bapu is a quite a star in this field. Then why Sri Lanka?
Well here is the sales pitch. The Ram Katha is happening in Ashok Vatika. And again for the non mythological types, this is where Sita was kept by Ravan after abducting her. Interesting pitch indeed. The Ram Katha is starting next week, I think, and the organizer is running a full house. Reservations were all full at least a month or so agao. The Sri Lankan govt is supporting this and why shouldn't it, it would bring in a lot of moolah. It typically translates into 10-12 day per person package (Ram Katha's take close to 7-8 days and add a 3 day site seeing), not sure how many touristy folks would go to SL for 10-12 day vacation.
And here we are in India trying to destroy the Ram Sethu to bring in ships instead of people. Forget the sentimental reasons, I think keeping the Ram Sethu makes more economic sense than dredging it.
BTW, another tit bit on religious tourism, a couple of months ago, there was a 7 day Bhagwat Katha on a cruise liner and folks paid over a Lakh each to book their seats.
Sunday, July 25, 2010
Friday, June 18, 2010
Death of code design
Maybe I am old and nostalgic. Or maybe I am just at the wrong place but from where I stand I don't see a whole lot of design happening. The last bation in good design the system software as well with the evolution of Open Source Software. Before the OSS fanatics pounce on me, let me tell you that OSS has enabled a whole lot of people to do great things, but the fall out of that is now any dude who can read english thingks s/he can develop code. Speed has clearly overtaken good design as a criteria to take your code into Open Source. If you are the first to submit your code the chances of it getting accepeted are lot higher than if you are the second guy.
Now if you talk of a design, folks think you are using it to buy time. If your code runs, it does not matter how many hacks you have put in there. Nobody really cares if you have a root cause for your problem or not. If you can get the code to work by adding an extra line of code, nobody questions why that was necessary and why the fix required the change. Imagine doing the same thing while building your house.
Now if you talk of a design, folks think you are using it to buy time. If your code runs, it does not matter how many hacks you have put in there. Nobody really cares if you have a root cause for your problem or not. If you can get the code to work by adding an extra line of code, nobody questions why that was necessary and why the fix required the change. Imagine doing the same thing while building your house.
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.
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.
- Did allowing the kid to be weighed bring the WOW to the customer service that everybody talks about?
- 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?
- Was there any better way work around the situation and would it have been worth it?
- 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.
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.
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);
}
#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.
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.
Subscribe to:
Posts (Atom)