Well it’s been a busy time, we’ve been to Adelaide as VPAC sent me to Linux.Conf.Au 2004 which had to be one of the best conferences I’ve ever been to. I don’t seem to have been alone in that, as one of the keynotes (either Maddog or Bdale, can’t remember which now!) said that it had to be one of the top 3 Linux conferences worldwide.
Unfortunately I missed the IPv6 mini-conference that I was meant to attend as I came down with Chickenpox on the Saturday I arrived in Adelaide! Donna looked after me a treat though, dosing me up on vitamin C, Lysine, various multi-vits and keeping the nasty things covered in a gel to help them heal. Thanks to all that I was out of the infectious stage (though I looked a mess) by Wednesday morning and was able to go to the conference proper. The organisers already knew as Donna had gone and registered for me on the Monday morning. I count myself a very lucky man to have Donna for my wife!
For a brief conference report, read on!
The conference was excellent, lots of interesting presentations, here’s a selection from those I went to:
Security Enhanced Linux
A team from CSIRO, the Australian governments major research organisation, ran a tutorial on their Annodex technology, attempting to do for multimedia what HTML did for text documents. Basically it involves a container format with both “time continuous data” (e.g. audio, video) and XML markup allowing hyperlinks from timed parts, captions, table of contents and meta-information like title, author, etc.
I thought that this was one of the most interesting ideas presented at the conference. I think that whilst in itself it is useful it also provides the opportunity to extend it to enhance multi-media on the desktop.
Currently, people could be using their PC as a PVR (I use mine to record digital TV programs), they may have a camcorder and have a library of their kids growing up (no, that’s not us!), you may have converted your CD’s to Ogg-Vorbis format so you can listen to them on your PC whilst coding and leave the originals with your CD player in the lounge.
Now that’s a lot of data, and at the moment pretty much all you can do is embed any information you may want to do so in the file name (well, asides from Ogg-Vorbis I guess) and search on that.
With Annodex you could add that meta-information into the file itself, add comments, links, etc, all of which would be searchable if indexing engines like HT-Dig became Annodex aware.
So, you could then search, on your desktop, for a name and find all documents and videos that mentioned it.
The team has even developed a module for the Apache web server which allows you to extract the markup (called CMML on the web server, allowing web spiders to index Annodex files for searching without needing to retrieve the media content as well! Even neater is the fact that the module allows you to specify time based offsets in the file, so you can request everything between the 34th minute and the 38th minute and the server extracts that section, bundles it up in the Annodex format and passes that back to you. A lot more efficient than having to download the entire file!
Gstreamer is a framework for creating multi-media applications that works by providing lots of plugins from various sources that provide small tools that you can create pipelines from.
That may not sound like much, but it’s an extremely powerful architecture that allows you to build all sorts of fun (not to mention useful!) tools from simple building blocks. The plugins auto-negotiate what they’ll take depending on the formats they support. There are both command line and graphical tools for creating applications (have a look at the gst-editor page for some nice screenshots.
The Gstreamer website has a status page of applications built with GStreamer.
Building LSB Compliant Applications
This was an interesting talk by Christopher Yeo from IBM (his business card says “Open Source Hacker” – IBM have come a long way!) about how to build applications for the Linux Standards Base. This necessarily included a bit about what the LSB is (basically a defined ABI with both common and processor dependant parts and a packaging component) which was very useful for someone like myself who’d heard peripherally about it but not in any detail. There’s an overview in the LSB 1.3 spec and an associated FAQ. At present version 2.0 is in draft form for discussion and finalisation.
Building LSB compliant programs is a matter of sticking to the specs and using the LSB build environment to create your executables. The build environment wraps your compiler (currently GCC) with an environment that ensures that only LSB compliant calls are made, and that an LSB compliant object file is produced.
They also provide a sample LSB implementation which is a minimal, chrooted, Linux distribution for testing applications in to ensure they will work on an LSB system. It’s also used as part of the certification process.
I think the LSB effort is well worth supporting, it could remove the problem for ISV’s selling commercial Linux apps about which distribution to support and allow them to say “you can run our app on any LSB compliant system.”. The problem is convincing them to use it in the first place!
Arjen Lentz of MySQL took us down the road to MySQL 5.0 (and beyond!) looking at what’s new, what’s been there for ages but we’d not noticed, and what’s planned. I’m not heavily into SQL, but there was enough there (query cacheing, triggered procedures, views, etc) to keep me interested and looking forward to playing with some of the newer MySQL versions.
Of course the problem often is that people rely on their RPM’d or APT’d installations, and upgrading from 3->4 in MySQL will break anything that is linked against libmysql (such as PHP, etc) and so that acts as a bit of a barrier to migration for some people. There’s also “if it aint broke, don’t fix it”, especially when trying to fix it can break it badly! 😉
One thing I hadn’t realised was that MySQL won’t even release an alpha version in binay until it has passed all their tests, which is kind of reassuring.
An inside view of changes in the 2.6 kernel
Jon Corbet from LWN did a talk on what’s new in the Linux 2.6 kernel which was excellent, I won’t try and recapitulate it here, if you’re interested you can read Joseph Pranevich’s “Wonderful World of 2.6” document which covers a lot of the same ground.
The other talks I went to were also excellent, and I think it’s safe to say that there wasn’t one I went to that I didn’t come away from with some new knowledge.