Recent blog entries for hub

Browser wars: a new hope

Nothing was lost in the browser and in the last years, Firefox has taken back some point in the browser market. So interestingly that after disbanding the team and not doing anything on IE for 5 years but plugging security holes, Microsoft decided to release IE 7, solely for XP SP2 and upward, in the hope to regain some market.

But this is not without counting on Safari.

Safari by itself made Microsoft not develop IE Mac anymore a by itself took a good chunk as the Mac market is somewhat growing a bit. The interesting part is that it is not based on Gecko, but on KHTML, turned into WebKit. Lars Knoll interview gives us a brief overview of the past and the future of KHTML and WebKit development, notably how Apple collaboration ended up working well and how KDE4 will have KHTML coming directly from Apple's repository[1]. Now the WebKit for Windows is about to disturb the source: Apple's Windows port did land in the repository, and that port has apparently no relation with the non contribution from Adobe for WebKit + Cairo on Windows[2]. I'm still unsure of the direct benefit of the port source code for Free Software, as it apparently use a mix between Windows native GDI and Apple own proprietary CoreGraphics (delivered as a non-free DLL), but nonetheless.

Now how will that still matter for Free Software?

It brings a standard compliant Free Software web rendering engine a broader audience, on that it is different from Gecko. Competition is good, and diversity is good. This engine is at the heart of KDE4, and is being brought to Gtk by the work put in by various contributors, including Alp's port to Maemo (Alp, you rock dude) making it valuable for GMAE and Gnome in general. Nobody will argue, Gnome is in dire need to something better than Gecko for its HTML needs: DevHelp, Yelp, Liferea, Evolution, etc would all benefit from it. All the enhancements made to the main engine, including support for new standards will directly serve the purpose of any Free Software using it.

Even more, being the browser inside the iPhone (and actually Apple's blessed development platform for the iPhone[3]), this could leverage enough market share to make WebKit a major browser and have actually enough power to convince the Web 2.0 developers to ensure their development are compatible[4] with it. And that is something noticeable. Remember when IE was the only browser tested and that developer didn't care to fix their mistake or standard conformance because anything else was too small for them?


[1] no I didn't say developed by Apple

[2] they released the source of their version but didn't contribute it back to the main WebKit

[3] more on that later

[4] bonus point: the iPhone does not have Flash capabilities which is good for standard compliance

Syndicated 2007-06-13 18:11:34 from Diary of a CrazyFrench

Exempi 1.99.1

I forgot, but Thursday night I released Exempi 1.99.1. The ChangeLog is probably not very obvious be the 2 notable changes are xmp_register_namespace() and NS_CC. The first is to register a new namespace to add to a metadata block. The second is actually the constant for the Creative Commons XMP namespace.

This release is brought to you especially for our friend at Creative Commons.

Download .tar.gz - GPG sig

Syndicated 2007-06-09 04:33:33 from Diary of a CrazyFrench

PresentationML/DrawingML text import

One of the good things with being employed to work on a Free Software project like is that you can blog about it, since the code is publicly available. My day to day work is current PowerPoint 2007 import for Impress. This is a joint work between Sun and Novell.

A few weeks ago I implemented the text import from PresentationML (actually from DrawingML). It is far from perfect, but it is getting there. See the example:

It imports the text, the characters and paragraph properties, etc.

Syndicated 2007-06-07 20:47:04 from Diary of a CrazyFrench

... solved

I went ahead and solved the problem on my own with planet I changed the RSS template files to escape their content. I don't know why the behaviour is different between two Python installation, and actually I don't wanna know ;-)

It looks like grep is still one of my best friends.

People aggregating the planet should no longer have issue. Sorry for the mess.

Syndicated 2007-06-07 16:26:42 from Diary of a CrazyFrench

Planet issues...

Dear Lazyweb,

Since I moved planet OpenOffice, it generates invalid RSS feed because it does not escape the content of <dc:author>. The planet version is the same, but the Python version likely is different. I have no power on the version of Python that is installed.

This invalid feed cause problems for people aggregating planet in a feed reader (like I do).

Oh Lazyweb, do you have a magical solution? Your friend Google seems to not have been helpful.

Thanks, love,


Syndicated 2007-06-06 14:55:41 from Diary of a CrazyFrench

Planet and service announcement

I just migrated Planet to a new ISP. Nothing should be changed for you readers, but if you notice any problem, feel free to contact me.

We will also be moving the rest of progressively, there might be disturbances. We will try to minimize them.


Syndicated 2007-06-04 19:42:15 from Diary of a CrazyFrench

Lossless JPEG

Last night I reached a new milestone in libopenraw: being able to decompress the RAW data from CR2 files using Lossless JPEG. The lazyweb has been helpful in finding code for it (libjpeg does not support it) code that I ported from old K&R to C++. I'm still not completely statisfied with the port but it works much better than my attempt to port some MIT-licensed Java code.

Above is the PGM I generated, that contain the RAW data, viewed in eog. The look is due to the fact that we have a GRBG 2x2 color filter array diplayed as a graymap, and that eog does sone dithering. This is the data I should be passing to the demosaicing code. The picture is one of the random sample I took from my own photo library, taken around the corner from where I was living in Montréal.

DNG support should come The code is in the git repository.

Syndicated 2007-06-02 22:42:07 from Diary of a CrazyFrench

Eight years ago

8 years ago, back when AbiWord was a commercial venture, the AbiWord folks from Sourcegear had a booth at Linux Expo 99.

Abi the ant was there. Marc dug up pictures that were still on the server. One did catch our eyes (along with the caption):

Miguel and his partners are starting a new company, International GNOME Support

Syndicated 2007-05-30 16:24:26 from Diary of a CrazyFrench

Exempi 1.99.0

I think that a release of Exempi 1.99.0 is due.

This release is the first release towards Exempi 2.0. It is based on Adobe own XMP SDK and unlike the original Adobe code, it builds fine on Linux, and even more on x86_64 (I'm not proud of the fix, but it is as good as it gets for now). This version is much more feature complete than Exempi 0.5.1 as it read and writes (serialize) XMP metadata and load from and to files, including, for supported file types, reconciling the existing metadata.

Download: .tar.gz - GPG signature

It is licensed under the BSD license.

The current API is somewhat not definitive, but I hope it is OK. The documentation still has to be written / generated.

One of the question I got asked is how do you add XMP metadata like CC:Licensing to a PDF[1]. Here is a snippet:

#include <exempi/xmp.h>
XmpFilePtr f;
f = xmp_files_open_new("test.pdf", XMP_OPEN_FORUPDATE);
XmpPtr xmp = xmp_files_get_new_xmp(f);
xmp_set_property(xmp, NS_XAP_RIGHTS, "Copyright", "(c) ACME Inc., some rights reserved"
   " - This work is licensed to the public under the Creative Commons Attribution-ShareAlike "
xmp_files_put_xmp(f, xmp);
xmp_files_close(f, XMP_CLOSE_SAFEUPDATE);

Now a little call: Exempi 1.99.0 supports several media format, but not vorbis... I wish I could add support for it. Any idea? I haven't actually dug into it yet.


[1] could be any of the other supported file types

Syndicated 2007-05-30 03:23:34 from Diary of a CrazyFrench

exiv2 and Python

I discovered today pyexiv2, which is a Python interface to the infamous Exiv2, a GPL library to read and write Exif and IPTC/IIM metadata from JPEG and various camera RAW file. Too bad I can't reuse the exiv2 code in libopenraw as it is GPL and not LGPL.[1]

pyexiv2 is actually an exemple on how easy it is to write Python module in C++ using Boost.Python


[1] The decision to use LGPL for libopenraw is in complete relation to the policies from both Gnome and KDE when it come to libraries, and nothing else.

Syndicated 2007-05-29 19:12:55 from Diary of a CrazyFrench

294 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!