Older blog entries for ashtong (starting at number 11)

I don't blog on Advogato any more. If you're looking for Graham Ashton, my blog has moved to the Effectif site.

I've fixed some UI bugs and updated the docs for Band Saw's notification tray icon, and made a new release (0.3.0). Packages are here.

8 Mar 2006 (updated 8 Mar 2006 at 06:25 UTC) »

Funny how time flies. I had no idea it had been so long since I last made a release of Band Saw, my log file monitoring application for GNOME.

I thought it was high time I released some changes; the search fields under the menu bar (see screenshot) are new, and fairly self explanatory.

Update: It's only a few short hours later I've uploaded a package for the current development version, having fixed a fairly crucial bug and added a nifty notification tray icon.

During spare moments at the Ubuntu Below Zero conference (they're a very friendly bunch of people) I've been hacking on my little spam training tool, written in Mono and Gtk#.

It's been a long time coming, but 0.1.4 fixes a niggling little bug that's been annoying me for a while; in previous releases you couldn't tell if the ham/spam training commands completed successfully. I've added an extra dialog box to alert you if there was a problem. I've also added tooltips to make it more obvious how to train on a message.

You can get it from here: http://spamtrainer.sourceforge.net/

15 Jul 2005 (updated 15 Jul 2005 at 09:50 UTC) »

I recently needed to manually assemble and send some syslog packets directly from Python and didn't find anything else that fitted my needs. So I read the RFC and wrote a module to do it. It was surprisingly straightforward, though writing the tests first definitely helped.

I've not released it yet (I'm looking for some peer review on the API first), but I think it's pretty much ready for it's frist release. You'll find it at at http://hacksaw.sourceforge.net/netsyslog/.

Feedback on the API would be much appreciated.

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.

2 older entries...

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!