Friday 27 November 2009

Here comes the weekend

Well that was an unproductive week. Maybe I can do something interesting over the weekend? Nope, looks like I get to run around after the kids and do household chores.

Fortunately the interweb is here to entertain you! I am sure most of you have already seen it but the Muppets doing bohemian rhapsody is fun. The Nottingham university scientists explaining the small hotrod collider is amusing and two girls, one uke is safe for work.

Unfortunately there have been other happenings this week which are not so amusing, the extensive flooding in parts of the UK has caused many people a great deal of harm and in one case a policeman, protecting others, was swept to his death from a collapsing bridge.

Unfortunately due to a confluence of events I will not be able to attend the Bug Squashing Party (BSP) in Cambridge this weekend as I had originally intended. I do hope to be able to contribute some work on Sunday from here.

Thursday 26 November 2009

Sometimes it don't come easy, sometimes it don't come at all

My work sometimes causes me to have reason to change small things in open source projects which I then have to submit for consideration upstream. Often this is as simple as providing a patch on the relevant mailing list and moving on.

Sometimes however the change is larger and I really would like to see the feature or bug fix accepted by the project. I am fortunate that my employer is enlightened enough to not only accept this but actively encourage participation in open source communities.

Most of the time the patches are accepted, with changes or updates, in a reasonable timescale. Certainly for kernel work I have got used to a submission/accept time measured in hours!

On occasion the change gets dropped on the floor or missed and you have to resubmit (even if its just to get told its uninteresting and to go away ;-). Unfortunately there are a small number of projects where getting something merged is an experience in frustration.

The particular project which has caused me the most trouble along these lines is Qemu. Daniel and I did the work to support the Samsung ARM based 2410 and 2440 System on Chip (SoC) and a couple of boards they were used on. Of course we then presented the patch to the Qemu mailing list. That was in November...No, not this year, or even last, we are talking 2006!

Unsurprisingly there were numerous issues with our first cut, we improved the patches and resubmitted them and received absolutely no feedback. Eventually we provoked the maintainer to respond, we took his feedback into account and resubmitted. After a year of so of this Daniel got bored and gave up.

Being a complete idiot and apparently sucker for punishment I decided to re-try. I completely restructured the port and started by just trying to get the absolute minimal core changed accepted. It took some time to provoke a response (oh and they altered RCS which meant I had to change my submission again, but they did change to git so that is acceptable ;-)

Earlier this year resulted in my all time favorite maintainer response. Eventually I managed to find out he actually objected to the patch because the SoC we were using actually required a slightly different processor capability set (the emulation is ARMv5 by default and the SoC in question is ARM v4te, hey I had not noticed any practical difference, and Qemu is an emulator not a simulator...but OK)

Remember this is the first time this objection has been raised in 30months of patch submission. Fine, I create a patch which adds V4te emulation and submit that. I eventually get a response, to which my reply is a little frustrated I will admit.

I have since resubmitted the patch with the corner cases fixed, it has been ignored, and I never have received a reply to my direct questions. On this three year anniversary of the original submission I am simply going to give up, something I detest doing.

I am one of those dull people that finishes what he starts, that is pretty much my role in Simtec these days, ensuring stuff we start gets finished or at least drawing the line and calling it complete. To end up with a complete failure offends my personal values.

Now please do not think I hold any ill feelings towards anyone concerned, open source maintainers perform their roles without pay and, by extension, without responsibility to anyone but themselves. I am sure people are too busy to care about the itch I wanted scratched and that overall their project has not really lost all that much by not having me as a contributor.

I know I could have forked the project, or maintained my own tree or any number of other technical solutions but at the end of 1,100 days I have finally exhausted my enthusiasm and can move on. Speaking of which, time to resubmit a kbuild change which got dropped ;-)

Tuesday 24 November 2009

Getting things done

It seems that despite having a very important work deadline today I am destined to be interrupted every five minutes. Unfortunately I need to concentrate to get this done. And while i managed to get "in the zone" earlier, now I cannot string two words together.

This seems to be a recurring theme recently, my productivity is horribly low because I get interrupted all the time for "can you just" jobs. I turn the phone ringer off and hide my email window and I get called on my mobile and get asked why don't you answer your phone?

Its not so much the time lost to answering the specific query or doing the job but more my context switch time to restore to my previous task becomes huge. Somehow my switching time is absolutely non linear and today it has become so large I have decided to dump state altogether.

Because I know I have to do the school run soon and the interruptions continue I have abandoned the critical task altogether for now in the hope I can get back to it fresh. Do others get this I wonder? or is it a personal fault I should strive to fix? I know I used to be able to deal with this sort of thing with much less trouble, maybe I am getting less flexible as I age?

Fortunately (umm, you know what I mean) the Entropy Key software has some cleanups required which is an easy job and does not matter if I get interrupted so I do have a productive task to complete.

Oh speaking of the entropy key Niel blogged something silly I created the other day. I had a senior moment and filked the children's nursery rhyme "If You're happy and you know it" slapping some guitar chords on it.

It seems I cannot simply leave well enough alone and last Friday night (with the help of Mark Hymers) I made it a whole lot worse. I present to you the score of "If you're happy with your ekey, blog your praise" for piano and guitar. In fact I wrote this out in rosegarden so it can be turned into a midi file etc. all the source files are available. It is released under a CC license so I suppose someone could put the lyrics back to the proper nursery rhyme and use it for something less tacky.

Monday 23 November 2009

Fitting Everything In

Recently I have been having issues fitting everything I want to do into the time available.

As my kids grow up they always seem to need to be taken someplace or picked up from an activity and that is on top of the daily school run. I recently worked out I spend over eight hours a week, a whole five hundred minutes, taking them to and fro.

Now do not get me wrong, I actually enjoy spending time with my children and we do talk and interact during these occasions but it is hardly a stimulating activity walking to school or being driven to a club.

Add to that my job and its traveling requirements and assuming I want to sleep, eat etc. and all of a sudden I discover I have about forty hours left in a week to share between my family and hobbies.

Anyone with kids knows they are a wonderful time sink :-) and of course the family home often needs something doing. All of a sudden I realize why I feel like I often end up having to trade sleep for my hobbies!

As I get older I find I still have the same number of ideas for projects but the realization that even if I find the time to start something I am unlikely to be able to devote the resources to finishing it. Being one of life's boring people who like to finish a project they start (ok at least make something useful) this means I tend not to start new things too often.

All of this has lead me to become very careful about how I spend my free time and on what. It means my personal involvement in software projects like Debian and the Linux kernel is nowhere near the level I might like. Similarly my music practice (or absolute lack thereof) causes my teacher to get snippy with me.

As you can imagine starting something like a blog when I do not have enough time for what I am already doing is something of a challenge for me and may indeed falter. However I shall give it a chance as I feel a need for public place to share all those small things which I would probably put on my personal website if I had time to work on it ;-)