“Run Your Own Mail Server” off for tech review

I just finished the first draft of “Run Your Own Mail Server.” Copies have gone to my volunteer tech reviewers and my sponsors.

When I need to mass-mail my sponsors, I normally can only mail a dozen or so at a time without making Google and Microsoft throw a fit. This time, I mailed all 147 sponsors at once. None of the big providers even looked askance.

Requested feedback by 15 April, just to make tax day extra special. That’ll let me open the Kickstarter by Penguicon.

February’s Fantabulous Sausage

(This post went to my Patronizers at the beginning of February, and the public at the beginning of March.)

Last month, I made plans. Immediately thereafter, life gave me a surprise.

Since my last doc visit in June, seems my blood pressure has doubled. It’s been 80/110 my whole life. Suddenly it went to 130/190.

What changed?

I had my first bout of covid, that’s what.

Fortunately high blood pressure is a well understood problem. I am resistant to the medication, but it’s been dragged out of “holy crap your brain is gonna explode” territory down into “well, that ain’t right” and we have hope it’ll reach normal before too much longer. The long term impact is real. The effort to arrange my life so I can be properly productive remains in place, though. I’ve had to slow down a bit. The drop in blood pressure has left me with orthostatic hypotension, which is great fun for a martial artist who specializes in throws and falls. Been focusing on tai chi and physical relaxation.

In some ways, that physical relaxation will be most difficult. The hip-height split keyboard works well for pure word production. I’m using them right now. I carefully placed them at a height where they only work if I relax my shoulders. Using them involves a tiny bit of knee flexion, but that’s actually preferred. It ensures I don’t lock my knees for eight hours straight. The problem is, “relaxed arm dangle” height corresponds with “tense your shoulders the way you shouldn’t, and hunch the way you also shouldn’t.” Martial arts practice has given me a decent posture, which in turn has helped me avoid myriad health problems caused by desk jobs, and I need to maintain that.

So: NO HUNCHING.

I’m still planning to publish a crapload of books this year, though. I might publish more than were on last month’s plan, if certain things work out. I totally forgot about one book that’s damn near ready to go to production. I need to finish the mail book first.

And how goes the mail book?

It’s my only writing project at this time. I’m cranking on rspamd. Rspamd is a seriously complicated program, mainly because people are complicated. It requires tuning. Some useful features are disabled for privacy reasons, and enabling them means explaining more than I had hoped. Rspamd has no single consistent management interface: some tasks can only be accomplished in the web interface, while others are limited to the command line. Technically, fetch http://localhost:11334/symbols is on the command line, but it gives you a file of compact JSON. Trying to grep that for a symbol name is not productive. I’ve been pointed at jq as a solution, but that’s another daft thing I need to figure out. It’s all a process of figuring out what I need to explain so I can explain what I need to explain, sigh. I’m spending the time to dig up solutions for command-line-based management wherever possible.

I’m still hoping to finish the first draft before family matters drag me to Las Vegas mid-February. I don’t know if I can do it. The blood pressure meds leave me a little woozy. Not sure if it’s because of the meds themselves, or if I’m acclimated to high pressure and returning to normal is destabilizing. Either way, it’s costing me time. Dealing with spam takes time and experience. While I use rspamd elsewhere, never before have I used it methodically. But once I finish that, the rest should be a matter of spewing the words onto the paper.

At least I have my email entirely switched over to the shiny new host, which is a good line to cross.

If you happen to live in Las Vegas, by the way, you’re welcome to have gelato with me on the 17th. 7PM. Details will be posted on my blog.

And if you don’t follow my so-called blog, I finally have an index of all my titles. It’s sortable by title, year of publication, fiction or non-fiction, and even length. I don’t know why you’d want to sort by length, but it was easier to leave that option than turn it off. Building this served as a double-check of all the titles on my site. No, I didn’t do the work myself: this is the first public-visible project completed by my Competent Assistant, and it’s something folks have begged for for years. I wasn’t ignoring y’all, I just didn’t have the information.

Dang. I’m hunching again. Stop it, dude.

I’ll blame WordPress. Because blaming wordpress is not always correct, but it is never wrong. Not as fiercely “never wrong” as always blaming Oracle, but never wrong.

I submitted a few talks to my usual conferences, Penguicon and BSDCan. Some of them involve email. It gives me a deadline for getting the book in people’s hands. If I can’t manage print by then, I at least want the Kickstarter going for Penguicon. Or a Kickstarter. I’m running enough of the damn things.

That’s all the news. Seriously. No big business decisions, no projects ready to announce. I’m just keeping on.

The end of the Findaway Voices saga (hopefully?)

See part 1 and part 2 for context.

Last night Findaway changed their terms of service last night to something mundane, but it doesn’t matter.

I’ve worked with developers for decades. Developers do extra work, but only certain kinds of extra work. They will rearchitect your entire front end in Rust and Pascal for the sheer joy of it. What they won’t do is change the terms of service for the fun of it. That’s boring.

I know several lawyers who have fun drafting proposed contracts. This isn’t that.

Someone came to the Findaway web site developers and said “Add a popup with these new terms of service.”

Were those ToS an error? If they were identical to the Spotify ToS, then I’d accept a copy-and-paste goof. They were not. Someone wrote them.

Additionally, it was pointed out that opting out had a 30 day lag, and the announcement was made 30 days before it would take effect. If you didn’t catch it immediately, Spotify would assimilate your work.

Lawyers are accustomed to negotiating with other lawyers. Everybody starts by asking for everything, they bat it back and forth, either meet in the middle or amicably end negotiations. The initial ask includes things that they know they won’t get, and things that they can discard so they can show they’re being reasonable. It’s a dance.

These online terms of service from tech companies? They start the same way, but they’re negotiating with the public. They wait to see what gets pushback.

They’ve shown us what they want to achieve, and it’s antithetical to our art and our craft.

Spotify has no pointy-clicky way to delete books from their inventory or your account. You can go in and delete the individual MP3s, however. You can change the cover art and description to Removed Because Spotify’s Business Practices are Unacceptable. You can then email support@findawayvoices.com and ask them to delete your account.

Hopefully, I am now done blogging about this.

I hear that Author’s Republic, which imperfect, has viable options. I haven’t read their ToS, though. You should read them for yourself, and ask how they’ll be used against you.

Findaway Voices followup

Yesterday I posted about Findaway Voice’s rights grab. Last night I received this email from Findaway Voices.

Earlier today, we shared planned updates to our Findaway Voices by Spotify. Terms of Use that are set to take effect on March 15, 2024. Our goal was to introduce language that would allow us to offer authors innovative features, improve discovery, and provide promotional tools such as share cards while assuring authors that you “retain ownership of your User Content when you post it to the Service.”

In the hours since, we’ve received valuable feedback, and we understand that there is confusion and concern about some aspects of this language. We want you to know that we hear you and are actively working to make clarifying updates to alleviate your concerns.

We are deeply committed to your success on Spotify. In the meantime, please stay tuned for more details.

I’m not going to bother ripping this apart line-by-line, but I will comment on “confusion and concern about some aspects of this language.” We are concerned because there is no confusion. I am not a lawyer, but I am accustomed to reading rights agreements. They haven’t even agreed to delay the implementation of these license terms. Those terms were reviewed by a lawyer and were not mistakenly uploaded by some overworked developer. A press release does not override a legal agreement.

It’s been suggested that this was an example of a lazy lawyer copying from an existing agreement. A person’s motives don’t matter. Only the harm they inflict matter. And if Spotify has this boilerplate lying around to copy from, that’s a really bad indicator.

I have no doubt that they will follow up with something less objectionable, but the problem is: they’ve shown their goals. They have written down and showed us what they want to achieve, and it is hostile to writers making a living.

Many musicians dislike Spotify. I can’t say all of them hate it, because there’s always an exception. Multiple musicians have removed their music from Spotify. Taylor Swift pulled her music from it. It reappeared without explanation, which is business-speak for “after years of discussion we negotiated an acceptable deal that included an NDA.” Good for her.

My first book came out in 1992. I’ve been through the business wringer. When I have a business question these days, I ask myself “what would Taylor Swift do?” (Or WW James Patterson D, depending on the problem).

Corey Doctorow made a splash with his neologism enshittification. It’s short, punchy, and has great emotional impact, but the concept is not new. Every public corporation in the Western world has the goal of permanently binding customers to them. They want to be the sole customer for their suppliers. Every company has tried this, for decades if not centuries. Ubiquitous computing and digital distribution of art has given them a huge new tool.

Remember that you don’t write books. You create and license intellectual property. Read the Copyright Handbook. The new edition is on top of my TBR pile.

My strenuous advice to everyone is: do not become dependent upon any one business partner. Be able to pivot at any time. Do not take bad deals that lock you into a single customer or allow others to pillage your intellectual property. Those Spotify terms? They allow any use of your audiobook. Run it through text-to-speech and then through text-to-video AI. Poof, there’s the movie. It’ll be a bad movie, because film is a distinct art from books, but its mere existence will hurt the value of your film rights.

I set up my own bookstore a decade ago, and spent ten years refining it. I turn down bad deals from publishers.

Writing is a long-term game. A career in creativity is the greatest life I can imagine, but it takes decades. If you need money now, rob a billionaire. My goal is to spend the rest of my life doing work that I enjoy. That means telling the exploiters “no.”

Dear writers: Delete your Findaway Voices account NOW

[update in next post]

When Findaway Voices first appeared, it made it comparatively easy for independent authors to do audiobooks. Audio was still hard, mind you, but it was possible.

Spotify bought Findaway. They began playing with payments, refunds, and returns. And now, the licensing terms have changed.

Accordingly, you hereby grant Spotify a non-exclusive, transferable, sublicensable, royalty-free, fully paid, irrevocable, worldwide license to reproduce, make available, perform and display, translate, modify, create derivative works from (such as transcripts of User Content), distribute, and otherwise use any such User Content through any medium, whether alone or in combination with other Content or materials, in any manner and by any means, method or technology, whether now known or hereafter created, in connection with the Service, the promotion, advertising or marketing of the Service, and the operation of Spotify’s (and its successors’ and affiliates’) business, including for systems and products management, improvement and development, testing, training, modeling and implementation in connection with the Spotify Service. Where applicable and to the extent permitted under applicable law, you also agree to waive, and not to enforce, any “moral rights” or equivalent rights, such as your right to object to derogatory treatment of such User Content. Nothing in these Terms prohibits any use of User Content by Spotify that may be taken without a license.

Spotify may now do anything they want with your audiobook. They will–not can, will–feed it to their AI system and use it to rip off your work. They specifically declare you can’t complain about derogatory uses. They can mix your book with work you find abhorrent and release it as a new product. They can use a speech recognition system and create a printed version of your book.

I have one audiobook. I pulled it from distribution when the royalties problems started and I stopped getting paid. That audiobook became exclusive to my store on 17 January 2023. It has fewer sales, but I’ve made more than I did in all the years before. (“But exposure,” some folks will say. People die of exposure.)

It’s not enough to stop distributing your work via Findaway. If you use them to store your audio files and nothing else, the new terms apply. They have no automatic option to delete titles from their site. I just sent this email to their technical support.

Hello,

Findaway’s new terms of service are unacceptable. Please delete my
book and my entire account.

Thank you.

No need to be rude. It’s not the tech support flunky’s fault.

Also, I’m super happy with how my one lone audiobook came out. If it sold more, I’d do more.

Las Vegas NV Gelato Meetup, 17 February 2024 at Cocolini

A few weeks ago I posted that I’d been sentenced to a week on the desolate Lost Vegas Strip.

There’s an outdoor gelato place near my cell: Cocolini. Apologies for the Meta link, but that’s what they got. It’s at 3717 S Las Vegas Blvd, Las Vegas, NV 89109.

You see that corner in the lee of the sidewalk? Right under the NO TRESPASSING NO LOITERING sign, in between the ads? I’ll be hanging out there at 7pm this Saturday night, 17 February. If you want to meet me, that’s your chance.

In the event there’s a crowd there for some daft reason, I’ll be hanging out on the other side of the walkway by the other NO LOITERING sign. Signs forbidding loitering are great places to hang out, because very few people hang out by them.

I leave Vegas early the next day, so it won’t be late. I have no idea what the crowd will be like. I’ll only meet people outdoors, though, and that’s the best spot I found in my busy two hours of walking around.

Everything, With Banana

A decade ago I looked at everything I’d written and said “How tall is a stack of one copy of everything? Waist high? I wonder… if I include one copy of every edition of everything I’ve published, can I publish a stack tall enough to drown in?” I achieved that in 2022.

Today I would like to say: if I had not quit putting my short stories in print, today’s stack would be safely wedged against the ceiling and I wouldn’t be stuck holding it.

Every time I publish one of these people ask me questions like, “how tall is that?” I don’t know, I’m too busy holding the damn thing up to measure it. “Well, how tall are you?” Tall enough that my feet reach the ground. “How tall is that bookcase, then?” Dude, ask freaking IKEA, I have no clue. In an effort to forestall these and all related questions, here’s the same shot but with a banana, for scale.

I’m not going back to put last year’s stories into print just so I can achieve Load Bearing Heap. I need to write new things.

Mail Software Projects for You

Working through the tail of Run Your Own Mail Server has led me to a couple things I’d like to see. Maybe some reader would like to hack on one of them.

1) The best way to generate a list of hosts that should bypass Postfix’s intrusive protocol checks, or anything that resembling greylisting, is the postwhite. Postwhite has been abandoned for years, though. This isn’t exactly a problem, as it’s feature-complete and does the job. The configuration is clunky, though. It supports a long-obsolete list of Yahoo mailer addresses. The list of domains it generates lists for is hard-coded in the script, and artificially broken up into categories like “legit bulk mailers,” “social media,” and so on. You should not have to edit the script to remove a domain, because who accepts mail from LinkedIn these days? You shouldn’t have to edit the script for anything. The last edit to this was six years ago, so I suspect it’s basically abandoned.

Moving the domains to an external file and dropping the defunct Yahoo page would be good. If you have to fork it, using a meaningful name like “greyskip” or somesuch would be nice.

2) Postfix on FreeBSD supports blacklistd. That’s grand. Log parsers are inherently fragile, and libblacklist is the smart way for an application to declare that an IP address is misbehaving. The Postfix support only applies to authentication attempts on smtpd, however. I’m in favor of that, but I’d also like to see postscreen grow libblacklistd support. A host on a trusted DNSBL pokes our mail port? Block it.

I could do #1, but I lack the time and refuse to recommend my fault-oblivious code for production. I lack both skills and time for #2.

The truth is, we’ve limped along like this for years. We could limp for many more years. But hey, someone out there might want to make the world suck slighly less.

Block list vs black list in my books

Open source software has been adjusting its language. In a world without systemic racism, technologists could use words like “master” and “slave” without worries. While the Internet’s primordial developers chose those words without malice1, we don’t live in that world. Much of the software in Run Your Own Mail Server is older, however. Many people who don’t speak English natively don’t fully understand the implications of “black list” and “white list” and don’t want to go through the annoyance of changing them in large code bases.

Part of my job is to be easily approachable to all readers who connect with my voice.2 That means using language correctly. block list.

Another part of my job is to tell the truth. The software calls it black list. No matter how hard you search, you will not find rspamd’s block list.

I’m not going to reject rspamd or postwhite because of their language. To do so would inflict extra pain on my readers. So I’m putting this (raw, unedited) text in Chapter 0.

Today, we use the term “allow list” for entities that are permitted to skip a layer of protections, and “block list” for entities that are categorically refused. Many older programs and some software developed by non-native English speakers, still use the older blacklist and whitelist. This book uses modern language except when configuring those programs. Do please encourage your favorite developers to update their language to the 21st century, however.

This is the same approach I used in the latest Absolute FreeBSD with my beloved blacklistd, but made explicit. Also, blacklistd has been renamed. Even we greybeards can do better.

I much prefer using consistent language throughout, but reality has its own opinions.

Comments defending the old language will be summarily deleted. You also acted without malice? Fine. Now you know better. Do better.