15 December 2002

Haven’t posed here for a while …


Put out a few releases of PyORBit. Seems to work quite well, although it still needs some more work. CVS gnome-python is already using it, but I haven’t put out any tarballs yet (which I should do — it has been too long since the last releases).


I started working on another small GNOME package a few weeks ago: a set of tools to help manage fonts on fontconfig based GNOME systems (such as GNOME 2.1.x and Red Hat 8.0). Here are a few screenshots of what it can do:

The thumbnailing only works if you have Nautilus 2.1, but the rest works on vanila RH8. What the screenshots don’t show is that the fonts:/// folder can also be used to install fonts via drag and drop (it puts the files in ~/.fonts, which is in the default fontconfig search path).

Even though I have only been hacking on it for a while, fontilus has already become fairly popular. There are packages in Mandrake Cooker, RH Rawhide and Debian Unstable.

21 October 2002

Jury Duty (almost)

Thursday, 17 October

I received a letter, dated 16 October, saying that I have jury duty in 5 days (Tuesday). Rather than being held at the closer Perth District Court, it is to be held out at Fremantle 🙁 The Weird thing is that it says that I should notify them at least 5 days before hand if I should be excluded.

I spent the weekend wondering about what it will be like, and wondering why it was scheduled at such short notice.

Monday, 21 October

I received an overnight envelope saying that the Court case out at Fremantle has been rescheduled to be held in the Perth Court, so I am no longer required. This letter was dated 17 October.

I am a bit pissed off about this. I don’t mind getting called for jury duty, but I would expect slightly more notice. If it was going to be cancelled, I would also prefer to hear about it earlier than the night before hand.


The client side of PyORBit should be pretty usable now. Marshalling and demarshalling of pretty much all types is working well. I ported most of test/everything/client.c to Python using PyORBit, which helped test the a lot of the code.

I support pretty much all of the complex types pretty well (structures, unions, sequences, arrays, exceptions, anys).

I fixed the weird typelib bug (bug 94513), and checked the fix into both HEAD and gnome-2-0 branches of ORBit2 (haven’t had a release yet though). I need to look at porting the fix for bug 93928 back to the gnome-2-0 branch. I ran into some other bugs while working on the union support: bug 95581 and bug 95591. Hopefully I can get both of these resolved and a new ORBit2-2.4.x release put out.

As the client side of things is mostly working, I am tossing up on whether to port gnome-python over to using it. I should probably wait for a tarball release of ORBit2 though …

4 October 2002


Registrations are now open!


Fixed up handling of return values for all types. Now I need to look at the handling of arguments. The semantics of ORBit_small_invoke_stub are non trivial. Also fixed a bug in the marshalling of sequences to python types.

Tracked down and fixed one of the typelib bugs. Turned out to be a subtle bug in the IDL compiler.

30 September 2002


Started working on a new binding for ORBit2 about a week ago. The existing orbit-python port to ORBit2 is a little crufty, and doesn’t take advantage of the new features in ORBit2. So far things have looked fairly promising, but I have turned up a number of ORBit2 bugs related to the use of typelibs. Some of them are pretty weird (such as bug 93928 and bug 94513), while others indicate defficiencies in the current typelib implementation itself (bug 93725). I don’t know if I will be able to get it to a usable state when compiled with ORBit2 2.4.x, so I might have to wait til GNOME 2.2 before using these in the GNOME Python bindings.

Other than the bugs, I have a mostly working client side binding that generates stubs at runtime from typelibs, and have a little code for the server side. I am looking at doing a custom object adaptor at the moment, rather than getting it to work with the POA (it won’t prevent using POA in the future). The API would probably be as simple as “objref = create_servant(repo_id, instance)“, which would create and activate a new servant that delegated all method calls to instance (which could be of any class — the only constraint being that it implement the required methods), and returned an object reference. This should be enough for most cases.

Weird Bug Reports

Some people send in very weird bug reports. This morning, I received bug 94576 which seems to have nothing to do with the package it was filed against, has a stack trace from some weird custom app (I guess), and talks about Anna Kournikova a bit. I don’t know why people send in bug reports that are obviously useless — it is a waste of their time and mine.