Blog
Subversion
Have been looking at the Subversion 1.1 release candidate, and it looks pretty good. This could be the point where more people start to seriously look at using Subversion as a CVS replacement.
This would be largely due to the new fsfs repository backend. This new backend doesn't use berkeley db, and shouldn't ever wedge like the BDB backend does occasionally. Furthermore, you don't need write access to the repository to perform read only operations.
Blog
20 May 2004
Mail Viruses
The barrage of mail viruses and their side effects is getting quite annoying. In the past week, I've had a gnome.org mailing list subscriptions disabled twice. After looking at the mailing list archive, it was pretty obvious why.
The mail server that serves my account is set up to reject windows executables a few other viruses at SMTP delivery time (so it isn't responsible for generating bounces). Unfortunately, a number of viruses got through to the mailing lists and were subsequently rejected before reaching my account.
Blog
nxml-mode
Started playing with nxml-mode, which makes editing XML much nicer in emacs (psgml-1.3 does an okay job, but the indenter and tag closer sometimes get confused by empty elements). There is a nice article about nxml-mode on xmlhack which gives an introduction to the mode.
The first thing that struck me about nxml in comparison to psgml was the lack of syntax highlighting. It turned out that the reason for this was that colours were only specified for the light background case, and I was using a dark background.
Blog
Greg Egan on Asylum Seekers
An interesting essay on asylum seekers by Greg Egan (a local Science Fiction author). If you are interested in the subject, Dark Victory is also worth reading.
Blog
ViewCVS
Made a few more changes to the Gnome viewcvs. Pretty much all of the original ugly colour scheme is gone now, and I got it to pretty print some more files with gnome specific file extensions.
We are maintaining the modifications in CVS using the standard vendor branch/main branch setup. Since the cvs import command is one that people screw up the most, I wrote some scripts to help with exporting viewcvs from upstream CVS and then importing it into our CVS.
Blog
14 April 2004
ViewCVS
After the breakin at the gnome.org web server, the CVS server were moved over to the new server HP donated. However, the LXR and Bonsai tools weren't considered as high a priority, so have not been restored yet.
Since it was easier to set up than either LXR or Bonsai, I set up ViewCVS (with jdub's help), so we now have online repository browsing again. It doesn't provide all the features found in the other packages, so it'll be good to get them set up again too though.
Blog
jhbuild
Made some changes to the way "jhbuild bootstrap" works. Whereas previously bootstrap would check to see if each required build tool was installed by the distro and only build the tools that were missing, it now builds all the tools.
If you wish to use the build tools supplied by your distro, it is now recommended that you don't run bootstrap. To perform the "check that required tools are installed" job that bootstrap used to do, you can instead run the "jhbuild sanitycheck" command, which will do these checks and report any errors.
Blog
IPP
Did a little more hacking on my IPP client library, and wrote a small PyGTK program that lets you do simple management tasks (view all print queues/classes, view queued and completed jobs for printers, stop and start print queues, etc).
If you want to try it out, grab ipplib.py and printerlist.py. Put them in the same directory and run "python printerlist.py". Seems to work pretty well for less than a thousand lines of code.
Blog
IPP
Out of curiosity, I decided to write a little IPP client library in Python. An in-progress version can be found here.
In less than 500 lines of Python, I have an IPP message encoder/decoder, and some higher level classes to perform a few operations on printers and jobs. I've been able to successfully talk to the following IPP servers:
CUPS (I've also got a little code to perform some of the CUPS proprietary operations).
Blog
23 February 2004
louie: doesn't the fact that the introduction of a third credible candidate causes problems is in fact a problem in itself?
There are vote counting schemes in use that don't penalise similar candidates, such as the single transferable vote system used in Australia to elect MPs. Rather than splitting the vote, the votes for the least popular candidate's votes get transferred to their second preference. This process gets repeated til there is a candidate with a clear majority.
Blog
17 February 2004
Weather
It has been really hot and humid here for the past few days. While it is not uncommon to have hot weather in Perth, high humidity is quite unusual. It seems to be due to the floods up in the north of the state (they had a report on the news about an 18 person town that had been without a pub for 3 days).
There was a big thunder storm last night, so hopefully things will get back to normal.
Blog
12 February 2004
jhbuild
Had a pretty good response to the jhbuild changes. There was a number of problems I didn't catch during my testing (more that I would have liked). However, I think I caught the last few ones with pychecker.
I suppose the next thing to do is to help the fd.org guys set things up so they can manage their module sets from their own CVS tree. That will make it easier to recommend as a build tool.
Blog
jhbuild
Checked in a fairly big set of modifications to jhbuild, designed to make it a bit more modular and the code less messy. I had been working on these changes for a while now, and had been keeping track of them on the jhbuild-ng branch.
Here are a few of the main changes:
Code reorganised into a package The code has been reorganised into a Python package. Unfortunately this means that the old shell script used to start jhbuild won't work.
Blog
17 December 2003
Callum: the slowness of modular DocBook XSLT stylesheets is in the chunking code, as I found out a while ago. You will find that if you turn off chunking (ie. produce one huge output file rather than many smaller files), the processing time will be cut in half. Interestingly, the older DSSSL stylesheets showed the opposite behaviour.
One thing that might be interesting would be to try porting gtk-doc over to using Shaun McCance's new XSLT stylesheets (there are more details on his website).
Blog
5 November 2003
Mark: the support for building the freedesktop.org X server hasn't been there for a while. It was just added yesterday by Johan Dahlin.
If anyone else is interested in building some of the stuff in freedesktop.org CVS using jhbuild, I wrote some instructions and put them in the wiki.
Blog
Atom
Have been playing round with Atom, which looks like a nicer form of RSS. Assuming your content is already in XHTML, it looks a lot easier to generate an Atom file compared to an RSS file, because the content can be embedded directly, rather than needing to be escaped as character data. Similarly, an Atom file is easier to process using standard XML tools compared to RSS because the document only needs to be parsed once to get at the content (which is probably what you were after anyway).
Blog
22 October 2003
Laptop
I started running out of space on my laptop, so decided it would be easier to buy a new hard disk rather than clean things up (after all, I could get a 40GB drive for about AU$200, which would give me more than 3 times as much storage, and had almost identical power requirements). If only things were that easy ...
After backing everything up, the first problem was taking the old hard disk out of the machine.
Blog
Python
Been reading over Ulrich Drepper's paper on how to write shared libraries, and it struck me that use of the PyArg_ParseTupleAndKeywords() function will result in a lot of relocations that can't be avoided.
I did a few tests using some dummy extension modules that contained a number of functions. I tried varying the number of functions, number of arguments for each function, and whether keyword arguments were supported.
I found that in the PyArg_ParseTuple() case, the number of relocations was proportional to the number of functions (as expected -- a few relocations for each entry in the PyMethodDefarray.
Blog
1 October 2003
linux.conf.au
They accepted my abstract submission for LCA in January! The lineup is of invited speakers looks really good, so everyone should register. Hopefully they can outdo the conference we put on in Perth :).
.au Politics
A number of changes to the federal government cabinet this week, because Richard Alston (aka World's Biggest Luddite) is resigning as Minister for Communications, Information Technology and the Arts. He is getting replaced by the current Attorney-General Daryl Williams, so it will be interesting to see how that plays out.
Blog
Cairo
Did some more hacking on my Python bindings for Cairo. They are now in the new freedesktop.org CVS server.
I added a cairo.gtk.set_target_drawable() function that sets a Cairo context to draw on an arbitrary GdkDrawable, taking into account the temporary pixmaps used by GTK for its double buffering and the expanded virtual 32-bit coordinate space (based on some of Carl's code in grrobots).
I ported a few of the Cairo demos to Python/GTK for testing purposes, and they all seem to be working fairly well.
Blog
15 September 2003
PyCairo
Been discussing the bindings on the Cairo mailing list. I'll probably be merging my bindings with Maarten's ones.
I also brought up a few changes that would make it easier to write robust language bindings. Since the API is fairly new, the changes will probably go in.
PyGTK
LWN covered the pygtk 2.0.0 release. 2.0.0 is also in RawHide too, so it looks like it should be a usable baseline in the near future.
Blog
10 September 2003
Cairo
Started on some Cairo bindings for Python. At the moment, they are fairly immature, but shouldn't require too much more work before I can test them.
Differing a bit from the C API, I've made the cairo_matrix_t type immutable from Python. That is, all the operations that modify a cairo_matrix_t have been wrapped in such a way that they return a new matrix rather than modifying the old one.
Blog
8 September 2003
There was a really weird interview on Lateline last friday. They now have the transcript. Christopher Pyne really reminded me of Dexter Pinion from Backberner.
Looks like the government put up a website for one of the weirdest community service announcement I've seen in a while. I wonder if they intended to make it as funny as it seemed?
Blog
5 September 2003
PyGTK
A story was posted on FootNotes about the 2.0 release. A number of nice comments. The 2.0.0 package has hit Mandrake cooker, and a Fink package is apparently in the works.
I've started work on adding support for the GTK 2.2 APIs, which shouldn't take very long at all. I've updated the .defs files, which covers most of the APIs. There are some others that will require a little more work.