Present Perfect


Picture Gallery
Present Perfect


Filed under: General — Thomas @ 15:02


We released the source code to the applet yesterday. Some people seemed to be very anxious to look at it :) The build is still a bit iffy (it's my first ant build file, I'm sure there's a lot to be improved there) but the applet seems to work well. I restarted the office demo stream because audio and video had gotten about 80 seconds out of sync after a week of running... Need to fix that next week.


Filed under: General — Thomas @ 15:00


Boarding was fun. Not that much snow yet, and some slopes were incredibly icy. Some girl managed to fall, hitting her own face with the ski she was losing. And then, Kristien, who had fallen as well, skidded straight into the wailing girl. Luckily it wasn't too hard.

While it was fun, it was just a little bit of practice. Not enough challenge on the slopes and no fresh snow. I really need to plan at least a week of holiday and I need to do it soon...

Please …

Filed under: General — Thomas @ 19:07


... do not try to reach me this weekend. I'll be ON A BOARD IN THE SNOW. Big thanks to my lovely girlfriend !

Flumotion release

Filed under: Fluendo,Releases — Thomas @ 18:45


Rolling both a GStreamer prerelease and a Flumotion release.

I'm pretty damn happy with the new Flumotion release - it has some very nice improvements. The important one is the bundling of UI code which gets sent over the network, so that the admin client really is just a light shell that works everywhere.

We already has a basic concept of sending over UI, but now it's been cleaned up and it works a lot better.

Basically, the manager on a machine has a registry that tells it how a bunch of files in the local tree are to be "partitioned" into a set of "bundles". Each bundle is just a group of files that belong together (like, say, icons, glade files, and PyGTK code for changing colorbalance). Bundles can depend on each other (since, say, the tv card UI code depends on the colorbalance ui code). The union of all bundles represents the whole set of files that can be sent over the network.

The interesting part is that when the UI wants to show a page for a component, it asks the manager "I want to do this import. Give me everything I need". The manager replies with the list of bundle names it needs, as well as md5sums for the .zip files for these bundles. The admin checks locally for which zip files it doesn't have yet (or are outdated -hence the md5sum), and then requests all bundles it needs.

When it has them, it extracts them locally in a cache directory, *in a unique dir based on bundle name and md5sum*. Then some python magic is done so that you can import from the bundle namespace directly. So even if a file is extracted locally as "bttv-ui/a589fec...f3f/flumotion/component/producers/bttv/admin_gtk.py", you can just run "import flumotion.component.producers.bttv.admin_gtk" and it works.

Now, why all this caching ? Because you can run the same admin client against different versions of managers. So instead of having to download all code each time, you just cache all downloaded instances, and regularly clean up old ones.

One of the nice things here is that just clicking on the component ui again automatically runs the newest code. Very handy for testing.

Anyway, new flumotion came out today. Give it a spin.


Filed under: Hacking — Thomas @ 18:38


Last Friday we went to Mataro to the Canonical conference for the Sound BOF. Nice to see some people again, like Jeff and Thom, or see people in the flesh for the first time, like Daniel. In the evening, got introduced to the cult of Maui, and managed to, as a virgin, finish twice in the first game... I also had two new rules I wanted to introduce, but couldn't figure out how I was supposed to do that. Sadly at the end I found out that my finishing was the key. I'd probably be given a card for explaining the rules here, but I'd bad-call it because we're not in game and if you are a virgin yourself you have no idea what I just said in the first place anyway.

On Saturday, joined in on the PyGTK BOF. Even for a noob like me it was pretty interesting. Nice to see what other people are working on. Fun to see Kiko in action too - all the drive of a Miguel, taking the BOF into his hands and making it actually proceed better than the average BOF. He's done some interesting work with PyGK in his company, I can see why Johan wants to work there :)

The Launchpad and Soyuz stuff that they demoed at the conference was interesting too. If they can pull it off, it would be a nice tool for someone like me working on Fedora packaging as well. Which is more sharing and goodie-two-shoed than any other distro company out there.

I would have liked to go on Sunday as well, but I was dead tired and I had tons of housekeeping I wanted to do. And anyway, I'm still a PyGTK newbie.

Next Page »