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?
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.
Kickstarter next Monday so RYOMS has to be at copyedit before then, and my wife broke her leg last week. I’m glad an episode exists, at all.
Email uses several protocols, but only one will routinely give you fits. You control both ends of a Local Mail Transport Protocol (LMTP) connection. You can set up oddball clients to duplicate a user’s IMAP configuration. DNS, TLS, these are well-understood headaches. But the Simple Mail Transfer Protocol (SMTP) underlies all of email, and you can’t possibly build test systems that replicate every whackadoo environment you communicate with. The protocol’s simplicity is a huge part of why it’s so successful, and why it’s so abused. To run your own email system you must understand SMTP’s weaknesses all the way down to your marrow. We’ll start by using the protocol, proceed to abusing the protocol, and discuss status messages, greylisting, block lists, and forwarding.
I’m churning through the tech edits on Run Your Own Mail Server so I can get it to copyedit before the Kickstarter launches, partially because it’s more ethical but mostly because the Kickstarter description says the book is in copyedit and changing that would be too much work.
Ethics of System Administration
I have firm memories of the first time I got root on a mail server, back when the 1.544Mb T1 was the pinnacle of connectivity and my 33.6K modem thrilled me. I thought, “I can’t possibly view everybody’s mail.” I ran more /var/mail/boss and immediately recoiled, guts churning in horror of my appalling power.
Whoever controls a server can see all the information stored on that server. Every system administrator knows this, but in most cases extracting the information is too much trouble to bother. Maybe you’re the database administrator for your organization’s ecommerce system, but you’re probably far more interested in how much space the database uses than who bought what.
Until you’re not.
Unlike a database, examining email stored as text files is trivial. You don’t even need SQL, only privilege and a pager.
(This post went to Patronizers at the beginning of April, and the public at the beginning of May.)
Well, this last month officially blows.
I just got news that Craig Maloney finally lost his fight with cancer. Craig was a regular in our Patronizer Zoom hangouts. The guy had the usual IT cynicism, but it floated on this bed of optimism and hope. I’ve known him for decades, but he supported my work for years before that. The first entry in my title index was a tabletop RPG published in 1992. He bought it when it came out, and it wasn’t until he’d known me for ten years that he realized that I was that Michael Lucas. I gave a talk at MUG shortly after that discovery and he brought his twenty-year-old marked-up copy. Despite that, he had no trouble calling me on my bullshit. He was all about connecting people together and unabashedly loving creativity and art.
Craig made the world a better place. I don’t know if there’s a next world, but if so he’ll do the same there. Plus, there’s a bunch of metal bands out there who can use a drummer. What happens if your drummer explodes in the afterlife? Craig would have loved that discussion.
The cough I mentioned last month? Yeah, it put me off work for three weeks. I avoided classic chronic-fatigue long covid, but my one bout damaged my body in ways you don’t hear much about. Mask policy or I don’t show up. “Cough and you’ll black out–oh, and you have to cough every thirty seconds, even when you sleep” is not fun. Having doubts about my 100 books by 2033 goal, but all I can do is keep plugging away. And not write stupidly complicated books about multiple intertwined stupid protocol stacks, like email.
The good news is, I was able to cram the two thousand words I needed to finish Run Your Own Mail Server into those three weeks. They’re not great words, but they they exist. The book is out for tech review. I’ve requested reviews by 15 April, because that’s also Tax Day and I prefer to pile all my suck into as few days as possible.
The recent vultr rights grab that they insist was not a rights grab has me moving hosting providers. I discovered that bloom.host has great deals on dedicated systems, for about what I pay for hosting all my VMs now. They specialize in gaming servers but 6 cores, twin 500GB SSDs, and 64GB RAM for $99 a month is enough for web and mail servers. Thanks to the glories of zfs send I’ll be replicating my VMs as jails. Some of those jails will have nested jails. It’ll probably lead to a new edition of FreeBSD Mastery: Jails eventually, although it’s clear I’ll need to update the storage quartet before I can write that. Sigh.
Oh, and a proper poudriere jail. That’ll go in there. FreeBSD Mastery: Packaging, anyone?
I’ll still need one tiny VM on a different network as a DNS server. Yes, I know people would offer to host secondary DNS for me, and I appreciate it. But I want the option to switch between the primary server between hosts, so that I can better cope with outages and unplanned migrations. Yes, the hosting company could pillage the authoritative DNS data. I’ll have to take that risk, and laugh in their face if they try it.
But first, I have to finish getting BSDCan infrastructure ready. I agreed to manage the new mail system and promptly fell over. That shouldn’t be too hard to set up, as I now have the core mail knowledge. Migrating from the old BSDCan mailman will be an educational sysadmin adventure, but hopefully with very little screaming into the abyss. (Remember: if you’re not screaming into the abyss, you’re not learning.)
I’ve been focused on tech this year. Sold a couple short stories by invitation, but I can feel my literary brain starting to freeze up. Part of that is my three-week outage. I’m still planning to get the giant fiction epic done this year, and I’ll be starting promptly on a big non-Absolute book for No Starch Press. Amidst that, I have bits and pieces for a second edition of Networking for Systems Administrators. I’ll be doing Kickstarters for Run Your Own Mail Server, a new collection of the FreeBSD Journal Letters column (Dear Abyss), and late this year a weird off-brand book I’ll discuss later.
A few people have had trouble with their credit cards in my store, however. Thanks to a Patronizer who generously donated their time in reproducing the problem, I discovered that the problem is Jetpack. I must accept credit cards. Jetpack is turned off. Which means that those of you who subscribe to Patronizer updates by email rather than RSS won’t get those emails.
It seems there should be a simple replacement plugin for “allow email subscriptions,” but they all run through third party services. I have a mail system. If you subscribe, I can send you mail. But nooo, as far as I can tell nobody’s written that plugin. I would welcome pointers and suggestions for automating this, but for now I’ll be sending an email to all direct Patronizers whenever I publish the monthly posts.
Sigh. Computers were a mistake. But if you’re reading this, you already knew that.
That’s pretty much it. Thanks for backing me. And please stop dying, folks.
This week’s text production is for the Run Your Own Mail Server Kickstarter. I’m also turning RYOMS into a four-hour class for BSDCan and getting into tech edits on same. But hey, at least I’m not falling back on reading an actual published work!
Running your own mail server is not only an act of defiance against some of the largest exploitative companies in history. It is not a mere education in protocols. Email is essential to modern industrial society. By running your own email, you seize control of your communications. You can tune your email to fit your needs, rather than accepting the defaults imposed by a company that exploits you without a speck of consideration for any of your issues. You own it. Running your own email requires only freely available tools, a server, and some knowledge. This book will give you that knowledge.
The hard part of writing a book about a complicated technology isn’t the tech. It’s not even explaining how all the pieces fit together, although that’s extra challenging for email. It’s finding an overarching metaphor that fits the problem under discussion.
It is a truth universally acknowledged, that a nerd with fifteen projects underway and a day job must be in want of a self-managed mail server.
Great story! But not for this book.
The RYOMS Kickstarter goes live 20 May, runs for 20 days, and is the only way you can get a signed book outside a meatspace encounter.
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.
The Prohibition Orcs Kickstarter offered a stretch goal of “I will write an orc baseball story.” The story went to backers at the end of December, and now I’m releasing it to the public. As with all my standalone short fiction, it’s exclusive to my store.
“Fair Balls” contains baseball! Found Meat! Pure orcish wisdom, shared beneath the Sun. All in the name of that darkest of arts: “reading.”
What’s a novelette? Too long to be a story, too short to be a novella. The weird midrange crap that trad publishers sneer at.
I’ll be at Penguicon this weekend. Come by, say hello, buy a book or heckle a talk. All talks are fifty minutes.
Friday, 26 April
5 PM: hang out in bookstore
7 PM: Reading (Orcs? Tech advice column? Nonfiction? Who knows?)
Saturday, 27 April
10 AM: The Good, the Bad, and the Yikes: 20th-Century SF (panel)
11 AM: How I Make a Living Writing
1 PM: How to TLS when You Don’t Know TLS (my talk, given by Bagel Garrison)
2 PM: BSDCan Concom Call (Not a Penguicon event, but it’s where I’ll be)
3 PM: Run Your Own Email Server
4 PM: Prying Money Out of an Indifferent Public: Self-Promotion for Creators (panel)
6 PM: It’s Always DNS, and What to Do About It
Sunday, 28 April
hang out in bookstore
The “hang out in bookstore” blocks are actual work, sort of. I watch over other folks’ books, they watch over mine. If you want to buy a book send money via Paypal, show the watcher your receipt, and walk out with the book.
I’ll have a select, uh, selection of books, the sort of stuff that usually sells at Penguicon. If there’s a particular title you want, let me know in the next few days. I’ll bring a copy with your name on it. Otherwise, I might not be bringing that book at all.
Today we have a chunk from Run Your Own Mail Server.
Email clients like Outlook and Thunderbird expect to communicate with a fully functional mail system. You don’t have one yet. Testing your IMAP configuration requires a client that handles IMAP separately from sending mail. If you are already cozy with your preferred mail client and can make it test receiving separately from sending, use it. Configure an IMAP account in your client, try to connect, and see what happens.
If you don’t have such a client, I recommend mutt (http://www.mutt.org). One advantage mutt has over other mail clients is that you can run it on the server, letting you test features like IMAP and mail submission without worrying about the network between your desktop and your server. You should have already configured your packet filter as discussed in Chapter 1, but you couldn’t test it until something was listening on those ports.
Mutt is a command-line email client, by default displaying only text. That’s fine—the question is not “can we view the pretty spam?” but “can we log into IMAP and view our messages?”
With any luck, I’ll have a Kickstarter notification page next week.
I have done no writing this week. My gig as BSDCan con chair sucked up my time. Next week, I’ll be going through Run Your Own Mail Server tech edits. I can probably find a snippet of new text then.
These weeks happen.
Rather than skip the podcast, I chose to read something already published. My goal for this silly thing is to learn to read casually, after all. So here’s a chunk from Forbidden Taste, a Prohibition Orcs tale available exclusively in the collection Apocalypse Moi.
If the humans took offense, Uruk would wake without her. Her boys would return from school to find a dead stove and empty pot. Her clan would never know what happened to her.
She could return to the tenement. Let curiosity gnaw all her days. Her heart thudded against her ribs like an angered sow protecting fresh piglets, making her vision throb.
Or she could choose this war.
Vara took a deep breath and unbuttoned her coat.
January sliced deep, cutting through her canvas pants and both burlap shirts and digging for bone. Vara’s sweat burst into steam, instantly ripped away. She held her coat open, offering January her warmth even as the ache settled into her ribs and thighbones. “I choose this war.” Shivs scraped up her sleeves. January might not be as rapacious as October, but if Vara denied the Dead Month its due, January would claim it another way. “This war is for blood.” She commanded her shivering fingers to still themselves. “This war is for life.”
Yes I’m a full-time writer, and I do my best to stick to the pulp tradition, but I do have non-writing weeks. Sometimes there’s a non-writing month. I’d like to ask all four of my listeners if they mind me falling back to published works in those weeks, or if you would prefer I skip the podcast? Comment below to let me know.