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

Sixty Seconds of WIP, 21 June 2023

Welcome to a new intermittent feature, to be posted whenever it amuses me to do so. Here’s me, reading sixty seconds of the current work-in-progress. In this case, it’s Run Your Own Mail Server.

You should blame Allan Jude for this terrible idea. I know I do.

I considered posting these on Tiktok like the cool kids do, but you can’t complete signing up for an account in a web browser so that’s a hard no without a disposable tablet.

“Treat The Rats” updated

My ebookstore has an item where folks can buy our rats treats and supplies. A few folks wanted to know how the money would be spent, so I’ve added options where you can buy specific items.

I decided to not include the $300 “Whole Roast Pig” item, because while a video of Croghan doing his magnificent “Alien chestburster” imitation would be adorable, some of you maniacs would actually get together and buy one. Besides, I firmly believe that nobody should eat anything bigger than their own head.

“New products RSS Feed” on my ebookstore

Today, in “minor tasks completed:” The front page of tiltedwindmillpress.com now has a link to get notifications of new products via RSS. This will show you everything. Sponsorships. Tech books. Short stories. If I must destroy and recreate a product, it’ll appear. When I release something new that requires me to destroy and recreate a bundle, like adding a title to Total Mastery, you’ll see the new bundle.

But it’s a guaranteed way to not miss anything. On your own head be it.

You can subscribe to the feed here.

Tomorrow night: mug.org talk on OpenBSD Filesystems

I’ll be doing my talk about OpenBSD filesystems tomorrow night, for mug.org‘s online meeting.

I expect this will be the last time I give this talk, but MUG does a decent job of recording so you can catch it later on YouTube or wherever. But if you show up in person, you can ask inconvenient questions like “when are you going to learn to write?” or “have you considered truck driving school?”

Organized Freebies

It’s taken a while, but I finally have all (I think) of my (supposed-to-be) free stuff organized (ish) on a single page.

I use freebies the same way Costco does, in the hope that you’ll try a taste and return for more. You can get a few free titles from my e-bookstore or other, lesser retailers. If you sign up for my nonfiction mailing list, I’ll offer you a free copy of Tarsnap Mastery. The fiction list gets you seven free stories over six weeks. The email marketers call that an “onboarding sequence.” I call it “Seven stories is a lot, let’s break that up into something manageable.”

Anyway. Free stuff.

Organizing freebies isn’t just about luring people into my literary clutches, though. I’m looking at Kickstarting another short story collection this summer, in part to make some dough but mostly so I can unpublish a bunch of chapbooks. I’m seriously thinking that from now on, my short stories will be exclusive to my store. I want to publish them–one, so folks can get them, but two, so I can experiment with book design. But the maintenance overhead of publishing them on all the different stores is dreadful.

But the mental load of publicizing a short-term deal like a Kickstarter is also dreadful. I loathe asking for money. No, not hate. As Terry Pratchett said, “hate is an attracting force, just like love.” I loathe it. I don’t want anything to do with it. Promotion destabilizes my creative energy. This time around, I’m planning to end each promo piece with a link to my freebies page and a note along the lines of “If you don’t want to give me dough, please grab something for free.” I’m hoping that it let me feel better about pulling a filthy capitalism twice daily.

The pedantic will note that these books aren’t truly free. You must make an account somewhere to get them. And–yes, that’s true. I’m a business. Giving me money requires making an account somewhere. Meet me in a dark alley and slip me $20 and I’ll hand over a brown paper bag containing a book, sure, but online commerce requires accounts. For what it’s worth, my store’s privacy policy is the one I would like other retailers to use, and you can delete accounts in my store.

Anyway. Freebies. Look for the Apocalypse Moi Kickstarter later this summer.

May’s Moderate Sausage

Each month, I write a blog post for my Patronizers. I want to say it provides unique insight into my process and business, but “See the Sausage Being Made” has turned into more of a monthly summary combined with my usual on-brand ranting. With my Patronizers’ kind permission, a month after they see the posts I’ll be sharing them here. If you find this of any interest, please check out my Patronizer benefits.

Greetings and felicitations to my esteemed Patronizers.

Been working solely on “Run Your Own Mail Server.” I think I finally have an order for the content, which makes the actual writing possible. I’ll have cycle back and backfill facts, but the skeleton should hold.

This part of the process always surprises me. Who thought I would need to explain the message-id header before installing Postfix? Not me, until now.

My muse smacked me with a special edition of this book. Not as special as the Networknomicon, but nothing is. Fortunately. I can’t afford to do that again. It’ll need some special art and a bit of writing, but my focus group laughed themselves silly so I think it’ll work. It’ll only be in print, and only for print-level Patronizers, print sponsors, and high-level Kickstarter backers. I’m contemplating making the Kickstarter version maybe $120, so that the sponsors feel like they got a deal. Print-level Patronizers already know they’re getting a bad deal.

I can promise that the special edition is not a silly Mail/Male pun, however.

Fortunately, my covid aftereffects are minimal. A brush of fatigue and a touch of vertigo. I’m back at the dojo two nights a week, with occasional forms at home. I’m pretty darn sure I escaped long covid this time, but am being cautious in restarting.

A few months ago, I proposed making these posts public on my blog a few weeks after you see them. I received no negative comments and a few positive ones, so I’ll be doing that. When I remember.

Since recovering, I’ve spent a bunch of time on the book manuscript and a little organizing the free stuff on my web site and adding most of it to my e-bookstore. I didn’t bother with the freebies on my store for years, until I was working on my publishing talk for Penguicon. My first Patronizer tier says you will “See the Sausage Being Made,” so here’s a particularly solid chunk of sausage.

My goal is to spend my life doing work I enjoy. That means I’ve had to learn some things I would rather remain ignorant of, and apply them to my trade. Disintermediation is one of those concepts. I want you to pay for my books with as few middlemen as possible. How do I accomplish this? Marketing experts have a Customer Acquisition Funnel, and I have a similar Reader Acquisition Funnel.

  1. Read my free or discounted samples (articles in magazines, free first in series, sample pages in bookstore, library check-out)
  2. Buy my books through retail channels
  3. Social media follow
  4. Sign up for my mailing list
  5. Buy books directly from me
  6. Kickstarter
  7. Sponsor
  8. Regular monthly contributor (you folks!)
  9. You do all my chores so I can write more

I just realized this funnel has nine rings, exactly like a famous legendary funnel. I promise that my ninth ring is not eternally frozen. I live in Michigan, it’s only frozen for half of the year.

My goal is to make the mouth of the funnel as broad as reasonably possible. With fiction, that’s straightforward. Now that the Prohibition Orcs books are out, I’m working on making the first orc story free everywhere. If someone reads the tale, gets to the end, and wants more, they’ll see the friendly note at the end of the tale inviting them to check out the full-length books. Nonfiction is less blatant, but that’s why you’ll see articles in places like the FreeBSD Journal. I also give mailing list subscribers a copy of Tarsnap Mastery to give them a taste of what my books are like.

A business school graduate would say that the readers at the bottom of the funnel are more likely to buy more of my books. I acknowledge that’s true on the spreadsheet, but the only way I can guide people to back me the way you folks do is by providing a quality emotional and educational experience. Yes, my nonfiction is emotional as well as educational. The emotion is why certain folks hate my writing.

Anyway. Someone encounters my work, buys a few books, perhaps follows me on the fediverse, signs up for my mailing list, and eventually starts paying me to exist. Like you wonderful people do. At each stage, I gently make them aware of the next level.

I was spelling this out for my Penguicon publishing talk when it hit me: people who get my free things from my e-bookstore? They are in the funnel’s first ring, and if they like the sample are willing to immediately leap down to the River Styx — uh, my fifth ring. MY fifth ring. Not Dante’s. By providing the freebies from my store, I make that leap easy.

The lesson? If you’re wondering what to do, review the basics.

I leave for BSDCan in a few days. I enjoy BSDCan, but the reason I’m attending is one, we have a fierce mask policy, and two, I can drive. The pandemic’s still on. If you’re there, do say hello. If you’re not there, see if you’ve read my free stuff. It would be a shame if you folks down in Malebolge never visited Limbo.

And now I want to write a book on the business of publishing, themed after the Inferno. Dammit Muse, I don’t have that kind of time! This mail book needs finishing!

BSDCan 2024 Reorganization

Dan Langille has spent a good part of the last twenty years on BSDCan. We’ve had other BSD conferences in the Western Hemisphere, but BSDCan is the most consistent. Covid interrupted it, but only because Dan coordinated with EuroBSDCon to have a single online conference in 2021.

This is a lot of work. Dan’s life has changed.

Dan is stepping back from organizing BSDCan. I am taking over coordinating 2024.

Note I did not say “running.” Running an international conference is a job best accomplished by a team. A large team. Dan set up BSDCan 2023 with himself and Adam Thompson, and ran it with assistance from Dru Lavigne and Warren Block in registration, and Patrick McEvoy and Andrew Fengler in streaming. I am not nearly that tough.

Instead, we have assembled a team of seventeen people to be the BSDCan 2024 Operations Team. Dan will become our source of knowledge, telling us who to talk to at the University of Ottawa and where to reliably get T-shirts locally and which caterers are most likely to cause indigestion. I am pleased that Adam, Dru, Warren, Patrick, and Andrew all cheerfully agreed to continue in their roles. (Adam’s work of coordinating travel and accommodations for the speakers will be split among a few folks, led by Adam.)

My entire job will be to coordinate the team, help them gather resources, and mediate conflicts between them. Every person on this list is motivated to make BSDCan 2024 happen, but even the best-intentioned folks can disagree. If required I’ll make final decisions, sure, but if my decision makes people unhappy, I have no doubt that the esteemed program committee will tell me I’m being an idiot. They have final say over the con, after all.

This means I need to be staunch on not doing anything myself–although I admit, I might make a call to the Diefenbunker to see how much it would cost to host the closing social event there, and to Pili Pili Chicken for a price quote to cater it. This is mostly for my peace of mind, however. Confirming it’s too expensive will put the idea to rest.

Organizing BSDCan with two folks is a monumental achievement. I have seventeen, which I consider barely adequate for a Redundant Array of Independent Dans. We’ll need folks to handle a variety of smaller tasks, from checking video times to hauling boxes. (If you haven’t hauled a box for the con staff, have you really been to BSDCan?) I intend to make use of the bsdcan-volunteers mailing list to gather those folks. Folks on our team can ask for specific help on that list, whether it be figuring out a balky database or showing up at 7AM opening day with a roll of duct tape and a cattle prod. (“Cattle prod? Really?” Hey, I don’t know the details. Knowing the details would get in the way of me doing my job. I trust the various team members to know what they need and to ask for it.)

One thing that the BSD community has historically excelled at is passing leadership from one generation to the next. BSDCan’s operations team will follow that example. We have old hands taking the lead on parts of BSDCan, but we have at least two people covering each responsibility and at least one of them should be comparatively young.

I don’t intend to coordinate BSDCan for more than a couple years. My goal is to set up a self-perpetuating structure, make sure it runs, and walk away. Normally, I wouldn’t take on anything like this, but BSDCan is important to my people and it deserves my time and attention.

The BSDCan 2024 goal is to largely reimplement BSDCan 2023, but supported by different people. Yes, there’s room to change things. Yes, I have ideas. Many people have ideas. You probably have ideas. Our overwhelming goal is to make the conference happen. Perhaps that’s unambitious but extracting knowledge from Dan’s head, documenting it, and reimplementing it will take time and energy. I don’t want to burn anyone out. I intend to retain the location, the mask policy, the papers committee, the social event, everything, until we have BSDCan down cold.

Dan has done well. He’s earned a break.

We are drafting him to run the auction, however.

New BSDNow interview

BSDNow episode 507 has an interview with me.

We talked about OpenBSD Mastery: Filesystems, Run Your Own Mail Server, the writing business, ChatGPT, and detritus. At least, that’s the topic list Benedict sent me before the interview. I have no idea how far astray this talk went. It’s not like I pay attention to anything I say.

If you’re at BSDCan, do say hello.

Print Price Increases

Forget the cost of living–my printers have raised their prices. I have no choice but to do the same. $25 in 2018 is $29.50 today.

Unfortunately, back in 2011 I decided that I wanted my tech books to look like Real Books. You know, from Real Publishers, whatever that means. He put prices on covers. Younger Me had lived through several periods of inflation, and while he had learned the lessons of inflation on the demand side he failed to extrapolate for when he became a supplier. If he thought about prices on covers becoming invalid in five or ten years, he would have sneered Like I’ll still be making a living doing this in 2023. I assumed my writing career was unsustainable. I have to file updated, priceless covers with the printers.

I tried a different page layout on the new edition of DNSSEC Mastery, tightening the text to reduce page count so I could hold prices the same. The result was functional, but unattractive. The topics of my tech books are already unattractive, so doubling down on that theme is unwise.

I’ve also hit the point where maintaining my business is interfering with making new words. I’m hiring a part-time contractor to help with the web site. He’ll want paying, because despite what the oligarchs think you can’t just ship your flunkies a crate of cheap instant ramen and a box of coffee and get quality labor out of them.

So, price increases. Sorry.

I’m starting with the more popular books, like SSH Mastery. The price will be set to $29.99 by the time you read this, but it’ll take a few days for the respective databases to churn through.

Folks who follow this blog are the most likely to buy my books, so I wanted to give you advance warning. If you’ve been waffling on grabbing a book in print, this is the time.