An Updated Spamassassin Is Nice

Lately, a lot more spam/scam emails seem to be getting through the Spamassassin installation on my mail server. Which finally made me go “eurhm… how long has it been since I upgraded that thing?” And, d’oh! It’s been a few years.

I mean, it’s automatically upgraded with security fixes, but it was on Debian oldoldstable, so that’s pretty old. Last week I got my act together and upgraded it to the current Debian stable, and after poking at it for a few days, I got the other stuff that was running on it working.

But back to spam: I was shocked to find that I’m getting almost no spam now, so I started worrying that it was rejecting legitimate mail… but looking at the logs, I don’t see anything suspicious, and I’m getting everything I’m usually getting. But virtually no spam.

Previously, about ten spam/scam messages per day were getting through, and in the week since I updated, it’s about one. That’s, like, fantastic. So I wondered whether there was anything interesting to see statistically in the logs, and I got the chart above. Which looks dramatic — it’s like they’ve almost stopped spamming me!

I have my MTA reject spam on delivery, so that could theoretically be an effect: Addresses that reject spam could theoretically lead to spammers removing those addresses from their lists, but I’ve always thought that sounded unlikely. Sending spam costs nothing, so why bother to keep lists updated? And besides, while I’ve seen a 90% reduction of spam that gets through, that’s just 9 messages extra, so it’s insignificant.

And the period is really too short to draw any conclusions. I mean, I’m no scientist.

So I remembered that I have a backup server that keeps all old versions of old files, even mainlog.gz, so looking back two years:

There’s basically no major change, and the data is really noisy on a day-to-day basis. (Well, there’s a development in the amount of ham I’m getting, but that’s because I withdrew from Emacs co-maintainership late 2022.)

If you squint, you can kinda make the argument that spams are declining a bit, I guess.

So I guess… I didn’t find out anything of interest here other than that an updated Spamassassin is nice? It works?

Sorry for making you read this!

But while I’m typing away, I might as well bitch a bit about something!

I noticed that there’s a number of RBL tests based on the Validity provider, and they all “pass”. So there’s this in the logs:

 -2.5 RCVD_IN_VALIDITY_CERTIFIED RBL: Sender in Validity Certification -
                             Contact certification@validity.com
 [Excessive Number of Queries | ]

These RBLs commonly have rate limiting, and that rate limiting is based on the IP address of the DNS resolver. The usual solution to this is to run a resolving name server locally — but I already do that, and still it’s rate limited:

host 242.101.89.167.bl.score.senderscore.com 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases: 

242.101.89.167.bl.score.senderscore.com has address 127.255.255.255

And that means “pass, but because of rate limiting”. And:

For other DNSBLs, SpamAssassin does have rules in place to ignore such checks when this happens, but since this is likely new, it’s not accounted for yet.

I even created an account on Validity and whitelisted my IP address, and it still fails, so eh, I just disabled the tests.

The exiting world of running your own MTA…

Comics Daze

Rubbish weather today. Yay! That means that I have to read comics.

Stereolab: Instant Holograms On Metal Film

12:25: The Cartoonists Club by Raina Telgemeier & Scott McCloud (Scholastic)

I’m trying something revolutionary today (photography wise) — I’ve changed my reading light bulb from the normal 2700K (“warm white”) to a 6000K (“daylight”) one so that it’s basically the same as the rest of the room. And look! I’m no longer sitting in a sea of blue! The system works! Magic! (Well, except for the other lamps, which now look like they’re totally yellow in the snaps, but they aren’t really. Perhaps I should have gone with a 4K bulb to even things out a bit… Hm…) Anyway, here’s a snap from last week, with the 2700K bulb:

SUCH BLUE ROOM

Oh, anyway, comics reading.

This book is very pedagogical — it’s about making comics. I mean, there’s a story, too, but it’s mostly about making comics.

It’s a very “up” book. Everybody’s smiling all the time.

But I wonder who this is for. Is this meant to be used in a school setting, to teach kids to create comics?

I mean, I’m not the target audience here, but I found this book to be kinda dull.

Too many pages like this. Spending more pages on the plot would have been nice.

But I mean, perhaps kids will find this inspiring? I don’t know.

13:00: Š! #54 (Kuš)

Well, I can just turn the other lamps off… now everything has the correct white balance.

I got this from here.

The theme this issue is happiness.

It’s a fun and funny issue, with superstar artists like Caroline Cash and Heather Loase.

Some people interpret “happiness” kinda widely.

It’s a great issue.

Orbital: Radiccio (2025)

13:25: Summer Shadows by Dunning/Cabral/Simpson/Campbell (Dark Horse)

Well, the artwork is quite attractive…

But the story is like… not there. And the characters have no character.

And it’s about gay vampires, and they all have to die! Die!

It’s not a good comic book, but the artwork’s kinda nice.

Xiu Xiu: Orgasm Addict

13:48: Urban Tails by Ilana Zeffren (Soaring Penguin Press)

These pages look really attractive — the airiness is appealing. But I wonder how it was made? It looks like pencil drawings that have been scanned on a low resolution, and then blown up and smoothed, so everything is slightly blurry? (And then the (translated) lettering is super sharp.)

Such a melting pot!

I quite like this book? It’s all one page strips, and that gets wearying when collected like this. So I bailed after 75 pages, but I’m going to read the rest later.

Charli XCX: Number 1 Angel

14:43: Previous Rubbish by Kayla E (Fantagraphics)

This is a book about childhood neglect, abuse and religious damage.

It’s a collection of pieces (many of which I’ve read before in various anthologies), and it’s unfortunate how repetetive it gets collected like this: We go over many of the same events again and again, and often is a sort of oblique way. This works extremely well as a shocking piece in an anthology, but after reading the fifth allusion to the same even, I’m sitting here going “can’t you just write plainly what happened?” Which is not the desired effect.

It’s an understandably angry book, but I feel that she takes the anger out on the reader a lot — the book is very sarcastic, and it feels like she’s venting at us, and we’re not doing anything but sitting here and reading the book!

Various: The Residents Present: Buy or Die! (1)

It’s a quite inventive book… I mean, not the artwork, which is extremely tablety (that’s a word), but using all these games and stuff to tell us about the horrors of her childhood. But does it work? I’m not sure. But what do I know:

Graphic Novel Review: Kayla E.’s PRECIOUS RUBBISH is an early book of the year contender

See?

It’s truly one of the best things I’ve read in a long time, an astonishing and painful artistic accomplishment.

Richard Dawson: End of the Middle

15:39: Tedward by Josh Pettinger (Fantagraphics)

This is also a collection of stuff that’s been published before (I think), but it makes excellent sense in context — these are short stories that build to something bigger.

And it’s funny.

16:18: Eremitt by Martin Erntsen (Jippi forlag)

This is one of those wistful childhood autobio things.

It’s just kinda perfect? It’s funny and it’s touching.

Led Zeppelin: In Through The Out Door

16:25: Season of the Roses by Chloé Wary (Fantagraphics)

Lots of Fantagraphics stuff today…

This looks pretty good…

It’s the story of a feisty football team that has to defeat prejudices and obstacles and etc etc etc (you know), and that’s the problem: If you’ve seen any movie from the last five decades that deal with this, you totally know all the story beats, the three act structure, and how it’s going to end. The only reason this hasn’t been made into a movie (if it hasn’t; I haven’t checked) is that there’s nothing here to make into a movie: It’s all cliché. So of course it won prizes:

Au festival d’Angoulême 2020, l’album remporte le prix du public.

Except the artwork and the scenes from the football field — that’s actually pretty good.

Miki Berenyi Trio: Tripla

16:50: Denniveniquity by D. Boyd (Conundrum Press)

Huh… that’s some art style. I can’t quite put my finger on it, but it reminds me of something, especially the staring eyes. The line is kinda adjacent to Rick Geary (but it’s on a tablet here, I think), and… Do I see some Don Martin here? It’s just odd.

I like the way she’s running in the last panel on the left-hand side there.

The way this is drawn, it’s just hard to tell the characters apart. The protagonist (the one that’s smoking and drinking Galliano) is supposed to be a 12/13 year old girl, but it’s hard to tell who’s supposed to be boys or girls, or adults or children, so I spent 37% of the time reading this going “is that one of her 12-year-old friends or is that her mother?”

What’s a wax cigar? I tried googling and I could only find an electric vape thing, and that’s not what that was in 1979.

Anyway, the storytelling here is extremely choppy, and there’s so many oh-now-they-broke-up, oh-now-they-didn’t, oh-now-they-did that it was just hard to care after a while.

Max Richter: Vivaldi: The Four Seasons

17:39: Low Orbit by Kazimir Lee (Top Shelf)

Again, the character design just doesn’t differentiate much between the kids and the adults.

But… it’s fine? It’s (once again) about growing up and stuff, and it’s pretty original is some ways. It’s not gripping, though.

18:43: Pharaon 1: Philtre pour l’enfer by Duchâteau & Hulet (E-Voke)

Well, the artist here is obviously inspired by William Vance…

… and the entire thing seems like a blatant rip-off of Bruno Brazil, but without the charm, the characters or the interesting plots.

This is just incredibly bad. Duchâteau has written hundreds of albums, and I’m not a fan, but even his stuff is usually better than this. It’s so choppy — it’s just hard to tell what’s supposed to be going on.

My Brightest Diamond: This Is My Hand

19:01: The End

And with that I think I’m going to call it a day. Man, I was really unlucky with a handful of these comics today…

Book Club 2025: Someone in the House by Barbara Michaels

I don’t really care that much what a book “is about”. Whether it’s about mining on the moon or needlepoint pioneers, it’s the same to me. I mostly just care about the book being well-written and, you know, entertaining. But I have to say that I’m not a fan of ghost stories.

And this is a ghost story. Michaels/Peters usually writes pretty witty books with engaging characters, but this has little of any of that — it’s written in a very subdued way. I don’t mind unlikable characters, but here the characters are… kinda offputting and not very interesting? So after 150 pages of this stuff, I was ready to throw in the towel, but I persevered for 150 pages more, and I shouldn’t have, really: The Solution To The Mystery wasn’t very interesting, either.

But I mean, it’s not a horrible book or anything. If it had been cut down by a third, it could have been a diverting afternoon read, but there isn’t anything here to keep the reader interested for pages on end.

OK, the next book I’m going to read is going to be something that’s actually good. I was going to do that today, but I had a hangover so I went with this instead, and so…

Someone in the House (1981) by Barbara Michaels (buy new, buy used, 3.67 on Goodreads)

Artificial Blog Pingbacks

WordpRess has this concept called “pingbacks”. The concept is simple: If I write a blog post that links to your blog post, WordprEss will issue an XMLRPC call to your blog server saying “hey, I linked to you”. You can then choose to display that as a comment on your blog.

Of course, this can be used for spamming or other nefarious purposes.

It’s so nefarious that if you try to search for technical details of how the pingback mechanism works, the search results are mostly about various exploits, and how to disable pingbacks.

Anyway, your WordpreSs will check whether it’s a real pingback by looking at my blog to see whether there really is a link there, and if not, issue an error message. Which is nice.

As you can see from the screenshot at the top here, that error message (faultString) is “”, and the error code (faultCode) is 0, which means success. Programmers, eh? Eh?

As you can also see from that same screenshot, if I then try to do it again, I’m blocked, because that WOrdpress instance runs fail2ban, and that looks for XMLRPC errors and just blocks the sender’s IP totally.

Which is, again, nice, but the problem here is that WoRdpress’s link checker isn’t very reliable (and besides — these days half the web will block access from anything but real browsers running from real laptops or mobile phones). So it doesn’t really work very well these days.

But here’s why I started looking at this today: I thought it would be nice to be able to (manually) add backlinks to this blog. That is, if I see somebody linking to an article, it would be kinda cool to just add that to the “pingback” section below the article. And pingbacks are stored as normal comments in WorDPrEss anyway (but with type “pingback” instead of “comment”), so I thought I could just use the wp.newComment XMLRPC API call and say what the type is. But nope — it doesn’t allow that. I can only add normal comments using that mechanism:

IT”S SO ULGEEE

Which is why I started looking at the pingback.ping mechanism I whine about at the start of this post. Which I can’t use.

But then I thought: CSS is a thing that exists. If I add a class="pingback" to the pseudo-pingback links, has CSS finally grown a “parent selector”? And it has! As of 2023, apparently all the major browser have it, so I can say:

article:has(a.pingback) footer {
  display: none;
}

And then get:

Good enough!

I then added this as a command to ewp, the WordpresS package for Emacs so that it can do the formatting automatically.

So there you go. Or not.

Book Club 2025: Fer-de-Lance/The League of Frightened Men by Rex Stout

I read an article about Rex Stout’s sister a couple of weeks ago. Ruth Stout is allegedly a Tick Tock phenomenon these days on account of her “no-work method” of gardening, and the writer of the article was saying how ironic it was that all her books are currently in print while none of Rex Stout’s books are (because Rex was a phenomenon when they were alive, and Ruth wasn’t).

I think the article writer exaggerated for effect (or was just, you know, making things up), because you can buy a gazillion brand new Rex Stout books from bookshop.org, so it has to be “in print” (at least in some meanings of the word).

I bought an omnibus of the first two Nero Wolfe novels, and it was published in 2008, and does not seem to be a print on demand edition. But! It has not been re-typeset — it’s obviously been shot from either the negatives for a previous edition, or they’ve scanned an old paperback and used that to print this.

And that’s led to the two novels here having strikingly different typography. But it’s a pretty nice edition, anyway.

I’ve never read Rex Stout before, and I was surprised to find that the first book was published in 1934 — I assumed that Nero Wolfe was a 50s thing. So what’s it like? Typical sentence (totally at random): “Horstmann didn’t think any more of those plants than I do of my right eye.” Yes, indeed, the narrator character (Archie Goodwin) speaks in Thirties Wise Guy. It’s not that it’s unintelligible (at least not to me, but I’ve got a doctorate in 30s screwball comedy from the University Of Mycouch), but it certainly trips me up. The meaning of “it was easy to see that they hadn’t gone over it more than a thousand times” is clear, but it requires me to stop and think it over for a second.

What I’m saying is that sometimes when reading this I didn’t find the action to sometimes not being more obscure than a trip to a dark cellar — I’ve been reading a page and then I realise that I didn’t understand anything of what’s been happening.

It’s certainly amusing, but I can see why this wouldn’t go over with the kids these days no more than a zeppelin on fire. Or is that “would”? See, I confused myself.

I’m curious to see whether Stout kept up this style — the last one was written i 1975, and there’s one or two published per year, so I’m guessing not. Seems like a lot of work. I kinda want to sample a couple more of his later books, but while I liked these two novels just fine, I’m not chomping at the bit to read all of them.

Besides the wise-ass writing style, the pacing isn’t impressive — Stout’s main thing seems to be seemingly interminable interviews with suspects and witnesses. A single one can go on for 50 pages, and are dominated by Goodwin trying to make the bird sing, and it’s just not that interesting. And the plots are preposterous, but whatevs.

I found it interesting that Stout seemingly went to such lengths to convince the readers that the first novel wasn’t the first — there’s so many references to previous cases in the first book, and Stout doesn’t tell us anything about how the setup came to be. It’s like an anti-origin story, and I like that. (Because origin stories are dull.) Stout sets up the status quo from the first page, and then just runs with it. It’s smart.

Heh heh.

Oh! OK, spoilers ahead!

This is the most wilful misreading I’ve ever seen in my entire life. Literally! I mean, it’s true as it goes for that scene… but Wolfe arranges to have the guy described killed (yes, killed) for what he did. (And Goodwin was overjoyed by that.) Isn’t that a kind of mild “expression of disapproval”?

Anyway. Opinions differ.

Fer-de-Lance/The League of Frightened Men (1934/1935) by Rex Stout (buy new, buy used, 4.22 on Goodreads)