2012 DAViCal User Survey

Back in 2005 I saw that a new open standard was being developed for calendaring, and I thought it would be a great idea to implement it. Nothing too complicated - just a really simple implementation...

And thus was born the "Really Simple CalDAV Store".

A few years later, when I got about 90% of the way through implementing the base CalDAV specification, I realised that "Really Simple" and "Calendar" don't actually happen in the universe we inhabit, so after much deliberation the project got renamed to "DAViCal".

Now, in 2012, DAViCal is one of the leading CalDAV servers available, and I spend quite a lot of my time helping people who want to use it. Earlier in the year I was looking at the web server logs and noticed that in a four week period (i.e. as far as my logs go back) there had been several thousand unique sources of hits on the URL that DAViCal uses internally to find out what the latest version is when you browse to the '/setup.php' page.

This got me wondering how many DAViCal installations there are out there, and how big they might be, and so forth but since DAViCal is free open source software, there isn't a simple way to answer those questions.

I thought that it must be time to run a survey of DAViCal users everywhere to try and find out what the scale of the penetration is. How big (and how small) are the installations running DAViCal? What... Well: lets save the questions for the actual place where you can put answers :-)

So click here and take the survey right now... you know you want to :-)

Oakura font


Community halls are not
usually photogenic!

In March 2011 we went on a family holiday to Taranaki and while driving around Mt Taranaki one day we came across this community hall in Oakura. Community halls aren't particularly interesting, as a rule, but I definitely approved of the font used on this one. I've been unable to find the actual source of the font anywhere and I've always wanted to learn how to make a font, so I decided to make my own font, based on the letters I had.

Fonts are almost always a work in progress. I've got this one to the point where it now has all standard english upper and lower case characters, numerals and many items of punctuation, so it's time to release it more publicly.

If you like the font but there are particular characters you want added, please e-mail me and I can probably add them fairly easily. I'm also very open to constructive criticism. I want to make things more consistent and I think the numerals are fairly ugly at present. There are definitely elements where my sources (the letters A H K L O R and U) result in a clash of forms where they meet in a derivative character - after all those aren't normally the characters one would start with!

This is not expected to be used for general text: it's for headings and decorations. A font for general text is enormously more work and needs much greater consistency than this.


The original letters have been preserved with only minor differences.

The font has been built by drawing each letter as an SVG drawing (using Inkscape) and importing that into FontForge which has been used to manage the metrics, and for producing the final TrueType file.

The current version of the Oakura font is available on Gitorious. More specifically you can download Oakura.ttf if you're not interested in the source images for each glyph.

The font is licensed under the SIL Open Font License version 1.1 (or, at your option, any later version). You may also use it under the terms of the CC-BY license although that is less permissive. These license things are all very complicated, but essentially they mean that you may use and modify the font and it is not necessary to visibly credit me, and your use of the font in no way restricts anything about any document you create with it. The full license details are here if you're curious.


I'm happiest with the uppercase, apart from X, V & Z. The letters t & f should match at the crossbars and the ascenders for h, b & d should probably match the ones for i, j, k, l & t, but how that should affect n, m, p & r? ... and q?

CeBIT 2011 in (overdue) review

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.

The Obligation to Vote


Could you not trust this man?

Max and Fraser are very interested in this year's election. I guess political awareness starts at the first election after you turn 10, or so. They're both very curious about how mum and dad are voting, and while their mother will not tell (though we all have our suspicions :-) I don't see any reason not to discuss my political leanings with them.

I've been what is commonly termed a 'floating' voter for most of my voting life. I imagine the politicians themselves might term people like me 'floaters', with an eye to the scatalogical implications. After all, their livelihoods are on the line!

So, after reading this blog post I thought I might as well also share my personal voting plans with the world.

Teaching our children to lie

My son is being encouraged to lie.

It's a fairly regular occurrence around here, and I'm sure you've seen it yourself. It's that checkbox on the website you're visiting where you say "Yes, I am over X years of age".

Switching desktop backgrounds in XFCE4

One of the things I liked about Gnome 2 was the ability to run a background 'slideshow' defined in an XML file with a list of background files to give me a change of scenery from time to time.

Switching to XFCE4 I can't seem to find a simple way to do that, but the ingredients are all there:

  • I can set the background image to a list
  • There's a handy-dandy xfdesktop command-line utility I can call to switch desktops

What's missing from the Desktop Settings is a setting for "switching background ever N minutes", which is kind of odd to not have, given the list thing being there - without my script it's only going to change every couple of weeks when I log in, or something. Not nearly often enough for me!

There's lots of stuff on the internet saying "Just run xfdesktop --reload in a cron job", but this does not work for me, since cron is running with a different environment, and so xfdesktop doesn't know where the X server is and doesn't have the necessary XAUTHORITY and DISPLAY settings.

If it was just DISPLAY that was needed it would be easy enough to set that in the crontab and be done with it - after all it doesn't change very often. XAUTHORITY is harder, since on Debian systems (and presumably others too) it has a random component in the name of a directory which lives in a directory without read permissions.

I solved it with this script, which steals those values from the environmnt of xfce4-panel, which will be running already:

#!/bin/sh
#

PANELPID="`/usr/bin/pgrep -U ${LOGNAME} xfce4-panel`"

stealEnvironment() {
  tr '\000' '\012' < /proc/$PANELPID/environ | grep -a "^$1=" | cut -f2- -d=
}

export DISPLAY="`stealEnvironment DISPLAY`"
export XAUTHORITY="`stealEnvironment XAUTHORITY`"

/usr/bin/xfdesktop --reload

So now I have my background image switching among my favourite photos again, and my Desktop is effectively back as it was a week ago.

In which an obscure conundrum is exposed

Some time ago someone reported issues accessing cpan.catalyst.net.nz a little peculiar and puzzling at the time, but we put it down to some weird DNS cache issues and moved on.

Turns out the problem is a DNS one, though not what we were thinking at the time:


$ host -t aaaa mail.catalyst.net.nz
mail.catalyst.net.nz has IPv6 address 2404:130:0:10::40:0

2404:130:0:10::40:0 == 2404:0130:0000:0010:0000:0000:0040:0000

$ echo $((0x24)).$((0x04)).$((0x01)).$((0x30))
36.4.1.48

So somewhere, some crappy device is getting a bunch of bytes back when it asks DNS for the address of something, and then it's taking the first four of them and calling that the IP address.

Kudos to David Clarke for spotting the actual problem.

aCal: an Android CalDAV Client

aCal CalDAV Client is a project by Andrew McMillan to create a straightforward Android CalDAV client for shared groupware calendaring.

Visit the aCal wiki for more detailed information about this project.

Getting the App

The app is currently in the Android Market for roughly $2.00, depending on your currency.

Getting the Code

The code has been published to the aCal Git repository on Gitorious.

Getting Help

In the first instance have a look around the aCal wiki. There's specific information on there for configuring aCal to work with a variety of CalDAV servers we've tested it against.

If that doesn't solve it for you, the fastest way to get help is on IRC. Join the #acal channel on irc.oftc.net and we'll see what we can do to get you going.

There are two aCal mailing lists that you could subscribe to, and at present this is the best place for you to report bugs.

Take a look at the latest commits to aCal on Gitorious to get an idea of where the project is heading.

Status: Busy

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 :-)

DAViCal 0.9.9.4 released

DAViCal 0.9.9.4 is now available, along with AWL 0.46.

This is a recommended upgrade with a focus on stability and reliability.

Release notes are on the wiki at http://wiki.davical.org/w/Release_Notes/0.9.9.4.

Most of the changes are subtle: fixes to small bugs or adjustments to correctness in respect to standards. In particular there were some errors in handling of various requests for addressbook data, and the support for WebDAV synchronisation is updated to draft -04 of the specification.

One notable addition is the new '/feed.php/username/calendar/' URL which will provide an Atom feed of the events added to a calendar. This is pretty experimental at present, but any problems with it won't affect the rest of DAViCal so I felt it safe to include in a stable release series.

I've also created a DAViCal Announce mailing list which in the future will be the primary place that notifications like this are sent to, so those of you who are subscribed here but really only want to see announcements should subscribe to that list.

In a few weeks time (well, when I remember, I guess :-) I want to move the DAViCal General mailing list to a lists.davical.org mailing list. As of today I've moved the DAViCal developers mailing list there already (pretty easy since it did not involve moving servers) but the old address for that one will continue to work indefinitely.

Also, as of yesterday, the sourceforge.net project name for DAViCal finally got changed, so DAViCal is now at http://sourceforge.net/projects/davical - yay!

At the end of January I will be presenting about Calendaring and Free Software at Linux.Conf.AU 2011 in Brisbane - I hope you've all got your tickets already, because there isn't much time left now :-)

Something a little different

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...

Davis::VantagePro - Weather Station reading, logging & configuring

I recently bought a Davis VantagePro2 weather station. Naturally I want to get the data out of this on my Linux system, but when I looked at the available programs I discovered they were more targeted at presenting it in a web page than recording it for posterity.

Newer versions of 'vproweather' will save stuff in a MySQL database, but I looked at the code and concluded that I could go blind trying to add support for PostgreSQL to that!

So I downloaded the latest Davis Instruments Serial Protocol specifications from their website (Yay: someone who actually releases the docs on how to talk to their gear! :-) and made merry with some perl.

I've been doing Perl on and off for maybe ten years now, but I would say I am by no means an expert, so there are likely to be things that a real Perl guru would do better than I have here. If you are such a person I would love to see patches from you which will teach me to do it better :-)

Meanwhile, if you're a mere mortal like me, and wish to write Perl code or shell scripts to fetch and display data from your Davis Vantage series weather station then by all means download the code and use it to your heart's content. The code is licensed under the terms of the Artistic License v2.0, which is a fairly relaxed sort of a license.

Getting the Code

The source code repository is at http://gitorious.org/davis-vantagepro

Getting Help

I doubt there's going to be a huge rush flocking to use this, so just e-mail me if you want to submit a change. Or send me a cheque if you think it's so awesome I should be paid, and you don't want to leave the job to someone else.

You can also catch me in the #davical channel on irc.oftc.net if you have questions about it and want to chat.

Finally: DAViCal 0.9.9.2 is released

Finally, six months after releasing 0.9.9, and about three months after when I would have preferred to have released it, I've released version 0.9.9.2 of DAViCal. In fact most of the changes were included in 0.9.9.1 which was more quietly released last week to a select audience of keen testers. They found a few bugs, and these are resolved and so 0.9.9.2 is the release I hope people will be able to find useful for some time into the future.

In a couple of weeks, once it's been in Debian Sid for a respectable time, I hope to ask for a freeze exception so that we can include this version into Debian Squeeze when it is released. Given that I missed the cut by a hair or two for Lenny so there is no DAViCal currently in a Debian release I think I can be hopeful on this count. Certainly this fixes a few issues with 0.9.9 which will cause annoyance if they haunt me for the next few years :-)

As well as the rafts of bug fixes and such, the exciting new feature added in 0.9.9.2 is the first support for CardDAV. At this point you need to create the addressbook collection yourself, and there is no import facility, but at least you might be able to use DAViCal to store your contacts.

Enjoy!

Changing an old habit

I'm a keen amateur photographer and have been since I was at school. Of course back then it involved smelly chemicals, strange lights and dark rooms. The expense and hassle of film eventually did it in for me and in 2000 I bought my first digital camera. After a series of increasingly sophisticated devices, back in 2007 I bought a Nikon D80 and soon thereafter I discovered that you can do things with raw camera files that have some analogies to the darkroom processing of my youth.

Making my laptop quiet

A few days ago I talked about how noisy my new Dell Studio 15 was but I can now report back with the beginnings of a solution to that problem, and it doesn't appear to be ACPI related.

The first clue I needed was that if I switch to the proprietary fglrx drivers for the Radeon the fan quite quickly drops off to a much more reasonable level. It seems the fglrx drivers have issues, however, in particular I get big black patches on my screen. This video corruption happens especially in Firefox, but sometimes in other applications as well. They also appear to screw up my suspend/resume, which is probably even more annoying to me.

The second clue that I needed was that Radeon power management support has only just made it into recent kernels. Thanks to Michael Kirkland for providing me with both of those clues :-)

Looking under /sys/class/drm/ I find a whole bunch of stuff, but in particular there are /sys/class/drm/card0/device/power_method and /sys/class/drm/card0/device/power_profile.

Looking through the kernel source code I can see that power_profile can be set to low, mid, high, auto and default, while power_method can be set to either dynpm or profile.

Trying out all of these values, it seems I get the quietest result with the profile method and either the low or mid profile. The dynpm method is nearly as good, and I would think it should really be the default for a 'Mobility' chipset. From the detailed benchmarking that Phoronix did I wonder if it shouldn't be the default for everyone.

For myself, I see some small 'tearing' artifacts occasionally when running with the low profile. These disappear when I run with the mid profile, and since that seems to have pretty much the same temperature (and noise) results I'll go with that one. Though the laptop often does still make more noise than I would prefer it to, it is no longer annoying everyone in the room.

Not unexpectedly this seems to have a huge impact on power use, too. It appears that the laptop should now give me around 4.5 hours when I do everything I can think of to lower the power use, whereas before it was more like 2.5 hours.

Now I guess I can get back to hacking on DAViCal...

Syndicate content