Older blog entries for rmathew (starting at number 60)

GCJ, Eclipse, Glade
While reading the user comments on an OSNews story about "Escape the Java Trap!", I came across this wonderful Flash demo by Andrew Overholt showing off Eclipse running with GCJ and using Glade! It's a different thing to read about this in the mailing lists but an entirely different thing to actually see it in action! Cool!
GCC v/s ext3fs
I build and test the ever bloating mainline GCC at home on a 2GB ext3 partition (that used to contain the whole of my Linux installation in days gone by). It contains GCC CVS sources, a stripped snapshot of the sources to play with and the GCC build folder. Today the bootstrap of GCC failed complaining that there was no space left on the device for the final libgcj.so - a df -k showed that 93% of the space was being used. A dumpe2fs showed me that 5% of the filesystem was reserved for the super-user and the block size was 4K - I moved the data out, reformatted the partition to use 1K blocks and 0% reserved for the super-user and moved the data back in. Now the GCC bootstrap has succeeded and df -k still only shows 70% usage. Pick your lesson to learn from this incident.

By the way, the nVidia 6629 drivers installed and worked perfectly with kernel 2.6.10 and X.org server 6.8.2 - the mistake I made the last time was to not have /usr/include/linux/autoconf.h when I had copied over the kernel headers after building glibc. This gets built when you do a make menuconfig and configure the kernel.

this.ego( ).puncture( )
Intrigued by Sunitha's comments, I checked out a couple of problems in one of the practice rooms in TopCoder. I performed abyssmally - I only got 179 points on a 250 points problem, 242 on a 500 points problem and couldn't even finish a 1000 points problem!

The problems were not difficult per se, but 8 years of "enterprise" software development have blunted whatever little ability I used to have to solve such problems. On the two problems that I did manage to finish, I was stuck for a while with my mind drawing a complete blank on how to solve them - just jammed. Only after a while did my mind clear up a bit and I could code the solutions, but by then I had lost precious time that cost me points.

On the other hand, these are the sort of problems that someone who has absorbed R. G. Dromey's excellent book "How to Solve It by Computer" will find easy to approach and solve well in time. That book seems utterly underrated, as does the classic problem-solving book that was its inspiration, "How to Solve It" by G. Polya. The problems also had guaranteed "good" inputs, so that one does not have to worry about input validation or boundary conditions.

Trouble in QEMU Land
QEMU is a superb (fast and reasonably accurate) emulator for x86 and other architectures and a viable alternative to VMWare. Fabrice Bellard, the extremely talented author of the program, has now written the QEMU Accelerator Module which apparently drastically improves x86-on-x86 performance. Unfortunately, this is provided as a binary-only module and under a proprietary (non-Free) license. He says he would open up the sources only if some company sponsors the effort or he is somehow compensated for the loss in revenue. This has led to flames, "understanding" posts, etc. on the QEMU mailing list.

GCJ and OpenGL
Thomas Fitzsimmons implemented JAWT for GCJ and Anthony Green built on that work to let JOGL run with GCJ! This is sweet - could GCJ become a viable platform some day to write cross-platform 3D games?

The Art of Computer Programming (TAOCP)
"A classic is a book everyone wants to have read, but nobody wants to read!" - Mark Twain.
Most coders seem to agree that the TAOCP books are classics, but there seem to be precious few who have actually read it. Moreover, I read some alarming highly-moderated comments on Slashdot recently where people claimed that TAOCP is not as useful as it is made out to be and one should read some other book instead.

To be frank, the TAOCP books would have met a similar fate to the other classics on my bookshelf had it not been for the fact that I read them when I did not know yet that they were supposed to be classics! This was thanks to my father who brought Volume I ("Fundamental Algorithms") from his office library to me seeing my interest in computers while I was in high school. I read it from cover to cover delighted by the ground-up approach, the no-nonsense attention to details, the quirky but immensely insightful use of MIX and the wonderful exercises. I asked him to get the other volumes too, but could not read them as thoroughly as I had the first one.

To this day, whenever I have a doubt or I feel like knowing something more about a particular coding problem, I turn to one of the TAOCP volumes and I have seldom been disappointed. I just wish the newer generations of coders understand and appreciate this.

As an aside, among the few reasons that I respect Bill Gates as a person is because of the following quotes attributed to him:

  • "If you have read this book [TAOCP] from cover to cover, send me your resume!"
  • "The only magazine I take the time out to read is The Economist"
(These are as I remember them and therefore not perhaps correct verbatim.)

Google India Code Jam (GICJ) 2005
The newspaper advertisement yesterday announcing the Google India Code Jam for 2005 has created quite a stir here. Notwithstanding the bragging rights associated with winning a coding competition open to the whole of South Asia, it offers a total of 16,00,000 rupees in prize money to the top 50 coders and a chance of an offer of employment from Google.

Dial-up Speeds Under Linux
I was not happy with the dial-up speeds I was getting under Linux compared to Windows and finding no simple way of improving it, I just changed the modem initialisation string from "ATZ" to "ATZ0&K3%C3+MS=12,1,33600,56000;" after reading its manual.

This has had an amazingly good effect on the speed - it is not a placebo effect as my wife initially claimed since I could prove it using kppp speed graphs. For the curious, it says "initialise to the default modem profile (Z0), use hardware flow control (&K3), use all compression (%C3), use V.90 (56k) with automode turned on to negotiate the best speeds and only accept a minimum speed of 33600bps and a maximum of 56000bps (+MS=12,1,33600,56000;)".

However, as a user I shouldn't have to tweak things like this - they should automatically have been taken care of in the first place!

glibc 2.3.4
On my machine, glibc 2.3.4 compiled rather painlessly with GCC 3.4.3 and using Linux kernel 2.6.10 headers. It installed nicely and has been running quite smoothly with all the installed applications that I checked it with. The only "application" that has shown problems with it is the (binary-only) "nvidia" X11 driver. Fortunately, the alternative "nv" driver does work properly, so I'll stick to it till Nvidia updates its driver to work properly with NPTL and 2.6.x kernels.

So why do people bitch so much about glibc?

GCC Wiki
Daniel Berlin's GCC Wiki is now officially hosted on GCC's web site. As soon as I came to know of it, I vandalised it with a stub article for GCJ. Others will hopefully add more material to it and make it actually usable by GCJ newbies.

Miscellaneous
Returning from my vacation (Goa!), I found that my Hotmail account was thankfully still there despite the deluge of spam that it was being subjected to in the last couple of weeks. Of course, it had exceeded its quota quite early on, so even some genuine messages must have bounced.

Nokia mobile phone users might find this information useful.

glibc 2.3.4 was finally released yesterday. Time to mess with my machine's happiness. ;-)

Spam
My Hotmail account with its tiny 2MB of storage is getting spammed real hard these days by some idiot peddling male organ enhancement pills. The situation is so bad that my account exceeds its storage limit overnight and leads to bounced genuine messages!

The messages are routed through different SMTP servers (most likely compromised boxes) and have different "From" and "To" headers. They do however have the same "Subject" and message body on a given day. This makes it well nigh impossible for me to create any filter to weed these out.

I don't know what will happen as I proceed on a week long vacation. :-(

If you wish to reach me, please use my Gmail account instead of the Hotmail account.

A Tinkertoy Computer That Plays Tic-Tac-Toe
I came across this reproduction of an article by A. K. Dewdney in his "Computer Recreations" series in Scientific American. I am not exaggerrating when I say that this was the series that fundamentally altered the way I looked at computers and programming. I long to read such articles now... ~sigh~

Of course, I already own copies of "Armchair Universe" and "The Computational Beauty of Nature", but a regular series like this would be quite welcome.

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