One year of greylisting: A success story!

Posted on: Wed, 15 Dec 2010 00:15 By: patrick

In September 2009 I started to use greylisting after the spam rate on my main email address had reached an unbelievable 1200 messages per day. Here's the article that describes the event, the reasons why I avoided greylisting for a long time, and why I finally had to give up my resistance.

It is now 15 months later, and I just added an entry to my spam statistics page which makes me a very happy email user! The spam deluge has been reduced to a trickle of merely 36 messages per day, of which almost 95% are correctly recognized as spam by SpamAssassin. If ever there was a success story, greylisting at is it!

After the break there is a little timeline that might be interesting to read. It is essentially a summary from the statistics page linked above.


Fixing a broken Debian package

Posted on: Tue, 12 Oct 2010 22:34 By: patrick

Last week I tackled another upgrade of Bugzilla on my Debian server. Unfortunately, I found out the hard way that the package that I tried to install (bugzilla3- was badly broken - I was left with a half-completed installation that simply would not work. I reported the problem but got no response, so I decided to get to the bottom of this and find out what the trouble is. This is not the story of what I found out, but of how I was finally able to fix the problem.

Article Styles

Virtual Host configuration for Bugzilla

Posted on: Tue, 03 Nov 2009 16:19 By: patrick

Today I found out that there are simpler things than configuring an Apache virtual host for Bugzilla to live in. With a bit of URL rewriting magic, the basics are moderately difficult to solve. What drove me crazy, though, was that the CGI scripts stubbornly generated links to /bugzilla3/skin/[...], instead of just /skin/[...].

Article Styles

One-liners in Python? Not a chance!

Posted on: Thu, 29 Oct 2009 10:27 By: patrick

When I recently told someone that I often use awk when I write shell scripts, the comment, together with a raised eyebrow, was "So, anyone's still using this?!" I felt a bit old-fashioned, and when today I caught myself writing a one-liner in awk I decided to give Python a chance (yes, I know, there is also Perl, but I never give Perl another chance :-/).

The problem I wanted to solve was splitting a comma-separated list into a whitespace separated list of words that I could use for iteration in the shell. The awk one-liner I came up with after 1 minute was this:


python-aprmd5 0.2 released

Posted on: Thu, 22 Oct 2009 16:38 By: patrick

You can grab the tar ball from the project page.

The main change is that version 0.2 of python-aprmd5 introduces an md5 type for regular MD5 hashing, instead of directly exposing functions in libaprutil. The hashlib module, which is part of the Python Standard Library, uses exactly the same approach (in fact I have copied the idiom from there).

Software Projects
Article Styles

Mac OS X processes explained

Posted on: Fri, 16 Oct 2009 10:42 By: patrick

Discovered today: Very nice if you have a question about one of those mysterious processes that run on your Mac. Such as: Why is "AirPort Base Station" running on my desktop machine, even though that machine is not equipped with Wi-Fi/AirPort and, in fact, there is no AirPort base station in the entire household?

Article Styles

nForce network controller woes

Posted on: Thu, 15 Oct 2009 17:00 By: patrick

The Linux server machine I have been using here at home for the last 6 years or so is equipped with an Asus A7N8X Deluxe motherboard. Although the motherboard was supposed to be "deluxe" with many extra components, using those components frankly has often been a lot of trouble.

Besides the intractable SATA controller, I have been particularly annoyed by the two on-board network controllers manufactured by 3Com and nVidia. A few years after I had bought the Asus motherboard, I managed to get the 3Com controller to work (if I remember correctly by simultaneously doing a BIOS upgrade and compiling a Linux kernel with the proper module), but the nVidia controller remained an elusive beast.

Today has seen my most recent attempt at getting the nVidia NIC to work, and this time I am proud to announce my final triumph! :-)


python-aprmd5 0.1 released

Posted on: Sat, 10 Oct 2009 16:39 By: patrick

This is the initial release 0.1 of python-aprmd5, another little project of mine. As usual, the project page has all the details. Because it's an initial release here is the project blurb:

python-aprmd5 is a Python extension written in C that wraps the MD5 routines of the Apache Portable Runtime (APR) Utility Library (libaprutil) and exposes them to the Python interpreter as the module aprmd5. The main purpose of writing python-aprmd5 in the first place has been to expose the function apr_md5_encode(), which generates salted crypt-style hashes using a version of the MD5 hash algorithm that was modified especially for the APR project.

Software Projects
Article Styles
Subscribe to