*** MOVED ***

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

2005-02-22

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!

(Originally posted on Advogato.)

2005-02-18

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.

(Originally posted on Advogato.)

2005-02-16

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.

(Originally posted on Advogato.)

2005-02-14

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?

(Originally posted on Advogato.)

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.

(Originally posted on Advogato.)

2005-02-10

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.

(Originally posted on Advogato.)

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

(Originally posted on Advogato.)