[lang]

Present Perfect

Personal
Projects
Packages
Patches
Presents
Linux

Picture Gallery
Present Perfect

Fresh Blood

Filed under: Fluendo — Thomas @ 21:02

2005-01-20
21:02

I helped Christian take out trash from his balcony. With his landlord having died, he had a hard time living up to his promise of getting all the crap out.

Andy dropped in last Friday around 1.30. I was getting pretty ill all through the week, and I started to feel worse through the weekend, but I wanted to make sure he arrived ok and got settled in. He gave me the Franz Ferdinand CD as a welcome gift, yeeha ! Somehow I never got round to buying it myself.

We had lunch with Andy, Kristien, Christian, Julien, Noëlle and Zoë in the afternoon. At night we went out with Wim, Michelle and Ishmaël. Ishmaël taught me an important life lesson: to wash my hands not only after, but also before, going to the toilet.

Sunday was spent in bed with a 39 degree Celsius fever. Luckily I got taken care of well. Andy started looking on the net for places to stay, and in the evening got Christian to help him take his stuff to Christian's place for his next round of lodging.

Monday saw us move our stuff to the new office. We now have a fairly large recreational/dancing/sauna area. It'd be nice if they'd get the blinds moved quickly though, because it can get really hot, and it's only January right now.

We finally managed to play a few rounds of Quake in the office. Wim is a cold-blooded killer. Seeing as I've never played Quake before, and I get motion sickness pretty easily when playing recent shooting games, I think I managed quite well in perspective...

After spending last week fixing the bug I thought people wanted fixed, I realized that the short-term solution is only going to be useful in a few very specific cases. Instead of chasing the other cases, I decided to start working on the correct solution instead and start clearly defining state concepts and cleanup everywhere. This will take me a while though. I'll start on the advanced UI as well because it will help me better to test my understanding of what I'm trying to define.

After tearing through the first season of Dawson's Creek (blast from the past), we went through the first season of Sopranos. Currently out of series to watch, need to stock up...

on a roll

Filed under: Fluendo — Thomas @ 22:41

2005-01-13
22:41

When going home this night I was thinking about where I currently am with Flumotion. After implementing a major feature, I feel I finally have some time to step back and take stock. Also, with Andy coming in, it's now worth it to collect what we currently have and make some sort of presentation of it that I can give to everyone at the office. From that point on we should be able to discuss ideas more generally and get everyone up to speed.

I also started thinking about all the good ideas we've had in the last few months about future directions or things we want to implement. I quickly came up with a list of about 33 features and high-level things to do to implement them. All of them are pretty damn cool, even if that's just my opinion, and very much worth implementing ASAP, so they will keep us busy for some time. This will also make it possible for me to get other people to help out and give them a bit of direction while doing so. It should also allow us, business-wise, to prioritize a little by using this list, and hopefully also assess more or less how much time each will take.

And hopefully it also gives the others some idea of what we can't do yet, and an easy way to get into the code and do some things...

I really do look forward to trying and getting a more design-oriented workflow going among all of thus now that we're expanding a little. There are times when it helps me immensely to try and express my ideas and discuss them with Wim, and figure out and resolve blocks I've had...

workarghs

Filed under: Fluendo — Thomas @ 18:37

18:37

Between having a rotten weekend, turning pretty damn ill, and having impromptu meetings about lots of things, I also broke my teeth on trying to somewhat acceptably implementing a reconnection feature in Flumotion. It probably was the biggest "there's another bug at the end of the fix for the last bug" wild goose chase I've ever had. My first couple of approaches failed spectacularly because after trying them I realized the problem was slightly more complex than I thought it was.

Once I had decided on the actual approach to take, I realized it would take me too far off the current course and take too long to implement. So I thought about the next best way to make it work for now, and started off in that direction. Which led me to the wild goose chase. Each time I thought "and now it will work", it didn't, and some careful debugging gave me another clue on what went wrong.

In one of the last problems, I had my streamer (the HTTP streaming element) reconnecting properly to stopped and started production/encoding components. Only, the tcpserversink element ports assigned to those two components had switched around ports, so all of a sudden my HTTP streamer was getting data from the raw video feed.

Anyways, I fixed all those issues, commited, and now I hope our happy customer Matthias tests and approves. After that, I can pick up the pieces, write down my ideas on how it really should work, and start on that.

Hopefully my mood picks up when a) I stop being ill; b) I stop getting into impromptu meetings and conf calls; c) we move office; and d) Andy arrives.

yes

Filed under: Fluendo — Thomas @ 19:28

2005-01-04
19:28

T - 10 days for Andy to come. Can't wait. We need some new blood, both in the work as in play area.

Flumotion release

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

2004-12-17
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.

« Previous PageNext Page »
picture