Older blog entries for thomasvs (starting at number 134)

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

Life

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.

GStreamer

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.

Theora

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.

GStreamer

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.

Life

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...

gettext

Spent the whole day getting very familiar with gettext. I wanted to make a sample module that used it all the way down in all the ways we will need for GStreamer. I had looked at David's i18n stuff in GStreamer, but it looks to be a half-finished job so I'm assuming he gave up.

My goals were

  • integrate it with autogen.sh like the other autotools

  • do a minimum amount of tweaking, and clearly separate the tweaking from the generated files

  • figure out how to update all of the stuff in po/

I made a sample tarball that works out well. I learnt about autopoint too, which treats me a lot better than gettextize has. The sample is in CVS, in autostars CVS. It'll take some days to show up, what with SF's bad anoncvs lag.

I'm starting to wonder about the necessity of glib-gettextize though. Maybe it's time to kill it off.

Also, it's wonderful when you mail someone you think will never mail you back (In this case, Bruno Haible, the gettext maintainer) and you get a reply back in two hours. That's a lot quicker than I myself tend to reply to things.

Linux

Talking to Matthias a few days ago made me remember how I got into Linux. I used to program C in DOS using the trusty Microsoft C 6.0. I think I had a copy that came on 6 1.2 MB disks, and I had it installed on my 20 MB HD. The second disk contained the IDE, but it had a data error on it, so it was a very crashy affair for me. So I never had much else than EDIT.com as the editor and the DOS prompt to compile stuff :)

Anyway, when it was time to do my graduation thesis, I wanted to do a programming one again, but I didn't feel like learning Windows-based programming. I was still stuck in the DOS age. So at the university we had gotten used to the Solaris servers for programming tasks, and then someone told me about Linux and how it was similar.

So I installed Linux just to have something that looked like a DOS box :)

When today I look at my purty GUI GNOME desktop, programming a lot better and easier than back in those days, I'm very happy I made the right decision for the wrongest of reasons...

Now Playing

Been listening to The Blue Nile *all day* and still don't get tired of it. This album took about four years to grow on me, but its simplicity and mastery stands out.

Life

Bastien finally got some mail. I hope he realizes there are more types of mail than just electronic ones :)

I was so damn tired yesterday. Spent ten minutes trying to figure out why some module wasn't building as a module, when I realized that in the Makefile I had put -DKNORENEKL instead of the NOKERNEL it needed. That's three typing errors in one word.

GStreamer

Spent a few hours today trying to figure out why nothing in the core was being i18n-ized. Then I started doubting if it worked at all, and realized nothing was actually being translated. Also, our Makefile.in.in in po seemed horribly outdated. So I gave up for the day.

Tomorrow I go through gettext again and make a skeleton module. Also, I need to figure out whether it's smarter to run gettextize once and commit stuff, or have it run from autogen.sh all the time.

Kernel module packaging

After polishing some of the macros for inclusion in autostars, I applied them to qc-usb, which has drivers for the webcams at work. The Makefile was again some ugly custom job, so I just threw it out and autotooled the whole thing in fifteen minutes.

Then I ran configure (with a kernel config thrown at it), make, and the module insmodded fine !

Tonight I try to write a small test kernel module, try to build it for a bunch of archs and types, and test them on the other machine. I'll install some smp and 586 kernels on it to make sure the versioning is right.

Then I need to reply a mail from someone who asked about it. I'm getting back to you soon, honest ! :)

8 Jan 2004 (updated 8 Jan 2004 at 11:41 UTC) »

Life

Yesterday I spent half of my day trying to get my NIE: the little number I need identifying me as a foreigner living in Spain. I need it to get an actual contract.

Anyway, I spent close to 90 minutes in a 30 people queue at the police office to receive the number I had applied to get more than a month ago. When I got to see a human being dealing cards, I noticed a guy next to me who didn't seem to get his number. It quickly dawned on me that he had applied for his NIE on the same day in the same police station as me, and I smelled trouble.

A woman behind us had the same problem. The three of us didn't seem to exist in the computer, and the office where we got our number from had a broken telephone line. We spent a good half hour awaiting our fate. Then we were told we had to go back to the first office, somehow they didn't send on the forms.

One taxi ride later, after three hours, we finally had our magic number.

On the way out, I saw some nice graffiti text:

En un mundo paralelo
Tu y yo
vamos de la mano

Reminds me of how I used to feel way back when.

gnome-blog

Joined the crowd in testing this thing. Why it is important enough to be an applet is beyond me. It's just an app to me. Anyway, I packaged it for fedora.us.

Here's the Fedora 1 fedora.us package, RH80 and RH9 packages live close by as well. Follow its path through fedora.us.

Seth's original spec had a copy of the Rhythmbox changelog in it, hehe :) As well as some other unnecessary things. So if you are able to read this, Seth: thanks for the little program.

6 Jan 2004 (updated 6 Jan 2004 at 23:35 UTC) »
New Year

Had about eighteen people over at our apartment. One of them was our Norwegian friend Uraeus. He had a lot of fun mingling with all the Belgians :) Pictures are online.

Sven shows off multitasking. Jeroen and I start off Silly Snorrekes Season. Norwegian in the mist.

Spanish tradition says you eat 12 grapes at midnight, one on each strike of the clock. Yes, we can party on the balcony.

Anyway, food was excellent, Dave/Dina took care of the party music, I put some speakers outside on the terrace, and with all those people and two barbecues close together, we were more than warm enough in the brisk Barcelona air.

A lot of fun was had by all, and some simple suggestions on my part led to the money shot. Jeroen and I have a great set of gals. And a nice new wallpaper as well.

At around two, we managed to convince everyone to turn off the music and get out and walk around the city.

Friends, thanks for coming over. We'll miss you...

Dave/Dina

I had some silly idea that releasing on the last day of the year would be a good idea since surely everyone would be at home or at work with their mind on partying, and not have time to download and install a distribution ? So I hadn't actually prepared anything for the release in the way of torrenting or mirroring. I submitted the story at noon and just waited a bit.

To my surprise, the story got on SlashDot, and soon after the server was starting to crumble. The bandwidth on that server was high enough, but it quickly got up to a load of over 90.

So there really are people out there who have time to try out stuff on a day like this. So, thanks to all of them, and next time, never underestimate the power of SlashDot.

On the bad side, I spent too much time on New Year's Eve watching in disbelief at what was going on and scrambling to set up mirrors. On the good side, I got some people who tested Dave/Dina, and it seemed to install fine.

It also pointed me on some urgent TODO's. Most of the testers got it running, booted the machine, then looked at Dina, and the panel for two seconds, and then they wondered what to do. Apparently I didn't make it clear that this is meant as an entertainment box, and is meant to be controlled using a remote.

The fact that it's currently not obvious how to configure the remote doesn't help either. So, my next quest, together with DirectFB integration, is to write some sort of GUI for lirc configuration, together with some way of launching it when the remote isn't set up yet.

Work

Hope we can announce Fluendo soon. Our second hire is a lot quicker than me to make up his mind and jump ship. He's arriving in twelve days !

packaging kernel modules

I've tried a few times to make clean kernel modules of external projects. Examples include alsa, lirc, thinkpad stuff, audigy drivers, and quickcam drivers.

Each time it's been very painful, and it always left me with a feeling I didn't really understand the whole process. So today being a holiday here (Epiphany), I decided to spend a lot of time on it so I could figure out a good way of getting reproducable out-of-kernel-source module builds going and package stuff for all possible kernels on Red Hat/Fedora.

ds set me off in the right direction with an .m4 he uses in comedi, his data acquisition framework. (Boy, I wish I had that around when I was in university, but I digress).

He wanted Red Hat supported in anyway, so I set out to add that and figure out stuff along the way, using the builds from my previous attempts at packaging.

I managed to figure out some of the RedHat-isms (like rhconfig.h and /boot/kernel.h) and how to adapt it so that you can specify a config file used for kernel configuration, and autodetect for the current kernel config. Then the .m4 just substitutes a bunch of variables used in kernel building. I tried this on lirc, which I want to repackage for Dave/Dina (since a bunch of users complained they had LIRC but with different drivers), and it worked out fine. I wrote a simple patch for their make stuff, and all I need to do now after using the one macro in configure.in is put this in Makefile.am:

       $(CC) $(LINUX_CFLAGS) $(LINUX_MODFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
to generate the module. The proper modflags get stored by the macro, including specific RedHat flags like -D__BOOT_KERNEL_SMP=0 which normally get collected from /boot/kernel.h, and it Just Works.

Now, I'm going to try and pimp these macros to projects mentioned above, and package all those external kernel modules up for fedora.us so stuff like my webcam Just Works and is easily rebuildable.

Some comment by Robert Love somewhere made me curious about what his plans are for kernel modules in the near future. Hopefully he'll obsolete all this malarkey, even though that will decrease the value of my newly learnt knowledge :)

Life

Ordered plane tickets to go back to Belgium for the two Twilight Singers shows, rock !

A week ago a timely slashdot thread made its way to me on the subject of backpacks. I was looking for one to use on the way to work, so that I don't have to worry about my laptop. I ended up going with a booqbag system. Paypal was incredibly annoying since it forced me to CLOSE MY ACCOUNT just to change my country of residence and delivery.

Anyway, with the dollar being very low against the euro, it only turned out at like 150 euro with shipping included. Waiting patiently now ...

Wonder if hadess checks his mail regularly.

Time to go blading again !

Dave/Dina

Incredible. After all this time, I finally got round to doing a release of Dave/Dina.

Dave/Dina 0.0, "Elisabeth", our first alpha release, is finally out the door.

I promised myself I would release before the end of 2003, and I did. Here's for time-based releases ! :)

So I guess I'll spend New Year's Eve on a constant buzz, see if somebody picks up the news, hopefully someone tries it and wants to help out.

I predict the buzz will last until the first person saying, "This sucks"/"Use MythTV"/... But until then, I'll enjoy the nice buzz of having accomplished something I have loved doing.

A short rest before we move on to bigger and better: DirectFB stuff, getcontrol, voice menus, lirc configuration GUI's, Fedora Core 2, and more...

Rock. This feels great.

GNOME

Followed up my gnome-media distcheck fixing with a new CVS module in gnome: toolchain-tests. I added two tests for make distcheck in intltool, and then proceeded to completely fix the bugs I had and other people had with the recent changes. Now waiting on Kenneth for comments.

I hope to keep up this tradition for any build issue I run into with our toolchain. Also, I got me thinking again about the GNOME maintainer guide I was planning on getting rolling.

Hope I find some time for that soon.

New Year

Spending tonight in our great new apartment, with about fifteen friends, barbecueing on the terrace, and having a great time.

Life Is Good.

See you all next year !

GNOME

A new gnome-media release was due since the old one didn't build against the latest gstreamer release. Now, my problem with gnome-media every time I try to do some things in it is that make distcheck is completely broken because of all the weird hacks-upon-hacks in the build system. I've looked at it a few times and noticed small tweaks that could be made here and there, but never really got round to fixing stuff decently.

Since my job now currently also entails making sure GStreamer trickles down to applications properly, I feel more responsible for a working gnome-media as well. And since I'm really anal about build stuff anyway, I just didn't feel like I'd do a good release if the damn thing didn't manage to pass make distcheck.

So I put on my special autotools boots and jumped right in. Boy, was I in for a treat. I first picked off some issues that were plagueing more than one module, as well as looking at some intltool bug that crept in due to recent commits. Then I checked the strange scrollkeeper bug that everyone kept complaining about. Turned out it was a simple bug in a .h.in file that hardcoded the path to the logfile as ${prefix}/var/log/scrollkeeper.log, literally.

Then I fixed some bugs where generated source code from IDL was being built as two different objects because it was both used as source for a binary and a library. The simple way to fix this is to make a non-installed helper library.

Then I fixed some bugs with a whole bunch of generated files not being cleaned properly, just about everywhere. Sigh :)

After all of this, running make distcheck left me with two files that weren't cleaned that left me completely stumped. legal.xml in gnome-cd/doc, es and ko. But for none of the other languages.

I guess I spent three hours trying to figure out what the hell the difference between these two was, and why some rule was being triggered out of the blue that copies legal.xml to the build dir.

Following the build log, I traced it down to the two same commands giving different results, and I noticed a rule got triggered because legal.xml was commited one second after gnome-cd.xml in those two subdirs.

[gnome-head] [thomas@otto gnome-media.build]$ stat gnome-cd/doc/ko/legal.xml
  File: `gnome-cd/doc/ko/legal.xml'
  Size: 3282            Blocks: 8          IO Block: 4096   fichero regular
Device: 306h/774d       Inode: 804646      Links: 1
Access: (0664/-rw-rw-r--)  Uid: (  500/  thomas)   Gid: (  501/   gnome)
Access: 2003-12-31 03:32:59.000000000 +0100
Modify: 2003-04-08 09:31:37.000000000 +0200
Change: 2003-12-16 13:00:56.000000000 +0100
 
[gnome-head] [thomas@otto gnome-media.build]$ stat gnome-cd/doc/ko/gnome-cd.xml                                                                                 
  File: `gnome-cd/doc/ko/gnome-cd.xml'
  Size: 16428           Blocks: 40         IO Block: 4096   fichero regular
Device: 306h/774d       Inode: 804645      Links: 1
Access: (0664/-rw-rw-r--)  Uid: (  500/  thomas)   Gid: (  501/   gnome)
Access: 2003-12-31 03:32:59.000000000 +0100
Modify: 2003-04-08 09:31:36.000000000 +0200
Change: 2003-12-16 13:00:56.000000000 +0100
I have no clue what the rule is supposed to do. I know what it does, but I see no reason why it should do this, so I removed it.

I hope the three hours trying to figure out what the difference was will pay me back somewhere down the road.

Anyway, it's hard to explain how satisfying it is to finally see

==================================================
gnome-media-2.5.2.tar.gz is ready for distribution
==================================================
after knowing the whole build was broken for months.

Not really sure if it will get noticed at all though :) But I figure I at least get some karma points for doing the ugly stuff nobody wants to do, and I've learned some new lessons along the way. I should really get started on my ideas for the gnome maintainer guide someday soon.

If you're wondering why I spend my time writing this, it's just because being on Spanish ADSL makes me realize how incredibly slow the CVS protocol is because it is sending diffs for every file back and forth. So I'm typing this during the time I spend waiting for each set of commits of my fixes. Sigh.

So, release done, I think I've postponed my break for about twenty times, so it's time for bed.

Dave/Dina

I was finally getting ready to release the first alpha this week. I registered davedina.org (it was about time). I added a status page with the help of Kristof and his excellent MySQL formmaker.

Then yesterday, after having uploaded the whole tree and the ISO's, I said to myself, "Well I should give this one final test before releasing". So I burnt the CD's, broke out the QBIC box, and proceeded to install. Bad move. I had done the install from NFS all the time, and the CD didn't contain the graphics for some reason. So I tried over NFS again to check if I missed anything, but for some reason I couldn't get the QBIC connected to the network. I tried on three places with four different cables, even going so far as to move it back to the freshly installed and cleaned living room, but nothing worked. No network. And my VMWare trial license had expired.

That left me in a pissy mood for the rest of the night :) Everything was ready, and now it seems like I'll need to redo the iso images. Let's just hope I can cut corners some way by only changing a small part of the iso's, though at this point it looks easier to regenerate and take care of some other cosmetic details while I'm at it.

DirectFB & Dave/Dina

I decided to try Ville's TV/OUT Howto again from scratch. This time, I went with pristine sources instead of the Red Hat kernel source. It still didn't work. Then I tried with the other Matrox cable that I thought belonged to the other card, and that made it work. Sigh. I wonder how many times I had perfect TV output but the wrong cable before :) Which reminded me of a very important self-discovered engineering lesson: When things don't work, it never hurts to try illogical ideas out and look for logic afterwards.

Just make sure nobody is looking in case you have it wrong again :)

It also reminded me of two other simple lessons I seem to recall getting out of Zen And The Art Of Motorcycle Maintenance: "Write down everything what you're doing with results to test your hypthoseses" and "Only change one factor at a time and note the resulting change".

Anyways, I now have perfect 720x576 PAL tv output. Which people tell me is the proper resolution to output to. Only, if you do a little math, you'll notice this seems to indicate that the pixel image has a 5:4 aspect ratio, why the TV has a 4:3 physical aspect ratio, just like a computer monitor. Does this mean I have non-square pixels ? As a matter of fact, yes - this page explains it a lot better than I can.

So now I'm trying to decide if I should stick with this so-called perfect resolution for PAL TV, having to change from 800x600 everywhere and having to live with non-square pixels being the norm. The latter will make it hard to properly develop applications on regular computers, especially on my desktop and laptop LCD screens that obviously have square pixels.

Anyways, looking forward to doing some DirectFB experimentation soon.

Apartment

Everything starts falling into place nicely now. We finally got ourselves a washing machine and a real bed.

Last weekend when my parents came round we managed to hang up the hammock as well. So this is our new bedroom. And this is how DIY guys express their love.

This fine lass often cooks for me and does that very well.

And last time we went out, I wanted to wear my selfmade pants, but the button had dropped off. I had two spare buttons, a cool navy anchor one and the silly cow. After discussing it with Kristien, the silly cow won.

And this is what they call hammock hacking. (Or, rather, chatting).

This weekend, we went on another IKEA shopping spree, this time taking home only about 320 euro worth of stuff. That included a much needed TV cabinet for the living room. The cabinet itself looks really nice, but it's a bitch to work with. It has holes at the back for running cables, but of course since the rest of the back is closed there's a lot of groping in the dark going on to insert cables.

Anyways, I ran speaker cable all around the room between the wall and the wooden floor covers, so now I have four big speakers doing fake quadrophonic audio. This all in preparation for the eventual possibility of getting an actual surround sound system someday.

Life

On Christmas, we spent some time together with the two of us. Very nice dinner, and in the afternoon we went out blading for three hours. All along the sea, all the way through the old town during siesta, wonderful. It was incredibly sunny, must have been close to 20 degrees, and this on Christmas... After that we went to see Elephant. Quite OK, not too fantastic.

Friday, more food, and at night there was a Christmas skating gathering. A hundred people wearing silly hats and all sorts of Christmasy things, skating through the old town, by the sea, all the way up to Gracia. Very nice, very good routes. After that, Kristien had agreed to come see Alien with me.

Bad move. I don't think she saw any of the scenes that needed to be seen :) I'm hugely in debt to her now, so if people can keep me updated on the release of a new Barbie movie, let me now ...

And now we're preparing for the flood of people dropping in on us for New Year's Eve. The first two arrived yesterday evening. Uraeus is arriving just about now, and the other fourteen are soon to follow...

So if you don't hear from me for a while, you know why !

Happy holidays, y'all.

Desktops

ottawaDave, I think your reasoning is of little practical use. The question you ask is asked over and over again, and the answers are pretty straightforward.

  • Posing the question makes it very obvious that you are not a programmer on either of the two. Thus, you have very little chance of actually influencing either KDE to merge with GNOME or the other way around. That's not a fault, a flaw, or a problem, just an observation.
  • The only people ever to wonder or ask why GNOME doesn't just stop and merge bits into KDE are either people that don't use KDE or GNOME at all, or people that mainly use KDE.
  • The only people ever to wonder or ask why KDE doesn't just stop and merge bits into GNOME are either people that don't use KDE or GNOME at all, or people that mainly use GNOME.
  • The actual developers on both GNOME and KDE that realise there is duplication effort going on and actually want to do something about it have joined forces on Freedesktop and are making reasonable progress in sharing basic infrastructure.
I just don't understand why people ask this question over and over again and fail to just see the simple answers.

So, obvious questions as a reply. If there was only one project, what language would it be written in ? What would the UI look like ? Would everything be configurable or would it have a small set of preferences ?

If you can't answer those questions, then you already answered your question on why GNOME and KDE do not merge.

Also, the way you phrase the question makes it sound so simple. Why are there two when there could be one ? As if it is dead simple to just take the best bits of both and put it in either one.

By no means is this a personal attack against you, or GNOME, or KDE. It's just that I think you're asking the wrong question from the wrong perspective, and it's being done over and over, and your write-up of course sollicited the obvious reply.

Web Shops

Tried ordering a present for someone on the web. I went through fifteen webshops. The two where we were succesfully able to place an order screwed up at the very last minute, after we filled in all our details. One of them threw up a popup for payment that the browser blocked, and after that there was no way of getting back to that popup to fill in payment details. The other one just didn't allow credit card payment AFTER we had filled in all of the other information.

Sigh, still a long way to go before the IT world allows us to simple things.

Parents

They visited me over the weekend. We had a great time, though I am reminded of the fact that it is impossible to try and make the storm that is my mother change direction at any given point in time. It's better to go with the flow. Especially since the flow brings many good things, like excellent restaurants, and a brand new deepfrying machine. I am going to hypothesise from your point of view that

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