Older blog entries for rmathew (starting at number 130)

The Battle for Bangalore
Just when I was wondering how ironic it was to have FOSS.in 2005 and Microsoft's developer bash happen within a week of each other in Bangalore and at the same venue (Bangalore Palace), comes this article. Bill Gates also launched a rather "The Apprentice"-like code4bill contest while he was here, apart from promising to invest 1.7 billion dollars into India. The Times of India and NDTV did not shy from calling him a corny "Geek No. 1" (in reference to a series of hit Hindi movies named "Hero No. 1", "Coolie No. 1", etc.).

So which way would the Bangalore hackers sway?

Despite having a very large number of Software Engineers, I come across only a very few here in Bangalore who are even interested in coding and Computer Science and precious few who are willing to hack on FOSS and give back their changes to the community. For all the brouhaha in the general media about India being an IT superpower, it is a depressing scene for someone who actually likes CS.

Preview of the Next Edition of The Dragon Book
Addison Wesley have put up a sneak preview of what is in the long overdue and much anticipated updated edition of The Dragon Book (a.k.a. "Compilers: Principles, Tools and Techniques" by Aho, Ullman and Sethi). For some insane reason, they have decided to use JavaScript, Flash and pop-ups to show these chapters, prompting instant revulsion in yours truly. I'd rather wait for the dead-tree edition than subject myself to such torture.

www.hackgnu.org To Become Available Soon
Ramakrishnan is giving up his domain www.hackgnu.org. Any Free Software hacker who wants to take it over should contact Ramakrishnan before it lands in the hands of domain squatters.
7 Dec 2005 (updated 7 Dec 2005 at 07:37 UTC) »
Google Quiz in FOSS.in 2005
With a little help from the Google search engine (the irony!), I have found the sources of "inspiration" for the questions asked in the "Google Quiz" (GQ) in the recently concluded FOSS.in 2005.

The first problem was the same as #2 in the problem set for the 9th World Puzzle Championship (Qualifying Test) (PDF). The second problem was the same as #2 in the 2002 US Championship Puzzles. The third problem was the same as #1 in the 2000 US Championship Puzzles. The fourth problem was essentially the same (verbatim, except for the actual numbers) as #22 in the problem set for the 10th World Puzzle Championship (Qualifying Test) (PDF).

Not being someone who solves puzzles regularly (except for Sudoku, of course), I was quite impressed by these problems since most of them involved considering multiple alternatives, proceeding with one of the alternatives and then backtracking and proceeding with another if that proved invalid, continuing till one finds a solution. They should also be fun to solve using computer programs. (I know of at least one person who did precisely that.) I had asked some of the people at the Google booth if I could reproduce these puzzles on my web site to share with my friends, but they were not sure of the copyright issues and clearance for publication. Well, now we know where they got the puzzles from and have found some more interesting puzzles to work on!

FOSS.in 2005
FOSS.in 2005 has finally ended. You can find daily reports and impressions on Planet FOSS.in.

Personally for me, it was a mixed event. I could finally meet some of the people whose work I have admired immensely over the years and I also attended a couple of really illuminating sessions. On the other hand, I didn't get to meet as many people as I had hoped to meet and some of the sessions were bad.

Alan Cox was the star of the event as far as I could tell. He was always surrounded by admirers or people just curious to see how he looks. He always had the Red Hat red hat on and talked very nicely to one and all. Like RMS, he seems to have a bit too much of facial hair and has the same habit of frequently twitching as well. I also met Andrew Cowie (java-gnome), Johnathan Corbet (LWN.net), Sirtaj Singh Kang (KDE) and Harald Welte (iptables/netfilter). By the way, I had imagined Harald to be an old person for some reason all this while so I was rather surprised to find a rather boyish looking young man with a lot of enthusiasm and a cool haircut.

I really enjoyed some of the talks, especially on topics that I knew nothing about. Jaya Kumar's talk on how to put together an embedded Linux system, right from selecting the hardware to customising Linux and burning it into the device, was awesome. The guy really knows his stuff and talks with an infectious enthusiasm on a lot of topics. His other talk on GPL and non-GPL kernel modules was also very nice.

Harald's talk on how he figured out what made up his Motorola A780 mobile phone (that runs Linux), hacking his way to getting telnet access to the phone and finally building and uploading updated kernel and applications was also awesome. He followed it up with a live demonstration. The results of his efforts are at OpenEZX.org. By the way, he uses an encrypted filesystem on his laptop to store everything.

There was a talk on hacking the GCC ".md" machine-description files for a quick-and-dirty solution to a code-generation problem and another on using GCJ with SWIG to interface Ruby with Java. However, I felt that these talks were a bit hurried and would have left most of the audience utterly clueless. By the way, the speaker for the former talk, Amber Ved, had recently fractured his left arm and had it in a sling. It was quite evident that it was excruciatingly painful for him but he persisted and managed to finish his talk. All I can say is, "Wow!". However, I still think GCC is severely under-appreciated and I wish I had put together a talk on GCJ or at least GCC. There's so much that has been happening with GCC that people deserve to know.

Another highlight of the event for me was the Google Quiz or "GQ". This was a set of four logic puzzles handed out to whoever they could lay their hands on and if you completed all four, you had a shot at winning an iPod nano. I really enjoyed solving these puzzles and they kept me busy for quite a bit of time.

Unfortunately for me, the schedule of the talks was such that sometimes I had to make a difficult choice of selecting a single talk among three to four very interesting sounding talks and sometimes I wasn't interested in attending a single talk in a given time slot. "You can't please all the people all the time" and all that. But no one can complain that there wasn't enough stuff going on - this surely must have been the biggest FOSS event ever in this part of the world. I am already eagerly looking forward to attending the next year's event. A big THANKS to Atul Chitnis and his gang of volunteers for pulling this off!

"Hello World" Sans Semi-Colons (Java)
Srikanth has a better solution that works with JDK1.5:

public class Sriki
{
  public static void main( String[] args)
  {
    if( System.out.append( "Hello World!\n") != null)
    {
    }
  }
}
Semi-Colonoscopy
Can you write a valid Java program to print out "Hello" on the standard output without using a single semi-colon in the source code?

When Srikanth asked me this question, my immediate and disingenious response was to hide the semi-colon using a Unicode escape sequence like this:

public class Sriki
{
  public static void main( String[] args)
  {
    System.out.println("Hello")\u003b
  }
}

However, he has a better solution:

public class Sriki
{
  public static void main( String[] args) throws Exception
  {
    if( System.out.getClass( ).getMethod(
      "println",
      new Class[] { String.class}).invoke(
        System.out,
        new Object[] { "Hello"}) == null)
    {
    }
  }
}

Can you come up with a better solution?

FOSS.in 2005 Sessions
The detailed schedule of sessions for FOSS.in 2005 is available now (check out the names of the halls!). The good thing is that there are so many speakers and sessions to choose from. The bad thing is that many of the sessions one wants to attend either clash horribly with one another or overlap partially in incompatible ways. For example, on the very first day at 3:15PM, I have to choose between "Google and Open Source" by Zaheda Bhorat, "GCC Backend and Machine Description file" by Amber Ved, "equivalence configuring" by Andrew Cowie and "Introduction to cross-platform programming techniques" by Jaimon Jose!

Delegates from outside Bangalore might want to check out the annual book sale by the great Strand Book Stall while they are here in Bangalore. The venue for the sale is the Chinnaswamy cricket statium and is quite close to the venue for FOSS.in 2005. Veteran bibliophiles in Bangalore would readily tell you how friendly a store Strand is and how you can get some really good deals (up to 80% off) on books during their annual sale. Unfortunately for them, both Landmark and Crossword have now opened big stores in Bangalore. These stores do not usually give you as good a price on books as Strand, but are closer to the watering holes of many young people and have much more space where you can actually sit down and peruse a book at your leisure. I personally get most of my non-technical books from Landmark now simply because it happens to be much closer to my house and my place of work.

"Information Wants to be Free!"
I really hate it when I come across a reference to a paper or a standard and I am not able to read it because I must buy it or be a member of a subscription plan at prices that are atrocious by the standards of developing nations. In my line of interest (Computer Science), the biggest culprits are the ACM Digital Library and ISO. Fortunately, most of the times I can work around this limitation by using Google with a query like '"<title of the paper>" filetype:pdf' or by taking the help of a friend. I really wish researchers use arXiv or an equivalent service more often. The whole point of publishing papers is to help advance your field, not to retard it, right? (Apparently, the situation is still bearable in Computer Science but is unbearably ridiculous in basic sciences like Physics and Mathematics; hence the genesis of arXiv.)

If I ever publish a useful book, an article or a paper, I would try my best to make it publicly available for all.

More Videos
Apart from the SICP Lecture Videos, also interesting to watch are the Knuth videos, the Alan Kay videos (Part 1 and Part 2), the Hans Bethe videos and the FORTRAN 25th anniversary film. Some stuff in the DDJ Technetcast is also interesting.
SICP Lecture Videos
Thanks to Ramakrishnan (a.k.a. "VU3RDD" on Amateur Radio), I now have the complete set of SICP Lecture Videos. Now I need to burn these videos to DVDs and then take the time to watch them. Thanks a lot to all the others as well who offered to help me get these videos.

By the way, my first attempt to burn these to DVDs failed because I had not realised the sundry incompatible formats in which DVDs come. I had access to a DVD+RW drive and I had initially bought DVD-R discs. Thankfully, I could get a refund on all the discs except the one that I had opened.

More Improvements to GCC
Apart from the projects already planned for GCC 4.2, we now have proposals for Link-time Optimisation, New Register Allocation Method and LLVM Integration. The integration with LLVM, should it happen, would be the most significant change to GCC since Tree-SSA. Pretty exciting times for a hacker to be involved with GCC!

FOSS.in 2005
Andrew Cowie has bullied me into attending FOSS.in 2005 after all. He made me realise what a shame it would be to miss this once-a-year opportunity to meet like-minded Free Software hackers from all over the place when it is happening right here in Bangalore. Of course it also helps to have supportive bosses to grant you leave from work for the period. So here's looking forward to meeting kindred souls. Thanks Andrew!

Subversion, Old Dog, New Tricks
It turns out that I do not need too much of extra disc space for working on trunk and gcjx-branch using SVN compared to CVS after all. This is because I used to always create a snapshot of GCC sources and use it as a working copy for fear of messing up my checked-out sources. Since SVN always keeps a copy of the pristine sources around (which is the major cause of the increased disc space usage) and it is easy and fast to use svn diff to figure out the damage and to use svn revert to restore sanity, I no longer need to continue with my weird model of development. It is also quite simple to just ignore everything from the GCC SVN repository except for the interesting stuff - for the gcjx-branch, my checkout only has the bare minimum stuff needed to bootstrap C, C++ and Java and run the libjava testsuite, while for trunk I have removed all the Ada stuff since I can't build Ada anyways. Of course, all this would probably have been possible with CVS as well, but there weren't nice instructions in the GCC Wiki for lazy souls like me for doing this with CVS.

Videos of SICP Lectures
Most of the coders who have read Structure and Interpretation of Computer Programs (SICP) would agree that it is a profoundly insightful book that teaches you a whole new way of coding. So when I found out that the videos of the SICP lectures given by Abelson and Sussman are now available for download, I was excited. However, my excitement turned to dismay when I found out that the videos were huge - even a single DivX-compressed video of a lecture would bring me perilously close to my monthly broadband download quota, not to mention take an awful amount of time.

So if any of you out there have all these videos already downloaded, would you be willing to burn it to a DVD-R and send it to me? I am of course willing to pay for the cost of the media, package, postage and reasonable labour charges. Drop a message to rmathew AT gmail DOT com if you can. I would prefer the DivX-compressed versions. I had already written to Hal Abelson to know if they provided such a service and they indicated that they don't.

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