Older blog entries for ashtong (starting at number 6)

1 Oct 2004 (updated 1 Oct 2004 at 14:41 UTC) »
Spam Trainer 0.1.1 Released

In case anybody tried Spam Trainer 0.1.0 and had problems setting the preferences, I just released packages for 0.1.1 that should fix the problem.

28 Sep 2004 (updated 28 Sep 2004 at 20:06 UTC) »
Spam Trainer 0.1.0 Released

I just uploaded my drag and drop spam training software for GNOME to SourceForge. Requires Mono and GTK#.

26 Sep 2004 (updated 27 Sep 2004 at 19:11 UTC) »

I've been using Spambayes for a while now to filter out copious amounts of email. Though it's very effective, I get 3 or 4 spams a day that it suspects are spam, but can't be absolutely sure. I review the suspect messages and train Spambayes on an ongoing basis. It's well worth keeping a program like Spambayes up to date anyway, as the nature of spam changes over time.

As an evolution user, training Spambayes has always been slightly more painful than I'd have liked it to be. Spambayes has a nice web interface for training and classifying messages, but it was always a bit of a chore to have to wade through a large number of messages, telling it which were ham and which were spam.

I've written a small program (using Mono) that allows you to drag and drop email messages from evolution (and, I imagine, any other X based email client that supports the drag and drop protocol implemented by GTK+) onto one of two icons (one for ham, one for spam). It will run a program of your choice (e.g. Spambayes' sb_filter.py), passing a filename that contains the message as an argument.

If you'd like to give it a try email me (you can get my address from SourceForge) and I'll upload it to somewhere handy.

31 Jul 2004 (updated 31 Jul 2004 at 23:02 UTC) »

Today I finally released the first Band Saw packages. I've written a user manual for it since my last post, and have been holding off rolling the tarballs until I'd figured out how to get the autotools to verify their sanity. My problems were caused by introducing scrollkeeper into the mix, as try as I might I couldn't persuade the autotools to build me a tarball with "make distcheck".

It turned out that my autogen.sh script (that I'd put together after reading some of the docs I mentioned earlier) were quite wrong, and that I should have been using the gnome-autogen.sh script from the gnome-common package all along. Strange that this information didn't seem to be readily forthcoming before I poured hours into trying to debug my makefiles, and that I only found out about gnome-common by word of mouth from people on the #gnome-hackers IRC channel. They've been very helpful throughout.

I also thought it was a bit surprising that the gnome-common that is packaged with Gentoo was of absolutely no use whatsoever (it caused complaints about deprecated M4 macros), and that I had to download it from GNOME cvs. I'm wondering whether this all needs writing down somewhere for people in a similar boat...

Autotools with Python

As I mentioned earlier, I've been using GNU Autoconf and Automake to make installation of a small GNOME app that I've been writing easier. I said I'd blog about how to do it with Python when I'd worked it all out, as I hadn't found any docs.

In a superb display of the power of Murphy's Law, I stumbled across the last chapter of Arturo Ferrer's Gnome applets with Python tutorial (titled "Autotools: a brief introduction to the installation process") the very same day that I finished sorting out my own autotools support.. Arturo's coverage is good, so I'll probably not bother to duplicate the effort with my own version after all.

I learnt a lot about how to do it by studying GNOME Blog as an example, and paying attention to Ralph Levien's notes on importing into GNOME CVS.

9 Jul 2004 (updated 9 Jul 2004 at 09:19 UTC) »
The agony of choice

I've recently started working on a small GNOME application for monitoring a log server and alerting system administrators when "interesting" things happen. It's written in Python, and the majority of the functionality is completed.

It's hosted on SourceForge already, but I've not released any packages. I want to make it very easy for people to install (there's nothing worse than going to the bother to download a new app in the hope that it's going to be really useful to you, only to find that you can't install it).

So I need some installation scripts. I immediately thought of autoconf/automake, but I don't know the first thing about how to use them and can't find any good docs on how to package a GNOME Python app.

I decided the best bet would be to have a look at how other people have done it, and the first Python GNOME app I thought of was Straw. It turned out (much to my surprise) that Straw uses Python's own distutils, which are great (but sadly wouldn't teach me anything new). So I've got a good example of how to package a non-trivial GNOME app with distutils.

Then I discovered (quite by chance) that GNOME Blog (with which I'm writing this entry) is also written in Python and is packaged with autoconf/automake. I think I'll try modelling my install scripts on GNOME Blog's, with the online version of the Autotools Book to hand and see how much I can learn in the process. If I can come up with a suitable cookbook style approach I might write it up here...

Isn't choice a wonderful thing.

19 May 2004 (updated 19 May 2004 at 22:35 UTC) »

A while back I wrote a client/server modem sharing application (called LANdialler) in Python. I wrote it mainly because I lived in a shared house with several computers and a single phone line, and none of the tools available at the time did quite what I wanted.

Let's face it, with the advent of broadband programs like that aren't exactly massively popular.

However, to continue the story... Once I'd written it I uploaded it to SourceForge, announced it, and saw some activity on the web site. I had a few (but only a few) posts to the forums. It was put on a UK Linux magazine cover disk, and there were a lot of downloads logged on the SourceForge site. But bugger all feedback.

That was a couple of years ago. Since then the program has (for the most part) just worked, but the arrival of Python 2.2 made installation a bit tricky. I'd stopped using it myself by this point (I'd moved out of that house), but nobody complained that it was difficult to install and people were still downloading it every now and again. So I left it alone. Then Python support for GTK2 came along, my Dad complained that it no longer worked, and I recently decided to tart it up a bit.

So I ported it all forward to Python 2.3 and GTK2, bunged a note on the web site saying "new version available in CVS, hold on while I write new install scripts", and then I went and got side tracked with real life.

What surprises me - and this is why I'm posting - is that people are still downloading the old releases, and yet nobody has enquired about where these install scripts are. I'd have thought that if anybody cared, they'd have tried to prod me back to life.

I just wondered if other authors see the same kind of statistics, or whether or not it just means that I should retire the project and divert my efforts to something more useful to the masses...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!