[lang]

Present Perfect

Personal
Projects
Packages
Patches
Presents
Linux

Picture Gallery
Present Perfect

Randomness

Filed under: General — Thomas @ 19:51

2005-04-14
19:51

How to change from a bunch of hackers to a corporation

Christian: Wim, can you mail X about Y so Z gets done ?
Wim: Sure. Write the mail and I'll send it.

Bagels

Bagels are sithspawn. They are soooo damn good with that lovely cream cheese, but there's absolutely NO WAY you can eat them without getting the cream all over your face. Two weeks after Washington and I still have a craving, I need to find me a bagel shop here.

Cat
Growing up nicely. She's been very playful since day two, and has started exploring the rooms beyond the living room. We're still not letting her on the terrace though. She has made her dumps in the litter box every single time. The only problem left is that she starts digging and running through the litterbox afterwards, smearing out the dumps and getting lots of poo on her body. So we stand by and clean her up when she gets out. And we clean out the litterbox in the morning and pray to God the place is still clean when we get back.

Stien
Had a nice little birthday party last weekend. First BBQ of the year ! Christian seems to be under the mistaken impression that it's perfectly fine to not call to cancel your coming when you are invited as long as you think it's not a birthday party. Also, he thinks it's fine to not think it's not a birthday party when he actually got an invite that clearly said it's a birthday party. Can someone please clue him in on how girls think on this subject so I can get unstuck out of the middle ?

Kristien has taken on a part-time at CitiBank, the black hole for Belgians in Barcelona. Two weeks of 8 hour training with only two fifteen minutes break and an hour lunch break. I feel for her. (Well, I already did of course) Hang in there honey !

Birthdays
Sometimes I get that strong feeling that someone I know is having his or her birthday coming up, or today. The thing is, I know exactly what date the birthday is on. The trouble is of course remembering who's birthday it is. So, we had Heleens birthday on April 11 (Heleen is an ex-girlfriend who by coincidence is also living in Barcelona) and Kristien's on April 9. Those were accounted for. But who was the person that April 10 was trying to ring a bell for ?

Some thinking later I realized that I had another ex-girlfriend who has her birthday on the 10th. Eerie. And they match in chronological descending order. Coincidence ?

Maybe we shouldn't let too many people in on this secret though - next thing you know all the women born on April 8th will try to break Kristien and me up. And I'm quite happy with my current girlfriend, thank you very much.

Music

I put in my LCD Sound System disc-that-can't-be-called-CD-because-of-the-copy-protection-scheme and the computer tried to make me believe it was Bloc Party. Coincidence ?
Of course, the damn copy protection scheme also makes the drive unusable - it has errors mounting the data part and after that it fails to eject.

Firewire
Pete seems to not be very convinced of my patch-steal-fu when it comes to kernels :) However, after some culling and fixing from the -mm branch, this patch fixes it. The test case runs 1000 open/grab frame/close iterations, and not a single traceback or lockup. Incidentally, Pete, why do you hope and expect Firewire to die in the marketplace ? I don't see that happening any time soon, and moreover, I'm not sure what you suggest the alternative would be.

Now, being a kernel n00b, can anyone tell me who I should poke to make sure this goes into Fedora Core 4. I have heard the word "upstream" being mentioned, combined with the words "haha" and "chaos". Somebody please enlighten me :)

If you're looking for trouble
You can find me on the internet
*othe**ucke*

foo

Filed under: Fluendo,GStreamer — Thomas @ 11:09

2005-04-08
11:09

and the talking leads to touching
and the touching leads to sex
and then there is no mystery left

Alunya

So, Kristien went to get the cat yesterday. He's about five weeks old, has grey-whitish stripes and a few cute gingery spots on the top of his head. He's more active than we expected - in one night he's eaten three times already (out of the zero times projected by the woman handing over the cat) and he was already sleeping happily on our belly while people were being shot on TV in the Sopranos. Pictures up soon.

How not to do it
Yesterday some guy came into the #gstreamer channel. This was the start of the discussion:

<NickWithheldToProtectTheInnocent> I'm almost finished reading the documentation,
and I must say that the terminology of gstreamer is very lousy, much better metaphor names
could be used that would map to better real world object. Like the ones used in home theater
example. Don't you guys think so ?
<thomasvs> NickWithheldToProtectTheInnocent: no, I don't think so.
<thomasvs> NickWithheldToProtectTheInnocent: but feel free to write some documentation
that uses home theater terminology.
<NickWithheldToProtectTheInnocent> how does "bin" and "sink" make sense to you
without reading the documentation.
<thomasvs> NickWithheldToProtectTheInnocent: how do you pee cleanly without
your daddy telling you ?
<thomasvs> NickWithheldToProtectTheInnocent: how do you learn that it's not
acceptable to poo in public ?

Now, suppose you're having an open house day, and someone walks in, walks over to the group of people standing in your living room talking to each other, and then says loud enough for everyone to hear "This room is very ugly, it could look a lot better. And who puts a fishtank in the living room when everyone can see a pool table would be a much better fit for this room ?"

It's one thing to deliberately start off on the wrong foot with people you don't know at all. If you do, you'd better have a personality that can make up for it. Now later on, this guy goes on to say that he would use "metaphors that could map to real world objects, that would ease the learning process obviously. Like signals and slots of Qt. something that you can connect other thing to."

Now, I had before not taken a look at exactly what slots were in Qt, but I always wondered what they would be, since the only real-world image I had of slots was "some opening you can slide a wide and thin object into". Like, a slot machine, or a letterbox. So he starts off by saying that our terminology is not real-world enough (though to me, a bin is something you put stuff in, and a sink is something in which a stream disappears - I have one of those in my kitchen and bathroom), but a slot is fine.

It might be possible that Vegas has slot machines connected to the ground somehow to prevent from getting stolen, but in the end, a slot being basically the absence of something in something else makes it really hard to *connect* something to it.(1)

Anyway, if you're new to a project:
- be nice when you get in
- if you're not nice, but think you have a valid point, defend your point when people question it
- make sure you use a valid example to make your point. be prepared to back up if you chose an invalid example
- don't call one of the project people "stereotypical" when they challenge your point's validity. It's very stereotypical.
- don't tell them to stop wasting your time. you just came in and wasted theirs *without* having a history of good will on your side.
- don't expect to not have to read *any* documentation. Saying that "bin" and "element" should mean something to you without reading any docs is just dumb. How do you know that these concepts exist in first place ?

On a related note, I hope the cat will learn about the acceptability of pooing in public.

kernel

I got fed up about the fact that both our FC3 kernels and matthias's production kernels cause a kernel fault every time you start or stop capturing from firewire, and sometimes they even lock up hard. It keeps us from hacking on nice Flumotion bits related to Firewire. So I decided it was time for me to do the hard work and start kernel debugging. Boy, what a world of pain :)

I managed to get a serial cable linked up between the test box (which sadly is also our firewall and svn repository) and the workstation. After some tweaking, kernels started spewing all sorts of info to my other machine. But apparently firewire dies without an oops or anything. The machine just locks up and that's it.

So I started hunting for info, similarities in bug reports, kernel patches, ... I also managed to rebuild Fedora Core kernels with my own patches in a fairly sane way, but it's still painful. Yesterday night I tweaked the config a little to give me more debug info, and this morning I will bother my co-workers again with on-off internet. So if you see us go under ...

(1) This is no attack on Qt. It's a fine framework afaict. The guy gave "slot" as an example, and it just happens to be a Qt thing.

when the loneliness leads to bad dreams
and the bad dreams lead me to calling you
and I call you and say "COME HERE"

Hacking

Filed under: Hacking — Thomas @ 20:54

2005-04-03
20:54

Lots of fun hacks all through the weekend.

On Friday I hadn't finished debugging some annoying bugs in our bundling code, and I really wanted it cleaned up. So I kept working on it at home and at some point I got into "the zone" and just went straight through and fixed it all. It was about five in the morning when I stopped. But now stuff Just Works, which is nice. After that I integrated both of Zaheer's patches. It's nice to have a contributor.

Andy's here today for some hacking. We're working on different things but it's still nice to discuss ideas on our own projects. I don't know exactly what he's doing, but he cooked up a nice hack that uses generators to turn Twisted's deferred model (where you have various callbacks that you chain) into a bloc k of code in a generator that *looks* linear, and where try/except can be used to handle failures instead of errbacks.

He had fun doing it, even though something like this already is in Twisted 2.0, which is very similar to what he did.

Zaheer wrote a tray icon for flumotion-admin indicating the mood of the planet. Awesome. I'm sure Matthias will like having this around.

I tried out Togra today because it can also use GStreamer. This cube is spinning and showing any of four GStreamer video streams being played. The one on the right is a stream generated using Flumotion on my laptop. The idea is to use this at a conference in a central location to show what's happening in any of the rooms. Oh, and of course these cube faces are actually live video at the full framerate.

I worked on mach3 today, writing out some more of the intended design. I finally got over my hangup on proper configuration of "distributions" and "collections". The idea was that I wanted to make it easy for people who mirror parts of vendor's distributions locally to override the base URL for a vendor.

Initially I cooked up some object that you can .inherit() from and then any config variable not specified specifically on that object would look it up up the tree recursively. Now that works fine, but I can only use this if there's only one axis people decide to mirror on. Like, I could make all Fedora Core 3 collections inherit from a generic FC3 object, and then changing the base URL on the generic one would change it for all inheritors.

But what If someone mirrors FC 1-3, but only i386 ? If you have more than one axis people can mirror on, this doesn't work.

So I decided to just create a global object containing all collections, and you programatically set the new base url on all
of the ones you have mirrored. Since the base URL is normally the same for all of them, it means you still only have to specify this url once, and then loop along your chosen axes. So, a good middle-ground.

So I proceeded to implement this, and now I can ask any Distribution object to give me a chunk of configuration file data for an installer type. And I added some tests for that.

Back to work tomorrow, but that's just fine.
It also means I will keep python for configuration files. It's just not a TP if people complain.

We’re getting a cat

Filed under: Life — Thomas @ 22:01

2005-04-01
22:01

Kristien found a nice old lady that has three litters and they will all die if they don't find a home. So we're getting at least one cat. After much bickering we decided we will name her Alunya.

Victory

Filed under: General,Life — Thomas @ 22:00

22:00

In unrelated news, we finally found the right Quake map to play against Wim. In the last round of today's Quaking, he finished fourth and last.

« Previous PageNext Page »
picture