The Advisory Boar

By Abhijit Menon-Sen <>

A new symbol for the Indian Rupee

The Union Cabinet selected a new symbol for the Indian Rupee, designed by a Mr. D. Udaya Kumar of IIT Bombay. It won't actually be printed on currency notes, and of course nobody will bother to use it until it is added to Unicode, but here it is:

Rupee symbol

The Information & Broadcasting minister Ambika Soni told reporters that It is just a symbol, but it apparently allows us to join the exclusive club of countries whose currencies have a distinct identity, and somehow represents the robustness of the Indian economy (R for Robustness?) while being a blend of modernity and Indian culture.

How dreadfully silly.

I practised drawing the symbol on my whiteboard a few times, and came to the happy realisation that—if you squint at it just right—it looks like a (strangely long-necked) raptor in soaring flight, as seen from below. But maybe that's just me.

Art, taxes, and fashion

Seen a few days ago in the Hindu:

Mumbai: The Bombay High Court on Monday upheld fashion designer Tarun Tahiliani's case that he is an artist for the purpose of claiming exemption under the Income Tax Act.

How very well put. He's an artist for the purpose of claiming tax exemptions.

Goriganga: safe, but for how long?

Yesterday brought the heartening news that the Ministry of Environment and Forests has rejected NTPC's proposal to build the 261MW Rupsiyabagar-Khasiyabara power plant on the Gori river near Munsiari in Uttarakhand, because of the profound damage it would cause to the fragile and ecologically important area (which is to say nothing about how it would affect the people in the fifty-odd villages along the river that would dry up due to the diversion of water).

I've been following this project for a while, because I have a special interest in the area. I have visited a number of times for bird surveys (and I plan to do more work there in future), and my friends there have been tirelessly involved in local conservation efforts for many years; so I can claim to know a little about its ecology. It seems obvious to me that constructing a large dam there would be a disaster—no doubt it is obvious to NTPC as well, because they have been spreading misinformation about it from the very start.

To begin with, the environmental impact assessment prepared for them by WAPCOS (Water and Power Consultancy Services) is nonsense. To pick on just one section where I am qualified to comment, the biodiversity estimates are wildly inaccurate. Where they list fewer than a hundred species of plants and trees, a few thousand are documented from the area, many of which occur nowhere else. They mention only ten species of mammals and eight species of birds from an area whose checklist runs to about 300, and where I saw more than a hundred species in three days (and even an eight-year-old Ammu must have seen a few dozen on her first morning walk). Then they blithely conclude that the impact on wildlife would be minimal:

Disturbance to wildlife

During construction phase, large number of machinery and construction labour will have to be mobilized. The operation of various construction equipment, and blasting is likely to generate noise. These activities can lead to some disturbance to wildlife population. Likewise, siting of construction equipment, godowns, stores, labour camps, etc. can lead to adverse impacts on fauna, in the area. From the available data, the area does not have significant wildlife population. Likewise, area does not appear to be on the migratory routes of animals and therefore the construction of the project will not affect the animals.

Anyone who has visited the area and knows anything about wildlife would be able to see how ridiculous these claims are. The rest of the report follows in the same vein (for example, it talks about the advantages of importing migrant labour amounting to some 77% of the local population in terms of the "exchange of ideas and cultures between various groups of people which would not have been possible otherwise").

NTPC has also been hard at work in the area to make sure opposition to the project is ignored, downplayed, or eliminated. They have used force to intimidate people who questioned the project, bribed public officials (and admitted to doing so), and colluded with them to interfere in local Van Panchayat elections to disallow candidates who opposed the project. They have held "public hearings" when people from affected villages were not able to attend (because they were on an annual excursion to collect medicinal plants at higher altitudes), and refused to acknowledge and record critical questions at such hearings.

There are many people in the area who support the project because NTPC is bringing money and promises of development to a poor and remote area; and because they have no access to information about the environmental and social record of big dams in India to evaluate the promises, and no way to estimate the long-term costs to the area and their livelihoods to compare against the paltry compensation being offered for their lands today.

Now they might give me compensation…
That's not what I'm chasing. I was a rich man before yesterday.
Now all I have got is a cheque and a pickup truck, and
I left my farm under the freeway.
— Jethro Tull, “Farm on the Freeway

It remains to be seen if the MoEF's rejection is binding, or if the NTPC (which has already invested heavily in land acquisition and construction in the area), and the other people who stand to gain from the project at the expense of local inhabitants, will find some way to work around it.

How long can the Gori valley survive such determined opposition?

CSS3 font selection

I've been using Verdana as the preferred text font on this web site for a long time. I don't particularly like it, but it works well enough and is widely available.

I didn't pay attention when I learned about CSS3 @font-face definitions, because I thought that—like so many good things in CSS—it would be usable only in the distant future. Then I stumbled across FontSquirrel and the Google Font Directory, so I spent a while looking for a clear sans-serif font for text and a monospaced font (for code listings) that went well with it.

Read more…

A fond farewell to “narco analysis”

The Supreme Court of India has ruled that the forcible administration of truth drugs ("narco analysis") and "lie detector" tests to suspects by investigative agencies is unconstitutional and that the results themselves may not be used as evidence in court. In its very clear 251-page ruling, the three-judge bench (K.G. Balakrishnan, R.V. Raveendran, and J.M. Panchal) observed that, apart from infringing upon personal liberty and the constitutional right against self-incrimination, the scientific validity of of the impugned techniques has been questioned.

In other words, if you want to use Veritaserum, you know where to find Azkaban.

Of course, this is seen as a “major blow” to law enforcement agencies, who are understandably upset about the prospect of having to do some actual investigating for a change.

Pre-marital sex is fine, though

In another recent ruling, the court (K.G. Balakrishnan, Deepak Verma, B.S. Chauhan) dismissed the 23 ridiculous defamation complaints filed against Tamil actress Khushboo (for allegedly “endorsing pre-marital sex”), which the Madras High Court had inexpicably allowed to proceed to that point. Earlier, the judges caused widespread consternation with their entirely unsurprising observation that consenting adults may choose to “live together” (and, presumably, have sex) without causing any offence under the law.

How does it concern you? We are not bothered. At the most it is a personal view. How is it an offence? Under which provision of the law? the bench asked the counsel. […]

How many homes have been affected can you tell us, the Bench asked while enquiring whether the complainants had daughters. When the response was in the negative, they shot back, Then, how are you adversely affected?

I wish I'd been there to see the look on the plaintiffs' faces!

Leave copyright notices alone!

Near the beginning of every new year, there is a flurry of activity in open source projects as their developers perform the ritual update of copyright dates in the source code. Here's one example of many, from PostgreSQL:

commit 07c05fef8794be091fd2f271f3a500a152f1712c
Author: Bruce Momjian <bruce@mmmmmmm.nn>
Date:   Sat Jan 2 16:58:17 2010 +0000

    Update copyright for the year 2010.

 COPYRIGHT                                          |    2 +-
 configure                                          |    4 ++--
 configure.in                                       |    2 +-
 contrib/adminpack/adminpack.c                      |    2 +-
 …
 1053 files changed, 1061 insertions(+), 1061 deletions(-)

Everyone does it, because everyone's always done it. Too bad it's a complete waste of time.

There are good reasons to include a copyright notice somewhere in your source code, even though they are no longer mandatory under the Berne convention. A dated notice makes it clear to anyone who sees the code that it is under copyright, and who the owner is; and it provides an indication of how long the copyright protection will persist.

The date in copyright notices is supposed to be the date of first publication. Copyright protection for the work begins at that time and extends for a fixed period. The continued existence or republication of the work in subsequent years obviously has no effect on the copyright term. It makes sense to change the date only if you are publishing a new work that will receive copyright protection independently from the work it was derived from. Minor incremental changes to the original do not qualify.

A major new version with many changes may qualify (whether it does or not is a matter of fact, not law), but even so, it makes sense only to update the copyright notice at the time of release, not every January; and the new notice should mention only the current year, not add it to a list of years gone by. It makes no sense whatsoever to include a range of dates:

-Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
+Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group

A related problem is that people like to spread copyright notices and other boilerplate nonsense all over their code. There are always parts of every source tree that are only ever touched by the ritual annual copyright update.

(Yes, I've spoken to more than one lawyer about this.)

Perforce did not suck

I've noticed that a lot of people in the open source world have a negative opinion of Perforce, whether they've used it or not. Here is one recent example:

There's also Perforce, which I don't know much about, but I gather it's a crappy proprietary centralised VCS which is worse than Subversion in pretty much every way.

This kind of offhand dismissal by people who are not familiar with Perforce is very common. When we were switching from Perforce to git for the Perl 5 source code, a lot of people assumed we wanted to do it because Perforce wasn't good enough (but it was really because the open source licensing procedure was non-trivial, and the lack of anonymous repository access was seen as inhibiting contributors; there were also objections to depending on a free-but-not-Free program).

There are other people who have used Perforce and not liked something about it. Their opinions range from reasoned critiques to poisonous rants:

[Dear Perforce… ] Fuck you, you miserable, untrustworthy, misleading, overpriced bastard. I hope your office goes up in flames along with all your off-site backups. I pray that some open source product that actually works is embraced by all the major companies and drives you out of business. I hope that no other company is duped by your salespeople into thinking you have something even remotely close in quality to the ancient and craptastic product known as CVS. Never before have I experienced so much pain in the most simplistic of version control tasks as I have since starting to work at a company that made the mistake of considering you.

I used Perforce exclusively for many years, both for large projects with many other users and small personal projects, and my experience with it was very different. I loved Perforce. I found it refreshingly simple to learn, it worked fast and unsurprisingly and well, and it had excellent support and documentation (of the kind that few open source programs of any kind have, even now). I encountered only two or three minor bugs in it after several years of use, and I never once had to fix the repository (a welcome change from CVS).

There are, of course, many valid criticisms of Perforce, and my intention is not to defend it against those. I've suffered from some of its problems myself: its (mostly justifiable) dependence on the network was at odds with my very slow dialup link, p4p (the proxy) didn't work very well for me, some administrators I know had problems configuring their server the way they wanted, and so on. I switched to git myself a few years ago, and later helped other projects (Perl, Archiveopteryx) I cared about to move away from Perforce too. I haven't regretted the change.

But Perforce certainly did not suck, and there are some things I still miss about it. As non-distributed VCSes go, I think Perforce is vastly better than the (many) other programs I've used.

An experiment in writing faster

I've always enjoyed writing, but it's only in the past year or so that I've forced myself to write regularly. The practice is paying off, the principal difference being that I consistently write much faster than I could before. I've also been able to identify and correct a number of problems with my writing that may have otherwise gone unnoticed.

Thanks to some bad habits I've developed, however, there's still plenty of room for improvement. For example, I tend to rewrite things to make the right margin of the paragraph line up "nicely", which is an absurd waste of time. Sometimes, I get stuck at a particular sentence or paragraph and tweak it endlessly rather than moving onwards.

Years ago, I read about a program whose minimal interface was modelled on a typewriter. It presented a blank screen, with nothing to distract from the process of writing; and it had minimal editing capabilities, to avoid the temptation of rearranging text. I can't remember what that program was called, but there is more than one like it (e.g., Writeroom and OmniWriter for OS X, and a few clones). Most of them have more features than I can remember reading about.

I spent an hour or so writing a similar Qt program. It was surprisingly easy (thanks to some advice from my Qt hacker friends Arnt and Brad): I created a QWidget, called showFullScreen() on it, gave it a QPlainTextEdit child displayed in the centre of the screen, and wrote a few lines of code to load and save files. The QPlainTextEdit class provides minimal editing capabilities, which suits me fine. I named the program wry, and I've been using it for some months now. (The source is at github.com/amenonsen/wry for the incurably curious.)

Digression: I'm very pleased that Unicode text "just works" in wry. I can display Markus Kuhn's UTF-8 demo with none of the ugly problems I've had with xterm in the past. For Unicode text input, I set up ~/.Xcompose so that I can compose any character I want, but I miss vim's :digraphs command, which would show me the available options.

Using wry was slightly frustrating at first, but once I got used to it, it worked very well. The enforced lack of distractions helped me to put down more text more quickly; and it was easier and faster to edit things later when I was looking at several paragraphs rather than one sentence. Since wry uses a proportional font and rewraps text as it likes, I could no longer waste time trying to align the right margin.

Someday, perhaps I'll be cured enough that I can write properly in vim without succumbing to the temptation of editing, but until then, wry is the perfect set of training wheels.

Do Supreme Court judges live in an alternate universe?

Today, the front page of The Hindu features an article about the Supreme Court allowing the state of Madhya Pradesh to continue with the construction of the Indira Sagar and Omkareshwar dam projects, overriding a prior restraining order by the state High Court. About halfway in, the article quotes the Chief Justice K. G. Balakrishnan:

At one stage the CJI asked Ms. Medha Patkar not to have a cynical approach towards large irrigation projects as the projects will benefit thousands of farmers and agriculturists.

I find it difficult to imagine how a supreme court judge can sound so oblivious to the horrendous track record of large irrigation projects across the country, and the profound social and environmental damage they have caused over the past fifty-odd years, and continue to cause to this day. Where exactly does he see cause for optimism?

Justice Balakrishnan has, in recent times, expressed a few bizarre opinions. Perhaps the most unpopular was his insistence that his office was not subject to the provisions of the RTI act because the CJI is a "constitutional authority" and not a "public servant". This position drew widespread criticism, including gentle but unequivocal disagreement from eminent former SC jurist Mr. V. R. Krishna Iyer; and the Delhi High Court also held otherwise, in a remarkably cogent ruling last month.

(Strangely, today's paper also features a surreal op-ed piece by Mr. Iyer, who dreams of peace between India and Pakistan beginning with a resolution that all Indians and Pakistanis believe in the worship of all versions of god in deep devotion and culminating in the formation of an Indo-Pakistan federation with a joint parliament and supreme court, a common defence force, and a single cricket team! But the man is ninety-four years old, so perhaps he's entitled to a few unsettling dreams. That defence does not, however, apply to Justice Balakrishnan, who is a relatively sprightly sixty-five.)

Last week, the full bench of the Supreme Court unanimously rejected (for the fifth time) the Law Commission's suggestion that four regional benches of the SC be set up in addition to the existing bench in Delhi. This long-standing popular demand in the south would benefit thousands of people who could not otherwise bear the cost of approaching the highest court so far away from their home. The vigilant Mr. Iyer has also written about the importance of judicial accessibility—If democracy is for the people, the Supreme Court should function where the litigants need it most, not where the British for their imperial reasons chose to locate it.

But the CJI had commented last month that we should maintain the integrity of the Supreme Court, and the twenty-six other judges apparently agreed that it would negatively affect the country's unitary character.

Sometimes I wonder if there's an alternate universe in which India was created in order to serve its Supreme Court.

Not feeling cold

For as long as I can remember, I have resisted being bundled up in woollens during winter. When I was little, I could be bullied into wearing warm clothes, but ever since I was old enough to refuse, my answer to Aren't you feeling cold? has generally been No. Every winter, however, the subject comes up again, and people, often complete strangers, see fit to speculate on or lecture me about low temperatures and my physiology.

“But I Thought You Didn't Feel Cold”

In high school, I could understand people who thought I was faking it to impress my shivering schoolmates, but over a decade later, suspicion is still the most common response.

Every now and then, I'll say something like Hmm… it's colder tonight than it was yesterday, and someone will say But I Thought You Didn't Feel Cold (with audible capital letters and a look of triumph at having caught me out at last). But that's not how it works. I am aware of the cold—in fact, I'm quite sensitive to changes in temperature—it's just that lower temperatures don't make me uncomfortable.

Read more…