New story: Savaged by Systemd

Yesterday, I put a short story up as an ebook. This was a wild experiment that I wrote on a whim.

When I say “wild experiment,” I don’t mean I decided to play with tenses and point of view. No, I decided to spend one day writing a lunatic piece, something that I’ve never written before.

Erotica. Sort of.

Computer erotica, to be specific.

Linux sysadmin erotica, to be more specific.

OK, fine. Systemd erotica.

It’s called Savaged by Systemd. And while it certainly contains erotic content, it’s got a bunch of other things in it too.

I try to wait to announce these things until they’re available in both print and ebook. But some weird things happened.

Here’s last night’s Amazon “hot new erotica releases.”

#2? This is madness.

Hot new releases only include titles released in the last little while. It doesn’t mean much compared to the general “books that are best-selling right now” list. So here’s a screenshot of Amazon’s erotica best-sellers from last night.

I’m #15. This, also, is madness.

But this book involves technical topics. It’s also showing up in the Unix category. Here’s a screenshot of Amazon.ca’s Unix Hot New Best-Sellers.

Hitting #1 in the Hot New Unix Books category is no big deal for me.

This morning’s SF Erotica best-seller list?

Strangest of all?

Here’s my Amazon ebook sales dashboard for the last three months, displaying unit sales.

Those little yellow marks all along the bottom? That’s my living. I’m not complaining about it. I get a reasonable middle-class wage compared to non-tech workers. Don’t get me wrong–if you offer me money I’ll take it. Reader donations in the form of book sponsorships have helped me out in desperate times.

And Savaged by Systemd is only $2.99, so I don’t make nearly as much off of one of those as I do a tech book.

But still: that’s a mighty pretty looking set of spikes, over there on the right hand side.

And it’s getting reviews. Goodreads is famous for giving lower reviews than most other book sites. Not only is SbS getting all five-star reviews there, it’s getting long and detailed reviews.

One of those reviews captures what I was trying to do.

Writers are pretty good about hanging on in the face of adversity. We’re accustomed to the larger world pretty much ignoring our feeble efforts.

Success disorients us.

My social media accounts are flooded. My email is worse than ever. Everybody on LinkedIn suddenly wants a piece of me. (I only LinkedIn with people I’ve actually worked with, btw.)

Despite the heady rush of literary success, I need to make some words. The deadline for the new Absolute FreeBSD is pretty inflexible, if I want it in print for BSDCan.

AF3e status, 22 August 2017

Your irregular “Absolute FreeBSD” status report!

It’s at 123,700 words. 12 of 26 chapters exist as first drafts. (Yes, the last report said 7 of 24. I can’t count.) Two more chapters are partially done. One of those partially-done chapters, on “Pre-Install Considerations,” won’t be done until I finish the whole book. I keep going back to add tidbits to it. It’s complete, except when I find something else I have to add to it.

The current status looks like this. Chapter titles subject to change. Again, the ideal chapter length of a No Starch book is about 5000 words. The really long chapters have no obvious breaking point, so I’m kind of stuck.

0 – Introduction (7500 words, sent to NSP)
1 – Getting More Help
2 – Pre-Install Considerations (4900 words)
3 – Installing (write last, because screenshots are evil)
4 – Booting (11,400 words, sent to NSP)
5 – Backups
6 – Kernel
7 – Networking (8800 words, sent to NSP)
8 – Configuring Ethernet (8500 words, sent to NSP)
9 – Security
10 – Partitioning & GEOM (10700 words, sent to NSP)
11 – UFS (9000 words, sent to NSP)
12 – ZFS (8000 words, sent to NSP)
13 – Other Filesystems (11,700 words, out for review)
14 – More Security
15 – /etc
16 – Packages (8600 words, NSP tech review done)
17 – Ports (6800 words, NSP tech review done)
18 – Advanced Software Management (7400 words, in process)
19 – Upgrading
20 – Small System Services
21 – Performance and Monitoring (14,000 words, out for review)
22 – Jails (6100 words, sent to NSP)
23 – Misc Crap
24 – Panics & Bugs
Afterword

See the prior status report on why I’m writing in this order.

Progress is slower than I’d like, thanks to my trip to England for BSDCam. (Jet lag and travel kills tech writing.) But BSDCam changed the content of this book to your benefit. But I have a few more weeks until EuroBSDCon, so I’m grinding out as many chapters as quickly as I can without sacrificing quality.

I suffer for FreeBSD, so you don’t have to.

The real challenge here has been my fiction projects. I’ve been working on a new Beaks novel, but it’s just not working. I tried switching to the third Immortal Clay book, but those words just won’t come.

And by “won’t come,” I mean I’m producing about 700 words an hour. And I’m actually relieved when my 90 minutes of fiction writing time ends. That’s bad. It’s stressing me out.

Both IC and Beaks are kind of dark. And right now, it seems that my brain doesn’t want dark. Part of that is the world, and part of that is my serious effort to get AF3e finished in time for BSDCan 2018.

On a whim, I started working on the next Montague Portal novel. Montague Portal is light and escapist. Yes, there’s murders and stabbings and stuff, but they’re fun murders and stabbings. My subconscious sighed with relief and started spitting out 1200 words an hour from a cold start.

So, it looks like “Drinking Heavy Water” will be my next novel.

More updates as events warrant.

BSDCam Trip Report

The FreeBSD Foundation has posted my BSDCam trip report. I also want to sincerely thank the Foundation for helping defray my expenses.

Robert Watson runs an excellent event. And what I learned at BSDCam will appear through the new Absolute FreeBSD.

Speaking of which, I need to go make some words. Bye.

Contributing to FreeBSD

I’ve talked to a whole bunch of folks who say things like “I’m a junior programmer. I’m looking for a way to help. I have no specific expertise, but I’m willing to learn.” Today, I present such junior programmers with an opportunity. An opportunity for you to learn skills that will be incredibly valuable to your career, and will simultaneously expand your career opportunities.

I’m at the FreeBSD BSDCam devsummit, gathering dirt information for the new Absolute FreeBSD. One of the topics is testing.

For decades, FreeBSD has relied on its users for testing. They expect users to install pre-release versions of the OS and exercise them to identify regressions. That’s necessary, but it’s nowhere near enough.

The FreeBSD Testing Project is building an automated test suite for the entire operating system. They have a whole mess of work to do. There’s only four people on the team, so each additional person that contributes can have a serious impact. They have tutorials on how to write tests, and sample tests.

There’s a whole bunch of tests left to be written. You have an almost open field. They need tests for everything from ls(1) to bhyve. (Yes, ls(1) broke at one point in the last few years.) Everything needs testing. Learning to write, submit, and commit small tests is valuable experience for developing the big tests.

And “I perform automated testing of my own code before the test team gets to see it” is a valuable item on your resume.

What’s more, learning to write tests for a system means learning the system. Developing tests will transform you into a FreeBSD expert. Once you’ve demonstrated your competence, worth, and ability to work within the project, other FreeBSD teams will solicit your help and advice. The Project will suck you in.

Testing is perhaps the most valuable contribution anyone can make to an open source project. And this door into the FreeBSD Project is standing wide, wide open.

AF3e Status, 17 July 2017

For those who are watching me write the third edition of “Absolute FreeBSD,” here’s where things stand.

It’s at 77,400 words. 7 of 24 chapters exist [edit: oops, typo, not “chapter sexist,” spellcheckers are useless] as first drafts. Three more chapters are partially finished.

The current outline looks like this. Chapter titles subject to change. For reference, the ideal chapter length of a No Starch book is about 5000 words.

0 – Introduction (7500 words, d1 done)
1 – Getting More Help
2 – Pre-Install Considerations (4900 words)
3 – Installing (write last, because screenshots are evil)
4 – Booting (8300 words, SOL hates me)
5 – Backups
6 – Kernel
7 – Networking (8800 words, d1 done)
8 – Configuring Ethernet (7700 words, d1 done)
9 – Security
10 – Partitioning & GEOM (10700 words, d1 done)
11 – UFS (8000 words)
12 – ZFS
13 – Other Filesystems
14 – More Security
15 – /etc
16 – Packages (8600 words, d1 done)
17 – Ports (6800 words, d1 done)
18 – Software Management
19 – Upgrading
20 – Small System Services
21 – Performance
22 – Jails (6100 words, d1 done)
23 – Misc Crap
24 – Panics & Bugs
Afterword

Why write in this order?

When writing a large book, I always write the hard parts first. This means the book gets easier as it goes on. I don’t waste time or energy dreading That Topic.

It also means that I can write the really easy stuff when I literally cannot write the difficult stuff. I went to London, Ontario last weekend and was able to spend a few hours writing. I didn’t have my test lab, but I could sit on the front porch and write the Introduction.

Some of these chapters are difficult because of the research and testing. IPMI Serial over LAN is really ticking me off right now. I’m sure there’s a minor setting that I’m missing, and that once I find it everything will fall into place. Finding that setting will tell me what I don’t know, and let me explain and provide context. People buy my books for context. So, the product here is my frustration and suffering.

Some of these chapters are difficult because I’ve done too much research. I get a chapter on ZFS? Cool. But Allan Jude and I wrote two entire books on ZFS. Distilling that down to one-sixteenth the length, while providing context, and not shamelessly shilling those two books? Ugh.

Why these topics?

Because that’s what FreeBSD sysadmins must know.

Some of you will ask “where is bhyve?” Fair question. The bhyve developers are actively rototilling bhyve configuration. If I write a bhyve chapter now, it will be obsolete before the book hits print. That’s bad Including a bhyve chapter depends entirely on the bhyve devs.

If the bhyve devs settle on a configuration before the end of October, I’ll squeeze a chapter in after the jails chapter.

If they don’t, then you’ll have to wait for FreeBSD Mastery: Bhyve.

Get My Books Cheap

A novel and a story, at least.

I was recently invited into two different book bundles, where you can get a whole bunch of books by different authors at a cheap price. A bundle is pretty much a sampler pack of similar stuff.

If you’ve read my fiction and liked it, here’s your chance to discover a bunch of new authors in my genres.

If you haven’t read my fiction, here’s a chance to inexpensively try it and a bunch of other stuff.

First up is the Sci-Fi July bundle.

Sci-fi July Fever Fun

It’s eleven novels, including my Montague Portal novel Hydrogen Sleets. The heroine, Aidan Redding, is a redshirt who keeps getting stuck in situations that should slaughter redshirts. No matter how I try, though, I just can’t kill that woman. She’s tough, yes, but better still: she’s smart. Smarter than I am, at least.

Second we have the Crimes, Capers, and Rule-Breakers bundle, that includes my story Butterfly Stomp. It’s on pre-order now for only $0.99.

Crimes, Capers, & Rule-Breakers

I love crime. Well, reading about crime. Fictional crime, not Oracle. As a writer, Beaks is one of those characters that wandered in off the street and said “I’m a horrible person. But you can’t help loving me.” Yes, she’ll shoot you in the head if you’re inconvenient, but she’ll feel really bad about it, so that’s okay. And if you like the Butterfly Stomp short, the story continues in the novel Butterfly Stomp Waltz.

Between the two, you’ll have enough fun reading to round out your summer nicely. Enjoy!

“Absolute FreeBSD 3rd Edition” update

I’d like to have the third edition of Absolute FreeBSD in print by May 2018, for BSDCan. After discussions with No Starch Press, to make that happen I must complete the first draft before November 2017.

That’s four months.

To complicate things further, in those four months I have four weeks of traveling: BSDCam, EuroBSDCon, and a writing business workshop.

So, three months.

My best guess is that I have to write about 15,000 words a week to make that happen. Call it 3,000 words a working day. At my nonfiction cruising speed of 500 words an hour, that’s roughly 30 hours a week, or six hours a day. Provided nothing goes wrong.

I can only maintain that nonfiction speed if I write fiction as well. Without it, my nonfiction speed drops to about 200 words/hour. So I’ll keep doing 90 minutes a day on “Terrapin Sky Tango,” the sequel to Butterfly Waltz Stomp.

That’s 7.5 hours a day.

Plus I have a business to run. I have to assemble the “Core Concepts of ZFS” tutorial for EuroBSDCon. (If you’re in Europe and want to see me, this is your chance until some time in the 2020s.) I need to spend 2-3 nights a week on my martial arts practice.

The upshot is, you won’t see me around much until November.

The good news is, I’ve done the hardest parts of AF3e first. And I’ll squeeze in some time on weekends and evenings to get ahead.

But for now: book!

BSDCan 2017 Auction Swag

BSDCan ends each year with a charity auction. This year is no exception.

I’ll be bringing some unique items for the auction. First, a few things made by my wife. We’ll have a Relayd & Httpd Mastery keychain.

A FreeBSD church key. Yes, she made all the beads. They’re real glass. This is probably decorative use only.

A Puffy wine stopper. Again, all the beads are hand-made. Puffy is real glass.

SemiBUG is donating a Detroit sampler pack. By SemiBUG, of course, I mean me. Because my missus has all the hands-on talent in the family, and I thought I should bring something too. In any case, come by and visit our BUG some time.

Finally, I will have a small selection of 100% authentic, hand-crafted, truly bootleg Groff the BSD Goat merchandise. Get a piece while you can, I expect it to go fast.

See you all next week!

“Relayd and Httpd Mastery,” both the good and the bad

I finally have my grubby mitts on a print copy of Relayd and Httpd Mastery.

The cover is nice, but the inside has a couple problems. Specifically the TLS chapter.

I wrote this book on -current. Shortly after I finished writing about TLS, though, the -b flag for automatic backup was removed.

Someone pointed this out to me before I went to print. In my daftness, though, I misunderstood. (“Yes, yes, I know about the -b flag, what’s the problem?”)

There’s also a couple of other minor things–they changed acme-client -N to -D, and I missed one in an example. A couple sentences no verb.

These are embarrassing, but not critical if you know about them. The total error is about a third of a page, which isn’t bad for a 235-page book.

I’ve corrected the book. All ebook vendors have updated versions as of yesterday morning. Print versions ordered now should also be correct.

That leaves me responsible for three problems, though.

First, there’s no way I can have corrected print versions before BSDCan. It’s just not physically possible. So the copies I’ll have at BSDCan will have the error.

Second, 18 people ordered the print copy before I caught the error. Those 18 people are clearly both hard-core OpenBSD fans, and my hard-core fans. They are the people it’s most important I keep happy. It’s fully understandable that you’d want a correct book. If you desire a corrected print version, contact me. I’ll send you my mailing address. Mail me your incorrect book, and I’ll send you a correct one.

Yes, I’ll lose money on that exchange. Yes, I’m hoping most of you will decide to keep your “Special January 2017 OpenBSD-current Collectors Edition of Relayd and Httpd Mastery.” Yes, I’m hoping possession of that print book will turn into something that gives you hard-core bragging rights.

But you 18 folks? The ones who rushed out to get the book immediately upon release? You’re the ones I must keep happy.

So: the exchange is yours upon request.

If you’re one of those folks, do NOT return the book to Amazon! The Big A will put the incorrect copy on the shelf and ship it to someone else.

Third? Sponsors. Sponsors will get a copy of the good version. This means I must ship them after BSDCan.

Did this happen because I’m self-published? Nope. I submit the first sentence of Absolute OpenBSD as a counter-example.

Most of the time I don’t worry much about errata. I fix urgent daftness and move on. This one is particularly egregious and notably embarrassing, though–especially as it was pointed out to me before release.

The top of page 86 now reads:

find it easiest to create the backup file when create or renew a certificate. Back up the cert.pem, chain.pem, and fullchain.pem files. As I name each certificate file after the site, I can put all the backups in a location like /etc/ssl/acme/backups. Your update shell script needs something like this after a renewal.

DATE=$(date +%Y-%m-%d-%H:%M:%S)
cp /etc/ssl/acme/www3/www3.crt /etc/ssl/acme/backup/www3.crt.$DATE
cp /etc/ssl/acme/www3/www3.chain.pem /etc/ssl/acme/backup/www3.chain.pem.$DATE
cp /etc/ssl/acme/www3/www3.fullchain.pem /etc/ssl/acme/backup/www3.fullchain.pem.$DATE

Yes, anyone who bought the book could script better in their sleep. But the screwup is my fault and my responsibility.