Skip to content

poochin it at the big n

21 May 2005

» Beagle

Exciting month of Beagle progress! We have a new Wiki which unifies the main page hosted at gnome.org and the old wiki. The flow of the site is greatly improved, so it should be a lot easier for people out there to figure out how to get the dog running on their Linux distro.

The biggest development is that Jon and I have been working to remove the D-BUS dependency from Beagle. And it makes me happy because it absolves me from needing to maintain a branch of D-BUS that has to stay API compatible for distributions which ship HAL. (Because an either-or choice between Beagle and HAL is simply unacceptable.)

Unfortunately, people seem to take news of this badly. It’s not a value judgement on D-BUS as a piece of software, and it’s not a reinvention of the wheel. I myself have contributed to both D-BUS and apps which use it (HAL, mainly) and I think it is absolutely perfect for most uses on the desktop and elsewhere. But as Havoc himself has said many times, there’s no such thing as the perfect IPC solution. When Beagle first started and the nature of the IPC was pretty simple, straightforward method calls D-BUS made a lot of sense. But with the changes we’ve made over time to the Beagle infrastructure — mainly moving the indexing out into a separate process — we ended doing some pretty evil, disgusting hacks with it.

So what we’ve done is write a very simple message passing system for our needs. People have taken to calling it “JoeBus,” which is a cute name, but I take exception to it because it implies that it’s some sort of greater D-BUS replacement, which it’s not. D-BUS is a very sophisticated piece of software, with a centralized message bus, a type system, service enumeration and discovery, and activation. It’s 83,000 lines of C. “JoeBus” is 916 lines of C# and just reads and writes data on a known Unix domain socket. It’s private IPC and it’s not going to get any bigger. It’s like the difference between CORBA and netcat.

Anyway, we had been doing this work on a branch of a few weeks and last week we landed the branch on HEAD. Paired with Mono 1.1.7 the performance of Beagle has improved greatly. We wanted to do a 0.0.10 release this past week but we’ve been trying to track down a very suspicious hang in Mono since the 1.1.7 release. We haven’t gotten enough info to the Mono developers yet. With more distros shipping 1.1.7 we want to get this squashed before we feel comfortable doing the release. Things work fine with 1.1.4 and 1.1.6, however, and the worst case is that you have to restart your daemon, so if you’re the adventurous CVS-building type, check it out.

Meanwhile, a bunch of our other contributors have been doing great stuff. Robert continues his excellent work on inotify. Daniel Drake has been a machine, cleaning up the launcher backend, adding KDE launchers, and adding nice tooltips on mouseovers in Best. Noam Rathaus has written code to parse Maildirs. And lets not forget the many people have been contributing to fleshing out and improving the new Wiki. Thanks guys!

I covered this and other stuff in my State of the Pooch email (and the followup, because I am an idiot).

» GNOME 2.12

One thing I’d love to see added to GNOME 2.12 is the equivalent of KDE’s Autostart. Basically, you drop a .desktop file into ~/.kde/Autostart (or something like that) and these programs start automatically with your session and are terminated when the session ends. We need something like this in GNOME. We can all agree that session management is broken in GNOME, but gnome-session isn’t going anywhere for a while. Starting things like gnome-settings-daemon and esd are hardcoded in gnome-session now. For SUSE Linux 9.3 we had to patch gnome-session and hardcode launching of things like netapplet, resapplet, and beagle… these are things which aren’t session managed (and in the case of the beagle daemon, isn’t even a GUI app). It’s a little sad that it’s easier to autostart these GNOMEy apps in KDE than it is in GNOME. Unfortunately I won’t be at GUADEC, so I implore you Planet GNOME hackers to whip something up at a hackfest there!

» Time Travel

A couple of weeks ago I went to the time traveller convention.

[A photo by Joe Shaw]

no one showed up

I’d prefer to think of this as our failure to get the message of the convention out to the future, rather than empirical proof that time travel is impossible. Either that or our parties probably look pretty lame to future dwellers. I mean, look at the clothes you’re wearing! Neanderthal.

2 Trackbacks/Pingbacks

  1. Have a peek... on 22 May 2005 at 9:18 am

    Gnome and Autostart

    Joe Shaw writes about adding something like KDE’s Autostart to Gnome and there I read too, why it was such a pain of stopping netapplet, and resapplet (and I suppose suseplugger and susewatcher too)…

  2. [...] Just added a Lightning Talk My Lightning Talk on Gnome Session should make Joe happy. At Red Hat we had been working with Gnome Session to see how we could improve it and work around th [...]