Older blog entries for DV (starting at number 225)

19 Jun 2007 (updated 19 Jun 2007 at 22:36 UTC) »

One year in review

I didn't blogged for a year precisely. No I didn't hide in a hole or something but I just didn't really feel the need. I still did a few things:

  • the libvirt project is my main work item, 15 releases in the last year, now supports QEmu and KVM, many contributors and well people are using it, so that's good.
  • the libxml2 and libxslt libraries have seen their development slowing down, partly because they are mature enough, partly because I have less time, and Kasimier one of the main contributor lost his job and left the project. But Bill is still around and helps a lot !
  • travelling, I had the opportunity to travel for work and also for vacations, went to Singapore twice, also Malaysia, had some fantastic time in Borneo, visited Bangkok, but didn't like Manilla too much. Also spent some vacations in Costa Rica, and went to USA and Canada for work. I really enjoy going to Asia and meet people there.
  • I am getting crazy about orchids, my collection is growing fast, maybe a bit too fast, but I'm rewarded by fantastic flowers, and I'm trying more and more to travel to places where I can see them growing in their natural habitat, unfortunately they are seriously endangered, and it can be fairly hard to still find them in the wild.
  • I also went to badminton training again this year but competition is really getting a bit too hard, and my body disagrees at time, I think I will slow this down a bit next year.

Overall quite a bit happened but no revolution, the most scary thing is that time flies faster and faster, so no promise about increase of blogging frequency !

On broken XML processing with libxml2

The XML spec is very clear about this:

Once a fatal error is detected, however, the processor MUST NOT continue normal processing (i.e., it MUST NOT continue to pass character data and information about the document's logical structure to the application in the normal way).

That's the default behaviour of libxml2, but for the purpose of helping recover occasionally corrupted data, I provided an XML_PARSE_RECOVER parser flag allowing to correct some of the trivial errors, for example if using xmllint --recover. Now the problem is that people start using this flag for default processing, and that's something I said many time I didn't want to happen. If blog generator can't output correct well formed XML, then they need to be fixed (and that's true for all other XML generators). The intent of the drastic rule in the XML spec is cristal clear, to avoid data corruption and data loss by forcing non conformant behaviour to be fixed at the source, not at the consumer level.

I am gonna give a hard time to those who abused this feature of libxml2, because while not completely disabling the option, I will make sure it's not used repeatedly, I'm still looking at the best way. Feedback welcome on this issue, preferably on the mailing-list.

18 Jun 2006 (updated 19 Jun 2006 at 10:31 UTC) »

half a decade of community knowledge gone

The archive of the xml@gnome.org and xslt@gnome.org are gone, I have no idea what happened, I didn't got a mail about it, just that going to the archives show all history is only the 4 last days. The only thing I have left right now are the words saved in the database used for the search engine on xmlsoft.org. The code is here, but the knowledge, the exchanges, all the process leading to it has vanished, I just can't express how sad this makes me...

[update] Apparently it was an indexing problem which should be relatively easy to fix and without serious effects. The post are still on-line and I now keep separate archives for more safety, the data is safe. To me OSS development is really about the process, i.e. the history, knowledge, feedback, the memory of that shared process is as important as the code itself. With that knowledge you can recreate the code, if you have just the code you miss out a large part of its semantic, and it can't be regenerated. That's why I don't believe in dumping large base of source code under a free licence can really compare to code coming from a genuine OSS/free software project.

libvirt 0.1.0

Yup, another release from the canned penguins dept :-) . The API got extended a bit but it's mostly a large revamp of the internals to follow a driver model, so it gets easier to keep the code clean, and contribute support for other virtualization engines than Xen.

There is still quite a bit of work needed, for example acces the Xen Daemon though XML-RPC for versions of xen >= 3.0.2 (which is out apparently). I started incorporating patches coming from various contributors, I like this !

French invades Fedora Planet

it's fun, but a bit disturbing to see 50% of the posts in French. Bienvenue a bord ! Oh I don't believe blogs billets should be limited to a single language even though I stick to english only usually.

Ekiga-2.0.1 and FC5

Ekiga-2.0.1 is a clear success from my point of view, it's installed by default on Fedora Core 5, and so far I received only one bug report: I didn't switch avahi support on (I was a bit conservative, I will switch it on when pushing 2.0.2 when released). In general Fedora Core 5 looks great to me, I miss my old friends xv and xsysinfo, but rhythmbox is a great improvement, audio support is better in general. Unfortunately I can't run my desktop as a Xen Domain-0 because X crashes randomly every day or so :-\ . I also don't activate beagled by default due to the near continuous drive accesses it generates, even after a couple of days (i.e. when I would have expected its database to be initialized). Yum and Extras support works well, that is great too.

Spring is late

really cold lately here, we got snow on the mountains just a few hundred meters above Grenoble. I planted a bunch of new flowers in the balcony, but they are growing slowly due to this. There is a rose bud which is showing up anyway I guess everything will start blooming as soon as I leave for vacations in May ... On the other hand the orchids are in good shape inside, it's nice to have them blooming next to the desk. The habaneros pepers seeds germinated well and I should have some burning hot but delicious pepers this summer :-). I look forward vacations in Asia, hopefully I will be able to import new orchids, well if I manage to get through the french importation administative hassles...

13 Mar 2006 (updated 13 Mar 2006 at 16:13 UTC) »


is out ! Congrats to Damien ! Packages are available for Fedora Core 4, and will be available for FC5 ... sometimes ...


Slowly making progresses, next steps will be to drive QEmu instances and switch to XML-RPC for communication with the Xen daemon. Some serious internal code refactoring is needed.


Went to the W3C XML plenary two weeks ago for the XML Core working group meeting, it was nice to see again a bunch people. Standard guys are a different kind of geeks, they don't hack code they hack specs (some do both !), and hacking the Web and XML can be really fun (or boring :-) ! I also went though all Coverity reports for libxml2 and libxslt, it was a PITA mostly due to the web interface to the reports, a couple of them would really lead to runtime bugs, but they forced me to be far more coherent about NULL pointers handling, static analysis is good because it can spot problem in code that your users will usually never run into (and if they do it won't be reproduceable !) So thanks to whoever paid for getting the analysis done :-)

Could someone explain locality trade-offs to Mozilla/Firefox developpers ?

Yes this may sound like a rant, it still is a very serious issue IMHO ...

Seriously guys before trying to push your stuff as a platform, fix your code. A program which balloons to half a gigabyte of virtual memory usage will not draw the web page I want to see any faster. But it managed to force me to reboot my box, linux handling of Out of Memory conditions is pathetic (I'm told there isn't good solutions to this, maybe), so give me my memory back when you don't need it for the computation of said page rendering. Oh and stop using X11 memory as a long term bitmap cache, this fools nobody, this DOES NOT HELP !

I have an http cache it's called squid and never uses more than 5Mbytes of RAM, I don't need another disk cache in Firefox to double I/O accesses and disk usage, I don't need to cache pages rendering, current processors are way fast enough to redraw them instantly WHEN NOT SWAPPING ! [Thot/Amaya was perfectly capable of instant rerendering on 10Mhz processors, large displays and complex page layouts]

For those frustrated like me by this nice looking memory pig, here is my recipe:

$  cat ~/.mozilla/firefox/default.*/user.js
user_pref("browser.cache.memory.enable", false);

restart firefox, you will see the following line when loading about:config in the URL :

browser.cache.memory.enable  user set   boolean  false
for good measure if you're using a cache like squid turn off browser.cache.disk.enable too by double clicking on the entry. It seems it make it a bit less glutton, but it still fuck with the X11 pixmap cache, X11 size still grows (and do not shrink when closing browser tabs !!!), if someone has a trick to beat gecko/mozilla/firefox in releasing the image pixmap as soon as they are not needed for display I would be very happy. An historical anectdote is that we had to phase out all the X11 terminals in the lab when Nescape started being popular because offloading of this pixmap cache onto the server memory led them to memory exhaustion and reboot of said terminals. This behaviour has been plaguing us for way too long, can't someone fix that code ?

A new name and a new release

Following feedback I got, I renamed libvir into libvirt, apparently the first reaction to the old name was that it would be used to build viruses, bahh ! Rolled a new release 0.0.4 fixing the Python bindings now available on libvirt.org.

PalmOS using Gtk+ and Gstreamer

I don't know who worked on this but this looks seriously cool. Note how most of the bottom of their new stack is made of OSS components !

New beta release of Ekiga

Also in the cool section, Damien made a new beta release of Ekiga version 1.99.1, packages for Fedora Core 4 are available and it was also pushed just in time for Fedora Core 5 test 3. Good Open Source non-crippled software is the right answer to disgusting tactics used sometimes in the closed source world.

29 Jan 2006 (updated 29 Jan 2006 at 22:18 UTC) »


3 months without any blogging, many things happened in the meantime, let's see what is actually still worth sharing

Xen and libvir

work wise, I shifted from desktop related stuff to Xen and virtualization of the OS. I'm very happy to be back into more core OS related stuff, Xen+Linux is a disruptive technology, it just need to be stabilized and integrated into the whole system interfaces, desktop included. I'm bootstrapping a new project libvir with the intent to provide no-brainer, stable APIs to use those new virtualization features. Currently only Xen is supported, the set of APIs is not complete, but this is promising and I really hope to be able to drive more than just the Xen engine. Much fun, lot of work ahead too !


As a result I'm less involved into GNOME, I'm not on the board anymore, I still think reducing the size was an error as there will be less manpower to tap into (I still didn't see the public minutes from the last board meeting), I wish the best to the new board and to the GUADEC team !

building stuff

I feel deep inside of me that I'm an engineer, I want to get stuff built correctly and used, software is great for that but it lacks the sense of a product, something you can touch, show, and use. That why I am so happy to have built my new kitchen, basically buying pieces of wood, planning how thing should assemble, cutting them, smoothing the angles, preparing the surfaces, drilling, glueing, assembling them, polishing the results... Took mee more than a month of my spare time plus a week of vacations, but I have built something real, that I use everyday (I do all my cooking), and which is exactly how I wanted it, that's very rewarding and compensates for the 'a bit too abstract' side of software.

Happy new Year

To our chinese friends !

Ekiga and Solution Linux

[update] I knew I forgot to post about something, first try Ekiga the replacement for Gnome Meeting, it is available into Rawhide, I made packages for Fedora Core 4 too, and while it was difficult sometimes to get GnomeMeeting working this version seems to fix the issue. Plus it's compliant with the SIP protocol, and should then allow access to a number of facilities associated with the standard.

I will also be at Solution Linux in Paris this week, presenting about Gnome (conference), and also about Xen (Red Hat booth),and will be around the Gnome booth too of course.


I got one sent by Nokia too, cute little box, but I hadn't really had time to play with it yet, just surprized to not find an IM nor IRC client, and I will have to do some of the tricks needed to be able to ssh in. Ultimately I expect to donate it to a public research project here which works on SMIL editing and multimedia, they should be able to make a better use of it than me. But this is cool !

Re: seven

Feeling even more frustrated about desrt last post on the subject: so having companies being strongly involved in GNOME to the point that they have up to 3 members on the Board is a bad thing ? This leaves me with such a bad feeling! I think I won't vote, apparently there is no blank/abstain vote.

Back from London/Boston trip

LinuxWorld in london was a surprisinggly small to me, smaller than the "Solution Linux" equivalent in Paris (I will talk about GNOME there in Feb). Apparently I was a bit too loud during my speech about Xen, people from the other room came to tune down the volume of my speakerphone (sorry gary :-) .

GNOME Summit

Most notable points of the Summit were the focus on performances, Federico did a good job of pointing people at tools though I'm surprized most people looked like having their first session on optimizations. John Rice also made a nice presentation on DTrace (but he seems to have fogotten his syscalls ;-), looks really good, too bad I will have a hard time using it at the moment (I'm waiting for a complete OpenSolaris distro with Xen 3.0 support, yeah I don't hold my breath ;) . Anyway the Summit is really about talking to the people and try to focuse on technical areas, but I didn't spot any big innovation.


First the alim for my home network dies while I was on the trip, then there were some problems with INRIA lab power where I host my boxes, fr.rpmfind.net was down for most of those 2 weeks, then xmlsoft.org is now down for similar reason waiting for someone to push the Power button (use http://veillard.com/libxml in the meantime). On the good news it seems the rpmfind.net server at speakeasy will be repaired :-). Oh and the server in my closet don't seems to find the network, I don't yet know why.


I also took a few days of vacations while I was around Boston, spent last week-end in Cape Cod with Jeff Johnson, that was cool, I enjoy cooking and being able to work with a real kitchen and barbecue after a week cooking in the hotel room was a pleasure :-). Oysters are better in France but you can find excellent (i.e. ultra fresh) fish and sea food around Boston ! I was also hosted at Seth place, we tried to kill ourselve twice, first with an expresso machine (nice job Seth ;-) and next evening by sailing at night on the Charles River. Sailing at night is amazing, doing that within the town was fantastic, really, I only feel so stupid because I worked for 18 months at MIT and never discovered they had that sailing club !

There is something going on in Norway

Can someone tell me what is happening at Opera ? First they make that GTK version of their browser for Nokia, great. But I just found those selected pieces from their Changelog for windows 9.0 p1 release :

  • Removed support for XML namespaces in HTML documents Hummm is that a good idea ? I got troubles in that area with libxml2
  • Added support for xml:id. Yay !!
  • Added support for XPath 1.0 hell is freezing !
  • Added support for XSLT 1.0 and the XSLTProcessor constructor okay hell definitely froze !!!

Did HÃ¥kon spent his summer in Redmond or what ;-) ? As a followup on a relatively heated debate we had at the W3C Advisory Board in 2000 (IIRC) would someone happen to know the runtime size of their XPath and XSLT implementations (in term of compiled code size for i686), I'm ready to keep that for myself if needed...

20 Sep 2005 (updated 20 Sep 2005 at 17:00 UTC) »

Spot on

Some Intel engineer managed to find my hidden personality *in his first mail*: "Hello Denial, ..." . Obviously he has talent in Internet psychology !


lot of news here about flu supposed to arrive in December, apparently I'm priviledged and got the beta version for free :-( . And contrary to Bastien I didn't even got it by chasing young chicks at the nearby university (Calum, proper uni criteria may vary a lot, and if you check Bastien blog closely you will find easilly what he is really interested into ! Not that I would blame him :-)

gam_server segfaults on inotify

Apparently my patch to fix the memory leak in 0.1.6 can lead to a double free, the poor souls (rlove, fcrozat, etc...) who package it in their respective distro may want to have a look at my fix for RH #168744 commited in CVS and double-check. Rawhide users should bet the beta version for free (my revenge for being sick).

216 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!