23 Feb 2005 freetype   » (Master)

Coucou

It's been more than a year since my last post, and this is a cool oportunity to recap what happened to me during all this time. Of course, it's not like anybody's supposed to be interested in this kind of things ;-)

Personal

We moved back to Paris, since my wife wanted to come back to work, since our daughter was getting extremely well (much sooner than the doctors planned). We couldn't both of us spend 3 hours a day in the train and correctly raise our kid, so we said goodbye to the countryside and went back to our 2-room.

After a few months, we found a larger appartment, which we paid a fortune for. Fortunately, the old one was sold at an even higher rate per square meter. Basically, 5 years of savings of two engineers will buy you an additionnal room and a small parking location in a basement in Paris. I think that's no so bad; and we have no mortage to pay. Neat

All in all, we moved three times in a little more than one year, and boy, this is exhausting. I hope we won't be moving until at least a century or two :-)

Now, all I need is a new PapaMobile to drive the family which is going to receive a new girly member in April.

FreeType

It is clear that I had very little time for FreeType this year, and was mostly absent from the mailing list during this period. My family and work, plus all the casualties of the movings (including looking for the new apartment) took all my time.

Things are slowly settling down now that we're "in the place". However, I don't know how things will be in the next few months when we'll have to handle two babies at the same time. Asking people about that is funny, some people will tell you that it's easier than one, others will tell you that it's 4 times more work. I guess it's a sort of lottery depending on the children's characters. Alea jacta est.

We're in the process of moving the FreeType server to different machines. That's mainly because the old server crashed due to a hardware failure, and our current sysadmin doesn't have the time to properly setup everything again on a different machine.

We've decided to move most things on Savannah. In one hand, it's very convenient for us, on the other, CVS is no awfully slow; fortunately, it's not like we need to perform checkouts and commits every half hours :-)

GTK/GNOME memory usage reduction

I've begun to tune the FreeType 2 code in order to reduce its heap usage as much as possible. This should benefit many desktops if done correctly. Interestingly, there are far more optimization opportunities that I initially though, and most of these are easy to do with rather immediate results. I'm however concerned about two things:

  • the first one is that I don't want to sacrifice performance for marginal heap usage gains. this isn't too difficult though.

  • the second one is that I'm modifying internal structures of the library, that are normally never accessed by client applications and libraries. Unfortunately, some popular libraries like fontconfig or Pango do peek at FreeType's internals to achieve various results.

What the second point means is that simply upgrading the library on your system with the new optimizations may break your system by making fontconfig and Pango behave erratically. Until complete testing has been performed, I'm unsure that the optimizations will be enabled by default in the next release of the code.

Of course, the correct thing to do do is fix Pango and fontconfig by mandating that they only use public APIs to do their stuff (and if they lack some API, they can ask for them, we already include some XFree86-specific stuff for example). I suppose that Owen and Keith didn't do that until now because they didn't want to depend on a too recent release of FT2. If you look at the Pango source code, you'll see that it does some pretty weird stuff to compile differently depending on the version of FreeType detected at compile time...

I suppose I'll finish by providing the right patches myself. Oh well...

Work

It's official, the company I work for has been sold to the competition. More exactly, to two distinct competitors. As for myself, I'm now one of Darth Rupert's minions. I can tell you that Microsoft doesn't look that evil from there :-)

Latest blog entries     Older blog 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!