30 March 2000

Tracked down the segfault when subclassing GtkObject
wrappers in the new pygtk. I also reenabled object
attributes on the wrappers defined in C without problems, so
this problem looks like it is fixed. The wrapper rescue
code really is evil.

30 March 2000

I don’t know what all the fuss is about the gnome
steering commitee thing. The main job we are doing is doing
a bit of release coordination, so things get done on time
(for october gnome, Elliot did most of this work, but it is
probably less stressful to have a group of people doing the
work). The other stuff discussed was about starting the
process of creating a gnome foundation (which should take
over a lot of what steercom was set up for).

Did more work on pygtk/extensionclass. It is starting to
feel like the old pygtk. I am trying to track down some
weird errors that are occuring when deallocating instances
of python subclasses of GtkObject wrappers. I think I am
the only person who has tried to do this kind of weird stuff
with ExtensionClass. I think it has something to do with
the evil wraper rescue code in pygtk_dealloc :(

It looks like my certification of advogato pushed him up to
master :)

26 March 2000

Got the new ExtensionClass pygtk to a state where you can
play with it. It actually compiles into something that
actually imports, which is a step forward. I started work
on a defs file for gtk, which has all the GTK widgets and
has the constructors set for most of them. It also
specifies public fields of objects, but that is not fully
implemented yet.

I also got single wrapper per GtkObject working, and
added support for an ExtensionClass instance dictionary.
The new GtkObject wrappers are pretty much just as
functional as the old ones, but without all the weirdness
found before (eg. _o, multiple wrappers, two layers of
wrappers, etc). When things get closer to working, I should
do some benchmarks or something. The new stuff definitely
loads quicker, and probably runs faster and uses less
memory. I posted instructions on how to test things out on

Alex added bonobo support to
dia. I will have to look at this, and help out a bit. I
will be very pissed off if someone complains that you only
get bonobo support if gnome support is enabled :). Some
people don’t seem to realise that if we don’t use a library,
then the functionality of the library has to be duplicated
in dia, which means we have more code to maintain.

22 March 2000

Got back from GUADEC yesterday at
4pm. 17 hour flights are way too long. Good thing they had
a SNES at every seat. They also had a phone at every seat,
and it looked like you might have been able to plug in a
modem. If there was somewhere to plug in a laptop,
Singapore Airlines would be almost perfect for hackers

Here are some notes on what I did in paris:

Wednesday, 15 March:
Got through customs at about 6am. It was still a bit dark,
so it took a while to realise that I was 2 floors up from
the ground. I dedided to take the train, as from the
instructions on the GUADEC web site, it seemed the
simplest. It took me a while to get to the train station,
as I didn’t realise that aerogare meant airport terminal
rather than a train station at the airport :(.
After getting off at Denfer Rocherau. The 300m walk down
Boulevard St Jaques to get to Rue Barrault turned out to be
closer to 1km, and passed a few metro stations.

After getting to the hotel, I dropped off my bags and
went sight seeing. I went to the Eiffel Tower, which is a
great place to go first, as you can see a lot of Paris from
there. They have a lot of boards up about the history of
the Eiffel tower, which is really interesting. The french
complained about it as an eyesore, then agreed to put the
same advertising on three sides of it for over a decade. Go

I also went to see the Arc d’Triumph. Tried not to
australian while standing next to the eternal flame
:). You get a great view of the traffic from the
top of the arc. You will probably never see anything like
that round about anywhere else in the world. After that, I
was starting to feel a bit tired (a 7 hour time difference
does that to you), so went back to the hotel, where I fell
asleep from 6pm to 7am.

Thursday, 16 March
Got up, feeling a bit shaky as I hadn’t had a proper meal
since yesterday breakfast. It was good that the hotel had a
buffet. Around that time I found Miguel and met a lot of
the other HelixCode guys in the dining room. I forgot to
ask for one of their cool T shirts, which I am regretting
now (if there is a second screening, I would love to get a
copy). Had a bit of a conversation with Michael Meeks about
whether the ideas of the canvas needs to be rethought to
make it easier to use in a model/view type application
(currently it is easiest for a single view apps, and I think
there is a lot of code duplication in doing up multi view
support which should go in the canvas).

Went to the ENST after that and met up with some more
hackers. Commented on how brain damaged the french keyboard
layout was. Tried bringing up my presentations in netscape
on the computers, only to find they displayed in scaled
bitmap fonts (this seems to be because Mandrake installs the
URW scalable fonts under the urw foundry rather than
adobe). Luckily we had an X guru (Keith Packard) who helped
fix the problem. I also talked with Alex a bit about dia. Then Miguel
gave his openning talk, where he introduced just about
everyone, which was good, since most people had no clue what
the others looked like :). After that, the
workshops were scheduled. I did my talks at the workshop
sessions — the dia one went better than the pygtk one, as I
had prepared for it a bit better. I would have loved to go
to some of the ones upstairs, but its a bit difficult when
you are supposed to be speaking somewhere else.

After that, there were drinks and nibbles. I met a
of people there (if I try to name them, I will miss someone,
and get them upset). About twelve of us (including the
conglomerate guys, John Trowbridge the guppi guy, Alex,
Telsa and a few others) at a small restraunt near the ENST.
It was fairly good food, and we had fun deciphering the
french menu.

Friday, 17 March
Woke up at 9:30, and went down for breakfast and found Damon
and a few others. Got to the ENST at about 10am, which
seemed to be just in time for the 8am “coding party”
(apparently Iain managed to get there at 8am, but no one
else did). I had thought they would hold something like
this in one of the computer labs where there are lots of
computers. Instead, it was in one of the lecture rooms with
only about three computers for those without laptops.

The afternoon had the GNOME 2.0, Nautilus, bonobo
components and GTK+ talks. They were all pretty
interesting. Got me thinking about scrapping all the libwww
stuff in gnorpm and switching it over to gnome-vfs and have
it as a nautilus component. Just another idea I don’t have
time to implement for a while.

We had dinner at the ENST. After that a big group of
went to find a pub. About 20 of us stopped off at an Irish
pub, and found that it was St Patrick’s day. As part of the
celebrations, they had loud music, including scottish bag
pipe songs. This didn’t help the conversation much. From
there, about half the people went back to the hotel. The
rest of us tried to find another place to go. We ended up
at an Internet Cafe called Sputnick. We chose the place
because it had a GUADEC poster up, but the computers were
all unprotected win98 machines. Some of us started checking
mail and others tried to install linux and gnome on the
machines without success. When we found out that you were
meant to pay to use the computers, we just had to be a bit
more discreet. George stuck a lot of stickers on things,
but when the staff came over to investigate, he stopped
saying “I take full responsibility” to “James
takes full responsibility”
. I am surprised they didn’t
kick us out.

Saturday, 18 March
Got up around 9:30 again. Had a talk with Raph at
breakfast. He told me a bit about his CSS3 and SVG gripes,
and he talked about adding SVG icon support to Nautilus. It
doesn’t sound like we will have full XSL styling of icons
any time soon :). and went to the coding party.
Not as many people there that time. Signed a lot of posters
though. In the afternoon, there was a docs talk, an
evolution talk by Miguel. I was sitting next to one of the
Achtung guys who was commenting on the bad points of Magic
Point. He shut up when I asked why we couldn’t do that in
Achtung yet :).

We went to the HelixCode Evolution Boat Party in the
evening. Stopped off at a nice Veitnamese restraunt on the
way. The party was OK, but the choice of music wasn’t that
great. Had a bit of a talk with Michael and Damon about
adding a serial number to glade files to try and detect
broken installations better (and reduce bug reports). I
also signed a lot of GGAD books (if my signature looks a
little messy, it was because I was drunk). On the way out
from the party I picked up a handful of GUADEC CDs.

A group of us went to a club in the north of Paris
that. I put a few CDs under the windscreen wipers of parked
cars on the way. Frisbee’d a CD to the woman selling Metro
tickets. Handed out a few CDs to people on the Metro. At
the club, I gave one CD to the woman at the bar, and another
we frisbee’d into the croud. Apparently Jacob doesn’t

Me, Dave Camp, Robert Wittams and Robert Brady
decided to
leave a little early (around 1:30am I think). The metro was
closed at this time of night, but instead of taking a cab,
we decided to walk. Passed by the Louvre and Notre Dame on
the way back. We could also see the Eiffel tower nicely lit
up. We got back at about 4:30am, by which time most of the
people who had stayed on at the club had got home. Iain was
still up, as he had left his bag (which contained his
passport) somewhere.

Sunday, 19 March
Got up at about 11am, which was too late for breakfast at
the hotel. I went to Macdonalds and ordered a royal with
cheese. They put even less effort into them than in
Australia, and come in a foam box still. On the way back,
ran into Miguel who thought walking home was stupid.

Ran into JP Rosevear and went sight seeing with him.
Went to see some of the places that were closed at 3am.
First went to Notre Dame, then looked at the Pompidou centre
(aka inside out building) and finally went to the Louvre.
Saw a lot of nice artworks including the Mona Lisa.
Unfortunately the section containing Gnome with a Snail was closed on Sundays.

Went to a crepe restraunt with JP. It was good food,
the people at the next table had brought their dog. Went to
a pub where we had a couple of pints of Guiness.

Monday, 20 March
The next morning I got packed to go. Talked with jrb at
breakfast. Recommended that he go see the Gnome with a Snail while at the
Louvre. Caught the Metro and RER to the airport in half the
time it took going in the other direction.

The plane flight back was fairly uneventful.

A few final notes on GUADEC and Paris:

  • people smoke everywhere. You probably won’t find many
    smoke free places.

  • nautilus and evolution will be really cool.
  • it would have been nice if elliot could have come.
  • there are a lot of cool people working on gnome
  • I need a laptop. I like Michael Meeks idea of getting a
    computer company to give you a laptop, so I might try that

9 March 2000

Got a message from jwz
on dia-list.
He had a few interesting ideas for dia. I don’t know how
soon we will be able to implement them.

Did a little more work on libglade. Should probably do a
new release soon. Should also release new pygtk and
gnome-python before going to GUADEC.

Today was very humid rather than being very hot.

7 March 2000

Thought I would see what the Advogato trust web looked like
with graphviz. I would not recommend anyone else doing
this, as it takes longer than I wanted to wait. Running it
on just the purple lines finished in reasonable time, but
ghostview was not usable with such a large single page PS

Someone suggested adding support for graphviz. As
graphviz is not open source (despite what they say they
believe in their licence faq), we can’t link it with dia.
If I get around to doing this, it would probably involve
modifying graphviz to export the data in an easily readable
format, and getting the import filter to read this data
through a pipe.

7 March 2000

More work on ExtensionClass based pygtk. I now have an
almost finished code generator that will convert files in
Havoc’s new defs format to ExtensionClass based wrappers.
There are a few problems, but it is mostly working.
Handling of plain functions is partly done as well.

I should apply some of the fixes people have sent in to
the HEAD branch of pygtk. I should also look at fixing the
gettext.py bug for catalogs created on big endian

It got up to 37 degrees C today. Very hot.

6 March 2000

Have started using Sawmill as my window manager. It
feels quite nice and is very configurable. I am sure I
could easily waste hours getting it to act exactly how I
want it to :)

Have started working on the new ExtensionClass based
pygtk code. It is on the extension-class-branch of
pygtk in CVS. Currently there is not much to see other than
a program to convert header files to Havoc’s new defs file
format and a program to merge changes from one defs file
into another (needed because the header parser is not
perfect and there is some info that is just not included in
C headers). There is also a bit of code in pygtk/gtk/ (I am
rearanging some of the modules to be nicer to the module
namespace, and friendlier to case insensitive platforms such
as win32). Code generator comes next.

A new SVG draft came out. It includes stuff about
`Exchange SVG’. Maybe it would be good to use it for the
shape files in dia instead of the current method using style

2 March 2000

Haven’t posted anything here for a while. We released a
new version of dia. Some of the features are not complete,
but for most things, it is more stable than the last
version. I also updated the web site this time :)

Still looking into using ExtensionClass
in pygtk/gnome-python. I wasn’t able to find any info on
subclassing ExtensionClasses from C and didn’t get any
response from Jim Fulton, so I went ahead and added the
feature myself. I posted the patch to Jim and the zope-dev
list for anyone else who may want it. I hope it gets
included, as I don’t want to end up maintaining a fork of
ExtensionClass. This looks like it will greatly reduce the
amount of hand coded stuff found in pygtk, which will be

There are a number of patches that I have to integrate
into pygtk. I will look at that soon. I should also make a
new release of libglade as well.