Sunday, October 24, 2004

I think I will buy a copy of Mike Ruppert's Crossing the Rubicon. I have a lot of respect for Mike's opinions and I think this book will throw light on quite a few things in addition to 9/11. But FTW's endorsement of Pinnacle Quest International is slightly disturbing, especially after reading what Daniel Hopsicker has to say about this.

Saturday, October 23, 2004

Suse 9.1 is the best distro I have tried out so far (the others being Debian and Mandrake). Here is where the backing of a company like Novell comes through. No evidence of the annoying little nuisances that I faced with Mandrake (mind you, these annoyances in no way made Mandrake unusable). The only gripe I have is that the 9.1 Personal edition does not come bundled with developer tools (no gcc, xemacs, etc.). You have to go to the Suse mirrors for them.

Update: Turns out Suse already had a fine tradition of reliability and engineering excellence prior to being bought by Novell.

Thursday, October 21, 2004

What do normal people do when they can't sleep? They count sheep. Being a nerd, I have come up with a mechanism suitable for such people (courtsey EGB): trying to determine whether the number 27 has the Wondrousness Property. A number is said to possess this property if it is reducible to 1 by applying these transformations to it:

1. If it is is even, divide it by 2
2. If it is odd, multiply it by 3 and add 1 to the result
3. If the result is 1, stop; else go to step 1

It goes without saying that you have to perform these computations in your head.

Spoiler: 27 does possess this property, but I can assure you that unless you are an insomniac, you will not work your way to this conclusion within a reasonable amount of time.

Monday, October 18, 2004

Firefox 1.0PR (Linux version) has the annoying habit of dying out on me when I click on a link that opens a popup window. This doesn't happen always, but more than half the time. I would have reported this to Bugzilla, but it asked me to jump through so many hoops before accepting a bug report that I lost interest. There is supposed to be a Quality Agent that should kick in when an exception occurs, but no evidence of this so far. The saving grace is that at least the "Profile in use" message doesn't appear when I restart Firefox after the crash [*].

[*] Useful tip to remember: if you get this message after a crash, delete the file called 'lock' in the Firefox profile directory (usually ~/.mozilla/firefox/*default*)

Update: this problem vanished when I moved to Suse 9.1; however I had to fix another issue before I could get Firfox to work in Suse.

Update #2: Nope, the problem still persists, though on a random basis. But at least the Quality Feeback Agent faithfully calls home and whines about the problem now.
The Aussies must be a happy lot, having managed to save the second test. This is where their calibre shows; any lesser team would have lost heart when they have a second innings lead of just nine runs, with two days to go and their top batsmen back in the dressing room (not to mention the prospect of facing Kumble and Harbhajan on a turning/bouncy wicket). But they gamely hung in there and managed to set a pretty decent target for us (who knows, they might even have bowled us out for less than 200 if the weather hadn't turned out the way it did).

Something tells me this series will be very different from 2001. The Australians may even end up winning it.

Saturday, October 16, 2004

I was thinking about how the war on terror started with 19 men armed with nothing more than boxcutters hijacking airliners and slamming them into buildings and metamorphosed into a crusade for the destruction of WMD capabilities in the hands of terrorists and their sponsors. I had already typed these words on the screen:
"It has been more than three years since 9/11 and there is no evidence that anybody has attempted a WMD-based terror attack in this time period".
completely forgetting the anthrax attacks that immediately followed 9/11. This lapse of memory has convinced me that the anthrax attacks were staged precisely to link terrorism with WMD. The way the investigation has been conducted (click here for a good overview of this) has also reinforced my belief. It is almost a certainty that world events would have followed a different course had either 9/11 or the anthrax attacks happened in isolation (i.e. not both of them together).

Wednesday, October 13, 2004

Patiently downloaded Croquet last night. After reading through the short-on-specifics- and hype-laden introduction and FAQ (as Hani Suleiman would say, there is quite a lot of arm-waving going on there), my curiosity was piqued and I decided that the 60 MB download was worth it. Sad to say, but it wasn't. I simply couldn't see where Squeak ends and Croquet begins. It is not very obvious what Croquet brings to the table. Both seem to have a goal of becoming a guest OS (or at least the default desktop). May be I need to dig deeper. But based on first impressions, definitely a disappointment.

Monday, October 11, 2004

Having heard so much about Test Driven Development, I was wondering how easily and effectively I could incorporate this into Vajra. I am currently in the process of writing the native methods for the few classes that the JVM author needs to implement in order to integrate the JVM with Classpath. Each such class has an associated .so file that contains the native methods for that class. If I were to write a unit test for these native methods, let's say for the class java.lang.reflect.Constructor, and more specifically for the method getDeclaringClass(), what would I need?

The native method definition looks something like this:

JNIEXPORT jclass JNICALL Java_Constructor_getDeclaringClass(JNIEnv *env, jobject obj) ;

In order to unit test this method from a harness, I should have these things available:

1) A functional JNIEnv pointer
2) A jobject

Both of these structures are either direclty mapped to internal classes in Vajra, or are members of these classes. If I need to correctly initialise these structures, those internal classes will have to be initialised first. This brings into play the entire internal object hierarchy of Vajra, with all its dependencies, some of which border on the incestuous.

There are two ways I can proceed here:

(a) invoke the virtual machine on a sample class that in turn makes the call to getDeclaringClass() in its main method, thereby invoking the native method

(b) create stubs for all the internal objects I need to be initialised before I invoke getDeclaringClass() from the harness.

Option (a) is the easier option for me, but is more of an integration test. Option (b), while technically the correct way to do unit testing, would involve a humongous effort at setting up the testing environment.

I do not know whether the 'failure' (if I can call it that) of the unit test approach in this instance is due to the inherent complexity of the problem or because I am going about this in the wrong manner. I suspect that the answer lies somewhere in between. It could also be that the design deficiencies in Vajra (a lack of testability) play a part in this.

Sunday, October 10, 2004

Just wondering: are people who do not know HTML (i.e. the non-techies who use their computers only for email and browsing) aware that when one web page is linked from another, the anchor text can be anything at all and need not reflect the actual web page title? I got to thinking about it after seeing Eschaton link to a New York Times story with the caption "Unfuckingbelievable".

Saturday, October 09, 2004

Now this is a great sig (found it on alt.politics):
The GOP recently announced that it is changing the Republican emblem from an elephant to a condom because it more clearly reflects the party's political stance. A condom stands up to inflation, halts production, destroys the next generation, protects a bunch of pricks, and gives one a sense of security while screwing others.
Freepops is a great utility to get POP3 access to your web mail. It works with all the popular services (Yahoo, Hotmail, Gmail). Now I have the best of both worlds; offline access to my emails as well as the ability to access my emails from the the 1 GB mail server inbox from anywhere. But I think accessing Gmail through POP3 violates their Terms of Service. Need to check up on this...
Here is another this-could-happen-only-in-America story. Is it just me, or does anybody else feel that it is too much information to know that there was "zero shit factor" each of the 298 times that Ms Bentley did it?
Not only does xymphora come up with very insightful comments, he can be wickedly funny at times as well:
Israeli spies found in the U. S. are like a fishing show: it's always 'catch and release'.
It looks like the extensions have caught up with Firefox 1.0PR. When I re-installed 1.0PR and tried to download the extensions that I have come to consider as indispensable (Adblock [*], DictionarySearch, GMail Notifier and Firesomething [OK, I admit, this one is more of a humour thing]), I found that these extensions happily admitted to supporting 1.0PR and installed without any problems.

All is well in the kingdom and the subjects are happy.

[*] IMHO, this extension is the single biggest differentiator between Firefox and Opera (along with Opera's inability to support Gmail).

Friday, October 08, 2004

The bozos responsible for the Fair and Lovely (tm) ad that features a girl aspiring to be a cricket commentator should be made to bend over and experience the pleasure of a semi-sharp (preferably rusty) object savaging their unmentionables.

This ad peddles the impression that no matter how good a girl is, it is superficial things like the color of her skin that would decide whether she gets ahead in life.

Wednesday, October 06, 2004

The Technorati problem has been fixed (not sure how, though). Just goes to show that any problem would simply go away (or cease to be your problem) if you ignore it for sufficiently long.
One more person to add to my list of people with bad karma: Ram Jethmalani. This guy has no scruples whatsoever; he will defend any client that approaches him, no matter how odious they are (some of his notorious clients: the LTTE, Harshad Mehta). It wouldn't matter so much if he did not possess such a sharp intellect. He makes use of this gift to indulge in all kinds of sophistry and get his clients (who are probably guilty as sin) off on technicalities when there are so many noble and worthy causes which would love to have him on their side.

Tuesday, October 05, 2004

Some hilarious stuff.
As promised, here is a list of some lousy sigs:

1. This is not a sig. It is a figment of your imagination.
2. This SIG pulled due to lack of funding. (This damn war is costing too much!)
3. Sig? what Sig?
4. why have a sig at all anyway? It's not required is it? oh damn! now I have one. nevermind.
5. My sig is blank, I typed this by hand.
6. This signature is largely concerned with Hobbits
7. If you recognize me at all, you probably recognize me by this sig.
8. No sig
9. This space intentionally left blank.
10. vi ~/.emacs
11..sigs are a waste of data...turn them off...

Saturday, October 02, 2004

Back in Chennai after a two-week trip to Mumbai for attending a training program. Mumbai is a great city in all respects, except for the condition of its roads. The timing of the visit was also right; the monsoon was just tapering off, producing some excellent weather, with cloudy or pleasantly sunny days with some rain thrown in. My visit also coincided with the Ganesh festival. The fervour shown by the people in celebrating this has to be seen to be believed. The beating of the drums as the idol is taken for immersion in the sea is pretty exhilarating.

Here is the solution to the Smalltalk trivia question: if you type 'class' an odd number of times after anyObject, you would get 'Metaclass'; for even numbers, you would get the class object of Metaclass, i.e., 'Metaclass class'. If you are wondering what the heck a metaclass or a class object is, welcome to the wonderful world of Smalltalk, where Everything is an Object (tm).