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.

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.

January’s Jalousie Sausage

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

The beginning of the year. Time to not only contemplate last year’s failures, but to select next year’s failures. Not that I’m cynical. Truly, what’s the point of setting goals you know you will accomplish? The trick is to pick goals that are fail-forward. If you decide to lose a hundred pounds but only lose thirty–you still lost thirty!

In that spirit, I’m planning to publish eight books next year: two nonfiction, six fiction. Chunks of five are already written, I just have to clean them up. If I fail, I will have published something. It will require stability and certainty, however. In 2024, I will focus not on making words, but on maintaining the conditions needed to make words. That means taking the time for exercising regularly, preparing large meals that leave lots of leftovers, and stepping back from things I can’t change. It’s an election year here in the US, but we already know which candidates we get to choose between and I’ve already decided who I’m voting against. I don’t need to know about the latest stupidity there. I need to work on things only I can do, because ain’t nobody else in the world mad enough to write a book on email or the novels I’ve had in-progress since 2019. I need to settle back into the writing pattern I know works well: write fiction for two hours in the morning, write nonfiction all afternoon, relax on weekends. The pandemic made all of this difficult, especially as my wife is a nurse practitioner and is regularly exposed to idiots.

I just did the annual accounting, and: despite all that, I managed to keep my 2023 income flat with 2022 and 2019. 2021 and 2022 were “fever years,” where my income spiked for reasons beyond my control. Having everyone locked inside with nothing to do but read is great for my business, but not so much for civilization. I achieved Enough, so I’m good. All I have to do is keep publishing.

Speaking of publishing: I’m debating how to publish Run Your Own Mail Server.

For OpenBSD Mastery: Filesystems, I did direct pre-orders from my web store. It worked. People were happy. I could do that again, or I could run it through Kickstarter. Kickstarter gave me great results for my wildly niche nonfiction. I don’t want to do both, however. Many of y’all will get the ebook free1 through your Patronizer benefits or through sponsorships, or even print copies, so I don’t expect you to take either route. If I do direct sales, I control the whole process. That’s nice. Kickstarter is not a sales platform, though. It is a discovery platform, the Sixth Circle of the nine-circle Customer Acquisition Funnel. You know, the outermost district of Dis, on the banks of the River Styx. Okay, fine, if I ever write “How I Make a Living Writing” I’ll use a “Dante’s Inferno” theme. Where was I? Oh, right. Discovery platform. Every time I run a Kickstarter, a few folks sign up for my mailing lists and buy other books. On the other hand, RYOMS is my best-sponsored book ever. How much crowdfunding do I really want to drag people through?

So, do I want solid money now, or less money and the chance of a broader readership?

Put that way, the answer’s obvious. Kickstarter it is. I’ll start to assemble that once I get the book to tech edit. The book is written with a Star Wars motif, so it’s tempting to try to do a promo video with actual production values. I need to resist that temptation, however. Mind you, if I ever do a book with a John Carpenter theme, I might revisit that decision. “This is not a dream. We are warning you of this book in hope that you can prevent it from being published” seems on-brand.

I guess that’s the secret to “How I Make A Living Writing.” I beg for money, but in a slightly entertaining manner.

So in 2024 that’s one Kickstarter for RYOMS, one for the giant fiction thing, perhaps a second edition of Networking for Systems Administrators if I can identify out a reasonable cross-platform netcat-alike with a consistent command line and TLS support, another nonfiction Secret Project, plus some classic art with mushrooms that could be parodied with Beastie and Tux, a small Kickstarter for the new Letters to ed(1). The FreeBSD Journal column will hit six years old this summer, so I’ll probably pull the years 1-3 book from print and replace it with years 1-6. I’ll probably keep that up for four more years, and let it die at ten. I can’t see the gag lasting much longer than that. Maybe the ten-year omnibus Kickstarter will feature a back-exclusive edition where I restore all the obscenity. Don’t worry, Patronizers are always considered backers, you’ll get the appropriate edition for your tier. I’m not going to offer a special edition of N4SA bound in Cisco salesman spleen and not send copies to my print-level Patronizers!

If all works out well, in 2024 I’ll be slamming out a big non-BSD book for a trad publisher. I’ve said before that I love win-win deals, and I think we’ve negotiated one. More details as events warrant.

This is the plan. Reality has its own plans. Those plans involve phrases like “monomolecular tripwires” and “release the hounds.” We’ll see who wins. I put $20 on reality.

But this month, I plan to finish the first draft of RYOMS. All that’s left is DMARC, webmail, touching on rspamd, and detritus like nolisting. I have the greatest of all gifts, which is hope!

Which means I’m gonna quit writing this now. Take care, y’all.

Las Vegas NV Gelato Meetup, 17 February 2024

Been a while since I’ve done this.

Family events are taking me to Las Vegas. The schedule’s pretty booked, but about 7PM on Saturday, 17 February, I’ll be getting gelato somewhere around the Paris hotel on the Strip. I won’t have books or anything, I’m just hanging out.

I haven’t picked a spot. I’ll be looking for somewhere sheltered but airy, with good gelato. Choosing a location will require extensive hands-on evaluation of the many available options.

More details when I find a place.

You want to meet me, this is your chance. Otherwise, consider yourself warned.

Blog Archive

For a few years now, I’ve wanted a date/title index for my blog. I searched for a plugin to do that easily and simply, and couldn’t find one. I hired an earnest flunky to do so. He couldn’t find one either. I decided to live with the current situation, and stop wasting my time searching for a tool. But every so often, I’d search again anyway. Find nothing. Remind myself to stop wasting time.

A couple days ago, one such search turned up Simple Yearly Archive. Which is on release 2.2, and has been around for years.

Anyway, the blog now has an archive page under the “Blog” menu.

This whole incident has reminded me that search engines are useless. It has also trained me to waste time.

December’s Defiant Sausage

This post went to Patronizers at the beginning of December, and the public at the beginning of January.

The longer I run this thing, the more I regret calling a buck a month “See the Sausage Being Made.” Because it inevitably gets shortened to “sausage,” and that leads nowhere good.

Similarly, I shouldn’t have named that one level “Video Chat.” Obviously, it should have been named “Meet the Rats.”

And my web store should never have used the word “chapbooks.” That’s technically correct, but nobody knows what it means. “Short fiction”–everybody understands that.

Oh well, I’ll have to change all of these in my Copious Free Time. A clear illustration that it’s better to do everything correctly the first time, which means extensive planning, which means never accomplishing anything.

But here we are. Last month of the year, and not dead yet. On to what’s going on.

I contemplated doing a Black Friday sale. This year, the Black Friday sales were more numerous than ever. It was overwhelming, and useless. There is no way to penetrate the noise. If I do a sale, it should be for something like Sysadmin Appreciation Day. Or perhaps for March 24, National Gelato Day. Yes, it’s an Italian holiday, but y’all are global and I respect a people who know how to celebrate the important things in life.

I’ve dragged “Run Your Own Mail Server” up to the rspamd section, where it immediately stopped dead. Work hasn’t stopped, but wordcount has. Rspamd is the right solution and many folks use it, but the documentation is designed for people who already know the tool. It’s gonna take me a bit to pull the software apart and see how it fits together from a sysadmin perspective, rather than the developer’s. Why do I say it’s developer-centric? It’s configured in UCL, Universal Configuration Language. I love UCL. UCL is brilliant. It lets you write configuration files in several different formats, including a plain text format inspired by nginx.

Rspamd’s configuration examples… are in JSON. Sysadmins might know some JSON, we can probably read it, but we don’t routinely write it.

You’re not supposed to edit the configuration files by hand? Fine. But the docs take us through them.

And don’t get me started on redis’ official docs. The first part I stumbled across was well done, which set artificially high expectations for the rest.

It’s not just these projects. The problem is endemic across the entire industry.

I guess that’s why y’all back me. I rage at basic software so you don’t have to. You can save your raging for higher-level software.

Rage is also why I write the orc stories. I got the baseball story I owe the orc Kickstarter backers written. It’ll go to copyedit this week, and then to my backers. Yes, y’all are my backers.

Speaking of stories, my Christmas tale Heart of Coal comes out today. I never knew that my life needed the phrase “tell Santa to stick it up his ho-ho-hole” in my life until I wrote it. Anyway, we’re just short of the Longest Dark when orcs traditionally exchange gifts, like meat and rocks and stuff, so I’m offering it to all my Patronizers. Grab a copy from Bookfunnel. As usual, this is for y’all so please don’t share.

I spent a fair amount of time on BSDCan this month. Sponsorship, the CFP system, and the web site all collided simultaneously. I wound up spending a few days in Dan Langille’s 2004-era PHP to get the site updated for 2024. Dan’s code is fine, for 2004-era PHP. I know perfectly well that the number one rule of completing projects is to do the hard part first, yet I let my committee relax about getting the infrastructure ready. I’ll have updates over at the BSDCan blog in the next couple days. I don’t intend to permanently chair the conference. Dan and I are both getting older, and we need to hand these responsibilities off to folks a few years younger. Plus, I have a whole bunch more books to write. Unfortunately, there are few people in the community who could lead the effort to split Dan into multiple parts. Once that’s complete, anyone who knows how to treat colleagues with respect and negotiate can serve as chair. I’m tempted to say “there’s got to be at least, oh, three folks in the BSD community who could do that” but the truth is, there’s a whole bunch of them.

It’s December, and that means I’ll have the usual all-Patronizer hangout. Everyone’s welcome. This year it’ll be in the evening, at least for me, so hopefully folks who haven’t been able to attend before can. Sorry Europe, gotta mix it up a little. I would like to declare that this was the result of deliberate planning rather than screwing up the morning/evening alternation earlier in the year, but that would be a lie.

I hope to see a bunch of you there. Until next month!

Penguicon Auction, or: How To Make Me Shut Up

I’ve been a fan of Penguicon since they invited me as a GoH back in 2013. Some of the con staff even troll me.

Like many cons, Penguicon is struggling to reboot post-lockdown. They will make enough on registration to cover expenses, but that money arrives late and they need some cash up front. They’re holding a fundraising auction.

Some of the items are magnificent. Want to be a Guest of Honor, or make someone else a GoH? Personally I think we should draft Bob Beck and make him explain TLS. You can make the conchair give a presentation of a topic of your choosing, whether she knows anything about the topic or not. You can get homemade cookies, books, art, etsy gift cards, and more.

I donated something.

Remember the Prohibition Orcs kickstarter, and the exclusive orc-leather-cased omnibuses? With the authentic Spanish-American war and the romantic (for orcish values of romance) tattoos? I had four extras made, to resolve shipping problems. I know some of you missed the Kickstarter and the omnibus, because you told me. At length.
An orc-leather omnibus is in the auction. Bidding is at $55 as I write this, so you better act fast.

I normally give several presentations at Penguicon. And readings. And participate in panels. And hang around the bookstore. Penguicon 2023 featured ten hours of Lucas.

The 2024 con?

To my surprise, con chair Bagel (yes, that’s her name, Bagel) listed this item. For every $250 you donate, you get to pre-reject one of my events. You can leave me drifting aimless and blank-faced in the lobby, without purpose.

But seriously, Penguicon treats its Guests of Honor more luxuriously than any event I have ever attended. You should totally bid on that.

Or, con chair Bagel hand-knits to order adorable little glow-in-the-dark ghosts. You can get one for $10. You can also get 100 for $1,000. Bagel deserves no less.


Anyway, check out the auction. Help a bunch of geeks in a good cause.

My new “FreeBSD Journal” column has escaped

Once again, the FreeBSD Journal requested that I discuss the ports and packages system. While this is a FreeBSD-specific publication, my comments are true of any BSD. Or Linux. Or operating system.

I’d advise you to avoid the cooties, but if you’re reading this it’s almost certainly too late.

If you want to hear me read a specific part of this, you’re out of luck. Unless you want the one minute’s worth that previously appeared in my podcast.

October’s Ornery Sausage

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

If you’re in a country that has Halloween, you need to read A Night In The Lonesome October. It has thirty-one chapters, one for each day of October, and that’s how you’re supposed to read it. If you’re starting late you can catch up, but after that? One chapter a day. This isn’t a recommendation, it’s full-on necessary.

Anyway. Writing.

Run Your Own Mail Server grinds on. I’m digging through decades of recommendations and worst practices disguised as wisdom and general daftness as people fought to keep email useful despite the spammers. The problem is, email runs as default permit. On the list of Dumbest Ideas In Computer Security from twenty years ago, default permit was number one. Stopping spam relies on enumerating badness, which is number two on that same list. Really, we need to educate our users on spam–no, wait, “educating users” is number three on the list.

Yet the world is built on email. Could we design better? Sure. Are we going to? No. Eventually the Email Empire will declare supremacy and lock everyone else out. Stray email servers will become like the Fediverse, cool but for a limited userbase.

But not today. Not in the next decade.

But I’ve progressed to writing about SPF, which will let me get on DKIM and DMARC, so that’s good.

In other news, the Writing Chariot has been surpassed. Posting the pictures led a couple folks to point out Arkon mounting brackets. These are ridiculously heavy-duty devices used in manufacturing and industrial environments, when your devices absolutely must not slip. I’ve wound up with this.

My hands don’t quite hang at my sides. They’re slightly forward. But it’s close to what I want. Writing this post, I realize that what I need are a couple of adapters to swing them a little further out from the desk and let me adjust the angle slightly. I ran off to order them and will post updated pics next month.

I got the Apocalypse Moi print proofs in the mail. Of all the stock art covers I have designed for my fiction, this is the first one I am pleased with. Cover design is a subtle art. The difference between “yeah okay” and “hell yes” is subtle, and I do not yet understand the subtlety. But every cover I design teaches me a little more.

I got an invite to submit to a couple of seasonal anthologies, which is cool. I’ll have at least two holiday stories out this year. If I had known twenty years ago that there was a market for grimdark Christmas my career would look very different, but whatever.

My experimental podcast, 60 Seconds of WIP, seems to be gathering traction. I’ve gotten it on Spotify and Apple. I’ve gotten it tweaked down to the point where recording each episode takes less than fifteen minutes. As should have been blatantly obvious but I completely failed to predict, the most common feedback I get is “where can I buy this?” I’m wondering if I should start a “60 Seconds of Book” podcast where I read a chunk of one of my books that folks can buy. Not sure if it’s worthwhile or if it’s mere arrogance. All marketing is arrogance, but not all arrogance is marketing. Figuring out where each arrogance fits in, now that’s the trick.

And that is why I loathe marketing. When you have even three or four people who keep telling they love your work, it’s easy to lose your humility. And I must always remember, I’m just a little shmuck writing little books that affect a tiny number of people, and that I’m lucky to have this gig.

Feeling overloaded these days. Opportunities are everywhere. My only limit is my ability to produce words, which is sadly limited by my 56-year-old meatsuit and the realities of living in a country whose guiding philosophies have grown disconnected from basic principles like gravity and the nitrogen cycle and the greenhouse effect. But I’ll keep plugging away as best I can.

Onward!

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