Older blog entries for edd (starting at number 74)

Long time without updates here, largely because my free software hacking has been sidelined by various bits of paying work. I hope that the Christmas holiday season will give me enough time to catch up on the free software front.

Between the months of December and July my life is much dominated by conferences. My preparation for XML Europe is now well underway (there's still time to submit an abstract, please do!) Now the call for participation for the O'Reilly Open Source Convention has started.

I've been involved with OSCON for about 4 years now, give or take a year of hiatus. One of the things I'd most like to see this year is a solid selection of talks on desktop Linux. I tried to get more talks in on this topic last year, but unfortunately some people had to pull out at the last minute and we missed presenting freedesktop.org and GNOME 2.0.

Nat Torkington, the programme chair, asked me what sort of talks I'd like to see on this topic, and I responded with this list. This was pretty much off the top of my head, but it gives an idea of what I want to see.

  • Deployer/Advocacy level
    • Architecture of the Sun Java Desktop
    • Migrating users from Windows to GNOME/KDE
    • Deploying OpenOffice.org to large networks
    • Why free software developers should use free desktops
    • Accessibility on the desktop (loads of great work going on here)
    • Why governments are choosing free desktop software (several large deployments that it might be possible to get case studies of)
  • Developer/User level
    • The freedesktop.org project
    • Top ten challenges for the Free Desktop
    • Innovate or imitate? Getting the best features into the FD
    • Desktop aspects of the Linux kernel (Robert Love just got hired by Novell/Ximian.)
    • Evolution 2.0
    • Making usable free software (story of Sun's usability work on GNOME)
    • Taming OpenOffice.org (story of how OOo is gradually being turned from a baroque monster into something that integrates well)
    • Managing my data: the future of the desktop (covering stuff like Dashboard and Storage.)
    • Going mobile: synchronisation, instant messaging, data portability
  • Programming (I only really know GNOME topics here, but you get the idea)
    • D-BUS: lightweight RPC for the desktop
    • Cairo: cross device vector graphics (very cool, similar to OS X's rendering model)
    • libegg: all the coolest new widgets for GTK
    • Python and GNOME (this stuff is just so cool)
    • Free graphical IDEs
    • Putting a pretty face on gnarly Linux/FreeBSD devices for the user (aka how to avoid making the user type /dev/ttyS0 or other somesuch into a config screen.)
    • GPE: shrinking the desktop onto handhelds
    • Eliminating latency on the desktop (Jim Gettys did an excellent presentation on this at GUADEC earlier this year, lots of cool stuff done by analysing X server traffic)

If you're involved in or around any of these areas and want to go to Portland, Oregon, next July and talk about them, then please submit a proposal. OSCON is always great fun.

I believe that free desktop software should be represented more strongly at OSCON. Last year I saw way too many OS X machines used by developers of free software, which seems most perverse. The only way to change this is to get more vocal. I'll be campaigning on a mailing list near you!

GNOME Bluetooth

Spent two days solid working on GNOME Bluetooth this week, great to get the hacking time. Have reimplemented the libraries extensively, excising the redundant and failure-prone Bonobo component, and adding in asynchronous device discovery and Python bindings.

All in all, things are heading in the right direction to give GNOME users a decent set of Bluetooth tools. Hopefully I'll be able to get a point release out soon, as a lot has changed.

Busy, busy. Just completed a slew of work on updating my strategy for XML.com. Actually got quite excited by stuff that's going on, but it's clear that the action has shifted away from the more traditional standards track of development we're using to following with XML. XQuery's just about the last core XML spec from the W3C that's likely to have an impact.

Been keeping my Debian maintaining work going on as usual. Trying to write more on my blog, but my scheme of regular writing fell flat when a friend came to stay and I spent my spare time having a real life.

My submission on Dashboard has been accepted for the O'Reilly Emerging Technologies conference next year, and I intend to pick up on some recent patches and work done on Dashboard. I also have a stock of airport codes ready to add into my location-sensitive Dashboard plugin.

Also on the level of things I need to get round to doing, I'll be showing off foafbot at the XML 2003 conference this year, so it needs updating and reviving.

Finally checked gnome-bluetooth into GNOME CVS. hadess has started to do some much needed clean-ups on the code. The consensus seems to be that using Bonobo is pretty pointless, and that the bonobo-centered bits of the code should die in favour of a normal GObject. The rationale for using Bonobo in the first place was that it might make interfacing to other languages easier, but it seems there is more will to generate a handful of language bindings for the GObject than to use Bonobo.

Unfortunately this means a little bit of code-rewriting. I have to say that writing GObjects in C isn't particularly pleasant either, but there we are. I think it's the right decision, although I feel a little guilty about it.

Finally got some more time for hacking on GNOME Bluetooth. Hopefully, fixed the service discovery so it works with Palm devices. Added a Nautilus context menu item "Send via Bluetooth..." and removed the crack-laden bluetooth:/// gnome-vfs hack. Got a few more tidyups and removal of lunatic bits to do, but I'm very near checking this lot into GNOME CVS -- finally!

There's a large amount of work needed to get it production-ready, but I hope that when it makes it into CVS then I might find some helpers who have the patience to write help files and make the dialogs conform to the HIG, etc, etc. Glade is a cool tool, but I always seem to fall foul of the way it decides where to put pixmaps, and end up hacking the Glade XML by hand. I need to fix that before checking into GNOME CVS.

Uploaded Epiphany 1.0 to Debian unstable.

Finally caught up with my Debian packaging work, including minor fixes for the BlueZ Bluetooth packages, and another new upstream release for the Epiphany web browser. Been able to close a few bugs, but also reminded of how annoying some Bluetooth hardware can be. As an early adopter I have a few less-than-reliable devices.

Expecting to take receipt of a new computer next week, with an Asus A7N8X Deluxe motherboard in it. Been spending some time researching exactly what's needed. Luckily, looks as though kernel 2.4.22 has the goodies I'll want in order to be able to install Linux right into a couple of SATA disks in RAID0 configuration. I found this page, which has a few hints on how to make a custom Debian net installation CD for newer kernels.

dajobe released Redland 0.9.13, complete with the revised Python API that mattb and I have put a lot of time into. Redland's getting to be a very classy piece of software, and should shortly be available in Debian unstable too.

Installed Linux (GNOME 2.2, Crossover Office) on my wife's PC while she was away on holiday, but don't have the guts to leave it booted into Linux for her to discover. There's only a couple of days before she needs to get back to work and she might be a little annoyed to have to learn a few new things. However, I will prevail, some day.

Distraction. My wife claims I'm too easily distracted, and maybe she has a point. One thing so easily leads to another when you're coding. Buoyed by interest in my GNOME Bluetooth stuff I decided that I needed to put more coding time in. I then decided that I should write new GUI-based stuff in Python in order to get further in less time. Then I found I needed the EggIconList widget from libegg, the experimental GTK widget library, and so had to find out how to wrap it for Python. Get the picture? Well, thanks to jamesh and ross I got there. Then, feeling the need to share the achievement, I wrote about it here and on my weblog.

Debian. I uploaded a new package of the Epiphany web browser and filed an ITP for the Epiphany extensions collection -- features such as gestures and zoom-level-persistence. There's also an accumulating amount of work to do for my BlueZ packages, which I hope to get round to soon. The announcement of the 'sarge' release plans are great news, and I hope to do what I can to help achieve the release.

Twisted. As part of developing FOAFbot, I've started using the Twisted network application framework for Python. The learning curve's quite steep, and there's lots of new nomenclature to get my head around, but it's looking very promising and I shan't be turning back. Very cool. Hanging around on the Twisted IRC channel is also pretty entertaining.

And now, to paying work...

Heavy duty sysadmin weekend. Moved my production web server over to Apache 2. All went well except for PHP4, which needed a little patching and to be compiled with the bundled pcre library, to avoid segfaults caused by some bug or other. I forgot what a bear it was to compile properly.

Also moved my mail server from exim3 to exim4. The main purpose of this was to get SMTP-time SpamAssassin going. Everything seems to be going well there. The Debian "conf.d" style of exim configuration makes a lot of sense once you get over the fear of its newness.

I've been using RT to track article lifetimes for XML.com. Overall I'm very happy. The big shame is that to get custom reports you really need to go right into coding, so I've got to set some time aside to investigate that.

In other news, I'm getting a little behind on my Debian packaging work, so I'll have to put some time aside for that this week.

jamesh, raph: thanks for getting those RSS fixes in so quickly!

23 Jul 2003 (updated 23 Jul 2003 at 11:34 UTC) »

Jolted by the work I've just been doing with RSS and Dashboard, I've been looking at the RSS provided by Advogato for my diary. The idea is I will link all the RSS files I generate from the <head> section of my blog using the <link rel="alternate" title="RSS" ... > mechanism, so that when browsing it with Dashboard enabled, I get not only my personal blog, but also my Advogato entries and O'Reilly weblog showing up too.

So, the Advogato RSS: it's a nice start, but there are one or two quirks.

The first is that the <title> element is missing. This is a mandatory element. Obviously Advo has no concept of title in diary elements so something like "Diary entry from edd on Mon, 16 Jun 2003" would do. But something is needed. Secondly, all the values of the <link> element are all the same, I suspect this is just a simple programming error.

(Being a purist, I have longer-term misgivings about cramming escaped HTML into the <description> field, but I am largely at war with common [ab]usage on that one.)

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