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.
For several years I've wanted to join the Calendaring and Scheduling Consortium and go to one of their events to get a chance to meet face-to-face with some of the luminaries in the calendaring world, but every time there is an event it seems to conflict with either linux.conf.au or my brother's wedding or something. Finally I've decided I can make the next meeting, so I've paid over the money to join the organisation and I'm travelling to the US next month for 'CalConnect XVI'. With that on my mind when I saw an HP 110 mini netbook on sale for NZD$588 from Harvey Normans I finally flipped over the 'shall I get one' threshold, hoping it will make a good 'travel laptop' for the upcoming trip.
Something that has been annoying me recently with my bank has been that their website tells me that they will never ask for my password over the phone. And then their call centre asks me for my password. Over the phone. Of course the call centre doesn't mean my website password - they mean the special 'ultra-secure 5ekr1t code phrase', but they don't have a good, universally understood word to use for that. Hopefully they'll work one out, but they appear to have got the message anyway.
This got me to thinking about how these phrases are used, and how insecure they are in reality. After all when I store a website password I go to significant lengths to ensure that the same password is not represented by the same string of characters in my database. How vulnerable are our secrets in the databases of organisations we do business with?
Yesterday I switched my development environment to PostgreSQL 8.4, and so today I foolishly used the PostgreSQL 8.4 manual while I was developing, without thinking that I might be using some new functionality. Silly me!
What I wanted to do was to convert a column of words into a comma-delimited list (for readability, not for export), to get output something like this:
id | tags -----+---------------------------------------------- 141 | DAViCal, FOSS, Programming, CalDAV, Releases 138 | Family, Life, Kids 137 | Kids, Family, Rants 136 | Life, FOSS, Debian, lca 135 | Releases, FOSS, Packages, Debian, DAViCal
Where the table has two columns 'id' and 'tag', like:
id | tag -----+------------- 141 | Releases 141 | Programming 141 | CalDAV 141 | FOSS 141 | DAViCal 138 | Kids 138 | Life 138 | Family 137 | Kids 137 | Family 137 | Rants 136 | Debian 136 | lca 136 | Life 136 | FOSS 135 | Packages 135 | Releases 135 | DAViCal 135 | Debian 135 | FOSS
I looked at this and thought: that's just the job for an aggregate function! It's like sum(), except it concatenates!
Now if only all of our other sponsors could line up behind them (please) and tell me the extent of their sponsorship, we would have some facts to moderate our plans...
But seriously: thanks to InternetNZ for stumping up with the basics to make sure this conference will become a reality.
Anyone else looking to sponsor the best linux conference in the world should send me an e-mail.
After far too long (too many holidays away from my keyboard :-) I've released DAViCal 0.9.6.3 and AWL 0.36. This is mostly a stability release, fixing all those little niggles that might only affect a few corner cases, but it frees me up now to concentrate on adding more functionality for a 0.9.7 release in due course. Hopefully this will be the last in the 0.9.6.x series.
More information in the DAViCal release notes on the wiki.
There are quite a few changes to the AWL libraries which this release depends on, but most of those changes have been driven by my Work Request Management System and Capital APMS projects, rather than from DAViCal.
I was going to reply to this in the mailing list, but after I spent half an hour furiously typing this, I thought it might be better to put it into a blog, for a slightly wider audience, perhaps a more permanent life and partly in an effort to end this thread on a more or less constructive note.
The backchat for this is that the LCA 2009 video has started to go up on the web, and some talks have some gaps in the audio stream... Russell Coker wants to make a constructive suggestion, as follows:
On Wed, 2009-02-25 at 18:02 +1100, Russell Coker wrote:
> I've pasted in the below paragraph (the third time I've included it in this
> thread) to reiterate my point. Note that I am not asking you to re-do any
> videos, I am making a suggestion for future people.
> # I suggest that in future when preparing such videos the sections with no
> # sound be omitted and replaced by a short note explaining the omission,
> # something like "sorry, due to technical difficulties four minutes of sound
> # were not available". Having a second ogg file for the lip-readers would be
> # an option although I expect that the demand would be minute.
As someone who has not been at all involved with the production of the LCA videos, but who has been intimately involved with the process of streaming DebConf 6, 7 & 8, I think this sort of additional effort will only happen if people voluntarily do it themselves.
Just the task of *watching* all of the produced videos is a huge job for one individual, but as a community of individuals it is quite likely that at least one individual in the community watches each video. If each person who was offended by the quality of post-production work took it upon themselves to fix up only one video then it is probable that we would see some changed. Otherwise I'm afraid it is unlikely.
Further in his e-mail, Russell Coker wrote:
> My observation was that the microphones were put down AFTER they ceased
> operating. A non-functional lapel microphone is no better than a non-
> functional hand-held microphone.
> Having a large supply of new batteries would be one way of alleviating the
> problem (I believe that some of the instances were due to flat batteries).
> Another possibility is having two microphones on hand so that if one died the
> other could be turned on.
> A wired microphone that doesn't rely on battery power would probably be the
> most reliable option. That of course might not fit with OH&S issues.
Most speakers are uncomfortable / unfamiliar with wired microphones. Spares are essential, of course, but the problem can usually be avoided by having a checklist for the audio person to confirm several things:
Before the start of the talk:
- check that batteries are good enough to last for the full length of the coming talk.
- check sound levels are correct for this speaker
- confirm sound is going through to recording
- check the speaker knows how to turn the mic off/on
At the start of the talk:
- confirm sound is going through to recording
At the end of the talk:
- Turn the mic off to save battery.
There are probably a couple of things that I've missed, but if you start with a checklist you pretty soon modify it into a *good* checklist, and it *really* helps when people are under fire.
In fact lapel mics are not the best microphones for these kinds of presentations. The best mics are the ultra lightweight 'headset' models which place a the mic near to the speakers mouth. These do not suffer when the speaker turns their head hard to the left or right, at which points a lapel mic stops getting their speech. They also work well with that more hirsute minority so over-represented in our particular community (alas, that this set no longer includes Bdale :-)
Of course DebConf has a large team of volunteers for streaming the conference, and has developed these kinds of procedures over a number of years. At DebConf there are usually only two main streams, each of which involves:
- The director, operating the video mixer
- Speaker camera operator
- Audience camera operator
- Slides to video convertor
- Sound mixer operator
- Talk timer, to warn speakers at t-10, t-5 & time is up.
- Two roving people responsible for getting audience mics to people talking in the room.
Ideally that really is 7 people (times two streams), and you can get by if you can't find all of the last three, but the other four are increasingly desirable. We mostly manage to do that with volunteers for two streams at DebConf, but for five or more streams at LCA it is inevitably a lot harder, and the quality necessarily has to be cut back to match the resources available.
While it is true that sound is critical to this communication, it is unfortunately also true that most people's (even most geek's) eyes glaze over when presented with a mysterious box with a mere 6 sliding potentiometers, let alone when there are 36 of them, each associated with another 8 rotary knobs, and a rats nest of cables worthy of the worst network nightmare they've seen, and where everything appears to be literally held in place with duct tape.
So it is not so surprising then that while it is relatively easy to find a gadget mad geek capable of operating a camera, or even experienced with operating a camera, finding people with experience operating a sound mixer is an order of magnitude harder.
At LCA the operation appears superficially to often involve a (single) speaker camera operator with a very basic sound mixer which has been configured once by an overworked person who is unobtainable during the actual talk to solve any audio problems. These people are volunteers, and are doing their best, but it simply isn't possible to get a consistently high quality of video and audio in those circumstances.
So as one of the organising committee for LCA 2010 in Wellington I will be watching what we do, and although I don't intend to get personally involved in the video production (I've got plenty of other stuff on *my* plate :-) I do intend to provide what advice and assistance I can. I know that we hope to have some professionals involved (as volunteers), but how many volunteers, and with what levels of skill & experience, we are unlikely to know until much closer than the date. I'll also personally try and get a run-down on all of the audio equipment so that in an emergency, if I happen to be available, I can sub as a sound mixer operator.
So we will try and do better in Wellington in 2010. Come to the conference, though, because we can make no guarantees, and if you do come to Wellington, and you see a single cameraman, and you know something about running a sound mixer, then perhaps you can come and volunteer to help out in that capacity, for the talks you are attending anyway. We'd really appreciate the help.
And finally I must say thanks, in particular, to Holger Levsen for all the learning I have gained since joining the videoteam at DebConf5 in Helsinki in 2005. And too, to all of those past conference teams (LCA, DebConf and otherwise) who have put their best efforts into providing videos of the talks I couldn't see in person. I know it's a bloody hard job, and often a less high profile one, so:
The news is out now, that Wellington will be hosting LCA 2010. As someone on the core team for that (potential sponsors please contact me sooner rather than later :-) I really hope we can do something as awesome as the current week we've had here in Hobart.
Thanks to all of the Hobart team for doing a great job.
For the benefit of Debian users, here's a quick summary of Paul Fenwick's talk about cool stuff in recent Perl versions.
apt-get install libmoose-perl
apt-get install libpar-packer-perl
apt-get install libdevel-nytprof-perl
apt-get install libautodie-perl
apt-get install libperl-critic-perl
Now I have to integrate all that into my writing of Perl programs, which doesn't really happen frequently enough for such changes to become easily ingrained... Great fun, and it's tempting to install Windows just so I could run some of that stuff, but perhaps Paul hasn't realised that you can run Minesweeper under Wine?
As with most of the photos I have put on Wikimedia Commons it is released under PD-Self, so it will be interesting whether he chooses to credit me or not.
He seems to have a pretty good argument, and I hope that this gets visibility and acceptance in the legal community over time. The free software audience is pretty sympathetic, of course.
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!
Today someone asked me to take a look at an Evolution enhancement that's just begging to get into trunk. Since this is a Gnome program in a subversion repository I've commenced the process of cloning the repository so I can look at the issue against the current head.
At the current rate I should have a copy of the repository by early tomorrow morning, in order to be able to start looking at it. Of course today is when I actually do have some time to spare, and I hope to be fast asleep at the time when I expect this to finish.
Presumably subversion isn't this slow for everyone, but since my latency to their repository is 300mS I'm probably on the worst end the pain, with each commit seemingly taking around a second. It sure would be nice if subversion provided some kind of chunked compression of these five-year-old commits, so I could be bandwidth limited, rather than latency challenged.
The addition of a day to the checkout of a software project must be a significant barrier to entry for anyone considering contributing. It makes it much less likely to be opportunistic.
So far I'm up to r3600 in 75 minutes. That's 75 minutes that I could have spent actually looking at the code, but now it's time for me to go and vote for me...
Well, it seems that there were few problems with the pre-release of DAViCal I pushed out last week, so 0.9.6 is out now.
The full release notes are on the wiki. The biggest change is that this release now supports free/busy using the method defined in the draft scheduling extensions for CalDAV, so it's possible to schedule meetings with Sunbird/Lightning or iCal, and possibly other clients if they support that.
Now I can concentrate on getting some paid work done for a few weeks before I start on the next stage.
After release I discovered that due to the changed behaviour of DAViCal, interoperation with Mozilla Sunbird/Lightning 0.8 was no longer working. A new 0.9.6.1 version has been released to resolve this issue.
When Heather designed a logo for me for Morphoss she did it with a bitmap editor, naturally enough because that's the tool she's most familiar with using. I'd rather not use a bitmap as the source format for the logo though, because it will degrade when it gets resized, so I redrew it as a vector graphic.
One of the best free, open-source tools around for vector graphics seems to be Inkscape and I've mucked around with it for many years, so I naturally used that.
Once you have a logo though, you naturally want to use it in documents, and the importing of SVG graphics into OpenOffice.org documents is a long-outstanding bug (let alone embedding SVG graphics) so I needed to convert them to another format. It's actually the most requested feature in OOo, appearing twice in the top 10, and even spawning an external SVG importer project.
Since both programs support encapsulated postscript I was able to save the logo from Inkscape as .eps and use it directly in OpenOffice.org. While this initially seemed satisfactory, after a few weeks of using documents with the .eps logo embedded in them I started to get annoyed with the strange pauses when my CPU was maxed out while paging up and down. I was sure that that had not happened in the past when I was using a logo in WMF format, which OOo inevitably has to support well for compatibility with other Office Suites.
After some searching around for more complicated ways to convert SVG or EPS to WMF, I discovered that what I could do was simply to open the EPS in OpenOffice.org draw, and save it from there as a WMF. This seems to work well, for my purposes anyway, so now when I use my logo in my OpenOffice.org documents I don't see any annoying slowdown paging up and down within the document, and I didn't have to download the SVG importer for OpenOffice.org either.
Well alright, I did download the SVG importer as well, but my logo didn't look nearly so good without it's text, and with everything displaced up and to the right at various offsets!