First Vancouver report
Ok, since the first complaints arrived that there is nothing to read here I will start now with a first report. At Frankfurt Airport I was waiting until this airplane arrived to bring me to Toronto:
In Toronto there was a similar Airplane to bring me to Vancouver. But since this is getting boring now and there was no good place to make a nice picture of it anyway (it was blocked by all sorts of loading ramps and stuff like that) I decided to fly with it without taking a photo.
In Vancouver I took the bus to the house I am living for the next three weeks. No pictures yet because there should be something left in case days are getting boring. ;-)
The first day I was mostly organizing stuff, buying essential things, fetching my car from the car rental company and so on. To see as many places of the city as possible, I decided to walk all the way (with the exception of the car obviously).
I have seen many famous tourist attractions on my way but did not take any photos that day. You may look up these things in any tourist guide book. I can confirm that pictures there are appropriate. When trying to buy some electronic map data for my GPS receiver I failed to do so in any job in Downtown (the staff in some Canadian computer shops is as clueless as in many German computer shops). Finally I found a great equipment store in an industrial area east of Chinatown that had everything in store you could dream of if you do outdoor activities. The guy at the shop was extremely confused about how someone that never was there could find his shop at all.
Since the way I walked that day summed up to about 40km and I was a bit tired because of changing the time zone I decided to call it a day.
Today I started with running along the shore line to the English Bay Park. You can track these activities here.
Then I found something familiar to German people:
Must have been a spy because he was parking near operations center of one of his competitors:
Currently I am sitting here at the Vancouver Public Library to write all these stupid things:
Now I have to do some useful stuff again. Have fun!
Off to Vancouver
Fruity
I released Tangerine 0.2.6, which includes some minor bug fixes. Also now that SLED 10 is out, I can do a screencast showing Tangerine running under it. So I did, and you can see it here.
Update: It was suggested to me that a screenshot might be needed too, so here you go :)

The control panel for Tangerine
Spotlight
Thats the quick update on what I am currently into. Lets run through the various other things, quickly:
LDTP, my passion and a project headed by my buddy, Nagappan, received a Google SoC through GNOME and Prashanth Mohan is already knocking it out.
The SoC proposal consists of three milestones: LDTP integration with jhautobuild, Evolution automation and LDTP Regression suite and Prashanth has started working on the second milestone and tinderbox integration is on the final stages to get upstream. For those interested, the log of a real test, run on the test server provided by Frederic Peters is here and a detailed log is here.
Two students, sp2hari and taggy from NIT, Trichy, spent 6 weeks as intern, as part of NOSIP, work like mad and contributed an awesome tool for LDTP called Record. Record captures the user actions on any application and generates a LDTP test script that can be played back. This makes generating-test-scripts easier - simply, automated test-script generation.
Evolution
After a mammoth effort by the team and the community, Evolution 2.6 is stable and sleeker than its previous versions.
Recently, Phillip Vanhoof came up with the idea of mmap()'ing CamelFolderSummary instead of fread'ing it. We had around 2 hours of discussion and shared my experiences on CamelFolderSummary and other related things that he should consider when implementing mmap(). He has some 12 versions of patches and is close to what I asked for. Kudos!! Phillip.
However, the behaviour of the patch is yet to be analysed on various other scenarios: Couple of them are 1) When messages are deleted, 2) When message flags are changed.. etc.
Moreover, before taking upstream, the patch should be tested on a decent sample size using evolution and all the folder operations should be verified. Also, the patch should give a choice to the user/application to choose between mmap() and fread(). Guess, with said final touches it should make it upstream. Phillip? ;-)
That's all for now.. stay tuned!!
photos and cover art in ipod-sharp
I’ve been working on ipod-sharp recently to add cover art and photo support. It’s nearly complete now, and I can add and remove art and photos on my video iPod. Another person has tried it successfully on his Nano, so all that’s left to test is a regular iPod Photo. There might be some issues to work out yet with the camera adaptor too. A big thanks to Larry who did the initial work and provided the scary image conversion code :)
I’ve added cover art support to Dopi in svn. It uses Cover.jpg (or cover.jpg or folder.png, etc) if one is present next to the files when you add them. I suppose one of these days I should add a crappy “track properties” window so you can view/change the cover art there.
I’ve also created a patch for Banshee to make it use the new ipod-sharp and sync cover art. To try it you’ll need ipod-sharp and libipoddevice from svn/cvs.
Oh I also converted ipod-sharp to use gmcs. Hooray for generics.
Apple Sucks
A couple weeks ago, I spent some time making Tangerine work on Windows. After I got it working, I started looking into creating an installer and all that stuff. Aaron recommended Inno Setup, so I got that and went to work. I pretty quickly had a basic package working, but it needed to handle installing the various dependencies still.
Microsoft has a neat little bootstrapping utility which you can include in your installer to make sure various components (such as .NET 2.0) are installed, so that bit was easy.
The other dependency it needed to install was Apple’s Bonjour, so I start poking around on Apple’s site to see if they have some kind of cute installer for it. I discover that they do, but they require you to get some kind of license from Apple. Ok, how bad could it be? I start to look through it. There is the normal legal crap, blah blah blah, then I hit the real requirements. I am not a lawyer, but my understanding is that I would need to do the following things in order to distribute my Bonjour-using application (not just their installer):
- Provide Apple with 2 samples of the application, on physical media, delivered to them 4 weeks before each release.
- Provide quarterly reports on the number of Bonjour copies distributed in the previous quarter.
- Use the Bonjour logo on any manuals included with the application
I am sure a more astute reader could probably find more nastiness. No wonder there aren’t any Windows apps out there using Bonjour. If Apple really doesn’t want people to use it, why don’t they just come out and say it? We need to port Avahi to Windows and crush them into obsolescence.
Update: Luis has added that they can also change the software or license at any point without warning and force me to use that. Nasty.
Recurrence - Mind blowing stuff of iCal - 2
Following links will take you to those committed changes:
1) Calendar conduit
2) Todo conduit
3) Addressbook conduit
4) Recurrence fix in evolution-exchange
Now, that Eureka thing. Yes, the bug was in exchange-calendar code that reads events from the server. According to MSDN, events have some specific property that has values from 0 - 4, which represents events with master object, without master object, detached instances etc. Evolution-exchange was always querying for events with codes 0 and 1, which made the message not to appear in evolution as it didn't even fetch. Chen fixed this thing today.
Bug triaging - Part 1
Today, triaged around 80 bugs in all including Evolution-conduits, gpilot and Beagle.
Marked around 20 bugs as FIXED/INCOMPLETE/NOTGNOME and 30 bugs to be fixed.
3rd Top in closing most bugs for last week
As the link for past-week's-bug-activity keeps changing, here is the list of bugs that I closed, includes evolution-conduits, beagle, connector, gnome-pilot and GAL bugs.