Sunday, December 16, 2007

FOSS.IN/2007 experience

FOSS.IN is one of the premier FOSS events that happens in Bangalore, India every year around November/December. I remember the days when I attended the first ever Linux Bangalore event LB/2001 (FOSS.IN then called Linux Bangalore). The event has grown by leaps and bounds; not only focusing specifically on Linux, but also on all other FOSS technologies. The venue this year was IISc, Bangalore during Dec 4 - Dec 8.

Along with the usual Main Conference, BOFs, Expos, two new additions to FOSS.IN/2007 are:
  1. Project Days and
  2. HackCenter
"Project Days" are inspired by mini-conferences - full day sessions on a single FOSS project, led by the lead developers/contributors (e.g. KDE, GNOME, OpenOffice etc).

"HackCenter" is basically a large area provided with power, switches n/w, Internet, tables and chairs where people can get together and work on a FOSS project as a group.

Sponsors of the event include Sun, Google, Red Hat, IBM, HP, Citrix, Zimbra, ABB, Akamai, Trolltech, SpikeSource, Geodesic Information systems Media Partners (Dataquest and PCQuest) and others. My employer's event absence was heavily questioned and I was tired diplomatically answering those question.

The main conference started on 6th Dec with the inaugural talk by Atul Chitnis, the man behind the event, that was followed by Naba kumar's keynote on Anjuta DevStudio.

James Morris gave a talk which is aimed to demystify the Kernel development process and encourage contributors. Last year, we had Christoph Hellwig talking on Kernel development mostly covering the same aspects. Though the information was nothing new and was talked about by Greg KH in his "Kernel development HOWTO" or Randy Dunlap's "Kernel development: Getting started", his talk was filled with interesting self experiences.


The talk I most liked was by Rusty Russell on lguest, the hypervisor written using paravirt_ops. I tried to setup lguest on my Thinkpad during the event in the "HackCenter", I got stuck because of some scsi issues with 2.6.24-rc4 vanilla kernel. The next interesting talk was on Union Mount, VFS based Filesystem Namespace Unification by Bharata B Rao. After the talk we had an unplanned BOF on Union Mount since there was a lot interest.

Kamalesh Babulal gave a talk on Linux kernel testing, a nice talk covering almost all aspects of Linux kernel testing. He correctly pointed out the need for developer's contribution to test cases and the low test case coverages given the number of lines being added per release.

The project days this year covered mostly with the basic stuff. There were a few interesting talks. One among them was on "ZeroConf networking with Avahi" by Lennart Poettering.

Most of the sponsors had a stall including Sun, Google, Red Hat, Citrix, Zimbra, IBM, Akamai, Spikesource, ABB and others. Almost every stall happened to be a recruitment booth. Sun had few interesting demos on Open cluster, Grid computing, Glass fish, OpenDS and so on. IBM had a demo of System tap.

There is a global perspective that Indian software industry is a big consumer of FOSS projects and contributes very less, given its size and international presence. This is a sad truth. I should say FOSS.IN is a concious effort to change that perspective. It may a take a year or two or may be few years, but lam confident that the number of Indian FOSS contributors will surely grow.

Friday, November 23, 2007

What's The "Fuzz" All About?

As part of my day's work, I was trying to adjust a 'fuzz'[2] when I tried to patch [1] manually. Since I have never encountered much of fuzz while patching earlier, I didn't think of a better way of adjusting fuzz than doing manually.

For e.g. while patching you might get a message like:

"Hunk #3 succeeded at 717 with fuzz 2 (offset 7 lines)."

This means that patch had to adjust the location of the change (in this example it needed to move 7 lines from where it expected to make the change to make it fit). The fuzz factor as we see in this example is 2. This factor determines how far from its original line a hunk is allowed to match. The default is two I suppose.

Manually fixing the fuzz is a pain if the patch results in multiple fuzzes. This seems a simpler way to me if you are using 'quilt'[3] to manage patches:

1. quilt new # the patch name can be different from the original patch
2. quilt add file1.c file2.c # files that are changed by this patch
3. patch -p1 < ../file.diff # Apply the original patch using patch command 4. quilt refresh # creates the new patch that is fuzz adjusted This can also be done manually by applying the original patch and recreating the patch without quilt as Jony pointed out. However, if you are working on a patchset it is difficult to manage without patch managing utilities like quilt.
] when I tried to patch [1] manually. Since I have never encountered much of fuzz while patching earlier, I didn't think of a better way of adjusting fuzz than doing manually.

----
NOTE: There seems to be a much simpler way using quilt for adjusting fuzz and handling rejects.
$quilt import
$quilt push

(a) If there are no rejects, quilt applies the changes and doing a
$quilt refresh
ensures that the patch is and fuzz adjusted and updated.

(b) If there are rejects, quilt will not apply the changes by default, you need to force quilt using
$quilt push -f'
to apply changes and it create file.c.rej files which gives details about the rejects.
Now look at the file.c.rej file and manually edit the file to reflect the changes.
$vim file.c.rej file.c
Once done with the changes, do
$quilt refresh
This ensures that the rejects are being handled and the new patch reflects the change. So simple, right?
----

This comes in handy when you need to create patches for multiple versions and you have multiple patches to manage.

Be warned that a 'fuzz' could indicate that the source has changed and the resulting file after patch adjusts may or may not be OK. Double check to be sure.


[1] - A patch is a file containing the delta of changes between two different versions of a source tree. Patches are created with the "diff" program and they are so common in *nix world.

[2] - Whenever patch utility applies a patch that it had to modify a bit to make it fit, it'll tell you about it by saying the patch applied with 'fuzz'. When patch encounters a change that it can't fix up with fuzz it rejects it outright and leaves a file with a .rej extension (a reject file)

[3] - quilt allows to manage a series of patches by keeping track of the changes each patch makes. Patches can be applied, un-applied, refreshed, etc.

Thursday, November 1, 2007

Are you Right or Left brained?

I had thought about this subject a couple of times sometime ago. But, never did any research on this. Shankar's post - Right brain or left brain prompted me to do a little research on this subject. Going by this quiz it seems I use more of my Right brain.

Here is the result:

You Are 40% Left Brained, 60% Right Brained




The left side of your brain controls verbal ability, attention to detail, and reasoning.
Left brained people are good at communication and persuading others.
If you're left brained, you are likely good at math and logic.
Your left brain prefers dogs, reading, and quiet.

The right side of your brain is all about creativity and flexibility.
Daring and intuitive, right brained people see the world in their unique way.
If you're right brained, you likely have a talent for creative writing and art.
Your right brain prefers day dreaming, philosophy, and sports.


And this test too confirms this!

Tuesday, October 30, 2007

Being Happier!

Becoming happier requires being Active,
Changing what we can change, Accepting what we cannot change,
Trying not to blame others or circumstances for our misfortunes,
Valuing what we have and developing a more positive attitude to our lives.


I don't know where I picked up this quote a few years ago. I like it very much and read it once in a while. Atleast, it has made me a little more active for sure ;-)

Thursday, October 11, 2007

More Impressions!

Hmm.. I never thought it would take this long to write the sequel of the previous blog. I was tied up a bit. Thought of finishing this one before my memory fades..

The next morning we started from Prague to Spicak, 4hrs journey in a Train. The journey was good especially the scenary.. If you want to take a look at how good it was, check out my album: http://picasaweb.google.com/sureshjayaram/Spicak?authkey=-bHvQ9rxsi8

The view from the my room in the hotel in spicak was awesome! Look at this picture.


After 5 days of hardcore technical sessions and discussions, we went to a resort to relax a bit. I never thought Europeans are this adventurous. It all started with the Lizard stone event (more like what we call Treasure Hunt) . We started hiking from 9am in the morning on Saturday and it continued till 8pm in the evening. It was surprising that I survived and could finish it. Almost all of us finished, even people in their mid-forties! The fun part of this event was we were supposed to find out a gem which we called "Lizard Stone" as part of the game. When we started we had no clue about where the stone is hidden. As we proceeded, we got subtle clues. As we couldn't get all the clues right, we couldn't find out the stone. But, I am happy that one of the teams found the stone. Though the event was physically tiring, it was fun. Couldn't roam around the City much since I didn't have much time while coming back. Overall, the trip was very nice - Learning + Fun + Adventure.

Tuesday, September 11, 2007

Initial Impressions

This time SuSE Labs Conference 2007 is happening at a mountain resort in Spicak in the sumava mountains in Czech Republic. I started on 8th Sep from India. This is the first one Iam attending after joining SuSE Labs and I am really excited about it.

As usual there was a big queue before entering Bangalore International Departures. Something has to be done to avoid people standing outside and getting drenched in rain sometimes in the airport before getting in to the International terminal. Luckily it didn't rain when we went, otherwise it would have been a pain.

When I reached the Franfurt airport and I couldn't resist comparing it with the Indian Airports.. Take at look at rail tracks inside Frankfurt airport..

Frankfurt airport is huge, it is the third largest in Europe with multiple concourses and there are mono rails between them.

Ah, forgot to mention, I watched the movie Ta Ra Rum Pum, starring Saif Ali khan - Rani Mukerjee during the flight journey. Movie was a good entertainer.

I saw this Internet access terminal in the Frankfurt airport. I was tempted to connect to Internet and check my e-mails ;-). Alas! I forgot nothing comes for free.. It was a pay-per-use Internet access terminal.
After reaching Prague, I checked in a Hotel which later I figured has chain of hotels in almost every European country. When I entered my room, this is what I saw in the TV in the room.

I thought, oh cool.. they have got a interactive TV. Later when I tried to browse the on demand movies, I figured out a fee of 450Euros will be charged if I want to use. No way I am going to pay that much to watch some crap movies ;)

In the late evening, we joined other SuSE folks, one from Austria and one from Italy, and went out for dinner. Those folks were very generous and suggested that we will have food in a Indian restaurant because it would be difficult for us to eat in any other restaurant. As usual, it was very difficult to find a vegetarian or a Indian hotel. When we finally found one, the door was closed. Despite our repeated attempts knocking the door, waving hands etc. the door wasn't opened and we were quite sure the restaurant was open because we were well ahead of the closing time. We felt very wierd and I had to convince them this is not the way restaurants in India used to respond to customers..

Watch out for more impressions...

Friday, August 10, 2007

The Virtue of Being Observant

I think during my childhood days, I was an inquisitive but, not so observant child. Even during my school days I was not a very good observer. Some people are more observant than other right from childhood. Recently, I realized the subtle power of being observant which led to this blog entry.

A lookup for the word observant resulted in the following:

Adjective: observant
1. Pay close attention
2. Quick to perceive
3. Diligent in observing

Being observant helps to a great extent in both in Personal and Professional life.
In personal life,
* You pay close attention to your near and dear ones, you'll know their feelings, wishes, dreams and thoughts; the relationship cherishes. I'm sure most of the Mom's pay close attentions to their kids. So they know the best about their kids, right from what kind of food they like to what kind of girl/guy they would want.
* By being more observant and aware of your surroundings, you memory gets sharper.
* There is a great chance of you saving yourself from a mishap if you're really attentive and mentally active. I think doing something while dwelling on something else is really bad, though most of us would do that once in a while.

In professional life, the benefits are obvious. Any professional who is more observant will excel at his/her profession for e.g. an artist, manager ;-)

Most of us I think are more observant in professional life than personal life. Sometimes we're becoming too self-centered that we are always focusing on our problems and needs and failing to pay attention to our beloved ones. Well, neither being observant nor paying attention costs you anything at all except your energy.

I would like to end this heedful note with a bit of humour.

A lecturer teaching medicine was tutoring a class on ‘Observation’. He took out a jar of yellow-colored liquid. “This”, he explained, “is urine. To be a doctor, you have to be observant to color, smell, sight, and taste.”
After saying this, he dipped his finger into the jar and put it into his mouth. His class watched on in amazement, most, in disgust. But being the good students that they were, the jar was passed, and one by one, they dipped one finger into the jar and then put it into their mouth.
After the last student was done, the lecturer shook his head. “If any of you had been observant, you would have noticed that I put my second finger into the jar and my third finger into my mouth.”

Sunday, August 5, 2007

Rebirth

I wanted to start Blogging couple of years ago. As most of my thoughts were related to work which involved proprietary projects too, I thought it wouldn't make sense to Blog. I know.. that sounds like a lame excuse :-) Now things have changed!! These days I am getting more interested towards a host of other stuff like music, cartoon, poetry,humour, travel, fitness and so on.. So, I think, this probably is the right time to start blogging and keep going.

And more importantly I work full-time on the most interesting Open source project - 'The Linux kernel'.Ok.. Ok.. I know some folks might have a disagreement. But, to me this is the most interesting project. I have started working for SUSE Labs, Novell (which contributes to ~10% of the whole of the Linux kernel development efforts). This, I think is a great opportunity and I could not have asked for more.

I feel 'Kernel development' is Fun, Fun with added responsibility. The Fun part is you make changes to the "Perpetual OS", any part that interests you. The added responsibility is making the Linux kernel better and better coping up with its "Rapid development" (when I say rapid, I mean it). Here, You get flamed for your bad code, you'll learn how not to write code. You follow the mailing list religiously, you'll know what's the best design. Technical merit matters and not individual decisions or politics.

I am getting all the motivation I can get and determined to do a fair job. I hope this opportunity will make me a better developer, a better thinker, a better communicator and a better person.

Feeling elated! As my boss pointed out, this probably is the start of a new life!