“Run Your Own Mail Server” Kickstarter Update

Pessimism is the path to happiness. Either you have the pleasure of being correct, or you are delightfully surprised.

I had hoped that the Run Your Own Mail Server Kickstarter might bring in several thousand dollars. I dreamed that if I was lucky, over the twenty days it would raise as much as the Prohibition Orcs Kickstarter. After all, this book had been heavily sponsored. I had exhausted my market.

But Kickstarter is a discovery platform, and was worth trying.

One week into this thing and it’s raised $29,731 from 719 people.

I am stunned. And my family can sure use the money.

Anyone who backs the campaign at $15 or more gets not just RYOMS, but ebooks of Networking for Systems Administrators, Ed Mastery, and $ git commit murder. At $32,500, I’ll add an ebook of PAM Mastery.

I would appreciate folks sharing this Kickstarter on their social media, discussion boards, chat rooms, IRCs, or whatever y’all use. It’s one heck of a deal.

People talk about “life changing money.” This isn’t that. But it will let me take a long, deep breath and relax.

Thank you.

“Run Your Own Mail Server” Kickstarter is live!

Run Your Own Mail Server is the most heavily sponsored book I’ve written. Mostly that’s because sponsorships were open for longer than any other book. This gave me doubts about running a Kickstarter. Was I going back to the same people? Would anybody back it?

I launched the Kickstarter at 7:04 EDT today, and just had to update the banner image.

So, yeah. The people who will sponsor are not the same as the people who will back on Kickstarter. Though it occurs to me that during the backer survey, I should ask folks if they want to be on my sponsor mailing list. And my nonfiction mailing list.

“Run Your Own Mail Server” Kickstarter prelaunch up

Pretty much what the subject says. The Kickstarter page is up. If you do Kickstarter and want to know when this goes live, hit the button.

Why do both sponsorships and a Kickstarter? Different people have different comfort levels with different options. Some folks want to make the book exist. Some folks want to get the book as soon as it exists. Some of you want a vague awareness that the book exists so yuo can more easily avoid it.

If the Kickstarter does well enough backers will get an online launch party/Q&A, additional ebooks, and more. Rewards will include the book in ebook, paperback, or hardcover, signed or unsigned, Eddie Sharam’s original cover art, or (for the truly deranged) a complete set of all current IT Mastery books.

I will not be doing direct sales off my web site, the way I did with OpenBSD Mastery: Filesystems. Trying this instead, to see if the social element outweighs Kickstarter’s 8% fee. Even if you’re not a Kickstarter user, I’d appreciate you sharing the link with those who might be interested. Thank you.

“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.

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.

“Run Your Own Mail Server” technology stack

I’ve churned through much of the general stuff about email, and am about to dive into specific configurations and examples. In some ways, the protocol background is the hardest part of any book. Orienting the reader to understand the configuration examples and make their own decisions is a pain–though front-loading the hard stuff simplifies writing the rest of the book.

But this means I need to make final decisions on the book’s technology stack.

Postfix (backed with MariaDB) and Dovecot are absolutely in, period. But there are dozens of implementations of DKIM and greylisting and antivirus, of varying sizes and inclusivity. Postfix supports the milter interface, so there’s an overwhelming pool of plugins. Options, options!

I’m leaning towards rspamd, and providing antivirus and dkim through it.

One of the core Unix philosophies is “many small tools that each do a single thing well.” Rspamd is easy, but it certainly isn’t small. How much difference is there between “plug ClamAV and SpamAssassin and greylisting and SPF and OpenDKIM and RBLs into Postfix’s milter interface” and “plug ClamAV and greylisting and SPF and DKIM and RBLs into rspamd’s interface and milter rspamd into Postfix”? Not a huge amount. Either way, you can see all the connections and have source code to all the tools.

Then there’s the web IMAP client. Today’s contenders seem to be Horde and Rainloop. Horde is heavier than necessary. The free version of Rainloop is nice, but it’s commercially backed and I worry about enshittification. I’m not predicting that they will turn on their customers, but including such products in a book has burned me. Many times.

Anyway, that’s where the book is and what I’m doing. The obligatory reminder that you can still sponsor RYOMS.

More Stuff In My Ebook Store, and a mega-deal on Absolutely Everything

You can now get my in-print short stories and novellas (aka “chapbooks”) at https://www.tiltedwindmillpress.com/. The coupon code ZONLESS will get you $1 off each of the short stories. Yes, it works multiple times. Buy 5 shorts, get $5 off. There’s also a bundle with all of them. I’ll have a blog post in a day or two about the economics of this. The math is ugly, but putting them on my store makes it less ugly.

You can also get the Absolutely Everything bundle. It contains Absolutely Everything on the site, for over $50 off. Tech books. Novels. Audiobooks–er, audiobook. Everything.

As a special offer for my previous customers: if you have previously purchased the current editions of items in the Absolutely Everything bundle, or smaller bundles like Total Mastery or All the Novels and Collections, and would like to upgrade to Absolutely Everything, email me at mwl at mwl dot io from the email address used in your account. Use the subject “Absolutely Everything.” I will give you a coupon code for the value of current editions of what you’ve bought from the store, valid for your account, good until the end of May 2023. If you bought the newest SSH Mastery and Sudo Mastery direct from me for $9.99 each, and want the whole thing? I’ll give you a coupon for $19.98.

This offer expires at the end of May 2023. (I would like to offer this permanently, but I need a way to automate it.)

For the record, I would like to be wrong about the Absolutely Everything bundle.

When I first put up the Total Mastery bundle I thought This is stupid. Nobody unfamiliar with my work is going to come in here and buy all my tech books in one lump. People keep suggesting it, so I’ll try it just to shut them up.

I was wrong.

I sell a few each month. Someone comes to my store searching for, say, SSH Mastery, sees the bundle, and decides to splurge/invest/binge.

People also suggested that I put up a bundle of fiction. Fine, the novels are in the store, I’ll bundle those too. I was confident nobody would buy them.

Again, I was wrong. A few each month.

I am confident that nobody will buy Absolutely Everything. Being wrong would delight me.

Sponsorship Open: “Run Your Own Mail Server”

The title kind of says it all.

I have also made an early draft of Chapter 0 available to help explain what the book is and is not. Before you start sending me corrections, check the disclaimer at the top.

Despite inflation, I have not raised the price of sponsorships. I have passed through the shipping charge for print sponsors, however, so I’ve totally raised the price. But it’s transparent, and relative to where you live. Note that the shipping is per-continent, not calculated live. I can’t calculate shipping for something that doesn’t even exist yet.

And yes, I’m building a Kickstarter into this book’s production plan. That will be more of a pre-order, although I do have some thoughts on how I can use Kickstarter to enhance the book. The Kickstarter will replace a direct pre-order, as an experiment.

Running your own email is a struggle against an opponent you can’t see. That’s why the cover is a take on Battle of Vimy Ridge. You’ll be able to buy Eddie Sharam’s original painting, either through the Kickstarter or direct auction. It will be a full wraparound cover, but here’s the first draft of the front.

Now, if you’ll pardon me, I have to go shell gmail. Uh, figure out why they’re not taking my mails, I mean.