Sunday, May 31, 2009


How often has a piece of hardware or software stopped working correctly on your computer and after fiddling with it for a while, you've said to yourself: oh well, i'll just reboot my PC. That might fix it, and guess what, often times it does the problem.

I wish one could try this approach for human beings. Heart not functioning well? Let's try rebooting the patient!

Well, for one thing it's not possible to reboot a human being, but even if it were possible to reboot a person doing so won't fix the problem. And when I thought about why not, I realized that it's because computer malfunctions that are fixed by rebooting are software malfunctions. The current internal state of the software program that has malfunctioned is in the RAM of the computer. Something has gone wrong with this state because of which, when this program (or the piece of hardware that it controls) is fed normal inputs, it does not produce an expected output. When you reboot the computer or restart the program, its faulty state is wiped out from memory and replaced with a fresh correctly functioning state after the program restarts. So it starts functioning correctly (at lesdt until it receives some combination of inputs which it was not written to handle correctly, at which point it fails once again).

Contrast this with a heart that is not functioning properly because of a arterial block. Even if you restart such a heart, it will continue to have the block and hence the problem with this heart will not get solved by restarting. The thing to note here is that the problem with the heart - the blockage - is persistent. To compare this with our example of the malfunctioning software program, if the program were to write it's internal state to the hard disk every few seconds while it ran and each time it was restarted, if it were to initialize itself from it's saved state on the disk, then it would not be possible to fix a malfunctioning in this program by just rebooting it. This is because it would have also persisted its malfunctioned internal state to disk, and upon restarting it would read back the malfunctioned state from disk. I.e. The malfunction in this program is of a persistent nature and rebooting cannot fix such

If we assume for a second that a reboot is possible for the human body could there any kind of malfunction that can be fixed by a reboot - a malfunction that happens only in 'software' and does not have a persistent state?

I think there is at least one kind of malfunction that fits the above criteria and I think it happens when we wrap our mind up trying to solve a problem by thinking about it and get hopelessly confused at some point.

The reset or 'reboot' that can work in this case is sleeping on the problem or just doing something else for a while as a distraction.
This can have the effect of wiping off the malfunctioned state if our thought process regarding this problem. We start thinking about it fresh and sometimes succeed in solving it!

2009 Lok Sabha election: Why congress won

The Indian National Congress put on a spectacular performance in the 2009 Lok Sabha election. While in 2004 it gained around 150 seats (not a bad tally in itself, given the highly factional nature of Indian politics), in 2009, the Congress tally was an astounding 200+.

So why did Congress do so well?

People have attributed Congress's win to various reasons such as the desire to have a stable government (and Congress's demonstrating that it can run a stable government for 5 years), or security concerns (and once again, Congress's demonstrating that it was able to adequately respond to the 26/11 attack and manage the country's security thereafter). Or perhaps it was because people thought that only Congress had the right mix of ability and experience at the ministerial level to get the country out of the economic crisis.

These might all be valid reasons for Congress's increasing its vote share.

I think there are other powerful reasons at play here that contributed to the Congress's win in 2009.

Let's not forget that most of the votes in India come from rural and semi-rural areas - areas where agriculture is the dominant economic activity. Here, local issues matter acutely, much much more than in the cities where people also look at what a party is capable of achieving at a national level.
In the rural India, the global macro-economic crisis, prospects for economic revival and the condition of banks is less of a concern than crop yields, farmer debt and jobs for the young people in the village.
Also a concern are roads, electricity, warte and sanitation.

Terrorism of the type that affects India's cities is also not so much of a concern in rural areas. After all how many high profile (non-naxal) terror attacks happen in villages?

What matters is local issues and governments who can deliver solidly at the local level win.

In the last few years, the UPA did exactly that.

There were four programs undertaken by the UPA at the national level that had direct application at the rural level. The success of these programs ranged from good to phenomenal and they made a very large number of rural folk happy.

These programs were:

The National Rural Employment Garauntee Scheme (NREGS): This program provided garaunteed 100 days of non-skilled employment per year to adult members of millions of rural housholds in all districts of the country, and paid decent wages for the same.

Bharat Nirman: This scheme led to the betterment of road, water, electricity and sanitation infrastructure in thousands if villages and small towns leading to a material impact on the quality of life of every rural citizen.

National Farmer Loan Waiver Scheme: This much debated and plenty ridiculed scheme actually worked, freeing thousands of farming households from the crushing weight of debt arizing out of crop failures.

The National Rural Health Mission: This was one of the flagship programs of the UPA government that brought basic healthcare to rural India.

Ironically, many of these socialist programs were started as a consequence of the marriage of the Congress with the left parties and formed a substantial portion of the Common Minimum Program that the Congress was obligated to implement so as to get the left to look the other way while the Congress implemented its reformist agenda.

What set these programs apart was that while previous schemes of such grand nature failed or had limited success, these programs largely succeeded in their goals, owing to a combination of simplicity of design and goals, efficient administration and less corruption in implementation.

And then there was Rahul Gandhi.

This man covered an astounding 87000 kilometers during the election campaign, criss-crossing the country and visiting hundreds of electoral districts, and in the process bringing the Congress to the doorstep of millions of small towns and villages. He may not be the most experienced politicians, but he an American style full-contact campaigneering on a massive scale that actually worked!

So there you have it. These are some of the important things that worked well and endeared Congress to a large number of rural folk in a way that had not been seen in a while.

In hindsight, the formula for winning elections in the new India seems simple:
Engineer and sustain a high rate of GDP growth, which will bring in a large amount of tax money into the government's coffers. Use these monies wisely to launch, manage and efficiently administrator pan-India development schemes in infrastructure, health, education and employment that make a direct and material difference to people's quality of life.

And during election time, connect, connect, connect.