Older blog entries for thomasvs (starting at number 142)

16 Feb 2004 (updated 16 Feb 2004 at 18:14 UTC) »


Spent most of my weekend struggling with RefDB, a database to manage bibliographical references. My dad's doctorate thesis is due Friday, and he didn't use the program I installed 20 months ago. Now, in his final days, I get to put the pieces back together.

But I never really thought xml/docbook was an intuitive toolchain to get running, and RefDB doesn't help much either because it's so completely untransparant. Tools fail silently on bad input, or fail generically without saying where something was wrong, so I spent most of my time trying to figure out what exactly it was not parsing.

In the end it turned out that the RIS file my dad gave me contained garbage control characters, and it also looked like RefDB didn't really like names with accents in (like, all the Irish guys and some Dutch guys). I also started my use of RefDB with a simple FILE* non-cleanup patch. I'm not entirely sure though I want to go through the pain of sending all stuff I find upstream for a package I myself have no use for.

Then I started thinking, man, this is probably exactly how some people feel about GStreamer. Some stuff I consider natural is completely nonintuitive to them, and things break in mysterious ways when they are run slightly differently from our local setups. I mean, I'm pretty sure the RefDB author has everything running very smoothly on his home machines...

Anyway, after 30 hours of fighting with docbook, xml, RIS files, unreadable C code, mysterious options, and unforgiving configuration files, I sort of cooked up a RefDB-based xml file containing my dad's bibliography. I hope he gets back to me soon on whether or not it's ok - you can just know he's going to want to have everything fixed on Thursday when I don't have any time for it...

Inbetween, we watched Grosse Point Blank and Antitrust. I recognized Miguel right off the bat in that very short flash. The movie wasn't too bad, it just made my toes curl a little at points. Let's just say it wasn't very believable. Grosse Point Blank was very good on the other hand.


Picked apart the Fedora 2 test rpms to check for patches. I just don't get why people don't submit their packaging patches upstream. The spec looks really ugly without it having to be. It also has the docs disabled, while they build fine here in a clean root. Why aren't we getting bug reports for this ?

Anyways, I guess I just have to mail and prod and make people aware that we care.

The build bot setup is starting to look nice now. We added the powerpc machine on my desk in two minutes. I'm sure the other GStreamer developers are starting to get irritated at all the random commits we're doing.

I'm sure Ronald is going to kick my ass some time soon too, but it just had to be done.


I got a mail from someone asking about it, so I went back to check and noticed I had some stuff to change in my savannah checkout. After resubmitting keys and changing config files, I could check out my project again. It still works, I guess that's not a bad start. I have no way to develop on it anymore however as I don't have any RDS encoders lying around :)


Man, our company logo is so unbelievably sexy as a favicon... I just keep staring at the tasklist at the bottom and the cute little cartwheel.

Short recap

Too much has happened, so let's make it short.

Fluendo exists now. wtay paid us a visit. Spent long days and nights at too many restaurants, too many bars, and too little time in bad. Had productive discussion with Wim. He's just amazingly good at designing. When we got sidetracked he showed me a beautiful sound server design he had prototyped, but he stopped working on it after seeing that his test code worked. Sigh, I hate that guy :) Maybe an idea to pick up later ?

Norwegians complain a lot then buy presents to make up for it :)

Discussed clocking with him too - not sure what was wrong in 0.6 with it, it seems like it was just some stuff left to implement. Will need to pick that up really soon and decide what to do.

Johan set up buildbot. Output looks nice, will be useful ! Hope we can fix the last issues with it.

Sister dropped by too. Nice to see her again, I don't really have time to miss people, they drop by anyway :) Next time have to get her over in the weekend, not much time during the week.

Spent a whole day listening to Jeff Buckley, then the cocktail bar at night was playing Grace. Nice. Sad.

Pushed out releases of nautilus-media for GNOME 2.4 (0.3.4) and GNOME 2.5 (0.5.3) Next week Johan and I will be working on fixing all bugs that are in it, but jdub needs a release now.

This week I fixed around 12 open bugs in GStreamer. Still too much in maintainer mode, fixing dist issues, breaking up modules, and so on. Did manage to finally write the unversioned frontend binaries for the tools, was happy about that. Simple idea, simple design, works as expected.

Did a release of 0.7.4 for GStreamer and GStreamer Plugins. Then did a release of 0.6.5 for GStreamer so they both use the same frontends. Tested theory of parallel installability by making packages and discussing with Matthias. Seems to work out fine. Now I need to figure out how to handle the GConf schemas. I guess I should make them versioned too. Sigh :)

Got my wallet lost or stolen. Suckage. I paid for one of the dinners with my bank card and got the money from the others, so I lost 150 euro. Should have treated them, wouldn't have cost me anything afterwards :) Will be painful to get cards and papers back.

Mailed booqbags to ask where the hell my bag is. They're sending it again. I hope this time arrives.

After two years, the quest is finally over. Three Ruperts made their way to Barcelona ! One is sitting on the Powerpc at work, one on the stack of DVD's containing three complete series of Family Guy (that sadly don't play on my PS2, so need to finish getting DirectFB output on Dave/Dina so I can watch them), and the third is keeping Kristien safe in the bedroom. I owe someone a bunch of thanks !

Got Soulcalibur 2 from Wim and Christian because they complained I didn't have any real games (Not sure how they missed great stuff like Britney's Dance Moves and Buffy The Vampire Slayer though). It's sucking up all my time, I'm going to stop hacking on GStreamer I think so I can become an expert at Soulcalibur 2.

So, so far for the short update. I'll go back to trying to be more regular now.


Getting ready to do a release. Did a prerelease yesterday, got a little bit of feedback on it. Some last minute memleaks got fixed but they introduced crashers in some plugins so I reverted them for now. We can fix them properly after the release.

I'm hoping to get into a more regular release cycle from now on.

Meanwhile jdahlin is making progress on the media test suite, it's starting to look really nice. I hope he likes his new job so we can keep him around.

Yesterday was great. I reserved the day for doing only code. I wrote a C frontend to our versioned tools so that they would be able to call the versioned binaries. This was a requisite I had for doing decent packages that were parallel-installable. It was so nice to just program one thing well with a clear set of requirements and a clear end goal. I had started feeling like I didn't know how to program decently any more, but it turned out it was quite alright.


There was an idle PowerPC sitting in the design department. It's now sitting on my desk. Yellow Dog 3.0 looks really nice. I remember trying 2.x on my old powerbook, but that still had that ugly-as-hell fluxbox installer and it didn't get my keyboard right.

With 3.0 I feel right at home. I moved over some of my desktop settings, started setting up gstreamer from CVS, and installed mach to build some packages I needed to get the CVS build to work. It's nice when you can just install a tool you've written on a platform that you never tried and have it Just Work.

The machine is dog-slow at compiling though, but it'll be good for test builds and test runs.


Still not sure what to do there. I've reworked the GStreamer website and one of the last things on the TODO list is to rebuild the Red Hat/Fedora package area.

I have always wanted this to be completely compatible with fedora.us repositories, for the sole reason that I prefer to work with a community effort project so fedora.us's goals are more aligned with that than freshrpms.

But, I think I've been with fedora.us for more than a year now, and some fundamental problems just aren't getting solved. I agree with most of the guidelines, and have made my peace with those I don't agree with, but the sad fact of the matter is that it's just not working. The QAPriority Queue (what an ironic name) contains over a hundred packages.

Yes, they have to be reviewed properly. Yes, we don't want crap. But some of those packages have been stuck there for over half a year.

By contrast, I just asked Matthias if he could put together a gtk-doc package of 1.1 for the YDL 3.0 machine I installed today, and it's no problem at all.

So, even though fedora.us wants to be a community effort and Matthias likes to go at it alone, I have to admit that at the end of the day, as a packager of GStreamer wanting to get GStreamer packages out there, fedora.us is not working as a solution to that problem.

I've been procrastinating updating packages because I don't like working towards a solution that I don't know yet. So today I make the decision to change the solution. The solution will be to promote both fedora.us and freshrpms as viable packaging solutions for GStreamer, and let the users decide.

With that settled, I can stop procrastinating on getting packages built, and get on with it.

About time too, since I'm doing a release today...


I am pretty sure it doesn't like me. Tool's Aenima album is filled with amazing tracks. There's one stinker on it, "Die Eier von Satan", which is some German guy rattling off the recipe for satan's eggs, and there's some filler on it in the form of a wheel organ ditty.

What does Rhythmbox give me on the way to work ? Two times the ditty and three times the stinky song. My day is screwed before it has even begun.

I'm pretty sure there's a lot wrong with both randomize functions, and pseudo-random playlist generators in general. I've noticed the same problem in Dave/Dina when trying to select random playlists based on parameters. I have some ideas on why that is but I'll need to investigate and code to test the ideas.


Went to see the final chapter. When it was not overly hollow it was too emotional. All in all, that's two hours of my life I'm not getting back. But I owed it to myself to see it.

Still haven't seen ANY of the LOTR movies, woo !

Home Improvement

Time for some chores around the house. Of course, nerd chores. First task at hand was to have an automatic updater for my dyndns account set up.

Felt like an old-school hacker when I cooked up an expect script to retrieve the assigned IP address from my NAT Nokia router through telnet; five minutes of work after understanding enough of expect to see what I want.

Then tried this with ez-ipupdate, but that only allowed me to set the address on the command line, which when run as a daemon from init is no good of course. Started putting in an address-command argument to ez-ipupdate, but after going through the source a bit which was full of static vars and irc-daemon-like maze code, and also after seeing that the included debian patch in the .src.rpm was so huge that the original was even more messy than I thought, I gave up.

ddclient seemed to have an option for running an external command to get the ip though, so that worked out fine as an alternative.

So, that was two hours wasted.

Second task was making sure the bits from fedora.us and rpm.livna.org get mirrored. I would love for someone to write a very simple program that sets up mirroring scripts for you based on collections of files you want. I don't want the whole fedora.us mirror, just stuff for RH9 and F1, and only stable, testing and unstable.

Having to write these scripts manually all the time (in this case, with lftp) is a pain.

Another hour and a half wasted.


Finally started doing some work again, prompted by another user trying it out and poking at bugs. Started with figuring out a better layout for the package tree, making sure the online and local one are in sync, and starting to fix bugs by rebuilding packages. Will take me some more time this week


jdahlin dropped by last night. We were wondering how it was going with him. He stayed for dinner and a movie, "Love and Sex". Quite alright, and Famke Janssen is never bad to look at.

To rent movies I needed a copy of my appartment rental contract and my NIE papers. The video store also had a Lego Mindstorms set for sale, which prompted a discussion between Johan and me. I have an expensive Mindstorms set lying around doing nothing. So Johan suggested I do something really useful with it, like, pushing the eject button on a floppy drive.

But then it hit me - I have a very simple Mindstorms project that could benefit Dave/Dina.

See, I have this one remote that, by typing in some codes, can emulate any of 200 remotes. Yesterday I was thinking that it would be nice to have all these config files out of the box to choose from, but it would be very painful to push all those buttons.

But, if I made a lego machine to push the buttons, and a LegOS app to control it, and have it communicate directly with lirc so it can ask for another keypress when it didn't work well, I could easily let the thing run for a day to make it learn all the codes !

Hm, that really makes me want to try LegOS and see if this is possible, I need to poke some friend who knows about LegOS to check :)


Still spent more time fixing up docs, adding API to the doc build, still busy with the website, still busy with cleaning up some of the error stuff. I fixed up the player library and the player to actually display these error messages.

So, when an error comes up, you get this dialog. And when you click on Information (which really should be a "Debug Information" button), it gets replaced with this dialog.

I like it, because if users send us the debug information we can check where the error is coming from.

Still, UI wise I would prefer the original dialog would expand to show the debug info on clicking Information...

Tomorrow is Johan's first day at work. Wish him luck, he'll need it...

28 Jan 2004 (updated 28 Jan 2004 at 22:20 UTC) »


Argh. Spent way too much time on reworking our website. It's full of cruft content and it uses too many different technologies.

For the rework I had too many design goals and it made my head hurt. I wanted to make sure that

  • cvs commit on the www module would auto-update the online docs so that people would make an effort to keep the content up-to-data

  • all big non-cvs-managed chunks of data (images, packages, source tarballs, media files) were completely in a separate tree

  • no mysql was used, but instead xslt transforms on simple custom .xml data files

  • our generated documentation was easily integratable into the site

  • keep the content directories relatively clean of source material files

After long periods of fretting over it I decided to just go with a basic autoconf/automake/xsltproc setup for the whole site, and use rsync to manage the huge data/ dir.

Using autoconf and automake might seem overkill, but I really really wanted to use nonsrcdir builds so I could keep the actual online content free of build crap (except for Makefiles of course)

Right now I just need to add big bunches of content and scrub the old cruft.

I'm almost done. The reason it's taking so long is that I keep having second thoughts about this being the right way to do it. I still don't know, but I've given up fretting and decided to just plough on and make the content up-to-date, then force the rest to help ...

If someone is really good at XML/XSLT and xsltproc stuff, I'd appreciate it if you looked over

the build setup for the site and gave me some feedback on it.

Too wired again, going home now.

update: On the day that everyone receives .zip files from everyone else through some virus, someone at intel.com sent me a zip file containing a 207-page word document of a GStreamer manual and plugin guide he wrote. Scary stuff. Sadly it contains a lot of cut and paste from our documentation. I wouldn't know what I'd have done though if it was 207 pages of goodness, which would take 207 days of pain to cut and paste to our documentation :)

Still, I wonder - why didn't he propose to work on our docs in the first place ?


So jdahlin found a place. I hope I can visit him soon. He starts monday.

This morning I woke up too early so I played some more Buffy . (The PS2 game - I gave up playing real life Buffy when my lifesize vampire dolls got staked one time too many). Of course since you can only save at the end of levels and the level took 40 minutes I ended up being too late at work again.

Then I overcompensate again by staying way too late and upsetting my girlfriend.

I love my life and the way the only real problems I have is stupid stuff like this.

26 Jan 2004 (updated 26 Jan 2004 at 09:42 UTC) »


Went snowboarding for the weekend in Soldeu, Andorra. The weather started off bad, with heavy gusts of wind, rain, and snow. But around noon things cleared up and we had full sun for the rest of the day.

I'm so proud of my girl - she must have fallen eight or nine times on each track, and one of her legs looks like a map of Andorra in blue and purple. But she never gave up, and in the end she managed to do a whole track without falling.

Am thinking of buying a snowboard now that I know how easy it is to go out for a weekend here. I'd love to have a custom graphic on it, however - am thinking that a GNOME foot, a tux and a GStreamer slug set would look nice... Have to check how much it would cost.

Someone like ross would have it easy: he'd just get a board like this.


My dad's writing his doctorate thesis in Docbook/XML on Linux. For the last year he's kept writing it without the document ever validating because he hasn't done his bibliography links yet. He kept maintaining it didn't matter, while I try kept trying to get through to him that it's hard to see the real errors between the errors you keep around.

Anyways, he's mailed me six times over the weekend while I was away, trying to make sure he got the right address, phone number, and so on, and stating he really needs me to install RefDB to help him finish his bibliography. He's sort of a procrastinate-then-all-hands-on-deck kind of guy ... I have four days to get it finished for him :)


Spent two days of last week butting my head on a talking wall. There are some people who like to argue for the sake of arguing, even more so than me. Luckily, a weekend in the snow manages to take a lot of that stress away.


arrived wednesday evening. Today he starts looking for a place to live, I hope he manages to find one. Finding a place here can take quite some time and you definately need some luck. On the other hand, since he plans on living with other people, it should be fairly easy to find something. Good luck today !


Good luck with the lariam. Everything they say about that stuff is true. I'm glad I never had to use it myself :)

You teach your children some fashion sense
They fashion some of their own


Our new hire is arriving tonight. I'm very excited he's coming in. I hope we can help him find his place to settle in soon enough, and that he's motivated to get things done. I know I am.

Finally finished merging the new error handling into GStreamer. I'm pretty happy with it, but it needs some more documenting and cleaning.

Meanwhile, I finally have time again for nautilus-media and friends, and as I had noticed before, but didn't protest loudly enough, there are some things missing from the current core to restore nautilus-media's functionality. This is going to be a tough one because the person who replaced it with a better system didn't really implement everything it needs, and he takes things overly personal. It doesn't help that he thinks nautilus-media is a crap idea.

I've grown beyond caring about personal issues, I just want things to work and make good on the promises GStreamer delivers in general. We could be doing so much awesome stuff if we were all pointing our heads in the same direction ...


I was very excited six months ago when I first learned that Red Hat wanted to open up and wanted to use our project's name for the new project.

Today, I feel that Red Hat doesn't have or want to invest enough resources to really open up development. You can sort of feel it on a number of levels, but just looking at some of the facts out there probably says enough already.

We're six months further and there's still no way to influence/submit/codevelop packages. The fedora.us QA queue is still completely full, and packages aren't really moving much to the new Fedora.

Worse, we have no idea what Red Hat wants to do with the public submission servers, what to use as the build system, and so on. Enrico Scholz has been doing marvelous work on the fedora.us build system based on top of mach and vserver. This guy is incredibly smart and talented, but Red Hat engineers haven't commented on it yet AFAICT. It is very frustrating, because there are some very talented guys willing to work on this together with Red Hat. To me it seems like the basis of getting this community project infrastructure into place, and all we get to see from Red Hat is them being busy on just working on Fedora Core 2.

The irony of it all only really sunk in when I was going through my backlog of fedora mail and came across this mail asking to make sure to have your packages built for Fedora Core 2. I thought I had missed some mails that detailed the submission had been opened up. Took me some time to figure out this really was just an internal mail to Red Hat employees that we happen to have the chance to see :)

I'm not really sure what can be done about all this. I'm sure it's not the intent of the Red Hat engineers to have it happen this way. I just think that Red Hat currently doesn't have the resources to pull off opening the whole distribution to outside contributors.

The extra cost they have to invest at this point to make sure people that have the ability to contribute - talented people that have proven they are dedicated to helping out, like Enrico, Matthias, me, Panu, Seth, Ville, and so many others - seems to be too high for them to actually do it. (Warren, I'm not mentioning you since you don't seem to get ignored :) But let's not go into that here)

Anyways, I'm not sure if the Red Hat people we know understand our concerns and frustrations. I do hope they do something about it sometime soon, though, because we're getting increasingly frustrated and annoyed to the point of losing interest.


The first one in Brussel was quite alright. I didn't get to see Greg afterwards because he ... fell asleep. Totally ruined my image of him. Amsterdam was incredible. They were in very good form, tore all the way through the songs. The only drawback was the set was pretty much the same.

Best quote of the evening - "You don't pay a hooker for sex. You pay her to leave after sex." I tried taking some pictures, but they didn't turn out too well. With flash, the nice show colours are completely gone. Without it, the colors are right but the pictures aren't sharp. If anyone knows how to do this right, let me know.


On the one hand it felt good to be back in Belgium again. I had a great time, and I realized how much I love Gent as a city. On the other hand, things had already changed; a department store was rebuilt, a delicacy shop in the street were I lived as a student had changed, and so on... I was getting homesick not for living there, but for living there as a student. I walked by my old apartment, and felt it wash over me. Silly, but true.

I am also starting to acquire traits some would describe as being feminine - I drowned my emotional distress in a shopping spree. I got home with 7 CD's, the Art of UNIX Programming, and the Buffy the Vampire Slayer PS/2 game. As well as some presents for my girlfriend.

On the topic of her, she did the cutest thing before I left. She was still asleep, and she was flirting with someone in her sleep : pouting her lips, nodding agreeingly, grunting approvals, and so on. I just hope she was flirting with me in her dreams ... :)

15 Jan 2004 (updated 15 Jan 2004 at 04:56 UTC) »


Completely wired up with positive energy. So bad that I can't sleep. It's 5 AM and I'm supposed to be getting a plane in four hours to take me back to the old world.

I mailed my favourite singer yesterday, who used to front The Afghan Whigs but now forked his own band with The Twilight Singers on the off chance of asking for entrance at the Amsterdam show. The guy got back to me in no time telling me I had passes waiting for me both in Brussels and Amsterdam. As someone on the mailing list once said - That guy has style by the mile.


Two thirds of the way through converting the old error method to the new. I've gotten a good view of the kinds of errors we currently throw, and I think I have them catalogued pretty well. The actual conversion work is just plain boring in a way, but on the other hand it seems very necessary work and just another step in getting GStreamer where GNOME and possibly KDE wants it to be.

Last weekend Julien added DVD support in gst-player and Totem. People will say "so what, other players did that years ago". True, very true. The wonder of it though is that Julien didn't really need to do anything special beyond telling the player to use the dvd source element.

After some people, like thaytan, had worked on fixing up some of the interactivity stuff which they only tested using gst-launch pipelines, and trying to make sure that clicks were sent through from one of the video sinks to the rest of the elements in the pipeline, it just worked in the player like magic just by using the right element. Now that's class. GStreamer is number two on the style-by-the-mile-list today.

I was sort of down on GStreamer for the last month. but Uraeus's relentless energy while staying here for New Year's, combined with things turning out for the better, Ximian having a good hacker working on GStreamer/GNOME integration, us hiring a great hacker arriving next week, Christian's article on OSNews and Slashdot, and exciting plans in the pipeline, I'm totally on the upswing again.

There was one vitriolic comment on SlashDot I had to reply to. It mentioned that gstreamer-universe wasn't apt-gettable for over a year. I don't think I ever got more than two comments on that, all on IRC, no mails or anything, so I guess I lost the motivation to keep it in sync. Anyway, I totally not get people who get their self-motivation or their delusional sense of self-cool from always being down on whatever project for whatever reason. If you think it's cool to diss anything or anyone for no reason at all, you're a moron and showing your lack of self-confidence as clearly as a piece of corn walking through a chicken barn.

Number three on the style-by-the-mile list is stevebaker, doing a presentation on GStreamer right now in Australia at linux.conf.au

I hear the talk went over well, congrats Steve. I really sort of miss his presence, and I wish he would blog a little, and I'm wondering how Bronya and the new kid on the block are doing ... He was a great guy to have met if only for a short period, before he went back down under.


I should start taking a look at where we are in GStreamer wrt. Theora. We have some exciting plans for it in the near future, and I want us to be ready for it.


A few weeks ago I thought I had discovered the worst bug ever in GStreamer and I was wondering how come nobody ever ran into it. I was listening to RhythmBox on my laptop on the way to work, and it just started skipping like mad.

At work I tried to figure out what was wrong but couldn't reproduce it. It took me a few days to realize the skipping was in sync with my footsteps, and after some physical experimentation involving jumping up and down and walking around with my body at various angles I had to conclude it was a physical problem.

Somehow the weight of what was in my backpack pressed against the laptop in such a way that the cursor keys got pressed by accident, causing RhythmBox to skip madly. I was both incredibly annoyed and very relieved when I realized the bug was not in GStreamer, but since it's a bit harder to get rid of it still sucks.

If you're wondering why I have time to make an entry like this, it's simply because I just added working i18n to GStreamer and am waiting for make distcheck to finish. After that, I continue working on the error stuff.


Black out the windows
It's party time
You know how I like stormy weather

Going back to Belgium on thursday for a Twilight Singers concert. I am so incredibly looking forward to that. Will stop by my old job to grab something to eat with ex-collagues and see what the hell they did to my network cabling and other things...

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