Archive for December, 2007

Planetary Exploration

29th December 2007

If you’re reading this post at, the title of this post will display as “Planetary Exploration”. If you’re reading it at, the title of this post (and, indeed, every other post by me) will be “randomguy3”.

You may have noticed this with several other planetary bloggers, by and large people who use WordPress. But not everyone who uses WordPress has this issue – Wade Olson, for one, gets his post titles displayed on Planet KDE.

The common theme, as far as I can see, is avatars. If you have an avatar, a <media:content> tag is placed in each item of the feed linking to it, with a <media:title> subtag. The Planet appears to pick this up (the title for the avatar) and use it as the title for the feed item (ie: the post).

I can’t check this for sure, though, since WordPress won’t let you remove your avatar, only change it.

I suspect using /feed/atom as the feed url (rather than /feed) will fix the issue as well, since that doesn’t make any mention of the avatar.

Now Playing: MPRIS

29th December 2007

MPRIS is insane. MPRIS is well-thought out. MPRIS is a standard for querying and controlling any media player without having to know the details of each player’s remote interface. MPRIS is now supported by the Now Playing data engine.

All of the above statements are true, to varying degrees.

It’s insane because it uses the same interface name (org.freedesktop.MediaPlayer) for three different interfaces (one for each of the objects /, /Player and /TrackList). This causes havoc with Qt’s D-Bus interface compiler. Luckily, just about everything I need is exported by the /Player part of the interface. Unfortunately, the only way to get the current track number out of Audacious is using the /TrackList object.

It’s well-thought out in most other respects. It has signals for information changes (something missing in Juk’s D-Bus interface). It is generally adaptable to the capabilities of most media players, without going overboard. It has a sane system of informing clients about the capabilities of the player’s interface (such as whether you can skip to the next track, for example), even if Audacious isn’t entirely honest about what is possible.

It’s a universal standard that allows clients to be player-agnostic. Or, at least, that’s the idea. Currently, I can only find one client supporting it: Audacious (although VLC 0.9.0 should include MPRIS support). And Audacious diverges from the standard in a couple of respects, most noticeably in the metadata returned for a track. It doesn’t include the tracknumber (which is optional, but it would be nice if it returned it when it made sense). It uses “length” for the length of the track in seconds, rather than “time”. And, outside the metadata, it claims every action is possible, even when it isn’t, such as stopping when nothing is playing.

The Now Playing applet support MPRIS players. Or, at least, it supports Audacious, which is the only one I’ve tested it with. And it doesn’t give a track number even then. But hey, it’s better than nothing, right? And other players should work “out of the box”, providing they don’t need any hacks like Audacious’ length/time metadata issue.

So: Juk and MPRIS players are supported. Next, I think I’ll steal XMMS support from the Kopete Now Listening plugin.

Incidentally, the player-querying code in the Now Playing engine should be general enough to use with other projects that need to get this information. One possible future change is to make them plugins that can be loaded by anyone who wants them.

PS: Is it me, or are there loads of media players that all seem exactly the same (WinAMP, Audacious, XMMS, Beep)?

What’re you listening to?

17th December 2007

At the moment, I can only start most KDE3 applications by clearing the environment of KDE4 things (basically by su’ing to myself) and running them from there.  Which means session management doesn’t work.  I got fed up with doing this with Amarok, so I’ve started using Juk as a stand-in until Amarok 2 is usable.

Now, I miss kirocker, which provided my KDE3 desktop with information about what music was playing in Amarok.  But, Plasma to the rescue!  In a reasonably short amount of time, I had a nowplaying data engine that queried Juk for what was currently being played.  It should be easily extensible to work with other players, but Juk is what I’m using at the moment.

I also hacked together a rough-and-ready applet that displays some of the information:

The Now Playing Applet

The engine should probably get some ability to execute commands like “play”, “pause”, “stop”, “next” and “previous”.  Publishing the volume might be a good idea, too.

The applet needs a lot of work.  In theory, the engine can pass album artwork, although Juk doesn’t publish it.  And there’s a lot more information available than what it printed there.  And long titles result in very small text.  If you fancy hacking around with the applet and making it pretty, be my guest: it’s all in playground.


3rd December 2007

Given how my motivation went out the window when the interminable discussions about kdeprint happened (and it wasn’t even me or my work being attacked), I have great admiration for the people, like Aaron and the Oxygen team, who have carried on working despite being constantly attacked on the Planet and on the mailing lists for what is perceived as the sorry state of the desktop.

I can’t claim to have done huge amounts of work on Plasma, but I’ve done some and I keep up with what’s going on there, mainly.  On top of that, I’ve been running KDE 4 as my default session for a couple of weeks now, and I regularly rebuild everything.

I’m extremely impressed at the rate of improvement of the desktop.  Every time I svn up and recompile, some bug is fixed or some feature starts working correctly, or some new feature appears.  I’m becoming more and more comfortable with KDE 4 as my desktop.

Just in the last week, Jason Stubbs fixed the system tray.  Aaron posted that he’d fixed the Plasma crash on logout (I, meanwhile, couldn’t even figure out how to get a backtrace, since “killall plasma” doesn’t create the crash and logging out means Dr Konqi disappears before it loads the backtrace).  The Solid Device Notifier started working properly.

All these little improvements add up.  And the remaining major issues are being worked on as I write – in particular, the taskbar (which is functional, but not brilliant), panel placement and panel autohiding.

I can’t wait for the release!

PS: I also love the composite effects in KWin.  It’s really annoying that turning it on with my computer (ATI X300, free drivers) causes artifacts to appear that make using it really irritating.  When I get the chance, I’ll check with Compiz to see where the bug lies.


3rd December 2007

I have a reasonably old laptop – an IBM ThinkPad something-or-other. It has a Pentium III processor (just under a gigahertz) and 128Mb of RAM. Basically, it functions as a combined plaything and backup computer. In its capacity as plaything, I install distros and operating systems I want to try out on it – since it has no interesting data on it, I can do this without worrying about data loss.

My latest experiment has been openSUSE. And, I have to say, it’s been a very good experience. I don’t have a lot of experience with graphical installers (my distro of preference is Arch Linux, which is quite bare-bones), but openSUSE outstrips any that I have used to date.

Everything Just Works (TM), or near enough. I had to do some manual intervention here and there, but mainly because of my personal fussiness or, in the case of partitions, because I was starting from an unusual set up that I wanted to scrap. The installer detected everything, and told me exactly what it was going to do (but without using too much technical jargon, which is the sort of thing likely to put off new users).

I haven’t actually used it much, but so far I am very impressed. It’s not replacing Arch Linux on my desktop any time soon, but if I ever wean my mother off Cool Edit and on to Audacity (hence breaking her last tie to MS Windows), then openSUSE is definitely a contender for the distro for her machine. And it’s staying as the distro on the laptop, which sits at home for my parents to use, should they need it, while I’m at university.