“OpenZFS Mastery” device names options

The original FreeBSD Mastery: ZFS books recommended managing disks by labels based on serial number.

  pool: vm
 state: ONLINE
config:

	NAME                   STATE     READ WRITE CKSUM
	vm                     ONLINE       0     0     0
	  gpt/WD-WCC4N0JSJDKF  ONLINE       0     0     0
	  gpt/WD-WMC4N0M8NRXM  ONLINE       0     0     0

errors: No known data errors

I do this on hosts with multiple storage devices. It’s great for reality, with copy-and-paste terminals. It’s terrible for an educational book. The brain cannot absorb this easily. I see two ways around this. There’s the method used in the original books:

  pool: compost
 state: ONLINE
  scan: none requested
config:

NAME       STATE READ WRITE CKSUM
compost    ONLINE   0     0     0
gpt/zfs0   ONLINE   0     0     0
gpt/zfs1   ONLINE   0     0     0

Easy to understand. A terrible example. Readers of the first book did this, despite the copious warnings not to.

It was suggested that I could use truncated fake serial numbers from different manufacturers.

  pool: vm
 state: ONLINE
config:

	NAME             STATE     READ WRITE CKSUM
	vm               ONLINE       0     0     0
	  gpt/WD-WCC4N0  ONLINE       0     0     0
	  gpt/SEA-4N0M8  ONLINE       0     0     0
	  gpt/TOSH-9262  ONLINE       0     0     0
	  gpt/NCC-1701A  ONLINE       0     0     0

errors: No known data errors

This is obviously fake. It also obviously represents serial numbers.

So, the question for my nonfiction readers is: how does the latter example stick in your brain? Is it not only readable but absorbable?

Paypal re-enabled on my store

Seems that during a round of troubleshooting the Tilted Windmill Press store, I temporarily disabled Paypal. Turning off features until you figure out what’s broken is standard troubleshooting.

Apparently I skipped the part where I turn features back on. Oops. Paypal is back. Sorry, folks.

Nobody complained, which makes me curious. Does anybody have reason to need Paypal rather than a credit card? I want to offer all reasonable payment options, but I don’t want to carry unnecessary stuff.

109: We Won’t Live Long Enough

Yes, I’ve been missing for a few weeks. Caught a bad case of Life. Here’s some OpenZFS Mastery.

ZFS advocates claim that ZFS is immune to these arbitrary limits, but that’s not quite true. ZFS store most of its values in 128-bit variables. One directory can have 248 files, of up to 16 exabytes each. A single pool can be up to 256 zettabytes, or 278 bytes. A storage pool can contain up to 264 devices, and a single host can have up to 264 storage pools. File and directory names can be up to 1023 ASCII characters.

The good news is, we will not live long enough to hit these limits. The bad news is, today’s sysadmins have all the expertise in migrating between filesystems. When technology hits ZFS’ limits, those poor people won’t be accustomed to migrating between filesystems. Fortunately, they’ll have a few lingering but ongoing FAT/UFS/extfs rollovers for practice.

OpenZFS Mastery is open for sponsorship at https://sponsor.mwl.io.

December’s Dastardly Sausage

This post goes to Patronizers in December and becomes public in January. Not a Patronizer? You could be! $12 a year gets you my latest updates, occasional free tidbits, and the completely pointless MWL Footnote Fortune File, freshly updated for the new edition of Networking for System Administrators.

A month of paperwork here.

The N4SA2e Kickstarter is “fulfilled,” meaning “Lucas has done everything that he can do” and not “everyone has received their books.” The printer (Ingram) has acknowledged all the drop shipment orders, but they’re backed up for the solstice. I am told that Ingram is running extra shifts to catch up, but physical products take time no matter what you do. This is the second time a campaign went large, and I’ve reached a couple of conclusions.

I am the wrong person to be doing this work.

Chasing a handful of people for their phone number and shipping address? No big deal.

Chasing a few hundred people for same? Big deal.

Some folks handle that just fine, but my brain is wired in such a way that I find it painful. I could just say “eh, they gave me money but didn’t give me an address, not my problem,” but that way leads to unhappy supporters. I want folks coming back for the next book. The photo in this Bluesky post is my goal–folks coming back, book after book, and buying them directly from me. The only way that happens if I make it work transparently. Catching Covid halfway through this fulfillment didn’t help. I need support.

The good news is, my “contact all sponsors and get their correct current shipping address” script worked. I had one misaddressed package. Seems the sponsor runs their own mail server and hadn’t got my email. I can deliver messages to the Email Empire reliably, but one dude on his own? Not so much. Still, I’m calling it a success. That wasn’t so bad.

Dropships are simple, in theory. I prepare a spreadsheet with the hundreds of orders on it. Each spreadsheet has an ISBN, title, address, phone number, shipping method, and so on. I send the spreadsheet to Ingram. They acknowledge it, print the books, and ship. Not a huge job, but tedious and annoying.

I know many detail-oriented people. I could easily hire one for short-term spreadsheet wrangling.

The annoying thing would be training them. Training means explanations. Explanations are best served by documentation. I’ve put off documenting Tilted Windmill Press business processes, in part because the whole time I’m committing them to writing I would have to suppress my fully natural desire to shriek THIS BUSINESS IS RIDICULOUS and while that’s certainly true I’ll eventually run out of air and black out.

But needs must when the devil drives. Capitalism is a pretty senior devil.

The material changes slowly, but too quickly for a book. The sensible way to document my processes in a way accessible to external employees would be… ugh… I don’t want to say it… a (gag) wiki. (I guess I’m now looking for recommendations for simple wiki servers that run well on BSD?)

The logical next question, though? If I’m going to document my processes, and they’re going to be on a web site, should I make the documents public?

Businesswise, I am a unicorn. Very few people make a living writing. Of those, most write for an organization like a publisher or a business. I write books independently and fling them into the public, at scale. A handful of other folks manage it. Huge names? Yes, Brandon Sanderson’s last Kickstarter had 185,341 backers and grossed $41,754,153, so that dude has an entire staff complete with HR department and a full-time spreadsheet wrangler and a single manager to insulate him from all of that. The minuscule gang at my size have all built our own systems for dealing with a hostile industry. Dealing with the vagaries of IngramSpark dropship spreadsheet? There’s maybe a few dozen authors in the world that have to do that for themselves.

But when you first meet the system it feels overwhelming. The newly initiated would welcome documentation.

Ditto for folks who have never used USPS to mail a thousand books from their living room. How do you prepare that spreadsheet? How do you manage the packages? What’s a manifest? It’s a straightforward job, easy to outsource–once you provide instructions.

But if I make this public I would attract comments. “How do I sort columns in LibreOffice?” “Apple Music doesn’t let me export spreadsheets.” “No way a woke doofus like you could have that many readers.” And, of course, the all-purpose “You are wrong.” Yes, I can open each page with a disclaimer and remove all contact information, but people are weirdly persistent in finding a mailbox to complain at.

But when an Ingram spreadsheet first assaulted my eyeballs, I would have cherished an experienced person’s scribbled notes.

But, but, but. Lots of back sides, no front sides.

I’ll be setting up a wiki for internal use, but we’ll have to see if I make it public or not.

The real time and energy savings of hiring someone won’t hit until the second time I hire that same person to help ship books, because the first time I’ll spend more resources documenting and training than I would doing the work myself. Writing this out, I should perhaps hire someone before I have a large campaign. It’s probably better to train them on a Dear Abyss or a Laserblasted than on a viral tech book.

Anyway, what else is going on?

I’m in a new Storybundle that supports World Central Kitchen! That’s cool. My book, Beastly Virtues, will never be in stores. I created this collection just for this Storybundle. I have enough short stories that I can create themed collections on just about anything–well, okay, maybe not for “hope.” Or “joy,” sure, but almost anything! This bundle is all about Wee Beasties, and is a great deal. Digital Reader patronizers, you’ll get a copy of my book but you should definitely check out the bundle.

With N4SA2e out the door, I should have the decks clear to start really cranking on the new OpenZFS book. It’s open for sponsorships, by the way, so do tell your friends. I don’t know if I’ll do a challenge coin for this book, though. Business thrives on predictability, and I don’t know if coins will be available by the time I finish the book or what the tariffs on them will be. I budget about $7-$8 for a coin, which makes print sponsorships slightly less profitable than Kickstarter backers who buy the special edition without the coin. If that becomes $20 a coin, there won’t be a coin. If inflation keeps climbing, there won’t be a coin. I really, REALLY want to not raise the price of sponsorships. I last seriously considered a sponsorship price increase in 2022.

The real answer is that the value of the dollar will continue to degrade until I am forced to raise prices. Then it will degrade further. Because that’s what the dollar does.

N4SA2e was my most sponsored book however, though, and if I can continue to attract numbers of sponsors I can hold off that price increase.

Anyway: docs. N4SA2e. Wee Beasties. OpenZFS. I think that’s it?

Thank you for your support. My Patronizer income might not be huge like some folks, but it’s predictable reliable and steady and that makes a world of difference when it comes to keeping the lights on.

My First Ever Awards Eligibility Post

Every January, novelists announce their previous years’ releases that are eligible for awards. I don’t. The authors offer review copies to award readers. Again, I don’t. Awards give a nice warm fuzzy feeling, but the warm fuzzy feeling I prefer is “having heat and food in frozen Detroit.” I’m good. Peer recognition is great, sure, except for the part where folks notice that you exist.

Many people have designed their careers such that awards might give them a career boost. If you work through a traditional publisher and you win a Hugo or whatever, their marketing team will get you on radio and TV and in big newspapers. People Magazine might notice you exist. That might sell books! Your future books will all get “Award-Winning Author” slapped on the cover.

As I say elsewhere, I lack the infrastructure to leverage awards and have no interest in building that infrastructure on the minuscule chance that I win one. Sign on with a trad publisher? Forget the exploitative contracts and the loss of control; in the time it would take me to sell a book to, say, Tor, I can write, publish, and get paid for four novels (see above re: heat and food).

Sometimes, however, art overtakes reality.

I published one novel in 2025. It demands an awards eligibility declaration.

It started as a joke, but is probably the best novel I’ve written.

Go ahead. Nominate it for a big award. I dare you. I double-dog dare you.

The reviews have all been positive (Goodreads) (Amazon). A uniform five stars.

I triple-dog dare you.

Oh, and because someone will ask: nonfiction book awards? I’ve won one. Others exist, but they don’t help build writing careers. They do help build technical careers, though, so give them to someone they will help and don’t nominate me.

2025 Income Sources

I make a living writing by earning money from every available channel. That means I need to see which channels are worth my time, which I should benignly neglect, and which I should partially or completely drop. Each year since 2019, I’ve posted the results.

First, my usual caveats and exceptions.

I earn money by creating and licensing intellectual property in prose form–aka books, articles, stories, and so on. I publish globally, both independently and through publishers. I make my books available in every channel that offers acceptable terms and reject channels with unacceptable terms. I don’t seek out speaking fees, although if you put money in my hand I’ll take it and say “thank you.”

Whenever I share actual dollar figures people immediately inform me that I can’t possibly be making that much, or that I don’t deserve to make that much, or demand that I share “the secret.” The first two are not worth my time, and I’ve been shrieking the dang secret for years: keep writing with an attitude of deliberate practice, and manage your cash flow.

Nothing productive comes from such discussions, so I don’t share the numbers.

I will say that I could make far more in a tech job, but whenever I express faint interest folks offer me senior roles involving horrid words like “mentoring” and “leadership.” No thank you.1

As far as actual dollar values goes, I will say: after the intoxicating heights of 2024, 2025 was a dizzying plunge. The United States is increasingly hostile to small businesses, especially ones with international customers. I make Enough.

So where did my money come from in 2025?

This chart excludes everyone under 3%. Here’s the detail.

Amazon 18.70%
Kickstarter — 21.15%
Trad Pub — 14.62%
TWP sponsorship — 14.40%
TWP ebooks — 9.43%
TWP print — 6.33%
TWP patronizer — 5.40%
Patreon — 3.85%
IngramSpark — 3.46%
Gumroad — 1.20%
Kobo — 0.46%
Apple — 0.38%
Google — 0.36%
bookshop.org — 0.14%
Draft2Digital — 0.11%
Barnes & Noble — 0.03%

I debated even including the folks at the bottom, but folks ask “what about Barnes & Noble?” so here it is. Don’t pay too much attention to the bottom: sale of a single copy can shift the lowest rankings.

This list guides many decisions. Apple Books now requires that I identify myself as a “trader” to sell books in the EU, as per the Digital Services Act. Am I going to spend the money to comply with EU laws on their platform? With Apple Books consistently being less than 1% of my income year after year? No I am not. I’d publish a big apology to my Apple readers in the EU, but I have no idea who those three people are.

The most exciting (to me) item is the brand-new “TWP print” category at 6.33%. My bookstore started selling print books in February 2025, with a printing/shipping back end provided by Bookvault. Individual print books are priced at retail, but readers pay shipping. They also get the ebook free with print. I offer a coupon code for ten percent off print books, which helps offset shipping and allows retailers to stay competitive. I also have discounts on print bundles. Last year TWP had 146 direct print orders. Over half of them were for multiple books. A few folks even bought the Total Mastery bundle in print. Shipping on the 17-book Total Mastery bundle costs about the same as shipping two books.

For decades, my readers have asked for an electronic version with the print version. I offered that and they came.

Mind you, nobody has been daft enough to buy the print version of The Full Michael.

A fair number of print orders come from Europe, even though I don’t make enough in the EU to qualify for IOSS and can’t handle VAT so readers have to pay customs on delivery. Thankfully, EU folks are accustomed to this headache when importing from backwater nations.

In past years, I’ve posted graphs showing the aggregate over time for each large channel, much like this one.

This year, I realized this is the wrong sort of graph. I want to see how my income from different channels changes over time. Here’s a more useful graph.

What can I learn from this?

First, let me define the term “retailer.” For this discussion, a retailer is a bookstore that I do not own. Amazon, Gumroad, Google, Apple, those are all retailers. Kickstarter and Tilted Windmill Press are not retailers. Kickstarter is a middleman, but they take a smaller cut than retailers.

Outside channels like retailers and Kickstarter are discovery platforms. They’re where folks learn my books exist. I need discovery platforms! But my business model gently guides people towards paying me directly. My store offers subscriptions and crowdfunding and regular book purchases much like Patreon and Kickstarter and Amazon. Whatever way folks want to pay, I’ll take their money.

I don’t want to depend on any one retailer, though, instead relying on a Redundant Array of Independent Retailers (a RAIR for you computer nerds). I want a whole mess of lines at the bottom of this graph, with a bunch of retailers each providing a relatively small percentage of my total income. If one retailer drops me, I’ll be annoyed but survive.

I want a nice healthy line at the top representing direct sales.

I want occasional spikes from Kickstarter or other third-party crowdfunding. That won’t stand out on yearly graphs, mind you, but viewed in more detail it’s definitely spikes.

In the graph above, Amazon is the dark blue line that starts near the top and drops below the pale blue Kickstarter line in recent years. The healthy crowd at the bottom is all my other channels, including a separate entry for each of my direct offerings.

But what happens if I combine the direct offerings into a single “folks who pay me directly” chunk?

That orange line that’s generally trending up year-over-year? That’s combined direct payments to me. That line represents my goal. You can see where it exceeded Amazon in 2022 and has remained above since. Kickstarter exceeded my direct income in 2024, but that was a freak event on a discovery platform. Many folks who backed Run Your Own Mail Server in 2024 went on to directly support Laserblasted and the new Networking for System Administrators. That pale blue spike in 2024 led the orange line increasing in 2025.

“But you can’t compare crowdfunding to retail sales to patronage!” Sure I can. I offer a variety of deals. People are free to choose which arrangement they want. The important thing is that I get paid to write the books I want to write.

In fact, let’s compare retail to my less expensive non-retail platforms.

Retailers take a bigger cut than non-retailers. I’m okay with deprioritizing them.

How do I feel about this? I am content but not satisfied. Income is down, but my whole nation’s economy is gasping. My bills are paid. I can withstand the loss of any one retailer. I’d like to see direct sales reach about half of my income. Trends say I’ll get there.

Not bad for a down year.

PS: Whenever I post these pieces, some folks on various writing forums declare that my business plan isn’t a “real business.”2 To them I’d like to say: I pay my bills writing what I want to write. I get to spend my days being creative, whether it’s discussing the moral necessity of punching billionaires in the throat, helping people reduce the agony of working in enterprise IT, or defending yourself against the tech oligarchy. The only way I could care less about getting paid per-sale versus patronage versus sponsorships would be with lobotomic assistance.

If you want to create for a living and are focused on any one style of getting paid, you are making things more difficult for yourself than necessary.

Two new Christmas stories in my shop

Life prevented me from releasing the Twisted Presents collection this summer, but here’s a couple stories from it. Both were previously published, but not by me and not in places my average readers commonly read. They went for free to all of my Patronizers, but each can be yours for a paltry $1.99.

First up is a Beaks tale, Sister Silence Night.

“Ten thousand dollars an hour, take it or leave it.”

Master criminal Beaks doesn’t charge extra for Christmas. She loathes Christmas. But for a friend, she’ll skip the fee and call it a favor.

Especially when the job’s at a shelter for runaway queer kids in Texas, under attack by an invisible hacker who’s ruined lives and driven the innocent to suicide. A hacker who’s abandoned cyberspace and getting physical. Beaks doesn’t care what kind of Grinch wants to ruin Christmas for these kids. All she cares about is making it stop.

Whatever it takes.

Then there’s the hard-boiled noirish The Last Multivariable Differential Christmas.

Why couldn’t my rep include “knows where to bury the bodies?”

That rep brings people to him. His awful talent means that sometimes, when nobody else can help, he can.

Firestone University, home of the toughest math program in the United States. Honestly it’s the most dickish, but that looks bad on brochures. After nine years an undergrad, with the final exam next week and the faculty gunning for him, it’s his last chance at passing multivariable differential equations. He must study. Those bastards will not beat him.

But another student brings him not just cheaters, but the kind of cheating that kills people.

There’s no reward for doing the right thing. Getting involved might throw away the struggle of the last nine years.

But some things are too wrong to live with.

And the right solution is as obvious as integral-of-one-over-log-cabin-equals-houseboat.

Perhaps I couldn’t put out the Christmas collection this year, but my shop has a burgeoning collection of Christmas stuff.

November’s Noyous Sausage

This post goes to Patronizers in November and becomes public in December. Not a Patronizer? You could be! $12 a year gets you my latest updates, occasional free tidbits, and the completely pointless MWL Footnote Fortune File, freshly updated for the new edition of Networking for System Administrators.

Last month got home from EuroBSDCon and made it a point to post the monthly column my first day back. #ebc25 was great. Meticulously run. Fantastic program. Great food. The local staff kicked butt. I brought home a tie that I shall treasure but hopefully never need, stoopwaffel, joyful memories, and covid.

About an hour after I posted last month’s StSbM, the fever hit.

There’s nothing quite like publishing a book while hallucinating. So I didn’t. It delayed N4SA2e by a couple weeks, but that’s better than releasing delerium-infused work (shut up shut up shut up). It took me down for a couple weeks, but the book is now finished and at the printer. Let me check… yep, they now show up as “printing.” Should be here in a couple weeks. I have fresh envelopes and printable labels ready and a good pen to sign them all. The sponsor mailing addresses have been validated and a giant postage spreadsheet assembled.

Once the books ship, I will tell the Kickstarter folks that they have two days to finalize their addresses.

I’m still not completely recovered. My attempts to make words on OpenZFS Mastery prove that.

The ugly truth is, every time I attend an event that doesn’t have a mask policy, I get sick. I wear a mask throughout. Masks work, but crowded closed-in rooms overwhelm their protections. Everyone needs to contribute to protecting the community.

I will no longer attend any conference that doesn’t require masks. Yes, both Penguicon and BSDCan have dropped their mask policies. I won’t be at either. Cons are fun and educational, and I enjoy meeting colleagues and readers, but I’m old enough that I must prioritize my health. Can’t write books if covid fries my brain, and while I’ve reached my final form, said form is utterly unemployable.

But we do have a manuscript for OpenZFS Mastery! Well, pieces of it. It’s basically the first edition FreeBSD ZFS books slammed together, along with copious notes from Allan and myself on what needs to be changed. It’s essentially a skeleton that we need to add flesh to. Covering Debian as well as FreeBSD means restructuring most of the book. Here’s one page of the introduction, with the changes in red.

That photo’s a few weeks old, before Allan took a look. More has changed since then.

The one thing that remains unchanged from those old books and the new? My test host. Almost twelve years ago, I bought a ten-drive amd64 server. One of the power supplies has blown, but the rest works just fine. 32GB of RAM and eight cores is more than sufficient, and I can have mirrored boot drives while striping two RAIDZ2 arrays.

One of NYCBug’s fine folks shipped me a “high-end” custom-built, undocumented dual storage array that I haven’t had time to set up yet. My career has many gaps, but one of them is custom storage. I’ve used external storage arrays, sure, but I ordered them as complete kits. They included all the cables. This thing doesn’t. If I still had a day job, I’d go to the boss and tell them that the kit is incomplete and here’s my best guess for the cables and if they’re wrong, too bad, I didn’t choose this stuff. I’d happily let the boss spend a few grand on cables to try. But this will let me write a better book, so I gotta figure it out.

The smart thing to do is write a blog post with descriptions and photos, and ask my social media followers for advice. One of them must be a storage guru, or at least familiar with the ARC1330-8X/8I/8X8I/4x4I and Adaptec AEC-82885T in these things.

But the important thing right now is making words. And the ten-drive host is good enough for that. I’ve been working with bhyve and getting test hosts running.

It’s my first time playing with bhyve. It’s powerful, but like BSD has less of a “learning curve” and more of a “learning curb.” I’ve been watching it for a while, though. Back around 2018 (or some year like that), I asked Michael Dexter if it was time to write a bhyve book. He told me that things were churning rapidly and I should probably wait. EuroBSDCon included a one-day bhyve con, chaired by Dexter. I went. During the pre-lunch lightning talks, he requested that I come up to the front and then asked me why “we” didn’t have a bhyve book yet and what it would take to get one. I gave him a quite meaningful glare. “Well, last time I asked someone said…”

Anyway. Bhyve is cool. It’s stable enough that Kirk McKusick uses it for filesystem development. I’m using vm-bhyve as a front end, because raw bhyve requires long command lines and I’m lazy. Will there be a bhyve book? Ask the winds of karma because I got no clue. I know that after OpenZFS Mastery my next tech book will be on DNS. I don’t want to write a DNS book. The world needs an approachable DNS book the way it needed the mail book, though. Otherwise the oligarchy wins without a shot fired, and I’m an absolute sucker for horrific heroic last stands.

I can say that I’m taking the notes I would need to write a bhyve book, though. Why would I even consider writing a bhyve book when I haven’t used bhyve?

Because that’s the correct way to write a book about any technical topic.

Writing a tech book (or, indeed, any book) is not about documenting facts. Man pages and source code have all the facts, and when someone declares “it’s in the man page” folks rightfully flip out. Facts are not knowledge. Books are not about the facts; they are about the connections between facts. I watch my brain while I’m learning. The moments of enlightenment, when I realize how pieces fit together? That’s treasure. It goes into the notes. Those moments become the backbone of the book.

It’s also true for fiction. Laserblasted was written as a joke, and I’m told it came out funny, but look at this daft lump of the first chapter.

The Greys invented police long before humans did. One of the things they police is access to humans. It’s not that they care about us. Humanity hasn’t evolved enough to join the galactic market and hasn’t invented antigrav so the Galactic Species Index classifies us as livestock. If someone figures out how to profitably strip-mine us before we get our act together, we’re done. While the Orion’s Sword civilizations consider human pineal glands a potent aphrodisiac, we’ve put so many toxic chemicals into our environment that the Swordian Morality League has taken to saying, “take gland for your last stand.” The Greys put humanity on the Protected Species list, which isn’t so much for our benefit as giving them another excuse to put the boot in. The Swordian Society for Responsible Human Ranching will get that law changed one day and swoop in to save us from ourselves, for them.

Pick any one of these very stupid sentences. I can draw a line from it to the characters, the story, and the resolution thereof. (I still can’t believe that daft thing funded. At least it’s a complete commercial failure in the retail market, showing there might be hope for civilization and good taste.) Even stupidity is pointless unless it’s tied up in an ordered bundle of stupidity.

Anyway: everything is about connections. Not facts, not feelings. Connections. Like the connection y’all offer by Patronizing me. Thank you all.

TWP books not in Apple Books in the EU

Tilted Windmill Press books are not available in Apple’s bookstore in Europe. Sorry, folks.

Under the EU’s Digital Services Act, I am a trader. Compliance with the DSA means that Apple Books requires trader display their name, address, and phone number on the product page. I have a PO box, but I am not willing to have my phone number on the Apple Books store. Yes, you can find my phone number. It’s not rocket surgery. But that’s different than putting it on a third-party bookstore page for everyone to see.

Could I set up a burner or a Google Phone dropbox? Sure. But consider that my total income from Apple Books is so minuscule that I didn’t even put it on last year’s graph. How much work am I willing to do for $200 a year? Very little.

I have updated each book’s page to state that the books aren’t available on Apple in the EU.

Should I start doing enough business in the EU that I need to change this decision, I will. Prediction is foolish, but I’d guess that happens when I need IOSS.

First foreign fiction translation

Many decades ago when I was but a bitter lad hanging around the library, a twisted geezer with mismatched eyes and one tattered tooth tottered up to me and hissed Your first fiction translation will be dick jokes. The jackbooted librarian-goons immediately hurtled him into the street. At the time I thought it was because he was being creepy, but it turns out that they were preserving the integrity of the timeline.

My Prohibition Orcs story “Woolen Torment” has been translated into German for the anthology Trolle.

Yeah, I know. Trolls, orcs, whatever. Different cultures have different brutes.

At this rate, my next translation will appear about 2065. You better grab this one.