Lucas-Adjacent Kickstarters

I’m not running any Kickstarters right now, but I’m in two of them.

First off, there’s the inimitable ZZ Claybourne’s Breath, Warmth, and Dream campaign. Full disclosure: Zigs is a dear friend. We get barbecue, solve the world’s problems, and watch Star Trek. He’s also written several well-reviewed books. His new book is the best of them all. It’s a fantasy, complete in one book! I hesitate to call it a cozy, or low stakes, but this book makes one village the world and that world is in peril. A witch heroine as memorable as Granny Weatherwax or Baba Yaga, in a book with the sensibilities of the Seven Samurai.

But–at the next stretch goal, I have to do actual (ugh) work.

If you want to get a good book, and improve the odds of inconveniencing me, back ZZ’s campaign.

Then there’s the 2023 WMG Holiday Spectacular. I sold a story to the Hardboiled Holidays collection. It’s steeped in the bleak dystopia of December 1988, when the former head of the CIA won the US Presidency. $25 gets you a daily story, Thanksgiving through New Years’ Day, and next summer you’ll get a giant ebook collection of the whole thing. I’ll have a taste of my tale on the next 60 Seconds of WIP.

One of the fun things about the Holiday Spectacular is the mix of things you get. Romantic tales, fantasies, crime, whatever. Rusch’s editorial sensibilities lean heavily towards tales that end with “it was all worthwhile,” which isn’t quite the same as “it ends happily” but it’s a damn sight more comfortable than some of the “everybody dies and the holidays should be executed” holiday noir out there.

So, yeah. Throw these people some dough. You might even inconvenience me.

“Apocalypse Moi” Kickstarter status

The Apocalypse Moi paperbacks for signing have arrived!

Hardcovers are being printed as I write this. According to the printer, that is. I have no independent verification.

If you chose the “All the Fiction” option, either in print or ebook, you have MORE ebooks. They’re waiting for you on BookFunnel. Go to my.bookfunnel.com and log in with the email address you provided in your survey. If you don’t have an account already, it will ask you to create one.

Why use Bookfunnel, rather than just send you ebook files? They can help you get files on your ereader, no matter what sort of weird device you have. They will keep the files for you, so when your computer catches fire you can recover them. Bookfunnel does not store any of your personal information; they make their money from me. (If you are one of those especially privacy-sensitive folks that doesn’t want accounts anywhere, I can send you a zip file of your ebooks on the condition that one–you don’t ask me to explain sideloading, and two–you back them up yourself.)

Thanks everyone. You will have books soon. I’m delighted so many folks supported this charming little apocalypse-laden book.

“60 Seconds of WIP” now on Apple and Spotify

My pathetic podcast, 60 Seconds of WIP, wherein I read one minute of something that you can’t yet read or even buy, is still going.

I have compounded my errors by getting it in Apple and Spotify. I tried to get it into Google but their podcast manager is being replaced so I quit. Are there any other aggregators folks want?

I just recorded tomorrow’s episode, “Cheese Mover Habits,” with a snippet from my forthcoming FreeBSD Journal column. You’ll never be able to buy the Journal, so you only can’t yet read it. Or you can wait for the next collection.

September’s Succulent Sausage

(This post went to Patronizers at the beginning of September, and the public at the beginning of October.)

While “See the Sausage Being Made” is an accurate description for the $1/month Patronizer level, I’ve been pondering renaming it “Give Lucas Money Just For Still Being Alive.” Because that’s kind of what it feels like over here.

Hi, folks. August was dominated by an exploding air conditioner, the Apocalypse Moi Kickstarter, and the writing grind.

The old air conditioner was installed in 1994 and featured some interesting design decisions. My home has boiler heat, so the AC is all Spacepak-style small ductwork. When you need to get ductwork around a corner you can either cut the duct and install a 90-degree joint, or–bear with me here–you can beat on the duct with a hammer until it bends to more or less the shape you want. The electrical was wired directly into the meter, without circuit breakers. The coolant had leaked over the years, and replacement coolant was several hundred dollars a pound. We needed three pounds. Oh, and the coolant pipes were likely to blow if we fully pressurized the system.

Average lifespan on that system, if properly installed, was about fifteen years. We were fourteen years past that.

So we now have new AC. The emergency fund we’ve built over the last decade is basically wiped out, but that’s okay. That’s what it’s for. We didn’t have to borrow money, so we win.

The Apocalypse Moi Kickstarter worked well. I asked for $500, and it closed out at $2741. If I had managed to sell a collection to a trad publisher, I would have been lucky to get $2000. My back-of-the-envelope math says I’ll spend roughly a grand on fulfillment, but I won’t have to waste time and energy negotiating with a publisher, so I’m content.

The good news is that I’ve worked out a way to reduce the mental overhead of marketing Kickstarters. Shilling my own work is horrid, so I shilled this one by shilling other people’s apocalyptic art. My marketing is all Facebook and Fediverse/Mastodon these days, but if you search either one for the hashtag #30DaysOfDoom you’ll find a whole bunch of my favorite apocalypses and dooms. (Fun fact–did you know that George Miller never made a first Mad Max movie? Strange but true!)

I got invited to contribute to another Christmas anthology last month. Wrote that, sent it in. If they buy it, you’ll get to read it in December. That also gives me enough Christmas stories to release a collection. I’ll be Kickstarting Harm for the Holidays next summer.

Young Lucas would have never believed this. The narrowminded idiot.

The Christmas story invite soaked up my fiction writing time, which pushed off the Prohibition Orcs baseball story I need to finish for last year’s Kickstarter backers.

After hunting up some missing parts and making some tweaks, the Writing Chariot I discussed last month seems to be working. I have one keyboard on my desk and another at my hips. The desk keyboard gets used for mouse-heavy work, like balancing the credit card statement and doing page layouts. The hip keyboard is for making words. I’m not entirely satisfied with the Chariot yet, but my arms and shoulders are far more relaxed when I use it.

Or, in short: the damn thing works. I think I can do better. Even as it is, it will extend my writing life. Yes, I’m at the age where I consider matters based on how much longer I expect to live. Still shooting to get that “100 Books” award before I keel over.

Work on Run Your Own Mail Server grinds forward. I’m writing about debugging IMAP by hand. This book is very much turning into “How Lucas Deploys an Unfamiliar Service,” but at least the Star Wars motif is holding up.

The Detroit summer is waning, so I took a couple days to do some fun things. We also had some lovely storms, water in the basement, power outages, and visits from Valkyries, but I managed to keep plowing through the words anyway.

I try to give longer Sausage posts than this, but that’s really all the news. Words. More words. Still more words.

I hereby declare that I will get the dang orc baseball story finished before October, by the way. Hold me to that.

Take care, everyone.

OpenBSD PF versus FreeBSD PF

I encountered yet another discussion about OpenBSD PF versus FreeBSD PF. For those who are new to the discussion: OpenBSD developers created PF in 2001, and it rapidly improved to become the most approachable open source packet filter. FreeBSD ported PF over to its kernel in 2004, with occasional updates since. Today a whole bunch of folks who don’t program echo cultish wisdom that one or the other version of PF has fallen behind, not kept up on improvements, or otherwise betrayed their community. My subtler comments have been misinterpreted, so let’s try this.

These claims are garbage.

First, and most importantly: FreeBSD PF developers work with OpenBSD devs all the time, and OpenBSD PF developers pull stuff from FreeBSD1. You get a lot of noise about certain people being jerks about the other project–and both projects absolutely have jerks. (And yes, anyone who has read my books knows that I am a cross-platform jerk.) But for the most part, folks want to work together.

PF is absolutely an OpenBSD creation, though, so why isn’t the OpenBSD version the Single Source of Truth? Why doesn’t FreeBSD just consider OpenBSD a vendor and pull that code in? Because the OpenBSD and FreeBSD kernels are wholly different.

Back when I wrote Absolute BSD, I could realistically write a single book that would basically apply to the three major open source BSDs. Yes, the various projects objected to being lumped together, but if you knew any one of them you could stumble through the others. This is no longer true. FreeBSD’s kernel uses a wholly different locking model than OpenBSD. OpenBSD’s memory protections have no equivalent in FreeBSD. These are not things you can manage with a shim layer or kernel ABI. These are big, complicated, intrusive differences. You can’t tar up one version and dump it in the other’s kernel. It won’t work. If you do a hack job of making it work, it will perform badly.

Yes, you can find “proof” that one PF or the other is faster under particular workloads on specific hardware. I have no doubt that some of them are not only accurate, but honest. There are other workloads, though, and other hardware, and other conditions. Regardless of who wins a particular race, the constant competition to achieve peak performance benefits everyone. I’m not going to link to any of the benchmarks, because I have made my opinions on benchmarking very clear elsewhere.2 Pick what you want and roll with it.

Every PF developer is trundling along, doing their best to make things work.

Are features missing from one or the other? Yep. I’m not going to list examples because, as the above links show, each project plucks what they find useful from the other. These things are freely given, with glad hearts, but they take time to integrate. Filling message boards with staunch declarations that my team’s PF is better is not only tedious, it wholly misses the point.

People are working together to improve the world.

And the PF syntax is the most approachable in all of open source Unix.

(Partisan fanboy comments will be mercilessly whacked.)

Yes, I Know I’m In the AI Scraping Search Engine

I awakened today ready to make words on Run Your Own Mail Server only to discover that half the world wanted to be sure I knew about the search engine for Meta’s Books3 LLM training data, aka “AI.”

Yes, I know.

The search engine was created by The Atlantic, and I thank them for this public service.

Authors and publishers have already filed lawsuits against Meta and their partners. I do not have the cash to sue Meta. I must ride on the coattails of other people’s lawsuits.

For the record, most of my books are legitimately available for digestion by AI. Just as I offer my Tilted Windmill Press books for teams and groups and large corporations, I offer the entirety of those books as AI fodder for a modest annual fee and under friendly licensing terms. The default listing is for personal use because I sell many more personal licenses than AI licenses, but: a legal option exists for Meta to use my books

Now to figure out how to send Meta an invoice.

A True Story: “The Cat”

I have never owned a cat. I have never lived with a cat. It’s not that I mind cats, but rats fit my life better. For a few years though, a cat seriously impacted my life.

That tab at the top of my site that says Autobiography? Sometimes I publish true stories there. There’s a new story up there, about the aforementioned cat, the never-experienced delights of goat on a stick, and mouse compost. While the names have been changed so Larry the Leg-Breaker doesn’t get tetchy with me, the facts are one hundred percent accurate.

Video Score: Me 83, Rats 53650

I’ve been experimenting more with audio and video, thinking it might draw in some new readers. That’s why I have the 60 Seconds of WIP podcast. Kickstarter doesn’t require videos, unless you want to succeed. There’s videos of me reading things where I’m happy to get two or three views. And there’s the playlist of my various public presentations.

I don’t normally check the number of views on these things. Like the number of books I sold this week, it doesn’t matter. This thing I did has been launched into the world, and whether it lives or dies is now up to y’all. Like Mickey Spillane said (in paraphrase, because I can’t be bothered to go look up the actual quote): “I don’t have fans. You know what I got? Customers.”

On a whim, I uploaded a video of my pet rats working their treat puzzle. According to Youtube’s analytics, it has 53,568 views in five days.

Glancing over my public talks playlist, I’m lucky to get 3,000 views over years.

When I work hard on something? Crickets. When I just slam something up there, though, the world comes. That’s how the world works.

I’ve been skimming the Youtube comments and deleting the mean ones, and noticed readers popping up with comments like Lucas is a big-name author, and this is the video that gets attention? Go read his books! I’ve gotten a couple emails telling me this is unfair.

I appreciate that people love my books and want to support my craft. I truly do, from the bottom of my musty labyrinthine heart.

This video exploding does not disturb me. Fairness is a human construct.

I launched something into the world, and it did well? That’s nice, but I’m working on the next thing.

Besides, those squeaky little bastards are far cuter than I am. The audience for cute animal videos is much vaster than the audience for Networking for Systems Administrators. I might read some of my work to them, however.

I am not about to go chasing youtube views. When I get a new puzzle, I might upload a video of that. Or not. Depends.

I have been told that my guys are “smol” and “chonk.” Whatever that means.

53,650 views now. 920.6 hours spent listening to rats munch their hard-won toddler puffs. 38 nonstop person/days, or 114 work days, is an impressive amount of productivity to suck out of the world.

Anyway. I gotta go work on the next Thing.

Proof You Should Not Run My Code: my SNMP agent

I’ve included bits of code in my books, sure. Always with warnings to not run it in production, as I am a firm devotee of fault-oblivious computing. You should not follow my example. But after a Fediverse (Mastodon) discussion last night, I’ve decided to share the code of a program I wrote and deployed. In production. When writing SNMP Mastery, I needed to understand how to integrate a custom agent into net-snmp. I also needed to go through the process of getting my own enterprise OID. I submitted the OID request right before Christmas 2019, and 55030 was assigned the next day.

So I promptly wrote my own SNMP agent, use top-notch state-of-the-art Perl 4. There’s some compatibility glue to make it run under Perl 5, but it’s basically Perl 4. Yes, there’s other languages–but Perl is eternal and timeless. Like Cobol and SNMP, that is not dead which can eternal sleeping lie.

This agent is the single source of truth for my published bibliography. Instructions for accessing it are in the SNMP book, but if I’m sharing the code I should provide context.

Browse to https://cdn.mwl.io/snmp/ and you’ll find the MIB file TWP.mib. Put that in your SNMP browser or MIB directory. If you’re running net-snmp you can pull the table with:

$ snmptable -v2c -c megadweeb snmp.mwl.io mwlBooksTable

The file agent-TWP.pl includes the agent proper.

This code has been called “comically evil,” which warms my bitter heart. Yes, I could use a database. But why? The data changes 3-4 times a year, if I’m productive. And yes, the data is in columns, not rows. SNMP doesn’t do rows. It doesn’t really do tables. It only has columns, which you could choose to arrange side-by-side, but that’s a feeble human thing and irrelevant to this primordial protocol.

In writing this I had to choose between complex code and simple data, or simple code and complex data. Given that updates consist of adding an entry to the end of each column, I chose simple code. Yes, there’s an occasional painful update where I realize that I missed one of my old books, but those are increasingly rare.

Anyway. If you want a truly complete checklist of what I’ve written, here it is. Other writers have spreadsheets or text documents or perhaps, if they’re truly prolific, desktop databases. But noooo, I had to do this.

TLDR: do not run my code. That’s one reason I don’t use github; this is not a sample or example, it an inspiration for you to recoil in horror and do better. (I also insist on controlling my platforms, and I don’t control github.) I’m certain this will be presented as an exhibit in my inevitable, eventual sanity hearing.

“Apocalypse Moi” ebook out!

The official release date for Apocalypse Moi is 26 September 2023. If you want to get it from one of the big bookstores, you’ll have to wait. (I’ve been accused of hiding the big point, so: this collection contains a previously unpublished Prohibition Orcs tale.)


It’s already available at my ebookstore, though. If you believe that I’m deploying a sophisticated, subtle strategy to steer people to buying direct from me rather than via Amazon, you would be incorrect. It is neither sophisticated nor subtle.

Also, The Full Michael and the All The Novels and Collections bundles have been updated. The price of All the Novels and Collections has not changed: you now get four books free. The Full Michael has actually decreased in price, because buying Apocalypse Moi is less expensive than buying the chapbooks.

Some poor bastard who shall remain nameless bought The Full Michael five days ago, right before this came out. I sent him a copy of Apocalypse Moi because I’m not a monster. Okay, I’m not that kind of monster.

I’ve unpublished the assimilated chapbooks everywhere, reducing my maintenance load. Huzzah! The anthologies the other stories come from will remain in print, but maintaining them is not my dang problem so that’s fine.

And for the record, the branding on The Full Michael will remain until it ceases to amuse me.