14 February 2002


Went to linux.conf.au
in Brisbane last week, which was a lot of fun. I went a few
days early to see what was going on at the debian mini
conference, and got roped into giving a small demonstration
of gnome 2.0 stuff at about 30 seconds notice. I am not
very good at doing presentations with no preparation 🙁

Met up with gman, who was at the
conference as part of his holiday over here. The talks were
very interesting. Sounds like Samba 3.0 will rock (does
win2k domain client RPCs), and it may not take long after
that to become a win2k PDC.

On the last day, among other things, I went to the
Portable.NET work in process talk. The guy giving it seemed
really bitter about Mono. He didn’t seem to be giving any
real reasons for it, but didn’t give any real reasons for it.

Looks like the next linux.conf.au is going to be in
Perth, so I hope everyone is going to turn up 🙂.
Part of what got us the conference was the video
some of the PLUG guys did. They showed the video at the end
of the conference, and it was very good.

Gnome 2.0

While at l.c.a, I put out another release of devel
libglade. This one just stripped out some of the unused
functions from the module API (which isn’t used by any
applications). I also went through and updated a lot of the
docs. The tutorial section has been updated a lot, and so
has the API reference section. I started filling out a
third section of the manual on the actual file format, but
that isn’t finished.

Gnome in the Past

While talking about the difference between the old gnome
window hints and the newer window manager spec
(collaborative effort with KDE and many window manager
authors). One thing that came up was the colour reactive
GUI crack in the old spec. I pulled up a few related links
from the bowels of time:

On one hand, the new API got in a lot quicker than it
would these days. On the other, it would have taken a lot
longer to get rid of this kind of crach these days
(deprecating it for the duration of a major release, etc).
Maybe I should resurrect GnomeLamp as a bonobo control
example for gnome-python 🙂

27 January 2002


Went to the Australia Day fireworks on Saturday night. I
cycled into the city to see them, which was worth it (didn’t
get stuck in a traffic jam — just had to dodge pedestrians
on the way home). The fireworks looked so much better in
the city (I went just a little past the narrows bridge).
There were fireworks being let off the tops of the buildings
in the city, off the narrows bridge, and off the barges in
the middle of the river. At one stage, some small
tough-ducks were driving past about 50 metres away and
letting off some smaller fireworks. One of the embers from
these smaller fireworks landed about 2 metres away from me!
(on the esky belonging to someone sitting nearby).


I have been looking at reviving an old Sony NEWS NWS-1580
workstation. This is from a line of 68030 based unix
workstations made by sony in the early 90’s. It had been
left off for about 5 years, so wouldn’t boot at all.
Apparently the problem was with the battery on the NVRAM
chip, so I will try and get a replacement for it (its an
MK48T02B-25 chip, which was also used in a number of Sun
boxes). While I had the system open, I decided to take a
few photos of its insides:


While searching for information, I ran accross the NetBSD/news68k
, which gave a button combo to press to boot a system
with a discharged NVRAM battery, or new NVRAM chip. Using
that combo, I was able to get the system to boot NEWS-OS 3.3
(a BSD-4.3 derivative).

Once the system is running nicely, I might look at
transfering the OS off the 180MB disk onto a spare 2GB SCSI
disk I have (provided I can find the installation tape). I
could probably fit two 3.5″ disks into the space the current
5.25″ disk takes up, which would mean I could put NetBSD on
it too. I can also fit in another 8MB of RAM, which should
be helpful (it takes standard 8 or 9 chip 30pin SIMMs). I
will also look for a AUI -> 10Base-T tranceiver, so I can
hook the machine up to the network (6 COMM ports can only
get you so far …).


On the PyGTK development side, we now have bonobo
bindings in CVS, using jdahlin‘s
orbit-python bindings for ORBit2. We now have support for
libbonobo, libbonoboui, bonobo-activation, nautilus views
and panel applets (most of this work is thanks to jdahlin).

I have also been looking at doing some automatic
signal/property documentation for GObject wrappers. Rather
than calculating all this documentation up front, I decided
to use the cool new descriptor support in Python 2.2. This
is essentially a generalisation of the rule that maps
functions in a class dictionary to methods on instances.
Rather than this being a special case in 2.2, functions
implement a tp_descr_get() function, which gets called
asking the function object to return itself in the context
of the instance. This generalisation has made it trivial
for support for static methods, class methods and properties
(objects with setter/getter functions) to be added to the
language. I used this for my automatic documentation hack.
I set __doc__ in the class dictionary to a special object,
which implements the tp_descr_get() slot. The
tp_descr_get() slot looks up the information when
instance.__doc__ or class.__doc__ is requested and returns

This worked great for the instance.__doc__ case, but
class.__doc__ was always returning None. On further
investigation, I found out that this was caused by the
type.__doc__ property descriptor (“type” is now a new style
class, rather than just a function for getting the type of
an object. It serves as the standard metaclass), which took
precedence. I have a patch for python now that gets rid of
the property and makes __doc__ on new style classes work
more like old style classes (and lets you have unicode doc
strings as well).

The upshoot of this is that typing help(‘gtk.Widget’)
lists all the signals and properties of gtk.Widget (provided
my patch is applied).


I am going to l.c.a
next week, which should be a lot of fun. Looking forward to
meeting everyone there (including gman and
malcolm). Looks like I will be fixing up
my grandmother’s Windows XP box while I am over there as


I submitted a talk proposal for GUADEC 3, so it looks like
I will have to write up the paper. The talk will be on
writing GTK 2.0 and GNOME 2.0 applications with Python.
Looking forward to a free trip to Spain 🙂.