Book Club 2025: Beyond the Light Horizon by Ken MacLeod

This is the third and final book in MacLeod’s space opera trilogy, and it’s so good that I wish the series went on for at least half a dozen more books.

We’re talking proper space opera — huge space ships, political intrigue, mysterious aliens, funny aliens, faster than light travel and all that good stuff. It’s MacLeod’s best books since his first few when he arrived on the scene and everybody went “WHOA”. They’re also quite old fashioned in a way: The emphasis is definitely on the science fiction and not so much on, well, the rest.

As much as I enjoy the Expanse novels — they also had all the good stuff on the list above — they spent a lot of time on delineating how every character had their own separate traumas to get through, and we also spend an entire novel on a dirt planet listening to farmers squabble, and we had important plot developments that were about a teenager being mad at his mom, and… What I’m saying is that that series had a lot of boring stuff mixed in with the fun stuff.

These three books are just the fun stuff. There’s not a single page that’s boring, and the universe presented is so interesting that you just want to spend more time in it to explore it.

That’s not so say that it’s without its problems. The main problem is that there’s a lot of… how to put this… incredibly stupid things happening. It doesn’t matter when you’re reading the books, because they’re so much fun to read, but if you sit down and start thinking about “uhm… why did they have an unstable habitat over Venus powered by a nuclear engine that had a ‘fail safe’ mode that meant that it just shut down and couldn’t be restarted and everybody dies?” then there really is no other explanation other than “they had to be stupid for the plot to happen, so there”. That one happened in the first book, and the third book was perhaps the least stupid one?

But these books are really well written on a page-to-page basis; very exciting reads.

Beyond the Light Horizon (2024) by Ken MacLeod (buy new, buy used, 4 on Goodreads)

Old Man Shouts At Phone

So I was complaining about how stupid the Calendar app on Android is, and somebody (reasonably enough) asked me “but are you using Google Calendar or Samsung Calendar”?

I have no idea. I’ve got a Samsung phone, and I’ve done my best to get rid of all the Samsung apps that are installed instead of the Google apps, but it’s just difficult to say sometimes.

I long-pressed on the icon, and chose “Information”, and I got the above. As we can see, the app is called “Calendar”, and… er… that’s it. Nothing about who made it.

Scrolling down, I get a version number, and “App details in store”, which is a button I can’t press.

Isn’t that… insane? You can’t see anything about who made the app, or what the app’s “actual” name is (i.e., the Java classpath)? (The latter is allegedly possible if you install third party software.)

So I went to the Play app and typed in “google calendar”, and I saw “Google Calendar”… and pressed the first “Install” button there, because I’m a moron.

(Ignore that it says “Installed” on “Google Calendar” — I took this screenshot afterwards.)

Eeek! I didn’t mean to install that “sponsored” Calendar app! How do I get rid of it! There’s no “I didn’t mean to do that” button (that I could see, at least). So I though “hm, perhaps if I long-press that ‘open’ button, it’ll change to ‘remove’ or something”… Yes, you guessed right — that started the app.

EEEEEEEK

Presumably my entire calendar has now been uploaded to nefarious hackers in Minnesota. Hope you find it illuminating!

Anyway, I have to go to the “app search” thing by swiping upwards from not-the-bottom of the screen, and choose one of the three apps named “Calendar”, long-tap it, and remove it.

If you wanted to create a more user-hostile environment for these things, I don’t think you could have? I mean, I understand why they’re hiding the real identity of the apps — it’s so that Samsung can gaslight you on what apps you have installed, right? But man…

The whole thing is just disgusting, isn’t it?

Book Club 2025: The Whitsun Weddings by Philip Larkin

I bought this slender book at a sale in 2019, apparently. I’m pretty sure I got Larkin confused with somebody else, or that I just liked the name — I certainly didn’t know anything about him. But the reason I’m finally reading the book is because I read an interview with Larkin in an old issue of The Paris Review, and he came off as a bit of an asshole.

So naturally I wanted to see what his poetry was like.

Well… OK, I can see why they wanted him to become the poet laureate after the previous one died. (He refused, I think?) These poems seem very… er… I mean, they’re good, but they’re probably also awesome to teach in school? They’re straightforward and leave a lot to be interpreted at the same time.

This one about reading habits as we age is probably an excellent teaching tool, for instance — it’s witty and acerbic… and doesn’t scare any horses.

What I’m saying is that these poems aren’t surprising coming from that slightly assholish guy in that interview.

But I mean, they’re pretty good? They’re fine. I’m a poetry expert.

The Whitsun Weddings (1964) by Philip Larkin (buy used, 3.9 on Goodreads)

Book Club 2025: The Crying of Lot 49 by Thomas Pynchon

I’ve read all of Pynchon’s books before, and this one was the first I read. I think I was around 16, and I remember feeling really smug and a-cultured while I was reading it. So not much has changed!

I read it in translation, and I only remember one single thing about it: The protagonist’s name is Oedipa Maas, which must be the best name in literature.

This book here, though, is a disappointment — physically. It’s a print-on-demand book! But why! Surely Pynchon still sells sufficiently to print it properly every few years? I mean, they wouldn’t do it if that were the case, so, er, not? I’m just surprised.

About half of the “new” books I’ve bought in this buying spurt have been print-on-demand books, which is way, way more than it used to be even just a few years ago, so I guess we’ve reached some kind of tipping point where there’s no point in trying to buy an older book in a newish edition any more? If I’d known that this was a print-on-demand book, I would just have bought a copy from a used book store instead.

So from now on I’m going to head to Biblio.com instead of Bookshop.org whenever I’m looking for a book that’s older than a couple years.

But I mean, this isn’t a horrible print-on-demand edition — but it’s got that slightly icky phthalate treatment of the cover, and the pages aren’t quite flat. It’s just doesn’t feel like completely like a proper book, so I’d rather just have a used edition instead.

Oh, how’s the novel? It’s terrific! All that paranoia and excitement… and so funny and well-written. It’s a delight.

It makes me want to re-read Gravity’s Rainbow… Hm.

The Crying of Lot 49 (1966) by Thomas Pynchon (buy new, buy used, 3.69 on Goodreads)

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…