*** MOVED ***

NOTE: I have merged the contents of this blog with my web-site. I will not be updating this blog any more.


APM and Graphics Card Again

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.

(Originally posted on Advogato.)


APM and Graphics Card

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
works no more.

(Originally posted on Advogato.)


nVidia GeForce 3 Ti 200

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.
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

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?).

(Originally posted on Advogato.)


"Expert C Programming"

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

I now have "deferred broadband". :-)

(Originally posted on Advogato.)



I bought a Visoly
Flash Advance Xtreme 128M Card
for the GBA and it
turned out to be defective! Uggghhhhh... I have sent it
back to the store for repair or replacement.

I have also bought a Lexar
Media JumpDrive 256MB Secure USB Drive
off eBay
and am waiting for its arrival. Let us hope this one
does not turn out to be a dud!

(Originally posted on Advogato.)


PC Upgrade


I upgraded my home PC with some RAM (512MB that should have
been recognised as 784MB - see my previous diary entry)
and a 750MHz P3 bought off eBay and I can see the
dramatic improvement this upgrade has brought to my
system compared
to the 128MB RAM and a 450MHz P2 that I had on this PC.

My system now scores 1280 on 3DMark
compared to 585 before the upgrade! More importantly,
GCC 3.4 now does a clean bootstrap in ~2 hours instead
~3.5 hours earlier!

I now eagerly await my GeForce 3 graphics card, also
bought off eBay, so that I can enjoy Half Life 2!

(Originally posted on Advogato.)


Unnecessarily Obsolete Hardware

The PC Hardware scene is crazy - my home PC is around 3.5
years old and it is already very difficult to find upgrades
for it, especially CPU and RAM. I thought I finally got a
great deal on two PC133 256MB RAM modules off eBay, but
to my utter dismay found out that my PC recognised only
half the capacity of each module!

After much research on the web, I found out that not
all PC133 256 MB RAM modules are the same
as far
as the Intel 440BX chipset, that lies at the heart of
my ASUS P3B-F motherboard, is concerned.

The most irritating thing about this is that there is
no easy way of telling whether a particular PC133
256 MB RAM module is suitable for the 440BX or not, even
by looking at the normal module details given on the
site of the vendors.

When I had bought my ASUS P3B-F motherboard, it was
one of the best and most scalable motherboards I could
afford and it has already been obsoleted and has become
the primary bottleneck in my system. This is so sad.

My PC is still immensely useful to me and performs
most of the tasks that I throw at it quite well.

(Originally posted on Advogato.)


Long GCC Bootstrap Times

Yikes! GCC 3.4 takes 3 hrs 35 mins to bootstrap C/C++/Java on my machine compared to 2 hrs 30 mins for GCC 3.3 - that's an increase of 40% in compilation times between adjacent releases! Not good.

That said, improving compilation times is already a high priority item identified by the GCC maintainers, so by the time 3.4 is released, we should hope to see much better times.

Two clean bootstraps and a libjava testsuite run - and more than 8 hours of my weekend were gone. Uggghhh! :-(

(Originally posted on Advogato.)


GCC Mainline Snapshots

Oh Joy! Mainline snapshots of GCC have also become available now apart from the normal release branch snapshots. This means that people on slow and unreliable links like me can keep up with GCC development.

On the other hand, trying to wade through two large underdocumented code bases - one at work and the other at home (GCC) - is somewhat taxing and I invariably end up too tired to hack on GCJ on a weekday by the time I reach home. :-(
Michael Tiemann's account of how Cygnus was created and sustained itself makes for fascinating reading! IMHO this company, now merged with RedHat, singlehandedly contributed immensely to the GCC/binutils/GDB projects and really laid the foundation for them to become what they have - we in the Free Software world really owe them a lot. Kudos to these cool guys.

(Originally posted on Advogato.)


Package-Private Access in Java and GCJ

I managed to get package-private access checking partially working again in GCJ - as Tom tromey had predicted, this did turn up a bunch of illegal accesses in libgcj that were not being caught all this while! Some of them are trivial to overcome, some not so.

Things like foo.Bar.snafu( ) still manage to slip through GCJ though if foo.Bar is a class in a different package with package-private access and snafu( ) is a method with public access. Ditto for fields.

This made me try to go through the front-end code to figure out where to make the change for checking this and Tom was proved right once again - though the parser proper is
simple to understand, the analysis stage went straight over my head and repeated attempts to comprehend it have proved futile.

That doesn't mean that I am going to give up yet, but it
does mean that I am filled with immense respect for
people who have been able to work their way through the
front-end code and actually improve it!

It also tells me how mistaken I was about my
programming capabilities. :-(

(Originally posted on Advogato.)


GCJ Bloggers

For some wonderful and happy reason, tromey,
and Jeff have all suddenly become active on
again, all at the same time, after being dormant for
several weeks! For some weird reason, they had also all gone
dormant at about the same time.

This weekend I finally found out that the intermittent
and increasingly irritating crashes on my home PC while
building GCC on Linux was actually due to a defective RAM module - after removing the offending module, everything was back to normal, even after extended stress testing.

(Originally posted on Advogato.)


No to Windows Programming

I do not want to code for Windows any more!

As a developer, I have always enjoyed working on Linux
and have hated working on Windows. In the recent past,
I have been exposed to all sorts of Windows ugliness
trying to make GCJ work on Windows - I did not enjoy
it at all!

This just is not my cup of tea - I love working
on Linux and that is what I shall do.

(Originally posted on Advogato.)