Recent blog entries for rbultje

LUG-radio live
This must be one of the best ideas I've seen in the past few years (and thus deserves a mention). Nothing fancy, just beer. I'm imagining this huge lawn with ice cream bars (where sweet girls serve beer; don't ask) and nice music, I must suffer from Woodstock-fever or so. Who of the Dutch Gnomeys wants to join me? If there's enough, I'll go!

Poor Uraeus; he gets a mention on slashdot, but they misspelled his name:

"The day long event includes speakers such as Ian Bell (co-creator of Elite), Simon Willison, Bill Thompson, Christan Schaller and more."
Using 32-bit binaries in 64-bit mode on x86-64
So, I get that question a lot lately: can I use PitfDLL in 64-bit mode on my AMD-64?

The simplest answer I can give is: I don't know. I'm not at all into this 64-bit thing and don't want to worry about it too much. I'm sure there's interested 64-bit hackers that can correct me on all wrong assumptions I'm making below and who are willing to code it, too. But that said, it's probably possible.

  • As far as I'm aware, an app runs either in 64-bit mode or in 32-bit mode. An app can never run partly in 64-bit mode or in 32-bit mode.
  • Therefore, the 32-bit wine-loaded binary DLL files would need to run in a separate binary, probably pipe-driven or so, and this binary would need to be called as a helper binary from the otherwise 64-bit GStreamer plugin/player. Shared mem may make speed acceptable already.
That said, I cannot code this, I don't have 64-bit hardware.

Totem playing
I wrote a new volume widget for Totem, which takes less space than the current one and looks more like other similar volume widgets on the GNOME desktop (i.e. a button with a volume icon on it rather than a largish slider). Nothing new here, you'd say. Well, the nice detail is that you still have press-and-drag behaviour, i.e. you can click the volume button and the popped-up slider will directly have grip/focus. Other apps, such as Rhythmbox, may be interested in trying this as well.

3 May 2005 (updated 3 May 2005 at 21:05 UTC) »
Southpark hype
Most hypes suck. This one is cool. This is me. And this is me interpreted by a friend of mine. Or something... :-).

GStreamer's fun
So, Thomas and Benjamin touched upon some of the difficulties in getting GStreamer 0.9 rolling. This is a difficult topic, not in the least because on the one hand, I'm indefinitely thankful to Fluendo for paying me so I can work on GNOME all the time, but on the other hand, I have seen some issues in this process so far, too. It doesn't make the topic any easier, though.

The truth is, we indeed face issues.

  • Wim did all the design way before our February meeting in Barcelona. Actually, most of the design was done by then. Most criticism on it was discarded as "you don't have something better". That is painful, and possibly unfair in hindsight, especially to people who had really good ideas back then.
  • Seriously, the two meetings were very different. The one two years ago was in a very relaxed atmosphere, and I don't think we ever did more work in a single week than back then. The thing is, we had tens of things to work on and thus everybody got to do something useful and it was all put together in the end. The environment, location, wheather, everything was perfect. The meeting in February just wasn't perfect. There was some measurable tension already, we were in an office (which just isn't the same), and most of the week was discussion rather than coding. And discussion wasn't "how do we get this perfect", but a lot of defense for this plan vs. that. It's just not the same.
  • We were very focussed on deciding on a design within only four days. With this environment and pressure, it just didn't feel all right.
Right now, though, it appears that most of the design is very flaky and subject to change. That's both crap (because we agreed on working stuff already, or at least supposedly) but also good (because now we get to improve it). I try to make the best of it, giving feedback on proposals and the like.

Some parts of the process annoy me, though. Some are because of earthwaves and cannot be blamed on anyone, and most aren't even targetting specific persons or companies. However, they are very tough issues that I don't like talking about, but they are feelings nevertheless, and have to be said:

  • For the past half-year, I've been the sole and only developer spending considerable time on GStreamer 0.8. I dare say that more than 50% of all work is mine, and possibly up to 2/3rd or even 3/4th of all commits are mine. That is seriously a lot. I feel really happy that applications such as Totem are working out so well, and am happy to be given this option. But I'd love for others to help me a bit more. It really feels lonely. I have little to no time to comment on 0.9 stuff, because 0.8 sometimes takes full days to keep up with. Some fixes are yet unreleased, and some features still unimplemented. Totem is getting there, but is not there yet.
  • Having said that, even though I spend considerable attention on getting Totem user-ready and am, as arrogant as that may sound, fairly succesful at that so far, my opinions on 0.9 design as far as I have time to comment on it are pretty much discarded. Annoyingly, not by the developers, but by non-developers. Wim takes considerable time to take notice of my comments and adapt design to it. I regularly get doubt-founded comments on design proposals of mine from others, however. Seriously, if I were stupid, GNOME 2.10 would be media-player-less. It'd be nice if we didn't endlessly try to discuss, proove and FUDify and otherwise make development boring and even downright annoying. I don't give shit about the 1% of finetuning if we're currently 90% wrong and I can make it 90% right. I won't even consider suggesting 10% improvements if I spend 90% of my time on explaining and defending them. I have a life, I prefer to spend it otherwise, and I will spend it otherwise. Screw the design. Scheduling indeed needs design, but that doesn't mean everything does. Most stuff gets there by mere, mortal coding. Design is currently heavily overrated in the GStreamer camp. This makes stuff boring.
  • Also, I regularly get no comments at all. I mostly get told that the SMTP of Wim is broken then, but god... This seriously sucks. If Wim is the only one able to give any useful comments on my emails which do not only consist of questions and downright false statements, then we're in some serious trouble.
  • GStreamer suffers from the same communication problems as GNOME itself does. Mailinglists are hopelessly failing, with discussions usually endlessly moaning about unimportant points, where the main issue is disregarded and ignored. IRC works, somewhat, but lacks archives and requires better timing coordinations, which is hard in a free software hacker community where not all of us live in the same timezone or work on this fulltime. Yarrr may fix it, but is unfinished, leaving us with a black hole right now. I'd rather fix this yesterday than today. Until then, we need to learn to stop moaning about details; they're irrelevant. Until then, we need to learn to focus on the main point we're discussing.
Christian and Thomas asked for more comments on and help with Wim's work. I'd love to, and I would do so even more than I do now, if only it was fun. Keep it fun for me. Stop talking, just let me (us) do it.

That said, GStreamer is still a lot of fun, even if only because of the many thankful emails I get from users telling me (or Bastien) how happy they are with Totem and its continuously improving media support. Thank you, you make my day. As always, the next version will blow your eyes out with support for ALAC (via gst-ffmpeg), QDM2/WMV9 (via PitfDLL) and a lot more.

Discussionless work
GNOME-media is slowly but steadily advancing without endless discussions. Right now, we're down to 60 bugs alltogether, or 20 if I omit gnome-cd (which I still plan to ditch at some point in the near future) and all enhancements (which aren't bugs). Explicit thanks for this goes to Nirmal and Madhan, who did some excellent work on this while doing their internships, although many other contributors also deserve thanks. Like in the previous cycles, I'm positively confident that GNOME 2.12 will feature a more enjoyable user experience than 2.10, which was pretty good already.

Totem, too, is getting nicer and nicer. While GStreamer is slowly finishing complete DVD playback support (including language support (finished), DVD subtitles (half-finished, patches in bugzilla) and menus (in progress), Totem itself is getting more and more finetuning, too. This flower has some serious power.

Dutch referendum for the European constitution
In response to the new hype on Planet GNOME-NL, I'll also give my opinion on the proposed European constitution, for which several countries will be having (or already had) a referendum in the next few weeks.
The European union is now commonly referred to as Europe, which is a great thing for our common identity. After two world wars, this collection of individual countries is now able to work together at strengtening their own and each others' economy, and thereby increasing common wealth of every single person in this continent. To add up to this, "we" (the shared identity of all European citizens) are all able to freely travel between countries without requiring additional papers or visa fees, or even requiring currency exchange (OK, so the introduction of the euro also lead to price increases, but I don't think you can blame the euro for that an sich; rather, the situation was abused by industry). So far so good.
Recently, however, this liberal giant was degraded to a social development platform by allowing new countries to enter the union without meeting the previously set requirements, instead of helping those countries to develop without already giving them membership. Instead of them being a featureful addition to the union, they were accepted for the mere reason that it was good for themselves. Imagine this in the meritocratic world of free software development. Would Red Hat package Blackbox on the Hurd and sell that because it's good for the GNU? Of course not. They sell GNOME on Linux because that's good for them; the relevant communities benefit from the newly added development power, leading to mutual benefit and happiness for both.
We don't need the European union for social benefits; the individual member countries are more than capable of doing this on their own. They've always done it like this and should always do it like this. The purpose of the European union is to add something up to that, so that all members benefit from it.
The constitution will generalize international relations by having a common minister of foreign affairs, a single leader of the commission (the president), all things that I don't think the European union was originally set up for, and that I don't think it's fit for. Also, it will lead to continuation of the developments that lead to the acceptance of countries into the union that should, as far as I'm concerned, have had more time to fit well with the rest of the European union.
I am in favour of Europe, I'm in favour of liberal economies, I'm in favour of free travel, shared currency, shared identity and all that; but currently, I see little reason to vote in favour of the constitution.
Pitfdll
Did a first release of Pitfdll. Let's hope it gets into the famous package repositories soon.
21 Apr 2005 (updated 21 Apr 2005 at 20:20 UTC) »
World changes faster
With a wink to my previous post, I can say that at the same location, you will now find a working DLL loader that works in threaded applications, and thus in Totem, too. This means, in effect, that we now support QDM2 and WMV9. Thanks to Mike Hearn for helping me fix the threading issues!

I also updated the ffmpeg snapshot, which means that current CVS of everything now supports ALAC (Apple lossless), too.

21 Apr 2005 (updated 21 Apr 2005 at 13:12 UTC) »
Changing minds
Alone in the dark, I present you Pitfdll, which is a GStreamer plugin for Win32 DLL loading. I guess I changed mind - I don't see a working free software WMV9/QDM2 decoder coming up anytime soon, no matter how close the ffmpeg people claim to be or how hard Fluendo is trying to release binary-only plugins. So we'll have to come up with something else for the time being. The plugin reads WMV9, IV50 and QDM2. More can be added by adding two lines of code defining the DLL and the format it supports in GStreamer notation.

The rushers will notice that it doesn't work in Totem, which is on purpose; Totem is heavily threaded, and threading breaks the DLL directly (see README). I'm unsure why, and would love to get some help from someone familiar with Wine or Xine (the DLL loading code is a direct cp -a from the Xine tree) code in this process (contact me on IRC in #gnome-hackers). Once that's fixed, I'll do a real release and add it to the repositories so people using Totem-GStreamer can finally enjoy those dreaded Apple.com trailers. :-).

Totem DVD & the like
Added some missing features (w.r.t. the Xine backend) in Totem/GStreamer today. One being manual aspect-ratio selection, partly with thanks to Laurens Buhler. The other being language codes, which I implemented in DVD playback. The result is that a media source with multiple audio tracks and language code support will now display proper language names in the audio/language menu. Same code is in place for subtitles yet, but then again, DVD subtitles don't work yet, so it's kinda pointless in a way. Jan (he's working on that) promised me he'd make it working within a few days now. Then menus, and we're done, GStreamer will finally have good DVD support.

As for the language code detection, I should implement it for mkv/ogm too, I guess.

Dutch Gnomeys
The people ate GNOME-NL have set up a private, unique and special Planet Gnome-NL which features your all-beloved GNOME hackers, but then only the special dutch flavour. Also, we're currently working on an article in a national news magazine, which looks promising. The best of all this is that we're doing cool stuff and are having fun at that. Yay!

Totem So lately, I've been doing stability and finetuning work for Totem. It's nice to see that it "just works" most of the time, I've wanted this kind of a media player for years. Looks good, works well and hey, it's GStreamer-based. Other people are also helping, such as Christoph Burghardt, who's working on a zoom feature using the GStreamer backend. I'm trying to get a friend into fixing the unimplemented aspect-ratio menu item, it's his first C code, so it'll require some guidance, but that's good. In other parts, the nautilus properties page, thumbnailer and mozilla plugin all also received a lot of finetuning love. All in all, I think I can be a bit proud of the whole thing - even though it is still mostly Bastien's work. ;-).

Totem Mozilla Embedding
Bastien already said that we had basic javascript functionality people working in the Totem-Mozilla plugin. Today, I finished the second part of the job: a two-way communication protocol. Should ideally use DBUS for that, but we're using something of ourselves right now.

The result of that is that the plugin and the child application (which is spawned on its own for security reasons) interact using some basic IPC command-set. This, in combination with the javascript-functionality, means that I can click images on a HTML page and the player will react as it should. The javascript-calls are compatible with Quicktime Player. Woohoo, finally a kick-ass mozilla media player. :-). Get your daily dose of Totem-CVS today!

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