Yesterday, I’ve attended FOSDEM 2007, the Free and Open source Software Developers’ European Meeting in Brussels, Belgium. It’s a two days event, but I only managed to go there on Saturday.
Actually, I didn’t know about the existence of this event until last Friday. It was Bernhard Reiter of Intevation GmbH who announced on the Thuban mailing list he would be there for the weekend. Thuban is an open source interactive geographic data viewer that currently includes pyshapelib on which I’m going to do some work. pyshapelib is the Python wrapper around shapelib we use very often at the INTEC acoustics lab to open GIS data. So FOSDEM was mainly an opportunity to meet some other guys behind Thuban: Bernhard Reiter and Didrik Pinte (another Belgian). We’ve met before noon and had an interesting talk about the development of Thuban, with some interesting thoughts I might introduce in our lab.
In the afternoon, I’ve wandered around a bit at FOSDEM and went to see some of the presentations. Too bad most of the interesting ones (especially on Python) were scheduled on Sunday. Nevertheless, I’ve seen some stuff that I will look into further:
Alexander Neundorf is the maintainer of the KDE4 buildsystem, and has presented a lightning talk on CMake and friends. CMake is a cross platform buildsystem that should be a great replacement for the usual suspects like the GNU autotools. Not only does CMake produce Makefiles, but it can also output KDevelop and Microsoft Visual Studio project files. And even better: it integrates nicely with Dart to perform nightly builds and tests (using CTest). Distribution packages and installers can be crated using CPack.
From the presentation, it seems to be a very nice buildsystem. I will try to use it for LASS, because currently its buildsystem is a bit of a mess. Autotools on the Linux side, and several Visual Studio projects on the Windows side that must be manually adjusted. Also installing on Windows is a bit of a mess. It would also be interesting to replace the nightly build system by Dart and have multiplatfrom building and testing.
CMake may also be interesting for PixelToaster, because currently we already have distinct Makefiles for several platforms. CMake might help creating them including project files for different IDEs.
Another presentation I attended was one by Øyvind “Pippin” Kolås on GEGL, a graph based image processing framework, originally conceived as core replacement for GIMP. I hadn’t heard of GEGL before, but it seems to be a very nice library to do non-destructive HDR editing and compositing, with bindings to several languages like Ruby, Python. It is even scriptable using XML.
I will consider using it for postprocessing steps in LiAR. Well, not really in LiAR, but rather to provide a nice interface between both so that GEGL can easily be used for postprocessing of LiAR renders.
A nice subproject of GEGL is Babl. Inspired by the Babelfish in The Hitchhiker’s Guide to the Galaxy, Babl is a dynamic, any to any, pixel format conversion library that can do conversions between tons of existing formats, and can also use user-defined new formats. Though there might be a shortcoming: Babl assumes there’s only one RGB color space (albeit with different representations). This is of course not true as there are many like ISO RGB, sRGB, Adobe RGB, … Also both GEGL and Babl use “the RGB” space as canonical representation of colours, while “the RGB” space does not exist! Better would be to use the CIE XYZ space which is standardized.