Older blog entries for rmathew (starting at number 119)

OpenOffice.org v2.0
I have been waiting for this release for quite some time now, so as soon as it came out, I downloaded the Linux tarball. To my horror, I find that unlike previous releases it does not contain a simple installer but many RPMs! Why did they have to do this? It is so silly. An alternative for me is to build it from sources, but I do not have the energy or the enthusiasm to do it. Sheesh!

SPAM
I made the mistake of inadvertently posting a single message to comp.compilers using my office email address and within a day I was being spammed hard! That account had remained SPAM free for almost three years and it is rather painful to see it in the hands of these idiots. Thankfully, Thunderbird is getting better and better every day at detecting this SPAM, so there is some relief.

Subversion and GCC
GCC would be moving to Subversion around this weekend. In general, I feel this is a good move and will probably help our prolific developers a lot. I do have concerns about its alarming usage of disc space relative to CVS though. As it is, my home PC is under a bit of a strain trying to squeeze in GCC mainline and gcjx-branch copies, not to mention snapshots of these that I actually use as working copies, on the hard disc partitions that I have provided to Linux. After the move to Subversion, I will have to make some adjustments to the disc partitions to fit all this stuff in.

However, this will probably have to wait as I would be on vacation in Ooty most of next week.

Dumping Parse Trees
GCJX now accepts an "-fdump-tree" option that prints out the abstract syntax tree of a Java source file to stdout.
A Walk Among The Trees
I implemented a simple pretty-printer for the AST used in GCJX over this weekend. It works just like the debug_tree() function in GCC and is accessed by using the dump_tree() function in GCJX. For convenience, I just change "-fdump-methods" to call dump_tree() instead of dump_method(). That way I can easily see the ASTs created for various Java source files. For someone like me who is new to GCJX in particular and compiler construction in general, this can be quite enlightening.

While debugging the GCJ front-end, I have found debug_tree() to be an immensely useful tool. I hope dump_tree() proves similarly useful for GCJX.

By the way, I added a small page to the GCC Wiki describing how to go about debugging GCJX.

The American Prophet
When the leader of the most powerful nation on this planet talks like this, you desperately wish it is not true.

Digital Nirvana
Apple, Google and Microsoft want to liberate us from the tyranny of folders and file names. You would never have to remember the name of a file or the folder in which you put it in to retrieve it. In a way, this is already how a lot of us use the Internet - I for one, just Google for a page rather than bookmark it and try to locate it within my labyrinthine bookmarks folder. This is good and I appreciate it. However, unlike the World Wide Web, your desktop PC would some time run out of disc space. When that happens, you can either just buy another hard disc or try to clean your existing hard disc. If you choose the latter, how do you find stuff you do not want? These tools make it easy for you to find stuff you want but not what you do not want.

IBM has created a Universal Virtual Computer to solve the problem of digital decay. Does any one else think this is an overkill? Is using well-documented document or image formats with portable reference reader implementations not good enough? What is to stop subtle errors in porting the UVC to new platforms from preventing the documents to be displayed as originally intended?

Madness
After "7/7", Britain seems to have gone bonkers just like the US did after "9/11". If you have access to the latest issue of The Economist, also read "Conference kick-out" in the "Britain" section. Sheesh!
Mauled in ICFPC 2005
Our entry in ICFPC 2005 was mauled by just the judges' cops! Looking at the playback of the robber's performance, I want to hide my head in shame.
Bangalore Computer Graphics Group
Anirban Deb, who is a colleague of mine, has started the Bangalore Computer Graphics Group along with like-minded enthusiasts, which aims to bring together people in Bangalore who are interested in computer graphics (not the Photoshop or Maya stuff). If you are interested in such things, or know of someone who is, spread the word. Their initial plan is to meet at least once a month to discuss interesting stuff and to get to know like-minded people and to eventually become the local SIGGRAPH chapter.

In other news, look who's blogging! Now that Andrew and Tom are blogging, Bryce is the only one in the Red Hat GCJ Triumvirate who doesn't. Who wants to persuade him to blog?

23 Sep 2005 (updated 23 Sep 2005 at 09:05 UTC) »
Miscellany
I have been granted write access to the CVS repositories of GNU Classpath and Mauve. I have also started messing with GCJX (again) that was started by Tom Tromey. It has come a long way since the last time I had taken a look, but it sure can use some help from willing hackers. Would you like to help develop a first-class Java compiler?

By the way, Tom has become one of the Java front-end maintainers for GCC.

13 Sep 2005 (updated 13 Sep 2005 at 17:59 UTC) »
C++ Madness
Compile the following program with "g++ -fno-implicit-templates foo.cpp" and admire the error message that you get. Just how is a mortal programmer supposed to make sense of this?

#include <string>
#include <map>

using namespace std;

int main( void)
{
  map<string,string> foo;
  return 0;
}

The example might look bogus, but consider this: you have been told that explicit template instantiations can some times considerably speed up your build process, not to mention save space used up by the object files, so you begin by creating an explicit instantiation file that you try to populate with template instantiations that are actually used by your program. You compile all other source files using "-fno-implicit-templates", but not the one special file. If you have not caught all template instantiations however, you will hit the monster of an error message that I sought to show per missing template instantiation. You are supposed to then figure out from these error messages which of the template instantiations you have missed out. Should anyone be surprised if you lose all hope at this point and just ditch the idea?

PGP Public Key
I now have my own PGP Public Key (Key Identifier: 6C114B8F, Key Fingerprint: D6E5 B9C2 5522 ED3D 09DC 3B40 61BD 61C7 6C11 4B8F) that I will try to use with my email messages. Of course, this will not work with the web interfaces provided by Gmail and Hotmail, but it works nicely with Thunderbird using the Enigmail extension. I have published this key to a couple of keyservers. I do not foresee being able to participate in a Free Software hackers' key-signing party any time soon, but I have signed the keys from Mark Wielaard, Michael Koch and Andrew Haley for whatever it is worth.

110 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!