Older blog entries for DV (starting at number 221)

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).

16 Sep 2005 (updated 16 Sep 2005 at 13:14 UTC) »

Time for a change

I realize that I take less and less satisfaction in my involvement with GNOME. I'm relatively sad to see that people actively switch from libxml2 to GMarkup for the sake of it, that all I have to offer to this community at this point are boring minutes from a Board where I nearly feel a foreigner. Gamin is a workaround against legacy APIs at the user and kernel level that people dislike anyway, so even here it is hard to get anything but negative feedback. Even in the libxml2 work I get annoyed by the dumb question answered over and over, reacting negatively, this is sad, I really take less and less joy in being around, maybe I'm just kind of depressed, but I think it is time I refocuse on something else I will have more fun with. Sure I'm gonna continue libxml2 and libxslt maintainance, but I need to try to work on code where I have more fun, where people are actually happy with getting and using the code, it is time for a change. So I don't expect to be involved very much with GNOME in the future except the local GNOME-FR group being formed, I think I am done with work at the board level, I won't candidate again this year, I came back because I was really annoyed by the state of the board the year before, my candidacy statement was mostly to get back to regular meetings and public minutes for them, I think it's is back on track but it's not a fun work honnestly. If nobody wants to do it in the future then put that as a task for the Director, that would force some public communication every 2 weeks on the state of the affairs at the foundation level.

Update: note that I don't think the GNOME project is not interesting, but that what I can contribute to it is not really, libxml2/gamin/taking minutes is in no way representative of where fun be had in the project, and that is what burns me out, for anybody really interested in UI this is certainly a nice project to work in !

So what am I gonna do ? the Xen virtualization work looks very promising, that's what I expect to focuse on, it allows me to get back to my roots in Operating System, it is a growing community and technology and has the potential to affect a lot of the way we do computing and interract with computers in general. And there is an awful lot of work to do there, we are only in the beginning steps of the integration in Fedora, Linux and even more important it is a completely new concept from an user standpoint. Finding out the right concepts for them to grasp and use the technology, building code implementing those sounds exciting, I need excitement !

Never wake up Murthy ...

... with statements like "the last release is looking good". In the meantine 2 serious bug were found plus a complete blocker, expat headers exports XML_FEATURE_UNICODE which was added to libxml2-2.6.21 API too :-( , as a result mod_php fail to build, and I need to scratch libxml2-2.6.21 API and just released libxml2-2.6.22, sigh ...

However the Gnomers may appreciate the fact that libxml2-2.6.22 adds libxml2 API in devhelp, I will add libxslt too before the next release, based on on existsing libxml2-api.xml, 729 lines of XSLT and a bit of makefile and rpm spec glue.

Standards and politics

Christian, freedesktop.org has not much in common with standard bodies like ISO, W3C or IETF, in fd.o you may find a person annoying at times but you never get the same kind of politics games I have seen in the other ones. It is really nice to stay innocent and argue purely on technical matters and to just get the Right Thing done. Sometimes that's sufficient, but it's not very common, there is always interests, prior deployements, keeping the edge in a competition oriented world. Standardization can help bring awareness, interoperability, drive price down insanely, or it can fail too for a variety of reason, either because people don't want to negociate, because the trade-off between every existant player end up defining something hideous and unstable, or simply because it arrives too late and the market has standardized de facto on something else. Always keep in mind what your goals are, going though a standard process can be a very long and tedious work, sometimes it is worth it anyway :-)

GNOME CVS is accessible only with SSH

If you hit this then go read Owen's mail on the change, the reasons and how to best handle it.

Gnome Live CDs

Following Luis' announcement, fr.rpmfind.net now hosts copies of GNOME 2.12 live CDs, if for some reason you can't use Bittorrent, get them there.

GNOME Summit registration

There is only 35 persons listed at the moment, this looks a low number to me, please take the time to register by just adding your name to the list (and possibly to create an account on live.gnome.org if you didn't yet) if you think you are coming, this will help the logistic a lot, thanks !

xml:id is a W3C Rec

Whooohoo ! This is a relatively short and simple W3C specification. For people not familiar with it, IDs in XML are a special type of attributes whose value is used to point inside a document. So if you use an URI "http://example.com/bar.xml#foo" and there is an element in bar.xml with an attribute which is of type ID and of value "foo", then you can reference that element in a completely standard way (via the usual Mime-Type fragment identifier and XPointer). The problem is that to have ID attributes one needed to reference from the XML document and load the DTD where the type of the attributes is defined when parsing which a lot of XML processing avoids anyway. But if you have an xml:id compliant XML toolchain, any attribute named xml:id is of type ID and can be used for pointing inside the document, even in an absence of a DTD. This can be really useful if you design new XML based data type and need a way to key your records and point to them. It will work with XPath too "id('foo')" will directly bring you back the element if found in the document (and since the table is built at parse time it's an instant lookup usually).


After some troubles with rawhide I finally managed to run Fedora with an inotify kernel, then quickly spotted the memory leaks that plagued some of the users on inotified distros, and I released 0.1.6 with the patch and the latest updates to the inotify back-end. Note that the patch works for 0.1.5 you may have to ask Fred Crozat if you need to backport it, he did :-). He also pointed out that valgrind 3.0.1 also added support for the dnotify, so now gamin can also be valgrinded on older kernels which is excellent news (but didn't spotted other leaks). Valgrind rules !

libxml2 and libxslt

Apparently the latest releases were good ones, only one corner case parser bug was found (but it was also in 2.6.20) and a special compilation problem, this is less than the average amount of report after a week in a new release, especially considering the amount of changes which went in.

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