Loud ramblings of a Software Artisan

Saturday 26 July 2008


During my demo at GUADEC, I only showed JPEG images. But RAW support is supposed to be central to Niepce Digital. Here we go. Leveraging libopenraw and GEGL, I now have basic RAW demosaicizing working. It needs several adjustments, but it is there, much better than what I achieved before.


GEGL needs to be build with the "workshop" (see configure). I already have updated my packages for openSUSE. The code will soon be pushed to SVN.

Thursday 24 July 2008

Guadec slides

Just a quick note to let people know that I have put my slides online. They are linked from lgo (in OpenDocument).

I'll provide PDF and HTML versions soon.

Thursday 17 July 2008

geglmm 0.0.17

I did a release of geglmm 0.0.17 (with the help of jonner for the upload) in order to help building Niepce Digital.

geglmm 0.0.17 is the C++ mm-style bindings for GEGL 0.0.18.

You can download it from the FTP:


A version 0.0.18 will follow soon to be in sync with gegl versioning.

Wednesday 16 July 2008


A while back I posted and teaser, but that was all until GUADEC where, with 3 lightning talk I could present the stack and and application I'm working on, on my copious spare time(tm). Let me introduce you to Niepce Digital. For what Niepce means, there is Wikipedia. For what are the plans, read on.

Niepce Digital is meant to be an application for digital photography that will allow end to end management of the workflow, starting with the acquisition from the camera to the final printing or publishing. For those who chose the easy way it is in the same idea than Adobe Ligthroom or Apple Aperture. I have had some concept written down on paper for over 3 years, before these applications were unleashed, I just didn't manage to make anything out of it. And of course it is Free Software, that goes without saying (licensed under GPLv3 or later).

Design goal

From a development point of view, the design goal is to:

  • try to provide, leverage or reuse infrastructure. In that case this mean using Exempi, libopenraw and GEGL, and making sure the whole processing pipeline can be reused. There is hope with GEGL being used by Gimp that some of the image processing can really be shared. I started Exempi especially with that application in mind, and I'm still developing libopenraw in parallel.
  • try to make it right: don't cut corner when implementing be rather take the time to do the right thing so that in the future it doesn't have to be redone. Of course this means that the initial shot will take more time but in the end the benefit is that things will be easier.
  • try to do things progressively but surely. Better have a well working limited set of feature than a half working extended set of features.
  • try to be modular so that it is easy to implement new modules.

Feature set

The feature set I wish to see implemented is quite extensive, and the application will be divided in "modules". The first one, the library is meant to manage the collection of pictures, add metadata, etc. The second module, darkroom, is meant to perform the image editing. Image editing is not like a full blown version of GIMP, but rather a limited and most used set: image adjustements, crop, straighten, dust removal, etc, all performed in a non-destructive mode. This will be for the first milestone, with maybe a few upload modules to export to you favorite image hosting.

Digital camera RAW files will be first class citizen, and actually they should provide the best result, and not be harder to use than JPEG. Metadata will be centered around XMP for maximum interoperability. And of course, color management will be.

This first milestone is quite ambitious, and having a very good output quality will already an achievement.

As a second milestone will come web gallery generation (static HTML) and printing. That last part might actually be a lot of work, including vertically down the stack.

Now what?

I have setup for a while a project on GNA to host the source code and the repository. You can grab the C++ source code and play with it.

But there won't be a release for a while. See the first milestone above.

Wednesday 9 July 2008

Guadec notes

I didn't really take notes. But things I saw:

  • GeoClue is interesting in the idea. I don't know why I missed the talk last year.
  • Blizzard doesn't like doing presentation but he is good. Chris, continue. Next question?
  • Stormy is here as the new executive director for the foundation. Congrats!
  • Lot of EEE PC, all using free software (the default firmware is not).
  • GEGL in Gimp, that will rock.
  • Disappointed by the OpenMoko talk. Not that it was bad, but I'd have preferred a presentation of the software stack.
  • Clutter is more impressive than ever.

Picture count at 748, and still counting. And the pain in that? I won't tell there would be a huge rant.

Sunday 6 July 2008

In Istanbul

I'm in Istanbul since yesterday. The weather is hot.

We have drunk beer on the sidewalk sitting on cushions and carpet: that's what the terraces are in Istanbul. Some North American countries really need some thinking about the alcohol taboo.

I have taken 346 pictures so far. That's a case where I wish I had a GPS to geotag them. I will need to do some sorting though, and that might involve writing code before hand.

More later...