How I do per-address blocklists with Exim

Yesterday I wrote about the power of per-address blocklists . This is all well and good,but part of the challenge of this is actually implementing them.We use Exim, so my implementation is for that (and it's not entirelyoriginal with me; I believe I copied much of this approach from anex-co-worker).

Since we want to reject at SMTP time, we need to do this in one ofExim's SMTP ACLs. Since we want to reject on a per


One anti-spam thing I like is per-person (or per-address) blocklists

I've come to feel that one of the powerful anti-spam things thatyou can do in any environment with a shared mail system is to supportsome form of individual filtering and blocklists at the SMTP level.Given the SMTP DATA error problem ,the conceptually easy options to support here are blocklists basedon the sending host and on the MAIL FROM envelope address, sincethose are easily done at RCPT TO time on a per-recipient basis.

The general case for supporting individual filtering is prettystraightforward. One size


I've realized I need to change how I read Twitter

People talk a lot about modern social web sites being designed tobe sticky, to encourage you to keep them open and to interact withthem all of the time. For a long time, this was not my experiencewith them; I felt no reason to stick around Facebook, for example.Then I got on Twitter with a fortuitous choiceof client .

I am the kind of person who has historically had a 'gotta read themall' mindset about, well, basically everything on the Internet thatI've


A defense of C's null-terminated strings

In certain circles that I follow, it's lately been popular to frownon C's choice of simple null-terminated strings. Now, there arecertainly any number of downsides to C's choice of how to representstrings (including that it makes any number of string operations notall that efficient, since they need to scan the string to determineits length), but as it happens I think that C made the right choicefor the language it was (and is), and especially for the


How I've wound up taking my notes

If you're going to take and keep notes , youneed some way to actually do this. I'm not going to claim that mysystem is at all universal; it's simply what has worked so far forme. I'm a brute force Unix kind of person, so my system is builton simple basic Unix things.

My basic form of note taking is plain ASCII in Unix files. I don'tversion control them (although maybe I should), but instead I treat


Some notes on entering unusual characters in various X applications

Once upon a time it was perfectly fine to only type plain ASCII.But these days even people writing in English (like me) have asteadily increasing desire to occasionally write with accentedcharacters, special symbols like right arrows, and so on. As ithappens you can do this in X, although how is not entirely easyand natural unless (and until) you do it a lot.

The first thing you want to do is to make some key your Composekey .If you have a Windows key or


Take notes when (and as) you do things and keep them

One of the lessons that I have been learning over and over again over time and in different contexts is that I should take notes about what I'mdoing and then keep them. As you can tell I've written before aboutthis in various specific contexts , butI keep not entirely learning and writing down the general lesson,which is that this is a good idea basically all the time.Really, there are very few situations where taking good notes andthen keeping them is not a good idea.

So


The limits of what ZFS scrubs check

In the ZFS community, there is a widespread view that ZFS scrubsare the equivalent of fsck for ordinary filesystems and so checkfor and find at least as many error conditions as fsck does.Unfortunately this view of ZFS scrubs is subtly misleading and canlead you to expect them to do things that they simply don't.

The simple version of what a ZFS scrub does is that it verifies thechecksum for every copy of every (active) block in the ZFS pool.It also explicitly verifies parity blocks for RAIDZ


A confession: I find rejecting spam at SMTP time to be more satisfying

In a modern mail environment, there are a number of places whereyou can block or drop spam . Of theseplaces, in some ways the hardest place to support is rejectingthings during the SMTP conversation. It may take gory hacks to get your inbound mailer to dospam checks during the conversation, there's the SMTP DATA rejectionproblem , and various otherproblems.

In the past I've written on various good technical reasons toreject at SMTP time , and I certainly (still)believe all of them


Adjusting mouse sensitivity on Linux, and why you might want to

Suppose, not entirely hypothetically, that you are moving from anold and relatively low resolution mouse to a new high resolutionmouse, say a 1200 DPI mouse. If you do nothing, what you'll experienceis that your new mouse is very twitchy and it's hard to pointprecisely to small things even when you're trying to move the mousepointer slowly and carefully. This can easily wind up giving youunhappy feelings about your new mouse and of course it's generallyfrustrating.