Press "Enter" to skip to content

Month: April 2004

Fixing obsession

What follows is an untested programmatic method for reducing the flame percentage of any given mailing list. I call it tree-trimming. Since I don’t know Python, I am unlikely to hack this method into Mailman, and since Majordomo is old and grey I’m unlikely to hack it into Majordomo. But one never knows.

Basic Assertions/Observations

  • A piece of email sent to a mailing list can be filtered in any way we find useful. We can block it entirely, we can send it on to the list, we can send it to a subsection of the list, or we can send it to a different list.
  • Email is threaded; the In-Reply-To: header usually tells us what a given piece of email is responding to. Not always, but usually.

Those are easy. Here’s the controversial one. This will not be true for all mailing lists.

  • Email threads that are made up of a small number of people talking to one another are, after a certain point, usually not interesting to the entire mailing list.

List Setup

I’ll postulate a list called, oh, example-list. There are two actual mailing lists associated with the example-list: example-list and example-list-full. You can subscribe to either one of them.

Thread Tracking

  • The mailing list software tracks threads. It must store, for each thread:

    • The thread’s age (which we’ll call A).
    • The number of active participants in the thread (which we’ll call N).
    • The email addresses of the active participants in the thread.

There ought to be a method for associating a thread with an email even if it doesn’t have a In-Reply-To: header, since some mail readers don’t handle this well. You could do it by Subject: line, in which case time needs to be taken into account. You don’t necessarily want all emails with a common subject to be grouped in the same thread, so after a while emails with the same Subject: should be considered a separate thread. Or maybe not, I dunno.

Probably the thing to do is to look at mail reader algorithms. They would tend to define the best practices for this question.

People replying to digest emails aren’t really a problem, because a thread change as a result of that behavior happens at the beginning of a long tedious flame thread, not during.

List Functionality

For each piece of mail that hits the list, the mailing list software must:

  1. Compare A to a configurable value (A1) and N to a configurable value (N1).
  2. If A > A1 and N < N1 OR if the thread is marked as full-only:

    1. Send the email to example-list-full.
    2. Send the email to all the active participants in the thread.
    3. Mark the thread as full-only.

  3. Otherwise, send the email to example-list.

I.e., if the thread is over a certain age and only (say) 2 people are participating in it, then only those people and anyone subscribed to example-list-full should get the email. Everyone else gets to automatically ignore it.


Apply this to subthreads as well. Maybe the main thread is active and happy, but a couple of people are just talking in their own little subthread. We don’t care about them any more. This would require keeping track of the entire tree structure of the thread, but it would be cool.


You could implement this as a client side filter as well. Probably even in procmail. It’d be easier, since you wouldn’t have to keep track of the active participants. However, I don’t actually have any objection to general solutions, because I have found that most client side solutions to flame wars assume that everyone has good self-control.

You have to make it impossible to pull threads out of full-only, or malicious people will subscribe to the -full version of the list solely for the purpose of dragging threads back to the general list.

I have no idea what the useful value of N1 and A1 are. They probably vary from list to list.


Hey! I’m an Amazon product!

No, really — you can review the blog and everything. That’s really surreal. It’s just Alexa information stuffed into the usual Amazon template, but it’s still surreal. I wish it had the full Amazonian functionality; I want to see “5 people recommended reading a David Foster Wallace novel instead of wasting your time here.”

It’s easy to find the page for any random website. Go to A9 and search for the URL you want; then click on the Site Info button next to the appropriate search result. I’m fascinated by the reviews some sites get. “With some of the most communist reporters in the news business, CNN has again proved that communism doesn’t work by being beat by the FAIR and BALANCED Fox News. It’s about time America got its news from a real news group – not some biased network who is out of touch with real America (and no, REAL America is not on 5th Avenue!).”

Damned communist reporters.

Twice the Hanzo

Belatedly: yes, Kill Bill: Volume 2 is a big fat pile of talkative fun. It is not as violence-packed as Volume 1, but it is certainly a tale of bloody revenge and the fight scenes are top-notch. Tarantino’s obsessed with flashbacks and non-linear storytelling, right? So Volume 1 is the action, and Volume 2 is a kind of weird metaflashback that goes back over all the violent impulses and actions of the first volume and explains the motivations behind them.

Maybe not. But it’s still tres cool. Not super-deep, but super-cool.

Hard blend

The Atrocity Archives is pretty enjoyable if you’re part of the vanishingly small target audience. I like espionage novels, and I’m a computer geek who knows a fair bit about the history of the field, and I like H.P. Lovecraft, so the book worked for me. But man, it’s dense-pack fiction. You need to know who Turing was and it helps to understand what a device driver is and you ought to be steeped in sysadmin/programmer culture and the espionage bits build on the work of Le Carre and Len Deighton.

Possibly Atrocity Archives should come with annotations, like “The Waste Land.”

I should note that I don’t see anything wrong with any of this; in fact, I rather like it. It’s OK for novels to be difficult. I’m certainly not going to castigate Charlie Stross for writing difficult novels that happen to fall within my area of expertise. Nobody complains that James Joyce was pandering to linguists, after all.

So, yeah: in the afterword, Stross explains that the conceit of the novel is that the horror of Lovecraft and the Cold War espionage of Len Deighton have a lot in common. The big difference, in his mind, is that the espionage hero has hope and the Lovecraftian hero doesn’t. (Or if he does, he shouldn’t.) But he draws pretty convincing links between the amorphous horror of the Lovecraft mythos and the inhuman horror of pending nuclear war.

Certainly the fusion works in the writing itself. You replace the threat of weapons of mass destruction with the threat of invading entities from another dimension, and everything kind of falls into place. The structure is, alas, weakened by the interjection of Dilbert-esque corporate satire; it’s hard for me to believe that a top-secret occult espionage organization runs on a matrix management style. I don’t mind that the hero is a Neal Stephenson hacker — the fish out of water stuff works well — but I do mind that he seems to have somehow convinced his agency to turn into a 90s dot-com.

Apart from that, though, it was a good read with fairly interesting characters. Nobody makes any permanent sacrifices, but the threats are convincing and Stross can write horrific passages when he’s not being overly clever; the descriptions of the relics in Amsterdam are very chilling.

On the record

I was irked that John Kerry wasn’t releasing his military records, but he fixed that. The difference between Bush’s definition of releasing and Kerry’s definition of releasing is pretty substantial. Kerry put his military records up as PDFs on his web site, and anyone can see them. Bush showed his records to reporters and gave some of them 20 minutes to review some medical exams.

In all fairness, I don’t see Kerry’s military medical records on his web site, and I think they should be there. I still believe there’s a difference between handing your records out to a small group of reporters and making them available online for anyone to see. Someone at the Kerry campaign gets the Internet.

Long knives

In Pennsylvania, Pat Toomey is running against Arlen Specter in the Republican Senatorial primary. Toomey is a hard-right conservative who currently serves in the House of Representatives. Specter is a center-conservative Senator who fails many hard-right litmus tests, most noticably by being one of the handful of prominent Republicans who supports abortion rights. Both Bush and Rick Santorum have endorsed Specter.

This is one of those wedge issues — Bush’s hard-right supporters can’t be pleased that he endorsed someone so centrist, particularly since he differs with the Republican Party on such a hot button issue. Run, Roy, run!