Older blog entries for thomasvs (starting at number 152)

31 Mar 2004 (updated 31 Mar 2004 at 10:16 UTC) »
nautilus-media

Spun a new tarball yesterday because a translation got added. This also allowed me to try and put in a patch I had received for the thumbnailer but for which I didn't have time or inclination to push it in before going on holidays. Having to respin the tarball anyway made me submit the patch to the release team together with some good arguments on why this patch makes sense. Nice to see that good arguments help make good decisions.

Then I made an RPM to test and got extremely puzzled by the fact that nautilus crashed as soon as I checked a property page on an audio file. After reading a bunch of bonobo, then ORBit code, which scared me senseless, I figured out the right way to run nautilus from gdb (remove nautilus from the session), and then the problem became readily apparent. It was not finding glade files, and it was not doing so because I forgot a "make" command in the spec file. So the actual build was done from %makeinstall, which overrides datadir and friends, causing the wrong - install-time - location for the UI files to be put in the binary.

So now I firsthand experienced the difference between running or not running make before make install.

ssh

With the recent break-in on GNOME servers I wanted to do my part in making sure I'm doing things correctly. I got told that using passphraseless ssh keys is worse than doing password-based ssh access, so I started looking into how it ought to be done instead. Some people asked me to let them know if I figured out the right set of things to do, so here it is.

Basically, I did the following:

  • mv .ssh ssh in my homedir
  • generate a completely new ssh-dsa key, with passphrase
  • replace the old public key in authorized_keys on all the servers I use this key on (for this step, ssh -i ssh/id_dsa is useful, since you want to get on the servers using your old key to install your new pubkey)
It is possible to add a passphrase to your current key, but since that doesn't really change the public key it doesn't help at all if someone might have gotten your old private key. So, don't :)

After this, you want to set up your session so that you only get asked for your passphrase once, and ssh-agent takes care of authenticating when you move around. If you run Red Hat/Fedora, you can do the following:

  • run switchdesk, and choose the same type of session you are running. This will generate .Xclients and .Xclients-default
  • edit .Xclients and replace each "exec" instance with "exec ssh-agent". This step makes sure that your session is run under ssh-agent.
  • edit .Xclients-default and add "ssh-add < /dev/null" BEFORE the exec gnome-session line. This step makes sure that before your gnome-session is loaded, a GUI window will pop up to ask you for your passphrase.
Now log out and back in, fill in your passphrase, and try logging into a server where you copied your new public key to. It should just let you in.

If I made an important security boo-boo, let me know please.

Nuts

There's this incredibly nut roasting store in Barcelona. If you're ever around, go over and buy some almonds or hazel nuts. They taste so much better than the ones you buy anywhere else. I feel an addiction coming up.

Holiday

Had a good holiday, was good to see some Belgian friends back. It made me realize though that even though I love my new life, I do miss my old friends. There's probably no good solution anyway, since even when going back I'd probably not just have my old friends back. People change.

As for snowboarding, I had a great time. One day our teacher got us to jump off a cliff without us being able to see what was down there. She asked us to trust her and go straight ahead. The first two took a turn right at the edge though, which made her really angry. So I decided to switch off my brain and go straight ahead. A very nice drop of at least five meters awaited me beyond the cliff, which was both scary and very exhilarating at the same time.

We had three days of continuous snow fall and fog. The penultimate day, it started clearing up, so our teacher took us off-piste again. Only, one of the others smashed his knee into a rock, so I stayed with him to make sure he was ok, and at that point the fog set in as quickly as I ever saw it rise. Our teacher urged us to get back to the track, and I followed a trail that took me further down instead of back to the track by accident.

I had spent about ten minutes trying to listen for sounds telling me where to go, and had pretty much resigned myself to making an iglo and waiting for the next day, when I finally heard our teacher yelling back at me, trying to guide me back to the track. Pretty scary moment, all in all :)

We also played the Werewolf game again, which reminded me of how much I like playing games, and how good this particular game really is. Just when you think you have pretty much figured out all the strategies, you get surprised by another twist in how the game evolves. And as soon as the people around you realize some new trick, the rules change since you have to take into account the fact that they now realize new things. You can play this game either completely on an emotional level, or completely on a tactical level, or combine bits, or only look at what happens between start and end of night, and so on.

For people that don't know the game, apparently it's a variant on a game called Mafia. Well recommended.

Back

Getting home was a strange feeling. Skiing holidays always meant going back to Belgium, and now we drove the 800 kilometers back to Barcelona. I was glad to be back home anyway. I also got the card game I ordered in the mail, Chez Geek. Looks like fun, now I need to find people to play it with :)

Didn't touch the laptop during the weekend. We had a good meal, and watched Made afterwards. Vince Vaughn is so magnificently annoying in that movie, you keep wanting to grab him and yell some sense into the guy.

And now, Kristien's parents are over for the weekend. Had some good spaghetti, hope they enjoy themselves out here even though the weather is pretty bad.

GStreamer

Trying to get back into the swing of things. Commited some of the translations that we got submitted, ran into a weird bug where the player wouldn't play anything. Traced it down to return values not being checked causing the program not to say anything about not wanting to do anything. Fixed that so it pops up dialogs; now need to trace back what's actually going wrong underneath.

Started to make libtheora packages for Fedora now that alpha3 is out, and checking how well our support is at this point. Had to package libogg and libvorbis as well, and noticed some oopses in the release of those packages too. Tried checking out their new SVN code setup, but couldn't make sense of the error messages svn threw at me. Will try again later.

Work

Sifted through tons of mail, still going. SPAM in general has come to the point of being completely ridiculous. You know, sometimes people on two sides of a fence just keep inventing workarounds to things the people on the other side do, and at some point it has grown to the point of complete and utter ridiculousness and both sides have lost track of the actual goal.

I mean, seriously, who is going to buy a product spelled v|aGR@ from some guy mailing you with the body containing text like

Get Your Meds Here programmer eastwood churchwomen abet  turnpike You too can now enjoy the same deep discounts offered to US  residents
where the text is probably chosen to lower scores on spam filters (churchwomen selling v|aGR@).

This whole spam thing is getting ridiculous - do these completely senseless mails still cause people to buy stuff ? There must be a point where the message is so crippled that it's no longer economical to send them, no ?

Miguel

At some point in the holiday (there was WIFI access you could pay for in the ski resort, but apparently some holes were still open since I was able to get on the net fairly easily) I read some blog entry by Miguel about media playback.

One point he raised was I would love to see a standardized C-based interface that every one of them exposed and allow people to pick one over the other. Well, I'm fairly sure people don't care and don't want to pick, they just want one that works. The people that care about which framework to pick are the distributors and the people working on said frameworks.

The REAL problem with media playback on Linux is very very simple. People expect to be able to play formats that, because of patent/legal issues, are not as easy to provide code for.

In general, there are two approaches to that problem, and they present a significant split in methodology for distributors. On the one hand, people who install and use Linux themselves are fine with installing some packages providing "questionable" codecs, in whatever way. These people really don't care that xine or mplayer is not distributable as is.

On the other hand, there are large desktop rollouts where people expect stuff to just work, and where distributors can't afford to walk the grey areas. In these cases, licenses need to be bought to allow the framework to legally play back these formats. On top of that, there is code that needs to be written, because the code playing back this format CANNOT be GPL.

So, bottom line: the people running Linux in a corporate desktop rollout will be running different code than the hacker/player community out there. As far as I know, this is about the only area that really causes such a wide chasm between the two sets of Linux users we currently have or are aiming to grab. The only thing I can think of that came close was Ximian's Exchange Connector, and even that is fairly limited in scope. Feel free to correct me with other examples, I haven't thought it through that much yet.

Given this pretty big problem, my personal feeling is that the only right solution is a framework that is pluggable, LGPL, and enforces an architecture of its plugins in such a way that it is possible for companies to write closed plugins, and for the hackers out there to write open but possibly questionable plugins. This is in my opinion the only way the opposing goals of both the hacker community and the corporate desktop rollout can be married, instead of having to wildly diverge codebases due to legal issues.

The other remark that puzzled me in Miguel's log was I for one am not excited about requiring 160 megs of GStreamer code on my machine to essentially play mp3s and CDs. With tarballs for core and plugin coming in at 1.5 and 3 MB, I'm really curious who is going to have to write the remaining 150+ MB of GStreamer code. Miguel, can you give us a ring when you're done with those ? If all you want is mp3 (boo ! Use Ogg !) and cd playback, I can give you a GStreamer binary that does just that in under 300K easily. But I'll be asking you in three years' time if playing mp3's and CD's is really the only thing you want to do in the multimedia arena... There's really not one .avi movie or DVD you want to play ? Not even, say, Antitrust ?

GStreamer

Phew. 0.8.0 out the window. Made releases of core, plugins, and ffmpeg. Rebuilding Fedora packages, seems to work fine. Thank god for all the work I have done in the past on mach. It was almost as simple as just changing the base names I inflicted upon myself, and rebuild. Mach took all the other pain of package building away.

Need to update the site to announce the packages, too. Now I have to submit all the depencendy packages, and the actual packages, to rpm.livna.org and www.fedora.us.

The good news is, installing gstreamer-universe on Fedora Core 1 does the right thing, pulling in the "old" 0.6.x series packages, so RhythmBox, gnome-media, sound-juicer and nautilus-media keep working fine. Exactly as planned, sigh.

A mail from Jeff about GStreamer not sticking to release processes. I'm not the person who needs to be convinced in this case. There are other people on our team that seem to either not think the GNOME policies apply to us, or think we can get away with not following them.

People seem to think GStreamer lacking one clear maintainer is a problem. On the one hand, they might be right. On the other, sharing maintainership is IMO both possible and preferable. It's just not something that is done much. In our case, there seems to be a fairly natural distribution of maintainer-related tasks. I think that's fine, personally. If there is no clear natural maintainer candidate, it's better to split up responsibilities than shed them all.

On the whole, I think we're doing a good job of putting processes in place, slowly but surely. We've successfully moved to using ChangeLog's, we're trying to enforce a common coding style on the .c files now (I never thought we'd "agree" on one), we're doing more regular releases, a lot of work has gone into making the release process itself more streamlined, the website is easier to manage...

Also, a lot of the things that were requested from us have happened - more formats supported, internationalization infrastructure in place, decent error messages with translations work now... I think we're doing good. Still enough room for improvement not to get bored though.

As for packaging, Matthias and I seem to agree on the packaging. Now it's a matter of getting them to QA at www.fedora.us and rpm.livna.org as quickly as possible.

Life

Went back to IKEA to buy new parts of life. Recursive coffee table and a bunch of plants, all of which made Kristien happy. She has her first real tours today, I hope everything turns out well.

Dave/Dina

With the right combination of CVS versions of stuff and recompiles, I finally managed to get a DirectFB stack running that allows me to execute stuff from XDirectFB and not mess up the framebuffer after stopping. So, now it needs some clear packaging, and some twiddling, and then I can finally go back to actually watching stuff on the TV by using the remote. I hate video cards that just stop working one day :)

Snowboarding

Off soon. Looking very much forward to it. Skating has seemed to exercised my leg muscles a lot, so I should be ready. OTOH, my left middlefinger hurts a bit from RSI. Hope I can get rid of that over the course of a week.

Music

(Warning: if you don't care about music, skip this entry)

So, when I set off to Spain I thought it would be interesting to bring only a small set of CD's to see which CD's matter to me. I had told myself to choose only 20, but after three hours I realized that was impossible, and settled on 30.

Here's the list:

Afghan Whigs - Congregation
This is probably their only flawless disc, even though other discs have better songs at times. But this one flows from beginning to end, hinting at their later potential.
Afghan Whigs - Gentlemen
If you've ever been in a broken/unhealthy relationship, this is the soundtrack to it. My favourite band, and this disc shows why.
Arab Strap - Philophobia
drunken Scotsman songs mumbled over a beatbox and sparse instrumentation, but with ever so subtle and stinging lyrics
Arid - Little Things Of Venom
Have to both bring and plug some Belgian artists too, no ?
The Blue Nile - Peace At Last
They make about one album every ten years, but manage to make it result into crystallized beauty
Buffalo Tom - Let Me Come Over
Another one of those era-defining discs, where not a song is bad. Excellent guitar sound all through the album.
Catherine Wheel - Adam And Eve
One of those vastly overlooked bands that managed to perform consistently with each album, changing their sound as they go. This one has a huge atmospheric soaring sound.
Counting Crows - August And Everything After
Later albums never quite managed to capture the raw emotion and naive but perfect musicianship from this album. Today he's huge and looks like a pineapple, but he feels a lot better. An argument for the case that torn-up artists make the best records.
dEUS - In a bar, under the sea
A lot more variety than on their first album, but still as exciting as that first one. Selected only because of the bigger song selection.
Elbow - Cast of Thousands
Within the confines of modern rock music, Elbow manages to sound quite like they're the only band who does what they do. With the simplest of guitar figures, using silence as an instrument, with a gifted singer and some splendid songwriting craftsmanship, something to discover.
Embrace - Drawn from good will
My personal selection of their first two CD's, because it was too hard to choose between the two
Gorky - Gorky
My first ever CD, and still containing my favourite song ever. The only disc I brought that's in Dutch
Grandaddy - The Sophtware Slump
Proving that you can have a beard in music without being ZZ-Top, these guys manage to express fear of technology and progress with recycled instruments, mix it in with guitars, and pull out the nicest tunes. With album artwork appealing to the hacker in me.
Grant Lee Buffalo - Fuzzy
I can still remember the day when I first heard the title track. One of those discs I still play today even though the CD is so badly scratched these days that I should buy a new one.
Interpol - Turn on the bright lights
Lots of people who find this boring or a Joy Division ripoff. But if you let yourself get swayed by the washing guitar sounds and the hypnotising vocals, you'll soon find that musically they're completely the opposite of JD in aural density.
Jeff Buckley - Grace
Every time I hear one of his songs I am sad for all the songs we'll never hear. A truely tragic loss.
Lift To Experience - The Texas/Jerusalem Crossroads
The hardest band to explain to people. Sonically touching Jeff Buckley's guitar style, but with the sound of Texas canyons echoing. A concept album about the Apocalypse and proclaiming the USA to be the centre of Jerusalem. With a lead singer who sounds like a repenting preacherman in sin, reigning fire over God's land. Still not sure whether to take them seriously, but the music is incredible.
Mansun - Six
Hard to tell if they were egomaniacal or just plain crazy. It took me more than a year to even start liking this album. It sounds like each CD track was cut in the middle of the actual songs, and each song sounds like a patchwork that only after repeated listening manages to sound like a coherent whole. But once you have made a mental map of this album, you are hooked, and there's no denying the incredible thrill it ends up giving you.
Muse - Origin of Symmetry
Sometimes there is nothing wrong with teenage angst, hard rock guitars, screeching vocals, and opera-like delivery. Each song on this album manages to surprise and entertain.
Pixies - Surfer Rosa
How to describe the first band that managed to excite you and open up your eyes to a completely different world of music ? I couldn't stand this album at first, and I laughed at a friend who came crying to school when the Pixies broke up. He retaliated by giving me this disc and soon I was crying along with him. To think they are touring again this year, yay !
Radiohead - The Bends
Hard to choose a disc from a band that's actually been three bands already in their lifetime. While my favourite songs are on the first album, and while everyone seems to applaud them for all of the albums from the third one, as a complete album none of theirs can top the Bends.
Six By Seven - The Closer You Get
A perfect rock album from beginning to end. One of the songs proves that the only reason drum'n'bass is so BORING is because it's played by computers - by having a human drummer play the dnb rhythms, and making the perfect rock version of such a song.
Smashing Pumpkins - Siamese Dream
Another seminal 90's record. Dreamy guitar figures alternate with edgier alternative guitars, and the songs actually are good all the way through, in contrast with later albums.
Spiritualized - Ladies and gentlemen we are floating in space
Coming in a package making it look like medication, with a booklet written like a medicine leaflet, and a perfect flow from beginning to end. Defying traditions of rock/jazz/gospel/blues, and mixing them all together, adding a drugged-out soundscape to all the songs, there is no easy explaining what this album sounds like.
Tindersticks - II
Their finest album by far; sparse instrumentation leaving room for each of the accents, the graveyard vocals, and their best songs. This disc is only better because it was accompanied by a 70-minute live set with a complete orchestra.
Tom McRae
Stunning debut album; not consistent in quality because it contains some spectacularly beautiful songs.
Tool - Aenima
An album showing that metal can also be intelligent, well-played, and that it's ok to have variety. Songs easily passing the 8-minute mark, but keeping listeners on their toes all the way through. One of those rare albums that can be listened to from beginning to end and back again.
Twilight Singers - Blackberry Belle
Afghan Whigs frontman going solo and teaming up with a whole bunch of guests, including Mark Lanegan. While the music is different, this disc manages to catch some of the essence that the Afghan Whigs left behind.
Weezer - Pinkerton
A completely personal and emotional album from beginning to end, which they caught a lot of flack for. After that they went back to writing the regular catchy surfpop tunes with bubblegum contents, and apparently the singer doesn't want to hear about his "failure" disc anymore. Incredible, this is easily their finest, coupling their catchiness to lyrics that matter.
Much ado about nothing
A two-disc set mixing audio excerpts from the Kenneth Brannagh movie adaptation of the Shakespeare play with some of my favourite songs from that time. One of those stupid projects you have time for as a student and that you end up doing when you're madly in love with someone and want to show them you are without saying so :)

Of course, to be fair, I have to admit that my Dave/Dina box holds about 1500 CD's, so it's not like I don't have any music here. And I already bought a few CD's since coming here, of which Sophia's "People are Like Seasons" and Explosions In The Sky's "The earth is not a cold dead place" deserve honorable mentioning.

Hm, I pulled a jfleck-y diary entry, sweet.

12 Mar 2004 (updated 12 Mar 2004 at 19:05 UTC) »

Madrid

All in all, pretty scary that this is still possible today. Eerie too how it was exactly 30 months after the WTC buildings collapsing. Doesn't say much however...

I called the one person I know in Madrid to check if she was alright. She was.

Today in the building where we work (which is Barcelona's own WTC), there was a fifteen minute silence gathering outside on the square. Seeing more than a thousand adults trying to be quiet for fifteen minutes makes you think.

There's not much I can say - my heart is with all those people who were there.

Mach

Released a new version yesterday, with a bunch of nice fixes for a lot of issues. Already put in two new fixes today. One was a bug report from Matthias from last night; the other was to add --promoteepoch when supported so that with the recent epoch changes, it's again possible to build packages that were unable to install their deps due to this.

Am now thinking of splitting up the distro files, and after that it's time to start thinking about a reworking with everything abstracted nicely into classes.

GStreamer

Everything is getting pretty much ready for the 0.8.0 release on Monday. Tweaked the packaging some more, sent out a mail to interested packagers about how we would like to see it packaged. Decided to drop the gstreamer08 set of packages obsoleting the 07 ones, since apt didn't handle it nicely.

Decided not to implement release-device, even though I think Benjamin is wrong about the importance of the bug or the way he chooses to express his opinion :) But OTOH, I think it's bad for our internal community if I keep complaining about stuff I think is important on behalf of other people who for some reason don't really take part in the discussion. Even though they're our primary users. I need to figure out first how I can make the community around GStreamer a bit more vocal.

I think I found the correct way to do gst-ffmpeg, so that we can be a good community player and send patches upstream where it makes sense, but also make it perfectly easy for users to build it from CVS. I think I found the right mix of procedures to do this correctly. Let's see how it goes; if it turns out well, I can write something up about it as a general solution to the "how to pull in other people's CVS and use it in a project" problem.

Open Carpet

I'd like to have some of the big repos use Open Carpet themselves, instead of the completely crack umbrella repository set up at the OC site. It's completely wrong to make people believe that all these repositories can be freely mixed :)

Anyway, since all these people build their packages themselves, not having the sources readily available to all the red carpet components is kind of a problem. What's more, I tried to convince snorp that this really is an issue, but for some reason he thinks it's not a problem and "they should just use build-buddy to build the packages". Apparently he doesn't understand what these guys' life mission is...

Anyway, buildbuddy is nice, but solves a completely different problem. It's aimed at "how can I make packages for all different distros from one control file". Unsurprisingly, it generates very ugly spec files. The repos out there are, at the most, concerned with getting it to run on only Red Hat/Fedora. Some of them even explicitly limit themselves to a subset of this. And they want clean spec files. And src.rpms that can be rebuilt without problems on the target platform. Something that's very much not possible with the red-carpet stuff.

So, I'm going to take a stab at trying to figure out how to do it correctly. To warm up, I made ximian-artwork rpms, where I actually use their .src.rpm as the Source: in the spec file. Neat trick. Probably be necessary for the red-carpet components too.

I was really happy to have Industrial again, it's so much prettier than Bluecurve. I had missed it ever since moving from my RH9 install to Fedora Core 1. For some reason metacity failed to change the window decorations though, which a quick metacity-message restart fixed.

Going home

Coming to work on blades is starting to work out fine. Going back home is slightly harder since there is no easy bladable route going home. I guess I'll have to do some searching.

9 Mar 2004 (updated 9 Mar 2004 at 12:42 UTC) »

Things people do

We had someone with very strange GStreamer errors and we were unable to figure out what was wrong. Until we asked how he installed GStreamer. I had already noticed he had it in /usr, with the registry in /usr/var, which clued me in to the fact that he had compiled from source to /usr himself. He sort of didn't reply to the actual question "How did you install GStreamer".

Then I got floored after asking for the fourth time:

  

<thomasvs> So I'm asking you, "how come it ended up in /usr" ?

<*him*> okay

<*him*> i copyed /opt/gnome26/* to /usr/

After that it took quite some convincing that a) his system was now officially broken, b) he should reinstall, and c) we cannot debug or support our software when he deliberately screws up his system.

So, for people who didn't know yet:

  • Never ever ever install stuff from source to /usr unless you are completely sure that this is what you want and the only way to work around something. If you don't know if it is, the answer is it isn't.

  • If someone is trying to help you figure out the problem, ANSWER the questions. Maintainers often know from the start what's wrong, but lose too much time trying to help you figure out the problem because you didn't reply to their questions. Don't second guess them or think for them. Just answer the questions, so you can help them help you.

  • If this is news to you, and you didn't know these two things, then don't use a source install system like LFS/Gentoo/Slackware. There is nothing wrong with these systems, but you have to pick a distro that you can understand. If you didn't understand why copying stuff to /usr was bad, you are missing some knowledge to control these systems, and they will end up controlling you.

GStreamer

Was hoping to do a 0.8.0 today, but I'm better off doing another 0.7 release, with the majorminor override to 0.8, to shake out the last few bugs.

"Fixed" the buggy MPEG playback yesterday; it would have been caught if the testsuite was running a few months ago. So we need to finish our infrastructure work so all of the key components are working well.

Fixed up and did a nautilus-media release in time for GNOME beta 2. I think I fixed all issues I still had with it, I hope I get some feedback still.

Off now to try and make the audio sinks have a release-device property so that Rhythmbox and Jamboree can stop setting the audio sink to NULL. It really is an application bug given the current GStreamer design, but of course everyone is going to blame GStreamer for not being able to unpause. So a hack is required here.

Movies

Finally saw Lost in Translation. Blew me away - easily one of the top five films of the last twelve months. The movie is 100% believable, and it oozes tenderness all over. As a bonus, it was pretty funny even though I didn't expect it to be.

Also finally saw Kill Bill. Before I thought I had missed it here in Spain, but apparently it only just got released. Well, what can I say about a movie in which blood performs the best acting job ? The movie was very slow, which as a homage to Japanese samurai movies I can understand. But, if you're updating a genre to present days, it tends to leave stuff you didn't change stick out like sores. Take out the blood, the intense staring, and the ominous pauses, and you're left with a five second video clip.

Anyways, I know a lot of people will disagree, so to them I ask: is Kill Bill better than True Romance, Pulp Fiction, Jackie Brown or Reservoir Dogs ?

As a bad point, it wasn't funny much even though I expected it to be.

Today

is gonna suck. Went to a bed with a smallish headache, woke up with a splitting one. I think I'm going to go for the low brain activity tasks today. The drawback of having a job with computers is that you don't really have anything to do unrelated to computers when you could really take a break from them for your health.

Movies

Forgot to mention I finally, after seven years, got to see Swingers. This movie made me realize that I'm so money and I don't even know it.

The funny thing is, the last four years I wanted to see this movie and each time I asked for it at the video store they looked it up and told me "Uh, are you sure you want to watch it ? It's a porn movie..." and I tried to tell them "No no, really, it's a regular honest movie !"

Of course today I could just give them an imdb link to prove I'm a regular customer. I really wonder how people managed to avoid renting porn movies in the days before the internet ...

2 Mar 2004 (updated 2 Mar 2004 at 17:57 UTC) »

GStreamer

Finally got back to packaging our stuff for Fedora Core 1. Have more or less decided and agreed with FreshRPMS how we plan on packaging it. The GStreamer repository on our website will be compatible with the repositories of fedora.us and rpm.livna.org. Matthias and I will pretty much have the same set of packages, I think.

The 0.7.x will be packaged with gstreamer07 as a base name. When 0.8 comes out, that will become the gstreamer base, with 0.6.x moving to gstreamer06 for parallel installability.

I'm still finding small bugs here and there that should really be cleaned up before 0.8.x, but I'm happy that they're all easy cosmetic bugs that are nevertheless important to get right. I'm happy that I'm running into them one by one.

Fluendo

Time to announce this baby... I have to write something up about this soon.

mach

Wanted to spend some time this weekend on looking at the kernel module packaging issue. Sadly I got into a very unproductive argument with someone over mach using --nodeps to actually build the package. I should have spent my time actually working on mach itself, but I guess I got very irritated because of the person coming over as agressive and not really interested in why this was done in the first place, or that he was using the tool to something it was not intended to do yet.

That doesn't mean it's not a bug (which I acknowledged from the start) and that it couldn't be fixed. I guess some people expect their software to automatically do whatever they think it should do, and be perfect and contain no bugs.

So if you find a bug, and report it, think about this. Project maintainers get bug reports all the time. If they can choose between working on a bug that got filed by someone who was polite and respectful, and someone who came across agressive, irritated, and impolite, and all else being equal, which of the two bugs is the maintainer more likely to work on ?

Anyway, the next day I decided to really work on stuff I wanted to and not get in endless discussions again. I reworked the way quoting is used in mach so that it now can correctly execute stuff like

mach build --target i686 --define 'kernel 2.4.22' kernel-module.spec

Then I worked some more on the linux kernel macros in autostar sandbox until it was an easy patch to build qc-usb kernel modules correctly. And then I built a bunch of kernel modules :) If you're on fedora core 1, and have a simple Logitech QuickCam webcam, please try packages from this dir and let me know if it works for you.

Now I need to finish these properly for linux 2.6 too (I've heard you really need a writable kernel source tree, and all the spec files I checked for 2.6 kernel modules indeed seem to copy the whole kernel tree as part of the build process, ugh), and then I need to pimp these autoconf macros to upstream kernel module projects to get rid of their crappy custom stuff that always breaks when you're not building for your actually running kernel.

Orkut

So far, Orkut has only helped me to find people I already know and have regular contact with. That's not really what I need, is it ? I guess I'll take a break for a bit :)

cd..

It's been a while since I typed that. Must be muscle memory from the good old MS-DOS days ...

Life

Finally started skating to work. This morning I still took about half an hour to get here, so I guess I need to find a somewhat shorter route. I am getting good at not falling down, and I hope the regular exercise will make me feel a bit more healthy in general.

Friday

Felt daring and listened to Explosions In The Sky on the plane flight to Belgium. They were playing Barcelona that night and I was missing it so this was as close as it was going to get.

Arrived home with the living room door open and my mother sitting outside on the terrace sunbathing at five degrees Celsius. The drawbacks of living in a cold country.

Drove to police office to report loss of identity card and driver's license. Made sure the police officer didn't see me arriving or leaving in the car. Raced to the administration office to actually get my new driver's license so I could end my brief life of crime.

Took the train to Brussel to put my stuff at my friends where I would be staying for the weekend. Went to the King of Spain (hm, I thought that was me) on the Grote Markt to meet up with all of the other hackers. Good to see all of them back. Hallski provided very good picture source material; here he demonstrates the size of a certain anatomical part of his.

dolphy wanted an authentic Belgian restaurant to eat mussels and fries, so I took him, wtay, jdahlin, Matthias and Noelle to some place on the Vismarkt. Everyone was happy, though my mussels were a bit on the dry/overcooked side.

Saturday

Went to see Robert Love's talk. The place was packed. Novell cunningly sent a rock-star-like stand-in for Robert while the real Robert was probably still locked in a basement somewhere in wintery Boston hammering out code. Nevertheless the talk was very good, hope some people got motivated to pick up some of the stuff the decoy talked about.

Went to see Jonathan Corbet's kernel talk, which was really good as well. Gave me some insight in 2.6. Not sure if I'll be able to make use of it though.

Left for the wedding. Lots of atmosphere, people started dancing before desert was served. Someone finally succeeded in making a decent picture of me.

It was great to see old friends again, and I even made it onto the credit list of Tineke's movie - it showed "the winner took them all", and then a quick list of past conquests :) The list was quite a bit shorter than I remember it to be however.

All of her friends from school were complaining about how Tineke got married before them ... If you're a single guy, weddings should be your favourite place to go.

I'm having a harder time each time to restrain myself from killing DJ's that manage to do any of the following

  • download crap mp3's well below 128 kbps and use them at parties (I'll take a listening test to prove them you really can tell the difference any day)
  • download the completely wrong/crappy version of songs
  • manage to break off songs right before their best part
  • TALK between songs
  • play completely undanceable/crap/slimy slow songs
  • bring a small set of speakers, then ruin the quality completely by completely distorting the output
Seriously, it can't be that hard to make the musical part of the evening at least enjoyable.

Ended the evening with a nice dance though with the bride. The DJ managed to play Disarm right before I was leaving.

Sunday

Due to getting to bed at 4.30 I slept late and missed the DirectFB and X talks I really wanted to see. The afternoon really didn't have talks that interested me, so I had wished it was the other way around. Tried to uncover the Robert Love stand-in by pretending to fanboy him and getting my kernel book autographed, but he passed the test admirably. Gave up.

Tried to stay awake and not make too much of an ass of myself for the rest of the day. Got drawn into witnessing the formation of a new Dark Alliance between Dag and Matthias, scary.

Got the best news of the year up to now at the end of the day. We went out to celebrate by buying real Belgian fries from a real Belgian fries stand and ate them in the car.

Went back to friends, watched 24. While watching I noticed a big cardboard box that read "Aibo" on the side (Hans works for Sony, btw). I asked him if it really did contain what it said. He said yes. I asked him why it was still packed. He said he brought it home two weeks ago but never bothered to try it. The nerve of some people.

I unpacked it, but it wasn't charged. So I hooked it up, then Delphine and I played the two-player Settlers card game. Called Kristien to buy it for us too.

After that, played with the AIBO for a while. It really is pretty well done; it asked for the ball, it followed the ball, it tried to get your attention, wiggle its tail, express "emotions", and so on. But I can't imagine myself shelling out that much for it until it at least makes less noise while moving around and looks slightly less metallic.

Monday

Spent the morning waking up. Really wanted to see the Belgian movie Steve + Sky since everyone is saying how good it is and it's probably not going to be shown in Barcelona.

I went into the movie really wanting to like it but got disappointed. I'm pretty sure if this movie was in English everyone would think the dialogue and story is crap. For me the only entertaining thing was that the movie was funny because it was in my local dialect, and it contained some scenes filmed close to where I live, and I also spotted my best friend's sister in the movie.

But if the movie had been in another Belgian dialect, I'm sure I'd have hated it.

On the plane, back to Barcelona, and happy to arrive home. Then even more happy to realize I really feel it's home. Then even more happy and unable to stop smiling for two days at the good news I got on sunday.

19 Feb 2004 (updated 19 Feb 2004 at 13:15 UTC) »

Suit

Forgot to mention that last weekend Kristien and I went shopping for a suit for me. I guess I forgot it because I mentally blocked out all memory of it. I just DON'T like to go shopping when everyone is doing the same thing and every store is filled to the brim with people. I especially don't like to go shopping when it's to buy stuff I don't feel I need. Because I like the suit I have already, but Kristien doesn't.

Anyway, so we found a suit but had a bad time finding it, and I didn't feel like explaining a lot to her what was wrong, so I hid behind Standard Guy Excuse #593059: "We just don't like shopping for clothes. We do not have breasts."

Well, that's a bit of a lie. I love to go shopping when everyone else is working, when I have the place to myself, can try out stupid stuff, and act like a kid in the booth while annoying my companion on purpose by embarassing them to hell. All of this cannot be done when there are lots of people around.

It didn't help when I wanted to go look at watches to replace my broken watch, and she tried to get me away from them. After two minutes she broke down saying she got me a watch for our one-year-togetherness. She always complains I'm too good at guessing what present I'm getting, and this time she forbade me to even try to guess. And now I managed to guess it without even trying, and it made her cry.

So baby, I should take you out for a rematch soon and do some real shopping.

City

Sometimes Barcelona weirds me out, in a good way. Yesterday there was some sort of taxi strike - a huge colonne of taxis was blocking the major streets close to work, tooting their horns. Nobody knew why.

I looked on the net for tango places - apparently I could go out and tango EVERY NIGHT. I have to get started soon.

GStreamer

Started throwing random files at GStreamer and the player to test for robustness. File number two was a tar.gz. It triggered an endless loop. After some debugging, it seems the typefinding functions serve up the file to gdk_pixbuf, who passes it on to the librsvg pixbuf loader, which tries to see if there's an svg inside it. Then when it tries to close it, for some reason it triggers an infinite loop. Not knowing anything about librsvg, I dug in and managed to find and fix the loop quickly. It taught me again I should always check for error codes on functions.

Anyway, made me think about the general problem - if GStreamer uses 50 libs, should we really trust all these libs not to have a simple mistake in them that makes all of GStreamer lock up so easily ? So I decided I wanted to set timeouts on lib function calls when we know they cause a problem.

After a day of experimenting, it seems this is possible, but a bit convoluted. Basically, the best/most portable way to do this is

  • start an alarm thread that listens to ALRM, or any other timer signal

  • block delivery of ALRM to the main thread

  • alarm thread should send USR1 to the current process when catching an ALRM

  • before calling a function, set a USR1 handler (which will run in this thread), store the setjmp point in a global per-thread hash, and set alarm

  • if the next function call doesn't return in the given time, ALRM is raised and delivered to the process. Since the alarm thread is the only one listening to ALRM, it will be the only one receiving it. It will then raise USR1, and since the actual thread that is calling the function is the only one listening to it, it will receive the notification correctly as well. So the USR1 callback can then longjmp back to before the blocking function, and it can thus be skipped

Fairly convoluted. Drawbacks ? Right this doesn't allow more than one thread at the same time to use this timeout mechanism (which could probably be fixed by keeping track of alarm times and setting them, so that each thread catching an alarm can check if it's meant for that thread, and reraise if needed). Also, people might complain they cannot use ALRM for their own program anymore (though we can make the whole timeout optional too, which I'll probably do). And, some people may feel this is a hack.

Well, it's not actually a hack, it's the right way to do this. Only it is so low-level that people automatically consider it a hack. I, on the other hand, feel we really should do this if we want to make sure GStreamer answers to user expectations in general. Which means, it just shouldn't lock up when trying to play a random file.

FOSDEM

Leaving tomorrow morning, yay ! Hope to arrange some paper matters too while I'm in Belgium, and visit some friends. Now playing

Six by Seven - eat junk become junk. How this amazing disc got so widely ignored is really beyond me.

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