[lang]

Present Perfect

Personal
Projects
Packages
Patches
Presents
Linux

Picture Gallery
Present Perfect

Filed under: General — Thomas @ 12:42

2003-12-31
12:42

The Good

I'm in Boston. Boston is great. I'm in a fantastic apartment with two very friendly people. Thank you Benjamin and Amy. And I'm typing this from my bed, for the first time I've been able to make use of the wavelan card in my laptop.

The Bad

It's 7 AM. I woke up at 4 AM with an amazingly brutal headache. Luckily I was smart enough to bring something with me to take. Now I'm just a bit dulled out, half-sleepy (my clock thinks it's 1 PM), and with a light buzz. I should probably take something again.

The Ugly

My talk is due at noon today. I still need to finish the last bit. I won't be able to rehearse it, so I'll just fly into it with my eyes closed.

It's great to be here :-)

Filed under: General — Thomas @ 12:41

12:41

Ogg/Vorbis

Someone from Vorbis who also hangs out in #gstreamer asked me if I could do RPM's for the 1.0 release. So I spent this weekend massaging the builds and trying to get good packages that are easy to install.

It's not entirely possible to get right. First of all, Vorbis used the naming scheme for release candidates that I dislike. Second, Red Hat used that name in the version, which I consider a mistake. The packages are named as follows: libvorbis-1.0rc3-1.*.rpm. This means that you cannot convince rpm that the new libvorbis-1.0-1.*.rpm RPMS are newer, unless you use the dirtiest trick in the rpm book : Epochs. And Ximian followed their example (it probably wasn't easy anyway to do it differently).

So if you use Epochs, your specs are always forced to use them, since any package with an Epoch is considered newer than one without.

So now they upgrade from the previous ones. But - there are RPM's out there that specifically state they require libvorbis >= 1.0rc3, which is an even bigger problem. At GStreamer we made the same mistake, and xmms from Ximian also depends on it this way. The thing is that rpm at that point doesn't know that libvorbis-1.0 has an Epoch: that is bigger than the libvorbis-1.0rc3 one in the case where that second one isn't installed.

So then you pull some dirty tricks (that are supposed to work, and seemed to, for me), to make rpm believe that this new RPM actually provides libvorbis = 1.0rc3, and the same for the betas.

Then I ran into the kicker problem - since libvorbisfile and libvorbisenc had their CURRENT lib version increased, but libvorbis hasn't, my Ximian xmms package complains about libvorbisfile.so.0 being needed when I want to upgrade. There's no easy way around this at all.

The packages could have been parallel-installable, if libvorbis.so had also had a CURRENT version increase, but it hasn't. So installing both packages will have conflicts.

So I'm currently wondering about asking the vorbis guys to also increase the CURRENT version, or putting vorbisfile and vorbisenc in a separate package. For that I had better ask what the debian maintainer is doing.

Luckily, the 1.0 release has been delayed a little due to last-minute spec additions. That's a good thing - the 1.0 release will come with full specs !

So, hat off to the excellent Ogg Vorbis developers, especially to Monty !

Boston

I still can't believe this is actually for real. I'm going to Boston tomorrow !The Gnome guys wanted some people from GStreamer at the Boston Summit. Originally, Nat Friedman asked for Erik, since it's his project. Erik can't make it, so he recommended me. And now Ximian is flying me over to do a presentation on developing with GStreamer, and a workshop on building a Gnome Media Player.

I'm not entirely sure I'm the right man for the job, and it's such short notice that I'm not sure if I'll be able to get the presentation done properly, but I'll sure give it my best. It's exciting, since I haven't been to the US before. And I sure want to see MIT and Ximian.

It was hell getting it all arranged - confirmation from Nat, getting airplane tickets (The funny thing is that Belgium has a new private airliner, which flies only to NY, Boston and LA, and the flights are pretty cheap at 280 EURO round-trip, but the kicker is they don't fly on Wednesday, which is when I'm going), getting my international passport arranged (I should be able to collect it tomorrow morning, if not then I can't leave), arranging work stuff, and so on.

But everything is set, and the only possible problem is my passport. Hope it works out ;)

gst-editor

wingo has done some very nice work on the editor. It's actually usable again and I'm considering shoehorning it into the talk. You can now save and load pipelines, connect and disconnect, and stuff just plays. Really sweet.

Wingo is also coming to the Gnome summit, so I get to meet him for real. I'm also going to see dobey, meet lots of other Ximian people I've heard about, and see some people again from Guadec, like jdub (with pants), and Luis, the bugmeister.

Ellen

Happy birthday to my girlfriend. I hope she likes the presents I got her, since I liked hers for my birthday.

Filed under: General — Thomas @ 12:40

12:40

uptime

apeiro: you stop being an uptime whore the moment you realize that due to a variable in the kernel source code your uptime spills over around 497 days. I've had this happen to two of my boxes, and they now list a pitiful 70 days, even though it's supposed to be more than 560.

GStreamer

The GStreamer Media Player is out. It is very alpha code. People complain about this all the time but they don't realize that for now, the player is just a test bed for core features. This is for us far more important than putting out a stable, feature-complete player. People not yet realize that GStreamer is not just a player, but aiming to be a very complete multimedia back-end.

In any case, the player works very nicely, and it is fantastic that these days I can just turn to any Red Hat computer and type

apt-get install gstreamer-universe

and a few minutes later try out the player and see it play avi files. Rock !

Now all together :

It wasn't like this
on my old eighty eighty-six

On the downside, Michael Meeks uncovered a build/link bug which is only a problem when you configure the player with a different prefix than the one for the core. We don't do that much, of course, but this is what we want app developers to do. So this is a bug nonetheless. It will require some rethinking of our linking stuff.

Boston

I've been asked if I saw the possibility of "spearheading a multimedia workshop" at the Gnome summit. Blimey ! Well, I guess I could, but that's an overly broad term, so I asked them if they could clarify a little ;)

bitches

Uraeus laughed because someone commented on the GStreamer release notes saying bitches is an immature name for a software project. Now I'm thinking about changing it again. I should grow some hair on my teeth and learn to bark.

Music

Seems the original demo tape (the pink tape) the Pixies sent in as a demo (and from which 8 songs made it onto Come On Pilgrim) got released on CD. I have to hear that one.

Pants

Pants travelled all over the world and finally arrived !

Filed under: General — Thomas @ 12:39

12:39

automake

tromey, I think the number one reason why people think automake sucks is because they don't spend the time necessary to learn it a little. It's not an end use program, it's a tool to do programming, so everyone just wants to get it out of the way as quick as possible.

Having spent quite some time learning it a little to work well for GStreamer, I must say that automake is a very powerful tool and has in the end saved us all a lot of work and time. I happily use it in all my programs now, and once you've built up some residual knowledge and learn to copy templates well from the other projects, it's really handy.

It's not always easy sorting out the whole libtool, autoconf and automake mess, but given where it's coming from and the number of architectures it has to work on, it's amazing that it works so well.

As for a re-write, that might be a good idea. I think it really has come to the point where you can only do incremental bug fixes to the toolset. If you want to resolve bigger issues with automake, which you just mentioned, then a rewrite might be in order. The problem you'll face is that practically no one will help you. Everyone is quick to say automake sucks, but they'll probably not help because it's just too damn hard and not sexy enough to their opinion.

So since I never let you know before how much I like automake (and the other tools), here it is : thank you !.

GStreamer

Yay, managed to push the final release out the door ! Come and get GStreamer 0.4.0 : Desperately Seeking Sexiness. Please give us bug reports and feature requests, we are looking for interested app developers ! Also, the Red Hat apt-rpm has been updated, so check that out as well.

One thing I hated is something other people doing releases on fairly big projects might have encountered as well : the importance of a code freeze and good testing before the release. I have started becoming pretty anal about release stuff and quality. There's lots of stuff out there I've started disliking :

  • packages with letters in their versions (0.9b ?) : seriously, what does the letter give you that the numbers don't ?
  • packages doing prereleases by adding pre or rc to the version (1.0pre1 ?) : this is so hard on lots of package management systems and package scripts, it's really not funny to be on the receiving end
  • packages not unpacking in a dir with the same name as the tarball. Even worse when they just unpack in the current dir and you spend too much time cleaning that src dir out again because you're too lazy to figure out how to get tar to print you a list of contents to pipe through xargs and rm.
  • packages with just plain weird versioning or not doing proper releases at all. avifile is my number one pet peeve in this department. They stopped doing real releases a long time ago, they only do snapshots anymore. Every package using avifile ends up requiring either a specific CVS snapshot or including all of the code again. It's incredible. Never mind the fact that even with this snapshotting versioning number they still use ordinary versioning as well. The current "release" is avifile-0.7.9-20020704.tgz and unpacks in a dir called avifile0.7-0.7.9. It used to be even worse by the way. I mailed their list about it and apparently it was the debian packager who requested the tarball to unpack like that.

On the other hand, I realize full well that this is open source, and that it's not always easy to do this sort of stuff well. Plus, I have become too anal about it. But still, I want to help improve stuff. So if anyone wants to discuss this sort of stuff or have some help in improving their projects, feel free to ask.

But on software freeze before a release : I tend to do a few pre-releases of GStreamer before the final release, testing out various stuff, adding last-minute bug fixes, checking if docs are there, and so on. Today the same person that did so the last time around started adding stuff to the release branch right after I had done the final of three pre-releases. So I spent a lot of time tweaking those prereleases and getting them out there and tested, and all of a sudden someone starts putting code fixes in CVS and stuff for things they consider important but didn't get round to doing long before the release cycle. That makes me so mad, because a last-minute fix can easily break a whole lot of stuff. I see lots of projects around who have to put out immediate follow-up releases because something is missing from the dist or something doesn't compile properly...

So how do other projects deal with that ? What's a good policy during release preparation ?

Apparently some people of Gnome and/or Ximian would like someone of the GStreamer crowd to be at the Boston Gnome summit. wingo is going to go. They're also considering paying <person>omega</person's plane ticket, but he can't make it, so he suggested I should go. It'd be weird but nice to go to Boston. It probably won't happen, but it's fun daydreaming about it ;) I'd have to get time off from work at a busy point and Ximian would have to agree to it. But who knows ?

Free Software

I spent some time on IRC in various channels lately trying to answer questions other people have. Or at least, when I ask a question, hang around long enough to answer three questions of other people.It's all about fighting entropy. I've had good and bad experiences altogether. There was this guy jumping into #redhat, asking how to build an rpm from a .src.rpm. He asked the question, and not one minute later he said something like "pah, #redhat and nobody knows how to build an rpm" and left. Dude, have some patience !

So I dialogued him, and started by calling him rude and giving him the answer at the same time. He ended up discussing it a little and asking me why I thought I was rude, until he apologized. That actually felt good.

On the other hand, there are very thankful people as well. Someone in #gnome-help provided a link to two screenshots, one with an ugly gnome2 and a pretty gnome2, and he said his looked like the ugly one and he wanted it to look like the pretty one. So I spent some time explaining to him what I had changed until he was happy with it. And then I asked him to promise me one thing : to hang around the channel long enough to answer the same question for three other people. And he agreed. And then said thank you. Sometimes it warms the heart to be involved in open source. If you work at Microsoft, does the money in the bank warm the heart enough to not mind not being thanked once in a while by random strangers ?

Teeth

Went to the dentist again today. I hate dentists. I mean, they're ok, but I hate going to them. I got three teeth filled in a row today. And every dentist I ever went to says it's easier to tranquillize an elephant than me. Today I got eight separate needle injections.

And I have a few more visits to work through...

Pants

Am starting to fear no one will be on receiving end of pants.

Filed under: General — Thomas @ 12:38

12:38

GStreamer

Exciting stuff going on. The prereleases seem of pretty good quality. I urge all of you interested to try them out and give us some feedback before we do the final release.

For bug reports, you can go to Gnome's Bugzilla or drop by on #gstreamer on irc.openprojects.net and tell us directly.

You can get source pre-releases at http://gstreamer.net/releases/0.4.0/src/.

If you're on Red Hat 7.2 or 7.3, and run Ximian or Gnomehide GNOME2, then please also take a look at our Red Hat apt repository. Setting up apt only takes a short time, and I'd appreciate it if you would try and run

apt-get install gstreamer-universe

and let me know if it works at all for you. And if you have a conflict with gstreamer-plugin-libs, remove that rpm first before doing the install.

Red Carpet

Looks like we finally got in touch with the right person at Ximian. He set up a simple cron job and did some more work, and I'm now testing the private Red Carpet channel. Stuff seems to work well, and after some tests we should be able to make it public and have people enjoy it.

Boston

jdub asked me if someone from GStreamer is going to be at the Gnome Summit in Boston. I didn't even know it was an open summit. I'm not sure he was serious about it, but we started discussing it in #gstreamer. Maybe someone of us should go, but it's pretty short notice and I don't know if anyone will be able to make the arrangements. And it would probably need some planning as well.

« Previous PageNext Page »
picture