Today morning, the first session was a Linux Kernel roadmap by Jonathan Corbet. Although I’ve never been a kernel-level guy, the talk was interesting and he clearly explained how features have been added and improved over the various versions, and how the development process has improved and become more “professional.”


Then, it was my turn to talk and I talked about TurboGears. The talk went pretty good and it was well-attended which made me quite happy even though I had some tough competition, heh.


I did make two mistakes. First was that I got worried about the time I had to finish the talk, and second, I concentrated too much on the slides. Whenever I have presented well (which has been most of the time, thankfully), I tend to leave slides as guidance for the audience, and have my thoughts free-flowing enough to be coherent and entertaining. Well, I don’t think I’ll be making these mistakes again. However, I did get good feedback about the talk from various people, and a good number of questions after the talk, which is always a good sign. For those who couldn’t attend, my TurboGears slides are online.

And one more thing … my book’s website is now running on TurboGears! This is only the second public website ever running TurboGears after

Then, I attended Gopal_V‘s talk on programming in the Mozilla platform. He gave a very detailed approach to creating Mozilla applications and how to go about things. I must get the slides from him later, but it shouldn’t be a problem grabbing hold of him since he works in the same floor as me at Y! His slides are online.


I was on my way to the OpenLaszlo talk, but took a peak in the Ruby on Rails tutorial. Does Ruby on Rails really need the CREATE TABLE SQL statements to be written by hand? …. I think I prefer the SQLObject approach of having all the database-schema in one place as simple Python classes instead of having separate database creation and database manipulation (ActiveRecord) parts.. Update: The new RoR migrations feature is simply brilliant. Thanks to Mark Ramm for the tip.

Other than that, Rails looked cool. The directory structure created by rails as well as the test-driven nature was good.

Then, I got into the OpenLaszlo talk by Nirav Mehta. I had seen the OpenLaszlo demos before and used to follow Oliver Steele’s blog, but I never got around to writing anything with it. Nirav kept the audience engaged and showed off some eye candy stuff that OpenLaszlo provides from images to animation. Somebody in the audience asked him to put audio as well, but unfortunately, he didn’t have any mp3s.

Then, my friends and myself headed to the food court and then went around the FOSS Expo section. The Sun Microsystems booth was the best one and they showcased real open source projects such as Belenix (the OpenSolaris LiveCD) and NetBeans. I got a demo of OpenSolaris’ DTrace functionality and it was pretty impressive.


Sadly, the other stalls like the Google and Yahoo! booths didn’t showcase any open source projects at all! When Google has open sourced many projects and Yahoo! has contributed open source stuff such as the Alternative PHP Cache, why can’t they show it off and demonstrate they too are part of the community (and invite people to join the company), which I thought was the point behind the stalls…


Then, I saw Pramode in the Phoenix stall and it seems people are showing interest in Phoenix which was good to hear. Nearby, Anush and Tejas were in the Python stall and trying to entice people to talk about Python, heh.

Soon, we were back in the Intel hall for Jaya Kumar’s talk on GPL and non-GPL code interaction in the Linux kernel. He stressed that binary-only kernel driver modules are not a good idea and his explanation was pretty simple – it screws users on other architectures and users using different distro-compiler-etc. combinations. Another point is that they are not respecting the people who wrote the Linux kernel. He quoted Linus Torvalds saying it has to be a two-way street, if somebody wants to write something using the Linux kernel, they have to contribute back as well. Jaya Kumar was over-shooting his time slot but he had a lot of interesting examples and incidents to talk about. I think he had more than 100 (sic) slides in his presentation. Outside the hall, Jaya Kumar and Harald Welte were mobbed and they had a good time interacting with others.


Then, I attended the “FOSS in Education” BoF. Philip, Manish and Praveen were also there. The discussion involved quite a number of issues and Praveen has added a nice page in the FCI wiki regarding the discussion. The focus was mainly in creating awareness, and getting students interested, at the high school level. The emphasis shouldn’t be in simply using open source but stressing the points on why open source is good for everybody, and how the community is the core strength.


Phew. As you can gather, it was a long day but an exciting, educative and interesting one.

I was looking at and hoping to look for any insights from the many talks that I missed today (there are 6 tracks running in parallel!), but it seems very few people write such long posts as dumb me!

Today’s the first day of and I actually managed to wake up early.

When I reached the venue, I saw a looooong queue of people waiting to get into the place. It seems there was a power outage and because of that, they couldn’t do the registrations. But one of the privileges of being a speaker is that you get to bypass these queues and directly walk in, heh.


It was a delight meeting Taj again, and I was standing next to Alan Cox although I didn’t speak to him because I had no idea what to say. He has this persona around him similar to Stallman. Maybe it’s because of his long beard. It was good to meet Andrew Cowie and Dr. Tarique saab too.


The talks started one hour late, and first off, Atul kicked off the inauguration by explaining why is different from other conferences. Some of the points I remember is:

  • Talks are the side-show. Discussions, interactions, exchange of ideas, etc. is the real agenda.
  • There are FOSS villages, etc. where people can go and start talking, discussing, etc.
  • If 1000 people attend, and 10 people are convinced and jump in to open source and actually contribute, it’s a success. If it’s 50 people, it’s a mind-boggling success.
  • We have no chief guests. The audience is the chief guest. So we have representatives from various Linux Users’ Group to do the Indian tradition of lighting the lamp to inaugurate the start of the conference.
  • The motto of the conference is the poem [“Where The Mind

Update : First, WP was cutting off comments, and now it’s cutting off posts too!? Anyway, I’m adding some of the points of the first day I still remember but it’s been 3 days already… :


The first keynote speech was “Use the source, luke” by Alan Cox. Surprisingly, for a hardcore technical person like Alan Cox, he spoke very well and catered to a non-technical audience as well. He illustrated many points very well, such as learning by doing as the only practical way and stressing that reusing code should be done and is strongly encouraged. Also, he explained how bug reporting is a simple aspect of getting non-programmers involved in the community as well.


Danese Cooper’s talk on FOSS : Opportunities for India was very good. She stressed on various things, including teaching your daughters to code.


Due to the delays in the morning, the talks were running in different orders in different halls, and I missed Rasmus’ talk on XSS in the confusion.

Then, I attended Pradeep’s talk on educational content sites using Plone.


Gopal’s talk on DotGNU was interesting, and he explained how he became the de-facto guy because of which DotGNU was moving forward since the main developer was no longer interested and turned his attention to building model ships. Though, I had heard this talk before when we were in Kerala last month.

Next, we attended Cowie’s talk on equivalence which is a nice word play. Equivalence is useful to build java-gnome and getting it running. He explained why the current tools suck and why he needed something to simplify the entire process.


Finally, I caught the latter part of Atul’s talk on Impact of FOSS on Everything.

I have been happily using Sify Broadband for many months now. Today, they made some changes to their setup, and boom! no more Sify access for me. All that the client says is a “Internal error. Unable to parse the XML.”

I called them up and they asked me to upgrade the client from 2.8 to 3.0. I said I was on Mac. They said, “Uhhh…. I don’t know, sir. We’ll revert back to you in the morning.”

I switched on my desktop and couldn’t login from Linux using the latest version of their client either. Then, I had to try Windows, the Sify client upgrade worked like a charm and that’s what I’m using right now.

Guess, they can add this to the list.

Damn. I was hoping to get some preparation done for my talk, but I have wasted enough time on this Sify thing, and have to reach Bangalore Palace on time in the morning. See you there.

Continuing the nostalgia, here are pictures of the shirts that Yashwanth (it was his idea) and myself wore at LB/2003. T-shirt T-shirt

The name is a bit worn off now. Those numbers you see below the name is the version numbers that we had at that time. 9.0 was Red Hat, 9.2 was Mandrake, 3.0r1 was Debian, ….

Oh, and that shirt still fits me.

Last Thursday (24th November, 2005), there was a FOSS Day at PESIT, my alma mater.

Typically, I managed to leave office and reach PESIT at 4.10 when I was supposed to be there at 4. The venue had shifted from the hall in the “new” building to the MCA seminar hall, because of confusion on who had booked the original hall or rather who gets to use it.

When I entered the MCA hall, there were quite less number of students, but they slowly started trickling in and finally filled up the place. I met one of my teachers (after 2 years) and he still remembers me by name. That was cool.

The first talk was by Tejas on ‘Why FOSS?’ where he gave the “free as in freedom, not free as in beer” speech. I don’t think there has ever been a FOSS introductory talk without that phrase. Then, he dispelled some FUD on FOSS. Yes, open source software does not necessarily mean free software but the vice versa is true.

Next was Anush talking on FOSS development.


Then, it was my turn to give my usual ‘Slither Away with Python’ talk. This must be my fifth or sixth Python intro talk that I have given :-).

I was worried that my coughing would affect the talk, but Vicks VapoRub came to the rescue. Man, that stuff is powerful. Anyway, I digress…

It’s fun to introduce a language like python to students who know only C/C++. The first thing that amazes them is that you can type at the interpreter prompt and gives back results immediately, no edit-compile-run cycles. One of the evergreen examples is the swapping. I asked them on the algorithm we learn on how to swap variables in C and they promptly gave me the function that uses pointers to achieve the same and I said ‘This is how you do it in Python’ and typed b, a = a, b. Of course, you can do that in almost any modern interpreted language these days, but they didn’t know that, heh. One of the cool things that is specific in python is the slicing such as a[:4] to get the first 4 characters of a string and the loop, which the audience was impressed with.


Shreyas was next. He was my classmate, I was meeting after a long time. He was supposed to speak on debugging. Although, he had a 17″ PowerBook with him (with a “Suse Linux inside” logo, although he was still using Mac OS X :-P), he didn’t have any source code to demonstrate the talk and there was no connectivity at college.


He did talk about the importance of real world skills and how learning to read code is one of the most important skills that a programmer needs to learn. He gave some examples from his own experience. One of the examples was how he was working on some OpenOffice bug along with Michael Meeks and Miguel de Icaza. He started working on the problem while these guys went out for a break and when they returned, they solved the problem in a jiffy. He asked “How did you guys solve this so fast?” assuming he was pretty smart compared to them (no comments there from me). They said “I had seen the code before.” There you go. Simple and straightforward answer, but a lot to understand from that. The students were quite inspired by his talk.


This was followed by Praveen speaking on the education software initiative.

Atul was late for his slot. Unfortunately, quite a few students left during this gap. Well, it was their loss, because Atul’s talk was thought-provoking and he really made the students feel that they can do something innovative and they can do it now. He gave many examples of students such as Kalyan, Shreyas and even me (okay, I admit it, I was surprised to be part of that list).


Two of his slides said “There are two times you can innovate. One is when you are a student. The other is when you retire.” …. I hope that’s not an absolute statement, because that means there’s no hope left for me! However, it is true that I have not been able to do so many things that I wanted to do, compared to my college days when I had done a lot more.

When you are a student
The other is when you retire

Overall, the day was successful and it seems quite a number of students have got enthu to do stuff now.

Note: Tejas and Praveen have entries regarding the day on their blogs.

When Atul commented about open source being “seen as some kind of ‘hobbyist’ thing” in India, I was reminded of another incident in college.

In 6th semester of VTU B.E., we had a DBMS (Database Management Systems) lab. We were supposed to write some software that demonstrates database design, ‘understanding’ of SQL and using databases in a programming language.

As per the norm, 98% of the class used pirated copies of Oracle and Visual Basic, but Yashwanth and myself had a policy of doing “doing interesting things” and the Oracle-VB projects had been done to death especially with the same topics appearing every year. We were big open source fans by then as well. Moreover, we had a policy of not programming on Windows*. There was only one project we were forced to work on Windows in the entire B.E. and we flicked that one. I think it was Graphics lab where we had to create a paint program using Turbo-C on DOS… later, I found out that there were alternatives such as the Allegro library that Amit Gandhi Manu Bhardwaj used.

Coming back to DBMS lab, we were seeking to do a “real world” project, and finally came up with creating a medical laboratory management software for an uncle who was a doctor. He planned to use the software to manage the diagnostic laboratory where he is a partner. So, we two got all excited about it, and uncle wanted us to do the software on Linux. I would’ve never imagined a doctor asking for a software to be developed on Linux. We immediately got started and worked on the “analysis” and database design during the one month of holidays we had before the actual semester started. I called it “Diamond” which stood for DIAgnostic Medical centre OrgaNizing Device (or something like that).

The choice of database was MySQL since it was easy to get started with, at that time. We were discussing which GUI toolkit to use and we had to choose between Qt and GTK. I wanted to use GTK but Yashwanth wanted Qt. He said, in very strict terms, “We are going to use Qt only” and finally I caved in. In hindsight, that was a good decision. Soon, we went through all the tutorials and learnt to use the Qt Designer (that thing totally rocks).

A few weeks after the semester started, we had to register our project details, and our teacher came up with an objection for us. He told us not to use MySQL. We asked “Why?”. He said “MySQL is a small utility in Linux to store data. You should use a database system like Oracle for your projects.” It took us several moments to recover and then I started arguing that there are many companies using MySQL and besides this software will be actually used by someone instead of being thrown away like every other project, and so on. He still didn’t accept it. We finally went to the Asst. HOD and fought with him. He finally relented after he realized that we were not going to change our minds. It helped that I had a good rapport with him.

So, after the roadblocks were cleared, we worked on the project and we had an awesome time learning MySQL and Qt while working on the project. The demo in our lab exam went smoothly and our (internal) invigilator was very impressed. It was unfortunate that the software itself was never used by my uncle due to reasons that are beyond me. However, I was glad that I did the project because I learnt a lot.

Readers of my book will recognize that the next part of the story is where I learnt Python.

If only I could tell that teacher about the kind of things for which we use MySQL at Y! ….

* I don’t hate Windows nor people who use them. It’s simply a matter of personal choice and preference. I prefer Linux and Mac OS X.

Manjunath Shanmugham, an IIM Lucknow graduate, was recently murdered in Uttar Pradesh for trying to expose corrupt petrol pump owners.

I am really speechless.

Sharad expresses how I feel right now:

In today’s world, where do you see this kind of courage and bravery – To say no to someone with a gun, because you know you are right? Did he believe that God will help him because he is right ? I am pretty sure he did.

The 27-year old man, who worked hard all his life to get into the best schools, and colleges in the country, got a good degree, doing his job with sincerity , maybe saving other people’s lives by closing down the petrol pump Vs 2 scum-bags with guns . Who should have God chosen to make this world more beautiful , to reward for his hard work and living a good simple noble life? Sometimes nothing makes sense at all.

Manju Nathan – May your soul rest in peace – Your life was exemplary and it gives us all that little bit of hope knowing that people like you do exist.