[lang]

Present Perfect

Personal
Projects
Packages
Patches
Presents
Linux

Picture Gallery
Present Perfect

Mail Trouble

Filed under: General — Thomas @ 20:32

2006-09-24
20:32

Mail has not been good to me this year. Like everyone else I'm getting increasing amounts of spam. But there are other problems I'm having that aren't helping me either. For one thing, my work account (which I used POP to access, but I leave mails on the server because I want to be able to read my mail from any computer) has repeatedly given me every mail I ever received (including spam) as new mail a bunch of times now. Today it did three times in a row, leaving me with over 9000 unread mails in my inbox.

I don't know if it's Evolution or the mail server, but in any case, apparently that account also supports IMAP so I'm switching to that. After I did, I had 29000 mails in my INBOX - since really, the folders I made on my local computer were not on the server. So apparently on the server I had this many mails. Jikes.

Also over the last year, Evolution's spamassassin has been mostly useless, letting through 90% of spam mails. Today I wanted to dig a little deeper on why this was happening.

So I figured out that you can save a mail to disk, then use spamassassin -t on the mail to get a nice report. Sure enough, all these obvious spam mails got high scores. I don't know however how Evolution invokes spamassasin - does anybody know ?.

I found some sites that mentioned you can create your own rule to pipe through spamassassin using -e to get a return code. Except on my FC5 machine, -e obviously does not work. After some digging through the unreadable mass of Perl code, I found this line:

eval { $exitvalue ||= !$iter->run(@targets); };

(God how I hate Perl with a passion these days).
Removing the exitvalue part from that line suddenly made it return proper values again. It didn't actually fix Evolution, so I assume it does not use spamassassin -e, but at least it allows me to use the expensive custom rule (expensive since it forks for every mail, which will take some time on this 29000 mail INBOX).

Curiously, FC5 ships a 3.1.3 version, and the 3.0.3 version of FC4 does not have the strange construct above.

So now I'm going to slowly filter all my mailboxes, move my POP folders to my IMAP server after cleaning, and after that try and go through my INBOX to clean out and reply to people. (I came to work especially for this today because of course my home ADSL resets every fifteen minutes, but that's a different story.)

Anyway, if anyone wants to share some experiences about SpamAssassin and FC5, let me know.

On a side note, I seriously don't understand Evolution sometimes. To oversimplify, let's pretend that there are only two mail protocols, POP and IMAP, the difference between which mere mortals should not have to understand, and let's pretend that mere mortals really only send and receive mail, and to this end basically have the folders INBOX, Drafts, Sent, and Trash.

I would expect these four folders to be pretty much treated the same, and not be different depending on the protocol. I'm sure there are valid technical reasons why this is hard, but on a high-level, this is what you would want, right ?

Turns out that as far as I can tell, all POP mails arrive *in the same folder*, no matter what, which is "Inbox" under "On This Computer". But you can customize drafts and sent - even though no really I would like to customize Inbox, because that's the only one *worth* customizing. However, with IMAP, you get a nice separate section on the same level as "On This Computer". Sigh.

UPDATE:

  • After filtering a selection of 1000 mails with my new rule that forks through spamassassin, Evolution just gave up with a "too many open files error". Few programs deal with this correctly, but of course few programs manage to run out of them in the first place :)
  • after digging around in the latest source tarball (3.1.5), it seems this bug is what I'm seeing above. I'll rebuild and hopefully this will help Evolution as well.

    For the love of Pychecker

    Filed under: General — Thomas @ 18:03

    2006-09-22
    18:03

    Spent way too much time today poking at problems pychecker was reporting on Flumotion. The problem with most code checkers is that they often report problems in code you don't care about because it's beyond your control, and that once in a while you want to do explicitly allow a specific instance of a bad thing Just This Once. The usefulness of the tool is directly related to the granularity with which you can enable or disable checks for specific objects, from small functions to complete modules.

    After fixing a few easier problems, I again got the eerie sensation that pychecker was not reporting all the problems it should. I would run pychecker on less files than a standard make check does, and get more warnings. Paradoxically quixotic. The problem is it's kind of slow to reproduce, on my laptop, taking a few minutes to run pychecker, so playing with the file arguments to see where it went wrong was a little time-consuming. When chasing bugs, it always pays off to spend some time poking at the Black Box and taking your Diamond Saw of Perception and shave off chunks of the box. Try to find the simplest test case that reproduces the problem.

    At some point I noticed that it was not necessarily the contents of the file that caused warnings to go away - I renamed a file to something else and suddenly it did show all the warnings when checking that newly named file. That finally gave me the last clue I needed to find the most minimal test case.

    Since seeing is believing, I've written a third-millenium play that explains the bug. All you need to do is:

    svn co https://thomas.apestaart.org/thomas/svn/tests/pychecker/order; cd order; make

    For the lazy ones, I've had Zaheer make me a screencast:

    release-a-roo

    Filed under: General — Thomas @ 21:18

    2006-09-14
    21:18

    [moap-trunk] [thomas@otto trunk]$ moap doap -f /home/thomas/svn/tests/redland/doap/gst-plugins-base.doap -v 0.10.10 mail -f thomas@apestaart.org gstreamer-devel@lists.sourceforge.net gstreamer-announce@lists.sourceforge.net kde-multimedia@kde.org gnome-multimedia@gnome.org
    Downloading http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.10.tar.bz2 ... done.
    Downloaded gst-plugins-base-0.10.10.tar.bz2 in current dir
    Sending release announcement ... sent.
    [moap-trunk] [thomas@otto trunk]$ moap doap -f /home/thomas/svn/tests/redland/doap/gst-plugins-base.doap -v 0.10.10 freshmeat - Submitting release of GStreamer Base Plug-ins 0.10.10
    

    Releasing used to be a long drawnout process riddled with intricate little complicated steps involving lots of manual labour.

    It's still a long drawnout process. But it's fun to write tools that take away the repetitiveness, allowing me more time to focus on the release parts that really need manual attention. Like, eating pizza.

    In related news, today saw a release of GStreamer Core and Base Plugins, as well as Cortado.

    Sundays

    Filed under: General — Thomas @ 14:07

    2006-09-10
    14:07


    Guess what we're doing tonight. There's a nice piece of solomillo and a sausage special, I think I have over five types.

    Meanwhile, the cat seems to really like computers, but not in the same way as me.

    Leather Godesses

    Filed under: General — Thomas @ 14:27

    2006-09-07
    14:27

    A new company has taken its residence just next door.

    I don't know if it's a simple typo, a clever naming strategy, or if they have instituted chiefs that really are good at executing while dressed in leather.

    « Previous PageNext Page »
    picture