In The Armchair

What’s Wrong with a Hunger Strike?

Posted in India by Armchair Guy on April 10, 2011

Anna Hazare scored a victory of sorts against corruption recently; people have been calling his methods Gandhian — probably because he used Gandhi’s favourite instrument, a fast unto death.  Many important events were triggered by this trick, including the linguistic reorganization of the states in the 1950s.

There appears to have been a great deal of popular support for Hazare’s initiative.  However, there are some who question the idea of using a hunger strike to achieve ends.  For example, this blog says:

Of all the hypocritical actions that Gandhi indulged in publicly, fasting to death is most definitely the most remarkable. … Hazare’s fasting to death and the public support that he has enlisted shows how immature India is as a nation.

I think these comments miss the point entirely.  Anna Hazare merely provided a focal point to people who have already had corruption on their minds for several months now.  A hunger strike is sometimes a form of blackmail, but when it reflects popular sentiment it is more properly seen as merely an expression of a threat to the government that already exists in the minds of the people.  The point of a hunger strike is not simply to blackmail the government.  Others have tried this and failed, for example some of those pressing for Telengana, who were neatly castled by having their demands agreed to simply for the purpose of bringing their fast to an end.  (This might even happen with Hazare, who has shrewdly promised to renew the agitation if the Lokpal bill isn’t passed within a reasonable time frame.)

The point of a hunger strike, I think, is to raise an extreme and very visible protest.  Such a protest could be violent and uncultured (witness the damage to public property and rioting done in Hyderabad by supporters of a separate Telengana state), or take a more serene form, like a hunger strike.  By supporting the hunger strike, even to extent of joining in, I believe the nation has shown great maturity.  We didn’t go about smashing public property — but we made sure the government sat up and took notice.

The effectiveness of Hazare’s action (and Mahatma Gandhi’s innovation) is twofold.  First, that it effectively focuses a widespread public sentiment into a single spearhead that can be used to goad the government, much as a magnifying glass can focus the sun’s rays and ignite things.  And second, handled properly, it is a spearhead without undesirable side-effects like riots and destruction of public property.

Of course, as many other bloggers pointed out (and I’m not including all links here) the agitation as well as the bill are only minor battles in the war against corruption.  We’re all corrupt, a sea of corruption, and these are just a few drops of purity.  Corruption will start to die when, for example, we not only refuse to pay bribes, but refuse to evade paying income tax as well.  (Something I believe 99% of even the most self-righteous 1% of the population do.)  That’s an important but completely different issue.

Math in R plots

Posted in Computers by Armchair Guy on April 5, 2011

R provides a way (see ?mathplot) to insert math into titles and labels in plots.  An example: plot(1, main=expression(S[A])).  This will create an S with a subscript A (S_A) in the title of the plot.

But what if you have a variable called x, and you want S_A and the value of x in the title?  For example, if the value of x is 3, you want S_A = 3 to appear.

I’m sure there’s a simpler solution, but here’s the simplest one I’ve got:

  1. First, note that it would suffice to type in plot(1, main = expression(paste(S[A], ” = “, 3))).  Of course, we want the value of x there, no matter what it is — not just 3.  If we try plot(1, main = expression(paste(S[A], ” = “, x))), that will result in S_A = x appearing in the title, not what we want.
  2. The solution is to create the string we would have typed if we knew the value of x.  We do this like this: s <- paste(“plot(1, main = expression(paste(S[A], \” = \”, “, x, “)))”). If we now print the string s, it will show “plot(1, main = expression(paste(S[A], \” = \”,  3 )))” (if the value of x is 3).
  3. Now, we “run the string”: eval(parse(text = s)).

There are some more complicated but flexible solutions, like integrating postscript output from latex into R graphs (using psfrag).