MWL’s 2017 Wrap-Up

It’s that time again. Time to reflect on my myriad personal failures in 2017.

The obvious place to start is my 2016 wrap-up post, where I listed goals for 2017. As usual, these goals were wildly delusional.

The short answer is, my iron was back up to normal. My writing speed wasn’t, though. I’d lost too much general health, and needed hard exercise to recover it. Yes, writing requires physical endurance. Maintaining that level of concentration for several hours a day demands a certain level of blood flow to the brain. I could have faked it in a day job, but when self-employed as an artist? Not so much.

Then there’s travel. I did my usual BSDCan trip, plus two educational trips to Lincoln City, Oregon. The current political mayhem convinced me that if I wanted to hit EuroBSDCon any time in the next few years, I should do it in the very near future. So I went to Paris, where I promptly got pickpocketed. (Thankfully, they didn’t get my passport.) I was actively writing the third edition of Absolute FreeBSD, so I visited BSDCam in Cambridge to get the latest information and a sense of where FreeBSD was going. I also did weekends at Kansas LinuxFest (because they asked and paid for my trip) and Penguicon.

(Because people will ask: why EuroBSDCon and not AsiaBSDCon? A six-hour transatlantic flight requires that I take a substantial dose of heavy-grade tranquilizers. I’m incapable of making intelligent decisions while on those drugs, or for several hours afterward. They don’t last long enough for twelve-hour flight to Japan, so I need to be accompanied by someone qualified to tell me when I need to take the next dose partway through the flight. This isn’t a predetermined time that I can set an alarm for; it depends on how the clonazepam affects me at those altitudes. A drug overdose while flying over the North Pole would be bad. When I can arrange that qualified companion, I’ll make the trip.)

I need most of the preceding week to prepare for long trips. I need the following week to recover from time shifts and general exhaustion. Additionally, I have to hoard people juice for a few weeks beforehand so I can deal with folks during these expeditions. Travel disrupts my dojo time as well, which impacts my health.

Taken as a whole: I didn’t get nearly as much done as I hoped.

Here’s my complete output of big books.

Or, everything I put out: one novel, one tech book, one story, and one novella.

I wrote more stories, but Kris Rusch bludgeoned me into submitting them to trad markets. (The woman is a brute, I tell you. Cross her at your peril.)

Among my 2017 titles, my fiction outsold the tech books. No, not Prohibition Orcs–all four of the people who buy those love them, but the sales tell me I’ve done something wrong with those tales.

My cozy mystery git commit murder outsold Relayd and Httpd Mastery.

But what outdid them both, as well as most of my older books? What title utterly dominated my sales for the last quarter of the year? It was of course, my open source software political satire disguised as porn Savaged by Systemd: an Erotic Unix Encounter.

I can’t believe I just wrote that paragraph.

The good news is, once I recovered from EuroBSDCon, my writing got better.

I finished Absolute FreeBSD, 3rd edition and submitted it to the publisher.

I wrote the second edition of SSH Mastery (no link, because you can’t order it yet.)

I’m plowing through git sync murder, the sequel to git commit murder. I don’t get to see the new Star Wars movie until I finish GSM, so hopefully that’ll be this month.

All in all, I wrote 480,200 words in 2017. Most of that was after September. It’s annoyingly close to breaking half a million, but after 2016’s scandalous 195,700, I’ll take it.

One of the nice things about being an author is that most of your income is passive. You do the work, and the money trickles in for years afterwards. I had money coming in while I was out of commission. The bad news is, that income slowly drops. If I’m to stay an author instead of becoming a wage peasant, I have to schlep some books out PDQ. I can do it, provided I remain focused on production.

That slump is the big reason why I broke down and started a Patreon. It’s why I started taking sponsorships for tech books. You folks carried me through my health problems. I can’t thank you enough.

The fact that AF3e is trad published complicates the financial picture. I won’t see any money from that book until 2019. No, I’m not complaining–that’s just a fact of life, and I knew that going in. But it provides extra motivation for getting my butt in gear right off in 2018.

So 2018 will be my Year Of Making Words. The finest words, of course. Artisinal. Straight from Detroit, a third world city in America’s heartland.

So what’s on tap for 2018? What’s the plan?

  • BSDCan, Penguicon, and two educational trips to Lincoln City, Oregon. That’s it. Under no circumstances will I leave North America, sorry.
  • write 600,000 words, or 50,000 words a month.
  • Complete and release four tech books
    • SSH Mastery 2nd ed
    • FreeBSD Mastery: Jails (I suspect this will turn into two books, it’s a huge topic)
    • either Mastodon Mastery or Ansible for Legacy Systems.
    • #MWLSecretBook, which I can’t talk about until for now, for reasons which will become clear once the book comes out
  • Write the tech book I didn’t complete above, and release it if there’s time
  • Write four novels
    • git sync murder, a sequel to git commit murder
    • Bones Like Water, or Immortal Clay #3
    • Drinking Heavy Water, Montague Portal #5 or Aidan Redding #4
    • To Be Decided From a List of Candidates, All of Which I Really Want to Write
  • Be sufficiently flexible to kick Ray Percival in the head at BSDCan. A front kick will do, but I’m shooting for the high-flexibility side kick as a stretch goal.
  • Exercise enough to drop twenty pounds
  • Stay married while doing all of the above
  • Stay alive

Other than the last two, these are all deliberately fail-forward goals. If I only get three tech books done instead of four–hey, I’m ahead by three tech books! If I only drop ten pounds, that’s better than gaining ten. “Stay married” and “stay alive” aren’t fail-forward goals, but I have a good idea how to achieve them both.

This time next year, come back to see exactly how I failed!

“SSH Mastery” 2nd ed tech reviewers wanted

Last night, I finished a first draft of the second edition of SSH Mastery. The book covers OpenSSH as a server and a client, and PuTTY as a client. There’s small updates throughout the book, plus some new topics–most notably, SSH certificates.

I’m looking for SSH mavens who’d be willing to review the manuscript before publication.

I’d need any comments back by 2 January 2018.

I’d like comments in plain text, with enough context that I can find the spot you’re talking about.

Interested? Drop me an email at mwl at mwl dot io.

If you’re a sponsor and want to be a tech reviewer–you already have a copy of the manuscript. Read it. Send me comments. You’ve already helped me a bunch, but I won’t turn down your thoughts.

The first AF3e preorders

This morning, Google alerted me to a reputable site mentioning “Absolute FreeBSD, 3rd Edition.”

To my shock, it’s a pre-order on Kobo.

[UPDATE: AF3e now has a web page, where I’ll be collecting pre-order links.]

I guess we have a release date now? And a price? Cool.

I expect other preorders to appear on other sites. No Starch will have a page for their combined print/ebook soon, as well as their early access program.

But as a writer, I adore Kobo. You could do worse than to get it there.

“SSH Mastery, 2nd Ed” News, Sponsorships, and Cover

SSH Mastery has been my best-selling title since I published it in 2012.

SSH Mastery has been on a five year mission to find and eradicate passwords. SSH has changed in the last five years. SSHv1 is no more, except where it is. A whole bunch of crypto algorithms are no longer in use, except when they are. We get jump hosts and centralized key management, except when we don’t.

It’s time for it to return to dock and get a refit. The new one will be cleaner! Brighter! Cover certificates! Capable of reaching Warp 5–no, wait, wrong story, never mind. But the cover will be pretty sweet. Here’s a rough draft.

I present to you: the Bloata Lisa!

SSH Mastery, 2nd Edition should be out before BSDCan 2018. If I do everything right, I’ll have two new tech books for folks in Ottawa.

This time, I’m soliciting print sponsors and ebook sponsors. As this is my best-selling Mastery book, I’ve raised the sponsorship prices a touch. Sponsors can expect readers to gloss over their names for years to come!

I must also concede that I’m hoping the sponsorships will help offset buying a block of ISBNs. I need ISBNs to produce the hardcover dust-covered sewn-spine print edition.

Oh, wait–did I not mention that? Sorry. Yes, hardcover. Stitched pages, not glued. A cloth cover and gold-stamped title beneath a glossy dust jacket.

Hardcovers are a little tricky, so I’m not promising I can accomplish that. Other authors manage it, though, so I’m not carving a new tunnel out of a mountain here.

A book needs 3-5 ISBNs, depending on the printing facilities I choose. As a US citizen I can buy 1 ISBN for $125, 10 for $295, 100 for $575, or 1000 for $1500. 100 ISBNs will last me for 20 books, but I know dang well that if I buy 100 I will regret it. The price of these arbitrary reference numbers will only increase, though, and I can easily see running out in a few years. So: I’m getting 1,000. For $1500. Ouch.

But hardcovers.

ISBNs will also let me take advantage of print-on-demand facilities in Europe, Australia, and post-Brexit UK. I’ll be able to fulfill wholesales orders for my books. It’s a reasonable business investment.

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.

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.

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

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

“Relayd and Httpd Mastery” is out!

I’m pleased to say that Relayd and Httpd Mastery is now available in print and ebook.

Sponsors should be able to log into their accounts and download the updated book.

I don’t have a print copy of the book in my hands yet, but they’re on the way. Unless something goes wrong, I’ll a) have copies mailed to all the print sponsors before I leave for BSDCan, and b) have a few copies for BSDCan.

Now to put in some quantity time for the third edition of Absolute FreeBSD before BSDCan…