July’s Jangada Sausage

This post went to Patronizers in July and to the public in August. Not a Patronizer? You could be!

It’s 98F outside and will remain so for the foreseeable future. Settling into the new apartment continues. My master plan for a smaller desk I can wheel onto the balcony is almost complete, but it’s 98F outside. I did go to the dojo yesterday despite the heat, but I think going tonight would be pushing my limits. Fortunately, my physical labor of getting our home ready to sale is done and I don’t have to go out in it. Other people are working on the house, preparing it for sale, and I don’t have to go back until next week. The divorce is in the court’s hands and everyone’s waiting.

Which means I have a week to catch up, starting with getting the monthly See the Sausage Being Made article back on the schedule I prefer. It feels like putting out to sea in a raft designed by observing nature rather than a knowledge of physics.

I’ve been reading the OpenZFS Mastery manuscript, tweaking tidbits here and there in the beginning. I hope to build up momentum so that when I reach the point where I stopped writing, I just keep going. This technique has worked well for me in the past and I’m hopeful it will again. Besides, I have nothing to do but hide indoors and write, because 98F.

No bright idea survives contact with reality, so I’m still rearranging the apartment. I had set up my test server under my desk, as one does, and configured a wireless bridge to give it Ethernet. It worked fine. I want to kill the power to the office when I’m not working, however. I call the test server as such because it hosts the VMs I use for testing, and it has eight hard drive bays for ZFS testing. I have a couple projects that I want to write about next that would benefit from having a production server running 24/7. I’ve relocated the test host to the living room and plugged it directly into the demarc switch. In my copious free time I’ll be configuring a DNS server and a netflow collector on it. That’ll let me play with things like DNS-based ad blocking and IPv6 analysis, two topics that will play against each other. The software license on my streaming media TV permits it to use my bandwidth during off hours to pillage web sites to feed AI scumbags? First, how dare. Second, turn off the TV at the power strip when not in use. But log its DNS queries so you can send those queries to oblivion, and analyze the traffic so you can feed it garbage? That’s the goal. Plus, you know, solving actual sysadmin problems. But mostly grinding my personal axes, the source of my best books.1

Earlier today, I got a message on the Run Your Own Mail Server Kickstarter. It ended in 2024, but a backer had missed both the original download link and the second download link I posted for folks who missed the first one. Two years. I don’t mind resending a download link, but when does Kickstarter fulfillment stop? I hired a naturally organized and disciplined person to shepherd physical fulfillment, so I’m confident that future books will have less drama. If someone fills out a backer survey two years after the campaign ends, should I interrupt everything to ship them the book? Set aside a day a month to check for stragglers on every campaign I’ve ever run? I’m pondering saying something in the Kickstarter like “Fulfillment stops three months after the first shipment leaves my house.” If someone contacts me I can choose to be accommodating, but it also leaves me an exit if necessary. I generally want to be accommodating. I also need room to say “come on, it’s been four years and the thing you backed for no longer exists. I sent you four requests for your shipping address before giving up. We are done here.” I’d leave ebook download links up for a year, because that’s the easy way to be accommodating.

Speaking of fulfillment: all of the N4SA2e Defenestrated Edition copies are on their way. I appreciate everyone’s patience. If I had known or believed Liz and I were going to divorce I would not have run the Kickstarter. Oops, I need to update the SNMP MIB and the web site for it! Tomorrow, I guess. Maybe I’ll do the MIB tonight, that’s nice easy Perl and doesn’t involve any icky images. Book covers are overrated anyway.

If there’s interest, I’m also thinking of an all-Patronizer video hangout this month. It’s been a while since I’ve done one, but life is no longer overwhelming me. Any interest?

Oh! I have managed some original writing from scratch since moving out. The FreeBSD Journal Letters column on improving software quality came out well enough. The Journal has a new editor and is making some changes, which gives me new opportunities to be cranky. I had some fun with it. I also did an interview for the Escape From 2026 Bundle, where I talked singularities and orcdom. Writing that interview was the first time I’ve felt the words come alive in over a year. Oh crap–I owe Digital Reader backers a copy of Tiny Time Wars! And I must update the web site for it!

These fiction bundles where I say my book goes out of print when the bundle ends? They’re collections. I gathered a few of my alternate history and time travel tales into a file, put a cover on it, and boom–an exclusive! The stories are all available elsewhere, but this particular collection won’t ever be in stores. If I need a collection of time travel stories in stores, I’ll write another time travel story and make a different book.

Publishing is an absolute scam. I have no idea why you support me. But I sincerely appreciate it.

123: Excuses Weighed Nothing Against Ice

Probably jinxing myself by posting this, but: here’s a chunk from Twisted Presents.

Three nights ago had been the Longest Dark, the strongest night of the year. A night for the clan to come together and declare the year’s struggles, to mark the end of feuds and wars. Even living clanless and bereft, Mha had caught a whisper that her youngest daughter was in danger and had charged into battle. The magnificent fight had given Mha fresh cuts. She had defeated an elven wizard. Other orcs had honored her. December knew the truth, though. A daughter claimed by another clan no longer belonged to her mother, but she’d fought for her anyway. She’d had a flimsy cowhide of an excuse, but excuses weighed nothing against ice.

Soon she’d return to the barn. Back to her coal-fed stove and the sepulchral groom’s quarters where she rotted her days. For now, she bore December’s castigation.

Mha’s night-sight made the farmhouse’s lingering warmth a red rectangle. Humans had a holiday a few days after the Longest Dark, a holiday that Thorn’s neglectful nephew could not ignore. Thorn would return tomorrow but tonight, with nobody to feed the furnace, the snug farmhouse cooled.

Want to know when this will hit the world? Watch the Kickstarter.

122: Gawk at Others’ Past Mistakes

OpenZFS Mastery is starting to pick up momentum. Don’t look at it too closely. You might scare it.

First, note how ridiculously wide this VDEV is. A fourteen-disk VDEV will have suboptimal performance and experience slow death by fragmentation. Also, the devices were named badly. Now that drives have failed, it matters. But we’re not here to gawk at others’ past mistakes—uh, learning experiences. We’re looking at hardware failures.

This RAID-Z2 pool is in a degraded state. It’s missing not one but two disks. One of the drives showed a red light and was removed. The other failed silently. A RAID-Z2 VDEV can handle up to two disk failures. This pool has lost all redundancy. One more disk failure will destroy the pool. A pool without redundancy cannot self-heal, so if a file suffers bit rot, it will not be corrected. This pool is very vulnerable.

I’d appreciate your support while writing this silly thing.

121: Possibilities Multiply

OpenZFS Mastery is starting to roll lunch again. Hoping to get some intertia with it.

But create a dataset for each team, and give each site its own dataset within that parent dataset, and possibilities multiply. A team needs a copy of a web site for testing? Clone it. With traditional filesystems, you’d have to copy the whole site directory, doubling the space used and taking much, much longer. Clones use only the amount of space for the differences between the datasets and can be created instantaneously. When the team is about to deploy a new version of a site but wants a backup of the old site, they can create a snapshot. This new site probably uses a whole bunch of the same files as the old one, so you’ll reduce disk space usage. When the deployment inevitably goes horribly wrong, they can restore the old version by reverting to the snapshot. A particular web site needs filesystem-level performance tweaks, or compression, or some locally created property? Set it for that site. When you must change a ZFS property on all of the sites, make the change to the parent dataset and let the children inherit it.

OpenZFS Mastery is yet again open for sponsorships. Just like yesterday, and last month, and seemingly forever.

Saucer, Separated

It took a few iterations, but I did it.

a small standing desk built on wheeled wire shelves

My main standing desk is 60″ by 30″. It’s built on wheeled wire shelves. I tried using a small standing desk from Amazon, but it lacked the structural integrity to hold the monitors still while I typed.

What I wound up with is another set of wheeled wire shelves, 36″ by 18″. The top is a 2’x3′ sheet of laminated MDF supported by half-inch plywood. I used a hole saw to notch post settings in the bottom of the plywood. The Mac is mounted beneath the shelf, along with a power squid. My landscape-mode monitors are on the other desk. Each desk is independently powered, but they can be connected with one USB, one audio, and two DisplayPort cables.

Without a better workshop, this design is as sturdy as I can get. The monitors still wobbled. Adding the ten-disk tower PC to the bottom shelf as ballast sufficiently steadied it.

I can now roll out onto the balcony, with monitors optimized for making words. Detroit hit 100F yesterday and 97F today, but I’m hoping for good outdoor writing weather by November or so. January at the latest.

My sincere gratitude to the folks who saw my Amazon wishlist and sent me the parts. Yes, the wishlist is empty–because people keep buying whatever I put on it! Your generosity has made rebuilding a life much more comfortable. Thank you.

120: The Pool Reverts

Here’s a chunk of OpenZFS Mastery. I’ve caught up to where I stopped, and new words will be coming soon.

Pool features that are enabled are available for use, but not yet used on any bits on the disk. Your OpenZFS supports a new compression algorithm, but has not actually used it to write any data to disk. This pool could be imported on a system that doesn’t support the feature, because the new host won’t see anything that makes it freak out.

Disabled pool features are available in the operating system but not turned on. Nothing in the pool says that these features are available. This pool can be used on hosts that don’t support this feature.

If the feature is active, the pool can only be read by an OpenZFS that supports the feature. This pool cannot be moved to a system that doesn’t support this feature. If the feature is active, but all datasets using the feature are destroyed, the pool reverts the feature setting to enabled.

OpenZFS Mastery is open for sponsorships. Just like it has been for a while.

119: The Sixty-Seventh Son of the Duke of Horsehead

I’ve been going through OpenZFS Mastery but don’t feel like reading a chunk of it, so here’s a tidbit of a story I’m putting out this month.

The scarred, cratered rear end of the twenty-thousand-year-old wreck hung two meters below my feet like a giant platter dividing the cosmos, filling me with an astonishment even the best holograms couldn’t convey. From childhood I’d studied every accessible work on generation ships to feed my fascination. Reality exceeded them all. Overhead, the plush black sparseness of the Orion-Perseus Gap filled me with a whole different awe. Our ship, Recovery Interceptor Hoover, was invisible against that darkness. The glow from our support drone a few meters above only thickened the void. Stunned by the distance, by the generation ship, by the mere awareness of the engulfing universe, only the stink of my pressure suit kept me anchored to my duty.

When I took my adulthood allowance and purchased my ensign’s commission in the Gap Guard, Father had bought me the finest Gieves & Hawkes custom-tailored pressure suit, worthy of a gentleman and the sixty-seventh son of the Duke of Horsehead.

I freely admit that publishing short stories from my backlog is all about a quick dopamine hit. Sorry. Last month’s new stories, an Aidan Redding Montague Portal and a Rat’s Man’s Lackey, are in my store right now.

June’s Juryrigged Sausage

This post went to Patronizers in June and to the public in July. Not a Patronizer? You could be!

I am now settled in a safe and clean apartment. After ten days of work, everything is unpacked and in a place. I’m not happy with all the places, but those can be adjusted and if things have a place the apartment can be kept tidy. My office is functional, including printers and wireless. I’m actually fairly content with how it came out.

I loathe carpeting, but that’s what I could get.

Going from a sprawling house to an apartment is weird. The network demarc is close enough to my office that, instead of trying a dozen different makeshift ways to get Ethernet to my test gear, I might be able to do everything over wireless? The power strips all show these bizarre “grounded” lights, which I have never seen before but am reliably informed do not represent a failure mode.

My first priority is catching up on stuff that’s behind. I had planned to ship Patronizer copies of the Defenestrated N4SA2e, but a problem with my Patronizer system has made me delay a day. I suspect that none of the paused print-level Patronizers chose to pause, but I must verify before turning them on. I’d be inclined to just ship them all books, but someone might have gotten disgusted with me and wish to never hear my name again and I don’t want the postal inspectors to charge me with mail-order stalking.

My second priority is getting back to making words. I’m financially okay for a few months, but people support me when they see progress and there has been no real progress for a few months. I can’t just leap into writing eight hours a day, however. Writing is a muscle that must be warmed up or you crash and burn out. I’m starting by blogging more often. Some of that content will make it into Sausage posts as relevant, but most of it will be randomness to get the writing brain rolling. The impulse to write is once again present, but I know my brain. Brains are the worst. The worst. I can’t afford a self-imposed crash.

Plus: I might be living separately, but the divorce still must work its way through. An estate sale agent is disposing of the material trappings of our old life and then the house will go on the market. This is all intensely emotional, and I just have to roll with it.

I’m making the best of the split, though. My new apartment is less than two miles from my dojo, so I’ve been practicing more. The rats came with me, and they’re settled in okay. Everything is in open storage, which helps me remember what I own. Money is tight so I am living on a cash only basis until I achieve stability.

In other good news/bad news, a couple of publications that I had sold stories to folded. Again. Once again, as previously documented, I have been seen fleeing a burning publisher. The bad news is, the publisher sat on them for two years and I won’t get paid for them. In indifferent news, I am giving up on selling short pieces to publishers. It’s not worth my time. In good news, I can publish these stories myself and score an easy dopamine hit. The pile includes Montague Portal and Rats’ Man’s Lackey, so that’ll make some of you happy. Plus a ghost story, a magic Regency, and a sci-fi Regency. Because I could, because they amused me, and because nobody stopped me.

No, I didn’t warn anyone. They might have stopped me.

That’s kind of the key right now. Not warning people? No–well, okay, yes, also that. But amusing myself. The path to being okay lies through amusement. Besides, if the labor of writing doesn’t amuse me, the result will read like any other tech book. Tedious. Flat. I’m connecting with people and attempting to refill my well of amusement. I’ll be doing a writer’s event in Seattle at the beginning of August, and have tentatively scheduled a public meetup at Sirena Gelato in Kirkland on the evening of July 30th. No, I haven’t scheduled with the gelato shop. That would count as a warning.

Anyway, if you’re around Seattle on 30 July, there’s your chance to meet me.

And now, the Tilted Windmill Press store wants me to update to WordPress version 7.0, complete with generative AI features. Do not try me this month, you abhorrent monster. Do not.

Called Out By A Cookie

In an effort to make the word machine in my skull fire up, I’m trying to blog more. Some of those blog posts will be short and/or daft. Besides, why give my silly thoughts to the big companies and not put them here?

Last night, ZZ Claybourne and I got Chinese and finished watching Alienoid. (Alienoid is a Korean two-part sci-fi kung fu what-the-heck film, reminiscent on Buckaroo Banzai on acid. Both parts are out, so I can recommend it.) Anyway, Chinese food.

We all know fortune cookies. Just like most of our Chinese food, they were invented in the US and play to Western ideas of China.

ZZ and I both picked a cookie from the bag. His was, as is traditional, trite and inoffensive. Mine?

a fortune that reads: You are capable, competent, creative, careful. Prove it.

This is my new favorite fortune. The world needs more fortunes like this.

Also, M is my lucky lottery number? I do believe I’ve been told that if I want to win the lottery, I must resort to methods other than the traditional “buy a ticket and hope.” Fair enough.