Sunday, January 30, 2005

This is a great article about the realities of software development, in the form of advice to a newbie programmer. Excerpts:
Documentation: The true use of documentation is to bridge the inevitable gap between what the project is supposed to do and what it actually does. Politically written documentation bridges this gap by appearing to claim the former without actually denying the latter. On close examination, it will be found to say nothing at all.

Ass-covering: The chief difficulty is reaching a satisfactory compromise between ass-covering and not appearing too negative. If you know something is going to fail, make sure you point it out and have a record, but try to present it in a positive way. Say that it is a "major risk", rather than a certain failure. Try to request additional resources or time even when you know they will be denied.

Error messages and logfiles: As well as being later than you expect, the system will be less reliable than you expect. Make sure your debug and logfiles give you plenty of information. As with architecture, make sure that your error messages assign blame appropriately.

Overtime: ...better to do half an hour Monday to Thursday than two hours on Wednesday. It also sounds better to say: "I've worked late four nights this week." No-one will be keeping track that closely anyway.
Woe betide the PHB who gets the author of this article in his team ;-)
If you want to read Robert Fisk's latest article in The Independent's online edition, you will have to shell out £1; alternatively, you can read it at his web site for free. Talk about being on the horns of a dilemma...
Some 'heretical' thoughts: what's wrong if Iraq breaks up into three fragments (Sunni, Shia and Kurd), without any violence, something along the lines of the velvet revolution in Czechoslovakia? There wasn't a country called Iraq prior to 1918, anyway. On the positive side, the internal divisions tearing Iraq apart would disappear once and for all (assuming that these internal divisions are not a figment of the imagination).

Other considerations:
  1. This would play right into Israel's hands by permanently weakening one of its powerful enemies.

  2. Turkey would never allow this, as its own Kurdish minority would clamour vigorously to become a part of the new Kurdish state.

  3. The Americans would get to play their democracy-exporting games in three countries for the price of one.

It looks like the unsealed plastic containers are not just for overseas Iraqis; even the polling stations inside Iraq have them.

Saturday, January 29, 2005

An opinion poll recently conducted by the BBC found that 62% of the Indians polled felt that Bush's re-election was a positive thing for global security. Methinks this is the right-wing Hindutva chauvinism shining through...
Gumption trap update: Solved the problem, finally. I introduced a temporary global variable and pointed it to the offending object; adding a watch on this global variable helped me identify the exact line of code that caused the original object's value to change mysteriously. To my surprise, this was the creation of another unrelated object (although, to be fair, both objects were of the same class). Simply adding an empty constructor to that class' definition made the problem go away. From the look of things, I am probably missing some not-so-subtle point regarding constructors in C++...
In one of the Seinfeld episodes that featured gay men, any reference to homosexuality by Seinfeld or Jason Alexander would be followed by "...not that I think there's anything wrong with it, of course..." I was reminded of this when reading the last paragraph of this commentary:
It is also important to underline that only a small minority of American Jews support the Likud Party or its policies, and that a majority of Jewish Americans opposed the Iraq war. In short, the problematic nature of Feith's tenure at the Department of Defense must not be made an excuse for any kind of bigotry.
Latest addition to the monkeys-are-intelligent motif.

Friday, January 28, 2005

Man is a rational animal.
Socrates is a man.
Therefore Socrates is a rational animal.

Seems pretty straightforward, doesn't it? At least I thought so until I read this:
...the major premiss of this syllogism takes for granted precisely the point to be proved; for if Socrates is not rational (and no one questions that he is a man) it is not universally true that man is a rational animal.
Looks like nothing is as simple as it seems.
BBC is showing footage of overseas Iraqis voting in the elections. The first thing I noticed was that the ballot boxes did not have any seals on them; their lids were kept in place by some kind of plastic fasteners (the boxes themselves were some sort of plastic containers). Not that it is worthwhile rigging the overseas vote, minute as it is.
According to Seymour Hersh, dogs were not used simply to intimidate prisoners at Abu Ghraib, but were used to hurt them as well:
It was the Arab man leaning against bars, the prisoner naked, two dogs, two shepherds, remember, on each side of him. The New Yorker published it, a pretty large photograph. What we didn't publish was the sequence showed the dogs did bite the man -- pretty hard. A lot of blood.

Thursday, January 27, 2005

Today I learned that there is a company that offers to surgically implant artificial testicles in your neutered pets.

Tuesday, January 25, 2005

These images from a shootout in Iraq are sure to escalate the anti-American feelings even more, but I am taking the soldiers' side on this one. It's easy to second-guess the soldiers' actions sitting in the comfort of our homes. To be fair, they did try to get the car to stop by using hand signals and by firing warning shots. They also did the right thing in administering first aid to the injured children and taking them to the hospital (how difficult would it have been for them to continue pumping bullets into the car 'just to be sure'?).

The people who should be charged for this crime (if anybody should be charged at all) are not the soldiers; it's rather the people who sent them to Iraq in the first place.

As has already been mentioned elsewhere, the image of the little girl is bound to go down in history as one of the enduring images of the war and the suffering caused by it.
Two bright spots in an otherwise dull day (in fact, they had me rolling on the floor with laughter):
  1. The Rude Pundit's post about Bill O'Reilly (warning: not for the faint-hearted; explicit content)

  2. A contest advertised on the cover of a Harpic bottle called Pot Banaye Kismat Hot that depicts the prizes (car, refrigerator, washing machine) springing out of a toilet bowl (seriously, dudes, what were you thinking?)

Sunday, January 23, 2005

It looks like I have hit one of the gumption traps mentioned in ZMM in my work on Vajra. I don't know how to classify this trap, so I'll just state the problem. The value of a data member of one of the internal objects has gotten changed mysteriously, so to speak. The value is fine during the execution of one bytecode instruction, but gets screwed up somewhere down the line. Ideally, I would get a fix on this by setting a conditional breakpoint, but this is not possible in this case because I don't know how to refer to the object (it exists as a newly added member in a map).

To solve this problem and others of a similar nature, I need a mechanism to track the changes to the VM (the currently executing method and its frame identifier, the bytecode instruction, the pre- and post images of the operand stack, and so on). This requires quite a lot of grunt work (AOP would really come in handy here if I could apply it), which leads to another gumption trap -- boredom.

Saturday, January 22, 2005

From a recent letter to The Hindu, on the issue of how God, if He existed, allowed so many innocent people to be killed in the tsunami disaster:
Is God willing to prevent evil, but not able? Then He is not omnipotent. Is He able, but not willing? Then he is malevolent. Is He both able and willing? Then whence cometh evil? Is He neither able nor willing? Then why call Him God?
There are two ways that believers answer this:
  1. Karma: People, though they may be innocent in this life, would still be held accountable for the bad karma accumulated during their past lives.

  2. The 'equilateral triangle' argument: Once someone is part of this physical world, there is no way he can escape any of the tribulations and suffering that living in such a world entails (it's called the 'equilateral triangle' argument because once God creates an equilateral triangle, even He doesn't have the power to make its sides unequal; this book has an excellent essay regarding this issue).
There is also a third argument: life as we know it is nothing more than an illusion; the pain and suffering that we endure in this life is akin to what we experience in a dream. Once we awaken from this 'sleep', we will realize this and simply shrug it off as we would a bad dream.

The folks over at alt.atheism will have some (not so pleasant) things to say about this, of course.

Disclaimer: I am not an atheist myself, though I have pretty much abandoned the concept of God as a deity listening to people's prayers, doling out wishes and punishing evildoers. has screwed up my bookmarks. The site was down yesterday for maintenance. When it came back online, I found that it had replaced my current set of bookmarks with an obsolete one; all my changes over the last month or so seem to have been lost. I am currently engaged in reapplying these changes as well as making a backup of these bookmarks in Firefox itself. An hour of fun and frolic ahead...

Wednesday, January 19, 2005

Looks like Bollywood has stolen a march on Hollywood when it comes to tackling piracy.
Mobile phones have a mode of text entry called iTap (mine does, anyway) where the software in the phone tries to guess what word you are typing. For example, if you want to type in the word 'while', you type 'wggjd' (these letters are the first of each letter group in the keypad - wxyz, ghi, ghi, jkl and def); the software interprets this correctly. Really speeds up your typing.

I was reminded of this when I discovered a similar feature in OpenOffice. I typed in 'pers' and this was completed as 'perspective' (don't ask me why it didn't select 'perspire' -- probably 'perspective' comes out ahead in some frequency analysis) which was the word I wanted. Pretty cool feature; imagine the amount of time I could save by having the software helpfully filling in words for me. The only problem is that I don't use OpenOffice at work. Time to investigate whether MS Word has this feature (knowing what a piece of monopolistic crap it is, it probably doesn't).

Tuesday, January 18, 2005

One should not judge a person by his or her looks, but I am willing to make an exception for Condoleeza Rice. This lady radiates pure evil.

Monday, January 17, 2005

I shouldn't speak ill of the dead, but these people are a shoo-in for the Darwin awards.

Sunday, January 16, 2005

My home page has been given a makeover. The new layout is actually from a blog template. This has got me thinking: why not change my blog's template to match this one as well ?

Update: Makeover complete.

Saturday, January 15, 2005

Six Gmail invites available. Send me an email if you would like one.
Two weeks to go for the elections in . Some predictions:

  1. Violence will continue unabated.

  2. Voter turnout will be abysmal, but this will not prevent the authorities from declaring the election a success.

  3. Allawi will continue as the prime minister (I think a form of Murphy's law is at work here: the caretaker prime minister (or president) will always retain his post after 'elections').

  4. US troops will continue to remain in Iraq.

  5. No change in the status quo as far as the ordinary Iraqis are concerned.

Robert Fisk on the current climate of fear in Baghdad:
So, "full ahead both" for the dreaded 30 January elections and democracy. The American generals - with a unique mixture of mendacity and hope amid the insurgency - are now saying that only four of Iraq's 18 provinces may not be able to "fully" participate in the elections.

Good news. Until you sit down with the population statistics and realize - as the generals all know - that those four provinces contain more than half of the population of Iraq.

Thursday, January 13, 2005

This is the most important thing in the world right now, when 150,000 people have recently lost their lives in a horrific tragedy.

In case you missed it, that was sarcasm.
Having read Lila recently, I was impelled to pay another visit to ZMM. An excerpt from this venerable classic (I am yet to finish the book, so I am sure there will be more such passages to come):
The first problem of empiricism, if empiricism is believed, concerns the nature of "substance." If all our knowledge comes from sensory data, what exactly is this substance which is supposed to give off the sensory data itself? If you try to imagine what this substance is, apart from what is sensed, you'll find yourself thinking about nothing whatsoever.
I don't remember this passage from my first reading, so I am all the more surprised at its similarity to something I posted a while ago.

Sunday, January 09, 2005

Finished reading Optimizing Oracle Performance yesterday. This book presents an unconventional way of getting better performance out of an Oracle database, throwing statistics like buffer cache hit ratios out of the window. Instead, it focuses exclusively on the response time a user action takes and how this response time is split among the various database calls and wait events. It's a well-written and authoritative book (the author is an ex-Oracle Corp employee with quite a lot of performance analysis experience). Some nits:

  1. The chapter on queuing theory could have been moved to an appendix (or even have been skipped altogether).

  2. The chapters targeting PHBs could also have been condensed.

  3. Unless you have an automated profiler tool (not sure whether the author's web site provides this tool for free), you are not going to get at the response times from voluminous trace files that easily.

  4. You will need additional sources to delve deeper into the ways of correctly interpreting the response times (and fixing the underlying causes) -- Rich Niemiec's "Oracle 9i Performance Tuning" is probably a good resource for this.

When I was in the ninth standard, our English teacher posed a question to us: What happens when we listen to good music? One of the replies she got was, "We forget ourselves." I had never thought of music that way before (to be fair, I was barely into my teens then -- all the more credit to my friend who was smart enough to come up with this answer). A prime example of Dynamic Quality. This is what you experience before your intellect kicks in and you start thinking about the music at a 'meta' level, i.e. who made the music, what emotions it triggers in your mind, what you think of the musician's decadent lifestyle ;-) and so on. The problem is, the Dynamic Quality component of your listening experience diminishes successively each time you listen to the song, till it becomes practically zero (if this were not so, a great song would probably never fall off the charts).

One of the main goals in the practice of Zen Buddhism is to never let go of the Dynamic Quality (they don't call it that, of course) in each and every action that you undertake. Easier said than done...

Friday, January 07, 2005 has a hilarious article about how Indian policemen are not properly equipped to tackle cyber crimes. Excerpts:
Cybersecurity expert Raghu Raman said in 2004, police squads were known to confiscate evidence from some offices, returning with monitors and leaving computers behind. Computing teacher Vijay Mukhi said two years ago cops in Mumbai seized pirated software floppies and stapled them together as though they were documents, destroying the material.

A sleuth from Mumbai's high-profile Cyber Crime Investigation Cell once told Wired News how he planned to tackle hacking: "Let hackers know that some tough people are out here.... I have killed Naxalites (regional terrorists who wage guerrilla warfare against police in some Indian states) in Andhra Pradesh (a state).... We cops have seen such tough situations that we know how to handle boys."
I have been bombarded with SMS messages from my mobile service provider, warning me that sending MMS/SMS messages containing porn is punishable under some draconian Penal Code section with a stiff fine and/or prison sentence. This is an offshoot of the MMS porn scandal involving the Delhi school children (considering the act they were engaged in, is it right to call them 'children'?) Anyway, my question is, does ASCII porn also fall under the category of SMS porn?

Tuesday, January 04, 2005

New blog look courtesy of this collection of free templates (thanks!).

Update: Pretty short tenure for the new look, BTW.
Biting the hand that feeds.

Sunday, January 02, 2005

Google Groups has recently been revamped. It has also been integrated with Gmail. Can't say I really like it. The earlier interface was much cleaner. The only positive thing is that messages posted with the X-No-Archive header are also displayed, albeit for a short duration (six days, I think). Oh, and Firefox doesn't display the new page layout properly, either.

Saturday, January 01, 2005

Have to agree with the Rude Pundit: it has been a fucked-up scrotum gnasher of a year.
Quite an eloquent explanation of how foreigners are subsidizing the American economy:
Many of the $100 bills circulating throughout the globe are essentially loans that we never have to pay back. Americans use them to buy goods, services, or other currencies. But many of those bills never return to our shores to be redeemed for anything we make or produce. Instead, they stay under mattresses in Bogotá, circulate in Iraq, and are stashed in bank accounts around the world.