Tuesday, 21 August 18: me, on ed(1), at SemiBUG

The headline pretty much says it all, but:

Next Tuesday, I’ll be presenting on ed(1) at the SouthEast Michigan BSD User Group, semibug.org. 7 PM, Altair Engineering.

I doubt that any user group or conference will want me to show up to talk about ed(1), even though it is the standard text editor. So, this is probably your one and only chance to see this talk.

“FreeBSD Mastery: Jails” Sponsorships, and writing schedule changes

I’ve been scurrying to finish git sync murder, the sequel to git commit murder, so I could have it at BSDCan.

This isn’t going to happen. If I’d been writing anything else it would have been done, but the numbers show that cozy mystery is not my natural form. Most of the time I top out at about 500 words per hour, as opposed to the 1000 wph I achieve writing fiction involving flamethrowers and bare-knuckled amateur dentistry.

For the record, I’m fine with the speed. Quality beats speed any day.

I’m therefore falling back to my usual writing schedule: 1.5-2 hours per day on fiction, and the rest on nonfiction.

Per my 2018 schedule, it’s time to start writing FreeBSD Mastery: Jails. I’ve been idly assembling the parts over the last couple of months.

For you folks who said you wanted to sponsor it: have your choice of ebook or print.

Depending on how this book comes out, I might do a second jails book. Print sponsors of this book will have the option to sponsor the second book at a reduced rate. Those who sponsor both will get special jail-themed recognition. It’ll completely depend on how complex the book is.

The goal is always the best book.

New talks, and the F-bomb

The video from my recent mug.org visit is now online. It’s my ZFS introduction, as well as a brief talk about Ed Mastery.

I had originally planned a talk about ed(1), but the ZFS talk went too long. (That first speaker was a real blabbermouth.) Instead, they asked me to talk about why the book was a secret, how I arranged sponsorship for that book, and how the various versions of that book came to be.

This talk is a little rough, because I wasn’t prepared to give it. I completely winged the whole thing.

It’s also the first talk where I drop the F-bomb, live and on camera. Because I have to rehearse my talks beforehand if I want to eliminate the cussing.

My talk from BSDCan 2017, on the OpenBSD Web Stack, is now live. It appeared a couple of weeks ago, but I only found it now.

I’ve updated my YouTube playlist with all of these, as well as a couple older talks I missed and a BSDNow interview.

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.

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

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.

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

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!