I have been converting a lot of the boxed types in pygtk
over to my new PyGBoxed code. So far, this has
resulted in about 1000 less lines of non generated source
code, which is helpful. It will also help wrap other addon
widget libraries that have boxed types (provided they are
registered with glib). I will have to submit a few patches
for GTK to register the last few types that aren’t already
The development version of libglade got support for
container child properties recently (thanks to the new GTK
APIs from Tim), which means that most container types can be
handled by libglade without any extra code, which brings us
closer to a stage where no new code would be required to
support new widgets. I also started work on a simple
converter to go from the old file format to the new one. It
still has problems, but it is better than nothing, and
should help test my code.
Recompiled devel gtk+ and its dependencies today from
scratch, and gtk-demo still segfaults 🙁. Tim
committed my g_object_newv patch, so people should be able
to build devel libglade. He also checked in the child
properties stuff, which will allow me to handle that
generically in libglade (once he adds a few missing APIs).
Once I sort out the gtk+ issues, I can get hacking on
pygtk a bit more.
I am sure most people have heard about the flame war on
the gnome-hackers list over the weekend. Things have
settled down now, and there is talk of creating some
procedures for introducing changes to the platform. Some
people have argued that it is introducing too much
bureaucracy, but I think it will work out quite well.
Similar schemes have worked well for Python, TCL, Perl and even the internet.
All have varying levels of formality, so we should be able
to find a process that suits GNOME well.
Unfortunately, the flame war was picked up by various
news outlets such as Linux Today who posted some fairly one
sided editorials. Judging by the comments, the maturity of
LT’s readership is dropping to slashdot standards. It
pisses me off when people blow things like this out of
proportion. Looks like they did something similar again
today in an editorial about a KDE disagreement.
Doing a bit more work on libglade2. It is still broken,
but getting less broken as time goes on. Should get it so
that the build completes to keep Sander
Since we are starting to get a number of functional free
web browsers, I had the idea that it might be a good idea to
create a Certificate Authority for free software projects
and people and get its CA cert preloaded in browsers like
Why do people use CAs like Verisign? Because people
trust them (rightly or wrongly), and their certs are
preloaded in almost all browsers so users don’t see a
disturbing dialog pop up when going to the site.
The free software community is probably in a better
position to verify the identity of people requesting
certificates. A group like Debian which already has a
strong web of trust between developers could set up a CA.
Requiring that certificate requests be GPG signed by a
debian developer who has positively identified the requestor
before issuing a certificate might provide a good balance
between security and ease of acquiring certificates.
Having the CA certificates preloaded in free browsers
such as mozilla, konqueror, etc would place them on an equal
footing with the existing CAs. Debian as a CA is just an
example, as they already have some of the infrastructure in
place for identifying people. It shouldn’t be difficult to
get CA certs added to free web browser’s databases. It
probably shouldn’t be limited to just free software related
Another interesting idea would be to setup (or adopt an
existing) alternative root zone that included a number of
TLDs related to free software (eg .gnu, .bsd, etc) along
with the existing ICANN and country code TLDs. If the major
distros shipped their nameservers pointing at this
alternative root, those TLDs would be usable (and not just
to Linux/BSD boxes — think about how many windows boxes
just forward all DNS requests to a Linux or BSD box for
Both ideas would take quite a bit to get off the ground,
so probably won’t happen unless someone is really motivated
to do it.
Put out another development
pygtk snapshot. I actually released it yesterday, but
my computer’s clock was out by 12 hours when I made the
release, but didn’t notice it (something weird must have
happened when bringing all the computers back up after the
brownout on sunday), and the ntp server on the gateway
didn’t start up correctly so it didn’t correct itself. I
hate clock skew.
I have some ideas on how to decrease the amount of
handcoded stuff in pygtk even further. The beginnings of
this code is included in the latest snapshot (the GBoxed
type). I haven’t gotten round to converting any of the
existing boxed types over to this new code or adjusted the
code generator yet though.
Cyrille, Lars, Steffen and Hans have been doing great
work on Dia. They
are responsible for most of the work on the recent 0.88.1
release of dia. There will probably be a 0.89 release soon.
Chema posted an initial tarball of glade
v2. I will have to look at it a bit closer. Libglade will
have to be ready for the gnome 2.0 API freeze, which will
probably be before glade2 is usable. The Sun guys want
accessibility support in glade/libglade, so we will see how
that shapes up.
At the office, I was attempting to get the amanda backup
client agent to compile under cygwin (with the aim of adding
some NT boxes to the network backup system). After patching
it to take into account “.exe” suffixes on some programs and
commenting out some of the fstab/block device code, it
finally compiled. By hooking it up to cygwin’s inetd, the
amcheck, amdump, etc programs on the backup server could
talk to the client agent on the NT box. Unfortunately, the
backup was really slow and was using 100% CPU 🙁 It sent
the dump to the backup server, but then had to create an
index or stats for the dump, or something, which was taking
a long time and caused a timeout 🙁
Cygwin is a very useful tool on windows boxes, but it has
its limitations. I found out about an Amanda
Win32 client which I might try. It uses yet another
POSIX emulation layer.