Older blog entries for rmathew (starting at number 87)

"How to Solve it"
I found this classic book on problem-solving by G. Polya to be worthy of every praise that has been heaped on it by generations of budding mathematicians and programmers. It requires a bit of perseverance and suspension of cynicism to fully benefit from this book. As with most self-help books (if I may use the term), the basic approach and the given heuristics are rather simple and "obvious", but the real benefit for the reader lies in appreciating their significance and in applying them consistently to solving problems. Very highly recommended.
gmane.comp.java.harmony.devel
Some kind soul has helped the Harmony mailing list be available on Gmane as the newsgroup "gmane.comp.java.harmony.devel". Thank you!

As was also observed by someone else, I find it rather amusing, and sad, that several years of effort on GCJ, Kaffe and Classpath did not seem to generate as much buzz as a single announcement of an intention by the ASF to create a J2SE 5 implementation.

"Technology and Courage"
"Technology and Courage" (PDF) by Ivan Sutherland. (Thanks Prakash!)

Harmony: Quo Vadis?
The announcement of the Harmony project which aims to create a Free reimplementation of J2SE 5 under the umbrella of the Apache Software Foundation (ASF) seems weird to a lot of people (including yours truly). The initial FAQ does not help much either.

My personal opinion is that if you need Free (as in liberty) Java you have either Kaffe or GCJ depending on whether you prefer the traditional Java execution model or ahead-of-time compilation, respectively, not to mention many other VMs. Both depend on GNU Classpath to provide an implementation of the humongous and unwieldy "core" Java runtime class libraries. Without any elaboration, the "All of these efforts provide a diversity of solutions, which is healthy, but barriers exist which prevent these efforts from reaching a greater potential" from the announcement seems hollow and a serious case of the NIH syndrome.

Lastly, Java isn't even that great a language or has a great runtime that so many talented hackers should be wasting their time on it. Isn't there anyone who can come up with a good general purpose programming language with a good and minimal standard runtime environment and a Free language and runtime specification? I am talking of an imperative language with the ability to easily do OO-programming but where OO is not sickeningly mandated.

IITs
(Disclaimer: I am an alumnus [B.Tech.] of IIT Kanpur with Computer Science as my major, so read the following rant with this fact in mind and your preferred measure of salt.)

I feel that in the last few years the Indian government, irrespective of the party that comes to power, seems hell-bent on killing these awesome engineering institutions which have a largely justified and well-earned reputation worldwide. They started by almost doubling the number of available seats in some departments, notably Computer Science, then by increasing the number of institutes branded "IIT" (from the original 5 to a current target of 11 in total) and finally by making the entrance exams (JEE) much easier for students to crack!

In the short term, they will be able to boast of a much larger number of IIT graduates but will they be able to ensure the quality as well? Are they not killing by dilution the very brand that they wish to exploit? Sheesh!

Worm Bites Hard
Once again, my Hotmail account is being hammered really hard by a burst of spam almost all of it containing the payload for the WORM_SOBER.S worm! Unlike Gmail, Hotmail doesn't show me the IP address from where the message was received unless there is an explicit "X-Originating-IP" header, so I can't trace it to its origins. The irritating thing is that Hotmail already knows that the payload is a worm and thus refuses to let me download the attachment. Why can't they give me an option to tell them to delete such mails immediately upon receipt?

The rate of incoming junk is far higher than previous such bursts and I have to constantly keep cleaning my mailbox. Interestingly, some of the forged sender addresses indicate that someone reading the GCC list has been infected hard - I can't imagine how else the worm would have got hold of the email addresses of such a disproportionately large number of GCC hackers as well as so many CS-related sites.

R.I.P. JumpDrive Secure (16 Sep 2003 - 2 May 2005)
After over 1.5 years of continuous service, my JumpDrive Secure 256MB USB drive has gone dead after I dropped it on hard floor in a moment of unpardonable carelessness yesterday. It was a good buy and it was tremendously useful. On Lexar's site for the JumpDrive Secure, there are incredible testimonials of this drive having survived various ordeals, including being washed with a person's laundry, and emerging unscathed. Alas, no such luck for me!

I even tried to pry it open and see if there was an obviously loose component anywhere that I could set right, but it's literally a couple of chips soldered onto a small PCB connected to a USB plug. As with almost all purely electronic devices, I cannot do anything here. This is rather unlike mechanical or simple electrical devices where I usually can figure out the problem and sometimes rectify the problem.

libtool and libjava Build Times
rth did a few experiments on the libjava build times in the current GCC mainline and found that libtool alone took 2/3 of the total build time for libjava! Very interesting.
Firefox: 50,000,000 Users and Counting
Firefox has been downloaded by at least 50 million users worldwide. Awesome! Congratulations to the Firefox hackers for creating such a wonderful browser loved by so many people.

I hope some ostriches get their heads out of the sand and take a look at the world around them. :-/

GCC Bootstraps
As anyone working on GCC would know, GCC bootstrap times are getting worse. It is so excruciating on some platforms that it is nearly impossible to keep those platforms up-to-date even if people want to. Of course, many more optimisations, new languages and their ever-bloating runtimes, more comprehensive support for language standards, etc. make it inevitable that bootstrap times increase, but does it really have to increase so much?

On my home PC, a "c,c++,java" bootstrap takes more than three hours and a complete testsuite run takes a lot of time as well. Considering that any change to the main compiler needs a complete bootstrap and testsuite run twice over (once without and once with your patch), that too in the best case of no regressions, is it small wonder that many people who might want to otherwise volunteer to help with GCC development just cannot afford to? I have only so much free time left after my job and my family and many a time I feel I am much better off reading a good book or watching a good movie, for example, than literally losing sleep over GCC. Small wonder then that almost all of the prolific contributors to GCC either work on it as a part of their job or on really fast machines with loads of memory (or both).

Perhaps it is not a good idea after all to have a single compiler codebase support so many languages and runtimes at the same time. Perhaps it would be better to start over by creating a well-defined (in terms of the structure and contract) set of language and platform-independent intermediate languages (different avatars of GENERIC and RTL) and have the front-ends and the back-ends as separate projects from the core framework. Of course, if things were this simple people would have done it already, but a man can dream, can't he?

Miscellany
QEMU 0.7.0 is available now.

"Fortress" (PDF) is a new language from Sun. (Yes, courtesy LtU once more.)

"You and Your Research"
Today I read the transcription of a greatly inspiring speech given by Richard Hamming, courtesy Lambda the Ultimate.
Qt Assistant as a Java API Viewer
I was trying to learn Qt to create a simple Java API Viewer on Linux for my own use, when I stumbled upon the fact that Qt Assistant can be configured easily for displaying one's own help documentation. With a little bit of ugly shell scripting, I was able to create a Qt Assistant "profile" from the JDK documentation index files and now I have a simple but quick and effective JDK API viewer on Linux. Cool!

Needless to say, my interest in learning Qt has evaporated and so has my desire to create a native Java API viewer for Linux.

78 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!