Penguicon 2024 Schedule

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.

March’s Malformed Sausage

(This post went to Patronizers at the beginning of March, and the public at the beginning of April)

Last month, I mentioned blood pressure problems.

The good news is, I have the blood pressure under control. The bad news, it’s given me a cough so fierce that I occasionally fall over. People have told me I work to hard, so now I’m taking a thirty-minute break every four hours around the clock for a breathing treatment that leaves me wheezing and quivery but functional. It’s an opportunity to prove the maxim “sleep is for the weak,” and I needed to develop my abs and rib muscles anyway. The doc changed my meds yesterday, so I’m hopeful I can exchange these side effects for less inconvenient ones.

This is all covid damage. I’m not risking developing more problems. You want me at your events, enforce a mask policy. I got too many books to write to put up with any more symptoms.

I also failed to finish Run Your Own Mail Server last month. See the above cough. I’m down to one technical issue, MTA-STS, and a few social issues that only require spewing words. I was tempted to wait on this post until I write those, but that’s pretty much a guarantee that I won’t complete either. You folks are my strongest supporters, and I need to give you the attention I agreed to. (Not the attention you deserve, of course. I don’t have that much attention.)

One of the headaches in this book has been its constant violation of one of my usual writing rules: do the hard part first. When I approach a new project, I rank the contents in order of difficulty. Usually, there’s at least one thing I haven’t previously done. Those are the things I need to write first. Writing the stuff I know how to do is pretty straightforward, but the unknowns wreck my plans. RYOMS could only be written in one way, though. The services must be set up and documented in a particular order, without shortcuts. If the book said “This is wrong but we’ll come back and fix it later,” I know perfectly well that none of you would go back and fix it. We have to set it up right the first time. Which led to some extra work. I use pyspf-milter so I wrote about it, but rspamd turns out to be a wiser choice. Retreat, refactor, rearrange, try again.

On the fiction side, I sold a new Rats’ Man’s Lackey tale to a magazine. The RML tales have a strange publishing history; every magazine or anthology I’ve sold one too has collapsed before they could publish my tale. Once a story destroys a publication, I put it up on my bookstore. I’ve written enough of those to release a collection, but a few buyers are still in business so I have to wait for them to implode–uh, publish. Publish.

I’m most of the way of a massive Terry Pratchett Discworld reread, not just studying his craft but how he improved his craft. There’s something fascinating about reading a large body of work in the order it was written. The quality of Pratchett’s early work was borderline, but some editor saw something unique in his craft and decided to give the kid a chance. You can see him improving with every book. At a technical level, there’s a certain fascination in saying “Oh! This is where Sir Terry discovered cliffhangers!” “Hey, he learned the difference between description and setting!” “Ooooh, he figured out how to stop violating drifting point-of-view, thank you Om.” This binge gives me hope for my own craft, because nothing Terry with his craft did was magic. The art expressed through his craft was magic, but art is not craft. I started reading Pratchett when The Light Fantastic came out, and in retrospect I can honestly say he taught me how to improve my craft.

Note that you can’t binge-study James Patterson. This kind of study requires examining the work of someone who writes their own books. You also can’t binge-study Ayn Rand, because she never got better.

Anyway, this binge study leaves me feeling validated about my method of deliberately practicing one skill per project. That’s a dangerous feeling; I don’t study to see what I’m doing write, I’m looking for ways to improve. I’ve found a few, but I still suspect I’m missing something big. Oh well. I guess, in a year or two, I’ll have to… study Pratchett again.

I’m going to cut this a little short, because the coughing has backed off and I desperately want to finish RYOMS this week. Thanks for supporting me, everyone!

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.