The Wayback Machine - https://web.archive.org/web/20170630210730/http://www.advogato.org/person/rmathew/diary.html?start=17

Older blog entries for rmathew (starting at number 17)

Hear Ye, Hear Ye!
Planet Classpath has started collecting entries from my diary!

GCC
Since there is no way my hopelessly unreliable dial-up link at home is going to let me synchronise with the GCC CVS repository (which is around 234MB of checked out files), I checked it out elsewhere(?), archived it and brought it home - from that point, checking out differential updates became possible even on my otherwise useless link. Now I finally have a CVS checkout of GCC that can be kept as updated as I wish.

What took me so long to implement this was the time taken to figure out a way of using TCP/IP over HTTP behind a proxy server so that CVS could be used, a way of carrying large amounts of data back home and the time taken to move my glutius maximus.

So I applied for, and got, write access to the GCC CVS this week, albeit not without problems (why do I always run into such things?).

Bootstrap
In one of those now rare moods that used to be so common when I was new to Linux, I spent most of my week simply updating almost every package on my system to the latest stable release by compiling from source, including glibc! Much of it was a breeze (yes, even glibc), but Qt and KDE gave me the most grief - for some reason, uic from Qt simply omits the KDE headers required to access custom KDE widgets from KDE applications, causing the builds to irritatingly break every now and then. I think it is the fault of the ".ui" files in the KDE distribution, but wouldn't they have built and tested the distribution before release? I am confused, but I haven't found any answers via Google yet. >:-(

GCC keeps regressing in compile speed, especially for C++ code, with the result that Qt/KDE took an enormous amount of time to build with GCC 3.3.3 - I felt like going with Gtk+/GNOME just for this reason! But for some strange, possibly idiotic, reason, I persisted and the result is I must say quite pretty - KDE 3.2.1 feels much faster and is so gorgeous to look at! (For some reason, my display wallpaper change does not take effect at all, though Konqueror is able to display all these wallpapers just fine - does anyone have an idea why?)

An awesome side-effect is that everything is now rendered in TrueType fonts, albeit with so much weird anti-aliasing that it becomes difficult to read text for long. (A few years ago, I wouldn't have believed that this is going to be my primary complaint with my Linux desktop. :-) Who says we haven't made progress here?)

Some time back, I stumbled upon "Cygnus Foundry Java Edition - Architecture and Design Manual". This document is somewhat dated and describes the plans more than what really has been implemented in GCJ, but it is still a good read and I would highly recommend it to anyone trying to understand GCJ.

I had my "Aaaahhhh!!" moments of comprehension reading this document, especially with the "Stack Slot Compilation", "Class Metadata", "Debugging Interpreted Java", "C/C++ and Compiled Java", etc sections.

Mark Wielaard (mjw) has created "Planet Classpath", a wonderful consolidation of weblogs maintained by GNU Classpath hackers. Kudos to him.

This weekend I spent time reading "The Java Virtual Machine Specification", something that I should have a done a very long time ago. I didn't finish it and I didn't understand everything, but a lot of things have become much clearer, including the meaning of (ID[Ljava/lang/String;)Ljava/lang/Thread;. ;-)

I also played around with Jasmin, an assembler for the JVM.

In 1995-96, when I was in the final year of my undergraduate studies at IIT-K and Java was this new and cool language for creating web animations, most of us learnt this language and played around with it. "HS" was a guy who went beyond the language and used to play with the class file format and raw JVM instructions - he was promptly labelled a "weirdo" and people used to make fun of him behind his back, but were still in awe of him.

I am such a weirdo myself now. :-)

But seriously, the JVM architecture is quite simple and the instruction set is quite high-level and simple - no decent Java programmer will have much difficulty in understanding it. It is worth a dekko.

26 Mar 2004 (updated 26 Mar 2004 at 12:07 UTC) »
tromey continues to blog albeit elsewhere!

He seems to be working on a new frontend for GCJ.

Now why don't I get to know of such cool things earlier? :-(

BTW, I finally get to see what he looks like!

Who would have thought this was the reason for this!

Tree-SSA is being merged into the GCC mainline! This project brings in an optimisation framework for GCC Trees based on the Static Single Assignment (SSA) form. GCC uses Trees as one of its Intermediate Representations (IRs) - the Register Transfer Language (RTL) being the other IR.

Trees are being cleaned up (simplified and made language independent) into the new "GENERIC" representation, which will then be simplified further into the "GIMPLE" representation. More details can be found in the proceedings of the 2003 Annual GCC Summit. (See the papers "Tree SSA - A New Optimization Infrastructure for GCC" by Diego Novillo and "GENERIC and GIMPLE: A new tree representation for entire functions" by Jason Merrill.)

The current mainline now has "Variable Tracking", that allows GCC to more accurately track and describe variables in the generated debug information even after optimisation - even with -fomit-frame-pointer! As a result, -fomit-frame-pointer will become the default for the x86 backend, freeing up a much-needed register on this starved architecture. You will however minimally need GDB 6.1 to be able to correctly debug with the generated location lists. This version has not yet been released though.

2 Nov 2003 (updated 2 Nov 2003 at 02:14 UTC) »

Since APM was a nice feature to have, especially given the ability to properly power-off the machine with a "shutdown -h now" under APM, I enabled it again in the kernel but turned off the "Enable console blanking using APM" option - this seems to work perfectly well.

31 Oct 2003 (updated 31 Oct 2003 at 19:07 UTC) »

The graphics card upgrade caused me immense trouble with Linux - the machine would freeze whenever the X server exited or when virtual console blanking kicked in.

After much troubleshooting and hunting over the Net, I finally managed to solve the problem by disabling APM in the kernel. Phew!

I was not terribly excited by the knowledge that the card is made by "Robanton", apparently a Taiwanese company whose site works no more.

29 Oct 2003 (updated 29 Oct 2003 at 07:22 UTC) »

After several months, I finally laid my hands on the nVidia GeForce 3 Ti 200 that I had bought off eBay. With this upgrade, my system now scores 3968 on the 3DMark 2001 gaming benchmark - an increase of more than six times over my original configuration!

I hope this is just about enough to play Half-Life 2 and Uru. :-/

I noticed that the LexarMedia JumpDrive 256MB USB drive that I bought sometime back was actually capable of storing only 245MB! Sure enough, this was because they use 1000 bytes per kilobyte and 1000 kilobytes per megabyte to advertise storage space provided by the device like hard disc manufacturers do, instead of 1024 bytes/KB and 1024 KB/MB that is used by almost all operating systems. Uggghhh!!

By the way, the replacement for the defective Visoly Flash Advance Xtreme 128M Card arrived and is working perfectly well. I am extremely pleased with the great service from Success Compu (HongKong).

My hacking on GCJ has been quite erratic and inconsistent - I feel really bad about it. I hope to get to speed on this shortly (don't we all?).

I have been reading Peter van der Linden's excellent book "Expert C Programming: Deep C Secrets" - it is thoroughly enjoyable and is the first book on C after "The C Programming Language", Second Edition, by Kernighan and Ritchie that I really liked. Otherwise one only gets to see such horrendous titles as "Let Us C" (which is sadly a textbook for C in a lot of Indian colleges) and "Teach Yourself C in 24 hours".

van der Linden has a cool and humourous style of writing and obviously knows what he is talking about. Very highly recommended to anyone who likes programming in C.

My LexarMedia JumpDrive Secure USB 256MB Drive arrived yesterday after I won it in an eBay auction - what a cool and really nifty thing! Unfortunately, I had to literally hack out a portion of the drive so that it could fit into the weirdly designed USB port of my office machine, but it works perfectly well otherwise.

I now have "deferred broadband". :-)

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