The German Linux Magazine runs a sponsored an "Open Source Lounge" at CeBIT each year. Last year I put in a proposal for DAViCal and it got accepted! With some airfare support from InternetNZ I got to showcase my Free Software project at the largest IT trade fair in the world.
If you have an open source project to promote I can't recommend this highly enough. Below is a review of my experience at CeBIT early this year. This is long overdue for posting, and I'm prompted now because submissions are now open for the Open Source Project Lounge at CeBIT in 2012. Apply now.
I've been very quiet on here for a few months, and the reason is (of course) because I've been doing other things. No surprise there, I guess!
What I've been doing, first of all, is writing aCal, an Android CalDAV client with a lot of help from Chris Noldus. It's probably fair to say that Chris did most of the heavy lifting while I learned Java, did most of the UI & graphic design, and the low-level CalDAV synchronisation and geeky calendaring code. This is now available in the Android market for NZD$2.00 to help us fund further development and in a few days (or a couple of weeks) I'll get the source code up somewhere public (probably Gitorious) and it will be licensed GPLv3... When I get a moment - although refer to title :-)
During my recent trip to Massachusetts for CalConnect XIX I passed back via New York, surfing a few nights on the couch at the Washington Cube Garden1. This was just enough time for my new Davis VantagePro2 to arrive by UPS ground (phew!) causing me much consternation, as the box was about twice as wide as I expected it to be.
On opening it I discovered that the reason for the size was the physical dimensions of the rain gauge, leading me to realise that I had actually bought exactly what I wanted: a high quality weather station. Also leading me to wonder how the hell I was going to get it halfway around the world with me the next day.
Unfortunately that extra wide carrying case was in no way going to fit inside my suitcase. Fortunately it came with a handle. And those wonderful people at Air New Zealand gave me a Koru Gold upgrade for a 50th birthday present, so it was time to put it to the test...
I spent last week at the CalConnect XVI meeting of the Calendaring and Scheduling Consortium hosted by Apple Computer in Cupertino. I'd been hoping to get 0.9.7.3 released before I got there so I could concentrate on some of the more aggressive enhancement plans while I was there, but in the end I didn't manage to release until the Tuesday, during the event. Then, after some interaction with Kerio and a small but important bug that was found, I decided to release 0.9.7.4 with a very few small changes before moving onto the more radical enhancement plans I continue to work through at present towards a 0.9.8 release in a few weeks.
The release notes for both releases are on the wiki, including details of downloading and so forth:
At CalConnect itself, the first half of the week was an interoperability meeting which I was an observer at, though I did set up a server for people to test against, and the folk from Apple, Sun and Kerio were kind enough to test against this, including a very early version of the Symbian CalDAV client which is likely to be released sometime next year.
The second half of the week was a much more participative process, and gave me a much greater understanding of the general flow of the standards which are forming in the future. In particular it was interesting to get an idea of how close (or far away) the various nascent standards under development are. Some of the closest ones seem to be the Scheduling Extensions which is at draft 8, and will probably have only one or two more clarifying drafts before becoming an RFC. Next closest is probably the proposed CardDAV standard, and implementation of both of these in DAViCal is a priority for me.
The first thing I discovered too, was RFC5689, which is now implemented in HEAD and will be in 0.9.8. Another worthwhile standard, and relatively simple, is the Draft WebDAV Sync which is used by iCal4 if available, and which I have also implemented since leaving Cupertino. I expect there will still be some changes to the webdav sync specification, but it's relatively encapsulated so the effect of any changes are not going to be sweeping.
Support for the Scheduling Extensions for CalDAV, which I am working on now, will be more complete in 0.9.8, though probably still with a few missing parts. It is a large specification though it looks to be pretty stable now and is definitely time to move forward with it.
What the trip to Cupertino definitely showed me is that there is still a place for DAViCal in the available set of CalDAV servers. While there are starting to be quite a few around, and many are maturing nicely, there is still a niche for a free, standalone, SQL-based implementation like DAViCal and it is only through having a vibrant community of implementors around calendaring that we can flesh out the usable and useful standards that are continuing to come out of CalConnect.
Ultimately what impressed me the most were the people around CalConnect, who stand out as being a bunch of dedicated and thoughtful folk who really understand the importance of interoperation and open standards in this area. I do hope I have the good fortune to make it to another event at some point in the future.
I publish my photos on the internet. Well, I do when I get around to updating it, anyway. When I do so, I include some information about licensing them. I say to people "I'm very open to people wanting to use these pictures for something else, and will be happy to release photos into the public domain on request." so when I discover one of my photos abused by a travel website I do wonder why I didn't hear about it.
I released a new 0.9.7.2 version of DAViCal yesterday. This reflects quite a lot of stability and small fixes for some subtle problems, and quite a lot of work with the iPhone, adding the possibility of a simpler configuration experience for iPhone users.
LCA is once again proving it's premiere status as one of the top free & open source software conferences in the world. Our hosts in Hobart are well-organised and friendly, and though I've been locked into the Systems Administration miniconf by virtue of being one of the organisers, what I've been hearing from the other delegates with the freedom to sample other streams is that all of the miniconfs have once again achieved the high standards that we've come to expect from the conference.
Right now I'm in the keynote by Tom Limoncelli who's giving us all a good kick in the proverbial, to switch us to the mindset of plenty, and to see beyond limited scarcity. Wonderful stuff. Linux == Infinite Love :-)
Tomorrow will be a challenging day, herding the kids through the airports to get to Hobart for a holiday in Tasmania before linux.conf.au 2009 in a couple more weeks.
Sadly I didn't get the DAViCal release out over Christmas that I'd hoped for, and realistically I should face up to the fact that I won't have much chance to push it out until I get back...
Still, it might happen, so don't lose hope! And if you're desperate the current Git head is pretty safe too - so long as you use the head for AWL as well.
I'll only have sporadic net access (until LCA anyway), and my cellphone won't reach me at all, so I guess the world will have to get along without me for a few weeks :-)
Have a Happy New Year - we won't be partying tonight, with a 4:00am start in the morning!
I really have to feel sorry for the people who run Tan-Y-Bryn, self-contained accommodation in Hobart, Tasmania. I booked this place for the second half of January next year because it looked so well-priced for such a great place to stay while we're at LCA as well, as the week we'll just hang around Hobart afterwards.
Unfortunately for both of us, it seems they forgot to note somewhere on some booking site that they were full for that period, and they got a booking through some high-handed booking organisation who said they were liable for AUD$1000 if they refused it. So they cancelled on me, as the easier & cheaper option. A step that wasn't taken lightly, to read the agonised e-mail they wrote me in the small hours of the next morning.
Since leaving Catalyst to follow my interests there seem to be a neverending number of organisations e-mailing to my old e-mail address, which I have to go through to update to a new e-mail address. This evening it was Air New Zealand's turn.
Going through their update form, I noticed a few other little details were wrong, and they had a couple of my pet hates down pat:
- My surname was spelled 'Mcmillan' rather than 'McMillan'
- My city was down as 'Wellington' rather than 'Porirua'
For no particularly good reason that I can see, they don't provide me with the ability to edit my surname. I have to ring some 0800 number, and I was kind of all 0800ed out having had to ring TelstraClear earlier. (To question their sense in wanting to deliver a password for an e-mail account to that same e-mail account... but that's another story...)
I can at least correct the city, though, right?
A GPS is one of those toys that I have wanted for a very long time. So last year I finally marshalled enough excuses in one place, lined them up and plunked down some money for a Garmin GPSmap 60CSx in the vague belief that there's enough Linux software out there which understands GPS, and the Garmin is a brand that seems to have mature Linux support. And besides, I'd been told it was a good model that would do what I wanted and then some.
Once I got it I naturally wanted to do stuff with it, and in particular I wanted to connect it up to my laptop which (of course) is running Linux and I found that it wasn't nearly as trivial as I had thought.
This prompted me to run around finding software to use with it, so here's my capsule review of my journey from "extremely naive" to "very naive". Perhaps I'll also learn something from the comments of people who are further down the track.
My first resort was "apt-cache search gps", of course, which immediately brings up such fine sounding programs as "gpsman", described as "A GPS manager" (I haven't managed to get it to do anything yet), "gpstrans" which since it specifically mentions Garmin GPS sounded like just the ticket (it appears to be quite old and superseded). There was some useful stuff as well.
|gpsd||Connects to your GPS and relays that in a format that all of the other software understands. This seems to have a fairly active development community. A bug I discovered was fixed quite quickly in a new release.|
|gpsdrive||This software seems quite functional, though most of what it is trying to do is done by my GPS already. It can talk directly to many GPSs but I used gpsd for the actual communication, which provides broader support and multiplexes the GPS data so it isn't locked by a single applications.|
|gpsbabel||This very powerful comannd-line tool will inter-convert many GPS data formats.|
Getting Maps on the GPS
Since the Garmin GPSMap series will display maps, I wanted to be able to get some mapping data on there. There are two map sources I was interested in:
- Map data from NZ Open GPS Maps which gives comprehensive coverage of New Zealand, and is free and community maintained, albeit with some annoying uncertainties about the licensing of the data, and it's being tied to Garmin GPSs.
- Map data from OpenStreetMap.org which gives excellent coverage of many areas of the world, and is free for use under a creative commons license.
Using the NZ Open GPS Maps
The NZ Open GPS Maps are built specifically for the Garmin GPS, so getting them onto my GPS was relatively simple once I found out the exact command line was remarkably hard.
The program that I needed to find to be able to get the maps onto my GPS was
sendmap20 which is a free (as in beer) download from the cGPSMapper Website.
I downloaded the maps from the NZ Open GPS Maps hosted on the cGPSMapper site. I needed the files identified as 'binary' files - the installer is a Windows program and no use on Linux. They all have filenames like
The command-line I first used to install the maps onto the GPS was:
sendmap20 -t/dev/ttyUSB0 640000??.img
That works fine, but if you have even a moderately sized micro SD card in the GPS there are much faster ways. As I found more free maps I found much better ways to do it.
An alternative approach
In the GPS (well, in my one anyway) there is a micro-SD card which is FAT formatted and all of the installed maps are in one humungous combined image of all of the uploaded maps. This means that there is no way to straightforwardly add/remove maps without creating that image, and re-uploading the whole thing. The image file is called 'gmapsupp.img' and is in the 'garmin' subdirectory on the SD card.
This means that you can create the file (or even several different files, with different maps on them) and move them directly on there much quicker, either by taking the SD card out and using it in a USB2 reader (for really big files) or switching the GPS to operate in USB Storage mode (which is USB1, but OK for smaller files).
You can create the IMG file to copy in as
gmapsupp.img with sendmap20 also, with a command-line like:
sendmap20 -lNZOpenGPSMaps.img 640000??.img
and then, if you mount the GPS as /media/GPS, you can copy that file on directly
cp NZOpenGPSMaps.img /media/GPS/garmin/gmapsupp.img
Another program I found useful specifically for dealing with the Garmin GPS Map format is QLandKarte, which understands the native Garmin format and will display the maps in a graphical window.
You can also point and click to select maps, building up a specific set that you can then upload to the device from within QLandKarte itself. This seems to operate a lot faster than sendmap20, presumably because it's driving the USB directly, rather than through usb_serial. To get it to work I seem to have to (a) sudo rmmod garmin_gps and (b) sudo QLandKarte, however, which is definitely not ideal.
For the moment I will continue to use sendmap20 to create files which are sets of the maps I want, and will put them on the device in USB storage mode.
QLandKarte is still very useful, however, for looking at maps and deciding if they are worth bothering with. I used it in this way to select the Australian maps I took with me when I went to Linux.Conf.AU recently. There are more free Garmin GPS maps.
Those Australian maps came from OpenStreetMap.org and ultimately I expect that it will become the best source of data for creating maps for my GPS. OpenStreetMap.org is an attempt to provide community-maintained maps for the whole world and which seems to have made significant progress in UK, Europe, America and Australia as well as many other parts of the world.
The data from OpenStreetMap.org does not have the same licensing restrictions as are present even in the NZ Open GPS Maps data (which is relatively free, but has problems similar to the old-style BSD license).
There are also some good mapping interfaces to the OpenStreetMap data although the searching currently still leaves something to be desired. Interfaces are also available for extracting subsets of the data, which is in a fairly straightforward XML format, or you can download the whole lot, but at nearly 3GB for the bzip2 compressed version you won't do it every day.
I gave a brief overview talk about OpenStreetMap.org while I was at Linux.Conf.AU and it seemed to go down quite well (I gave it several times, in fact). You don't need a GPS to contribute to the project, and of course the maps which are being created are usable for many purposes beyond their usefulness on GPS. Some people apparently even print them out, but that just seems weird!
LCA officially started today, with a great opening keynote by Bruce Schneier very nicely pointing out the differences between feeling secure and being secure, and with a few good examples of where these are mismatched and action needs to be taken to fix the mismatch. Good stuff - catch it on video if you get the chance.
Of course for me LCA started on Monday when I got roped into presenting a lightning talk at the Community Wireless miniconf on OpenStreetMap.org which is something I've been fiddling with recently, and a project which definitely deserves more attention. Since nobody else turned up to give their lightning talks my 3 minute presentation was stretched severely out of shape, but the Community Wireless miniconf was generally pretty interesting and I stayed there all day in the end.
Yesterday was the SysAdmin miniconf, and as one of the organisers there was no chance for me to look around at what else was going on. It was a full-on day, and the feedback I have from everyone is that it was a good miniconf. Certainly it was good enough to attract more people than could fit in the 120 seat theatre we initially had allocated so that we had to move into a much larger theatre. A big thank-you to the organisers for so quickly recognising and reshuffling things so that was possible.
All signs so far definitely indicate another great linux.conf.au
I'm at DebConf7 now, in Edinburgh, and it is great to catch up with the great bunch of geeks that is the Debian community once more. As well as working on general stuff through DebCamp (the week leading up to DebConf proper) I'm helping out in producing the video streams running the sound desk or one of the cameras. The streams are highly recommended, and you can find them on http://streams.video.debconf.org:8000/, though for the New Zealanders reading this they do, of course, happen at seriously silly times of the day. Here is the DebConf7 schedule if you want to watch :-(. We'll get the talks up in a downloadable format as soon as we can, and I'll point people at them again then.
Highlights of the conference so far have been a talk by Nick Mailer on Debian Day, which was a very nicely presented run-down on the ancient history of intellectual property laws here in the UK, and the very interactive session this evening on Maintaining Packages with Git, which had some very good tips from David Nusinow as well as a lot of support from the audience. I now better understand why Penny is so keen on "git rebase", though hopefully I would have figured that out if I worked on more shared projects.
It's great to see 150-odd people in the room, many of whom had some experience with Git, and there were some very heavy users with great insight into it's strengths and weaknesses. Contrast that with DebCon5 in Helsinki where I almost felt Martin Langhoff and I were unheard when we acclaimed it, or even at LCA in 2006, where Martin did a first pass at importing X.Org into Git. Of course Git itself has come a long way from then too.
Another very interesting session was Martin Krafft talking about 'netconf', which is his proposal for a replacement of the ifupdown infrastructure using a much more stateless, event driven approach. This definitely looks like a well considered design and I hope he can pull it off.
I've got my own talk on Thursday, so I'll be concentrating on pulling that together for the next few days. If as many people come as have said they will (50% of the people signed up for any talk at that time) then it will be a very stuffy BoF room. The venue here in Edinburgh is great, and it's nice to have a good network connection. Everything has been running very smoothly for the participants, as far as I can see, though I know plenty of people have been working very hard to make it so, behind the scenes.
Weirdly, after only a short time using IPv6 at home and at work, I am finding I miss not having it readily available IPv6. I unfortunately had to disable my tunnels because adding 350mS latency to everything makes the web very frustrating. Perhaps next year we'll be able to add IPv6 to the desired network features for DebConf8 in Mar del Plata. Good to see that in the meantime the availability of the new IPv6 nameservers for .nz has been announced in my absence though.
I followed the advice of the lazywebs a while ago and bought myself a phone (Nokia 6100) on the local auction website then went around to the local Vodafone dealer and bought a SIM card for it.
When I signed up I ticked the box saying "Enable Global Roaming" and now that I'm travelling I realise I should have actually confirmed that happened before I left the country, because it didn't happen. Now I'm sitting in Melbourne with only the (free :-) Wifi to keep me company.
So looking at the Vodafone site, it appears that I could dial "777" to enable global roaming. Apparently I should have done that a few days ago, because it sure won't work now. Perhaps this "Manage Your Account" thingy will work? A period of perusing pages of FAQs follows, and I eventually conclude that it would work.
Except that when I try and register for the service I am told that my phone number is not valid. Yes, I moved my old number across to Vodafone, about the same time Brenda was lamenting the inadequate preparation Vodafone did for Mobile Number Portability, and while the actual phone has been working, Brenda did note back on April 1st that "you can't use the website to manage your account". Two months on and it still isn't possible, which is pretty poor really - you would think Vodafone would be actively encouraging people to move across to their network.
So I'm effectively phoneless until I get to Edinburgh and can buy a SIM card.
At least I can still get on IRC and ask someone to call Heather and tell her why I'm not phoning.
Flying home from Auckland the other day I discovered that women don't have noses. At least that was the case for the little representations on the safety sheet in the seat pocket in front of me. Wherever there was a little picture of a man, it would be a person with a nose. Where it was a picture of a woman there would be no nose.
Odd, and yet somehow it worked.
I shall now have to spend some time staring more closely at people's faces, so if you see me looking at you strangely over the next few days please don't get upset: I'm just trying to work out whether you have a big nose, and why a picture of a person without a nose should look more like a woman.