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

Penguicon 2017 Schedule

Next weekend, April 28-30 2017, I’ll be at Penguicon. Two weekends after that (12-14 May), I’ll be at Kansas LinuxFest. But we’re on Penguicon right now.

Here’s my events and the description for each. Each is 1 hour unless specified otherwise. And I’m asking your help for some of these events. (Updated to add the LN2 events, which I’m not running but a guy has to eat sometime.)

Friday:
8PM: LN2 Ice Cream
9PM: The OpenBSD Web Stack – OpenBSD is best known for security and networking. But they also have a highly secure web server and load balancer. This talk will take you through the OpenBSD web stack, presenting its strengths and disadvantages. We’ll cover the httpd web server, free globally valid SSL certificates through ACME, the Common Address Redundancy Protocol for two-server clusters, and the relayd load balancer. Many of the security issues common on web servers are simply not an issue on OpenBSD. Come find out why!

Saturday:
9 AM: Writers and Traditional Publishing – So you want to sell a book to a publisher. How do you do that? What should you expect? How do you optimize your chances of getting not just a deal, but the deal you want? What gets some people into traditional publishing, and keeps others out? Come hear authors discuss the good and bad of the publishing biz!

10-11:45AM: Author Meet & Read, Vol. 1 – A big room with Clif Flynt, Mary Lynne Gibbs, Jen Haeger, Christian Klaver, James Frederick Leach, David Erik Nelson, John Scalzi, Clarence Young, and myself, all showing off our books, talking to our readers, and signing books. I will have my books still in print for sale. I’m expecting that the others will all have long lines and I’ll be there alone, so this is your chance to heckle me in person.

10:54-11:03AM: reading from git commit murder – Readings are tightly scheduled, so I expect this to begin and end sharply on time.

1PM: self publishing in 2017 – Self-publishing is an increasingly important channel for authors to reach their readers. It also changes constantly, with new tools and distributors opening daily and existing platforms changing. This panel brings together veteran self-publishers to share their experiences, discuss the changes of the last year, and give new authors an edge in the business.

2PM: 90 second reads – Join a handful of Penguicon authors as they read 90-second passages from their novels. The selections will be thematically linked based on keywords, such as sorrow, fury, funny, love, etc. Timing is crucial! After, there will be a Q&A with the authors.

3PM: LN2 ice cream

5PM: Writing High-Performance Nonfiction – Writing nonfiction is not merely reciting facts. It’s a specialized form of storytelling, very different from your college essays and book reports. Whether you’re writing memoirs or computer texts, using storytelling techniques transforms your work for the better. This talk takes you through making your nonfiction not only readable, but memorable.

7PM: BSD Operating Systems in 2017 – I’ll be discussing the current options in BSD-based operating systems, the big news from recent projects, new developments, and where we’re going from here.

8-10PM: LN2 ice cream

Sunday:

10AM: breakfast – LN2 ice cream

11AM: Senior Sysadmin Panel – Storage – The years know things that the days and weeks never know. We’ve gathered half a dozen people who’ve been sysadmins for over 20 years to talk about the one of the most dreaded and annoying topics in computing: storage.

12PM: Self-Promotion for Creatives – Independent creators are their own PR departments. We have to not only make all the things, we have to spread the word about all the things. Here we have a bunch of artists and writer types who successfully spread their work across the world. What works? What doesn’t? How can you be shamelessly self-promoting without being a jerk? Come find out!

Where could I use help?

In the 90 second reads panel, I get a few 90 second periods to read a selection from my fiction. Each read should have a theme. Our group has four themes: Betrayal, Heartbreaking, Scary, Funny.

For those of you who have read my fiction: I could use suggestions for parts of my books that you thought fit these themes. I have a few thoughts, but what I think fits a theme is probably not what struck you lot as fitting that theme.

So: if you’ve read my fiction, what of mine would you suggest for a brief reading in any or all of those themes?

on the title of “git commit murder”

First, the good news. git commit murder is my best-selling fiction title. And the initial reviews have been overwhelmingly positive.

Thank you all. Really.

Computer nerds, being the sort of people they are, have this burning desire for correctness. And I’ve gotten more than one comment that the title should have been:

git commit -am "murder"

Here’s why I didn’t do that.

First, “git commit murder” is a perfectly valid command to commit the file or directory “murder.” Also, bookstore databases can’t reliably cope with non-alphanumerics in titles. A dash and quotes? They’d go nuts.

Titles also need to be short and kind of punchy. A literal command line is neither. That rules out the more complicated command line.

If I had my druthers, I would have included the leading command prompt.

$ git commit murder

This would have left me the ability to give a hypothetical sequel my preferred title.

# git commit murder

Running Git as root is, of course, grounds for violence.

But I have to live with the fact that bookstore databases can’t handle random characters. I’ll have to give said hypothetical sequel a more sensible title, like "git push murder'; DROP TABLE BOOKS".

“Httpd and Relayd Mastery” off to copyedit

Reyk got his tech edits on the “Httpd and Relayd manuscript back to me. I considered sending it out for a wider tech review, but it’s been through a few hands already. And nobody knows this software better than Reyk.

So I’ve sent it on to copyedit.

If you’re one of the folks who have a copy of the manuscript: I can use any feedback I get in the next couple of weeks.

The book won’t be ready for Penguicon, sadly. I should have it in print for BSDCan, however.

I will have stickers of the front cover for BSDCan, though. And stickers of the git commit murder cover.

AF3e Auction Winner

I’m pleased to say that with a bid of $800, Bert JW Regeer has won the Absolute FreeBSD 3rd Edition Tuckerization Auction.

Bert, send me your donation receipt.

After the Httpd and Relayd Mastery Tuckerization auction, I’m slightly surprised that this auction didn’t go higher. AF3e is a bigger tome than the relayd book. I’m forced to conclude that the FreeBSD folks just have less team spirit than the OpenBSD folks. (Not zero, mind you, but 8/13th as much.) Or the OpenBSD folks are accustomed to paying for things.

Or, just maybe, FreeBSD fans know better than to spend their hard-earned money on silly auctions.

Nah, we’ll go with team spirit.

Thanks for playing, everyone. While these have been fun, I don’t intend to do any more Tuckerizations for a while. The gag gets old quick.

“Absolute FreeBSD 3rd ed” Auction ends SOON

In a few hours, the auction to get your name in the third edition of Absolute FreeBSD will close.

Right now, the winning bid is at $605.

Feel free to bid or not, as you wish. I do have to say, though:

The auction I just did to Tuckerize someone in a small OpenBSD book went for $1300. Absolute FreeBSD is a bigger book, and will have wider distribution.

If the AF3e auction goes for less than that, I’ll be forced to conclude that FreeBSD folks have less team spirit than the OpenBSD ones. The OpenBSD folks will get bragging rights.

But it’s entirely up to you. No pressure.

On an unrelated note: my novel git commit murder is available in ebook now. More stores will appear soon. It’s basically “If Agatha Christie ran a Unix con.”

“And then the murders began.”

A whole bunch of people have pointed me at articles like this one, which claim that you can improve almost any book by making the second sentence “And then the murders began.”

It’s entirely possible they’re correct. But let’s check, with a sampling of books. As different books come in different tenses and have different voices, I’ve made some minor changes.


“Many people find encryption disturbing and even a little scary. And then the murders begin.” — PGP & GPG

“Welcome to Cisco Routers for the Desperate! And then the murders begin.” — Cisco Routers for the Desperate, 2nd ed

“Network administrators of all backgrounds share one underlying, overwhelming desire. And then the murders begin.” — Network Flow Analysis

“I asked a psychiatric nurse practitioner about paranoia, and was told that ‘paranoia is the feeling that people are after you.’ And then the murders begin.” — Absolute OpenBSD 2nd edition.

“Over the last ten years, OpenSSH has become the standard tool for remote management of Unix-like systems and many network devices. And then the murders began.” — SSH Mastery

“The Domain Name System (DNS) maps hostnames like www.michaelwlucas.com to IP addresses, so computers can find Internet sites without people needing to remember strings like 192.0.2.87 or 2001:db8::ab01. And then the murders began.” — DNSSEC Mastery

“Resolved: controlling user access to a computer’s privileged programs and files is a right pain. And then the murders began.” — Sudo Mastery

“Everyone from big organizations to family photographers worries about preserving their precious data in the event of system failures. And then the murders begin.” — Tarsnap Mastery

“You can arbitrarily replace everything in your computer–except the hard disk. And then the murders begin.” — FreeBSD Mastery: Storage Essentials

“Dear systems administrators: the firewall people don’t want to talk to you either. And then the murders begin.” — Networking for Systems Administrators

“Storage: a hole with no bottom, into which you pour data. And then the murders begin.” — FreeBSD Mastery: Specialty Filesystems

“Much of our systems administration training focuses on filesystems. And then the murders begin.” — FreeBSD Mastery: ZFS

“The Z File System, or ZFS, is a complicated beast, but it is also the most powerful tool in a sysadmin’s Batman-esque utility belt. And then the murders begin.” — FreeBSD Mastery: Advanced ZFS

“Authentication on Unix-like systems is perhaps the closest thing sysadmins have to black magic. And then the murders begin.” — PAM Mastery

“Blood shall rain from the sky, and great shall be the lamentation of the Linux fans. And then, the murders will begin.” — Absolute FreeBSD, 3rd Ed


Conclusion: Seems legit.

Get your name in “Absolute FreeBSD 3rd Edition”

The charity auction for the httpd/relayd book raised $1300 for the OpenBSD Foundation. And more importantly, running the auction amused me. Heaping abuse on the generous winner, in a book, has amused me even more.

So let’s do this again.

The new edition of Absolute FreeBSD needs a sample user. I’ll refer to this user in appropriate sections throughout the book, as I need them. I can promise they’ll appear at least half a dozen times.

That sample user could be you.

All it’ll take is a donation to the FreeBSD Foundation.

While I could use more than one sample user, that would require work and coordination on my part, and I can’t be bothered. Obviously, the user should be the person who makes the biggest donation.

Which, to me, sounds like an auction.

A bid is not an obligation to donate. Winning the auction is an obligation to donate. I’d encourage you to donate anyway, mind you.

The winner will get their real name and preferred username, or reasonable substitutes, used as AF3e’s sample user. The winner will get their name in the acknowledgements section of both the print and electronic versions.

The auction takes place in the comments section on this web page, because why pay eBay?

Some questions and answers. (As these worked well for the OpenBSD auction, I’m mostly reusing those.)


  • Is this a cynical scheme to raise money for further development of assorted FreeBSD-related projects?

    Yes.

  • Does the Foundation know you’re doing this?

    And ruin the surprise?

  • Any limits on our name and username?

    I reserve the right to reject names or usernames. If your birth certificate really says your name is an obscenity, I’m pretty sure you have a nickname. Similarly, even if your username on all your systems truly is henningsux, or your legitimate full name is Felicia Urban-Channing Kildare and you use your initials: nope.

    I won’t spell out exact rules for names, because you people are clever buggers and would find a way around them. Your name. Your preferred username. Or reasonable substitutes for them.

    This is intended to be fun. Dirty words and repeated insults are not fun. In public.

  • Will you treat me with respect?

    Ha ha ha ha! Thanks, I needed that.

    Seriously, have you read my work? I can absolutely guarantee condescension and insolence.

    This is a big book. It has space for a whole container ship of condescension and insolence.

    As I’m publishing AF3e through No Starch Press, though, they’ll probably invoke some editorial limits in the name of “taste” or “liability” or “OMG just NO” or some daftness like that. Whatever.

  • I’d like you to use my spouse’s/mother’s/soulmate’s/hamster’s name

    First, read the previous question and answer. Once I’m through with the user, this person might no longer be your soulmate… or your mother.

    I will search on your preferred name, to make sure I’m not abusing a social activist or anything like that. But yes, within the same limits. If your hamster is named Dumbass, nope. Same for your soulmate, or your mother.

  • I’d like you to use a historical figure/deceased developer/etc

    No.

    I’m not going to make statements like “I don’t trust George Washington/MLK/Dennis Ritchie with shell on my server, so he doesn’t get a shell.” Our dead heroes deserve better than to have me sniping at them. Besides, one person’s hero is another’s monster.

    Any Unix sysadmin knows that Ritchie clearly had a great sense of humor, but: no.

    Could I be nice? I have that feature set, but nobody reads my books for kindness.

  • My company name–

    No.

    This is not a way to advertise your firm.

  • Why do this here, instead of an auction site like eBay?

    Partly because authors normally do this sort of thing on their web pages. Partly because it simplifies the running of the auction. And partly because it means I have no financial connection to the results. Touching donated money causes me weird non-financial risks, thanks to how US federal and state law interacts with my family situation. (No, I won’t explain that. It’s personal. Deal.)

  • Why not have the Foundation run this, then?

    They’re busy writing code and arranging hackathons.

  • When does the auction end?

    5 PM EST Monday, 27 March. Or sometime shortly after that.

  • That’s a stupid time. Where’s my countdown timer?

    It’s convenient for me. It also will discourage last-minute sniping.

    If last minute bids are coming in fast and furious, I’ll let it run until bidding stops for five minutes or so. Fight it out fair and square.

  • When does the auction start?

    When I hit “publish” on this blog post.

  • How do I bid?

    Comment here with your bid amount. Each bid must be a minimum of $5 more than the previous bid.

  • How do I track competing bids?

    Check the “Subscribe to Comments” box when you bid.

  • Where will the winner be announced?

    On a separate blog post the evening of 27 March.

  • How do I claim my prize?

    You have three days to make your donation. Send me your PayPal receipt.

    If the donation is sufficiently large, I might ask you to give the Foundation permission to tell me that you actually donated the money.

  • What if the winner doesn’t pay?

    The prize falls to the #2 bidder, who I will contact.

    I won’t blog that the #1 person sucks, but I will say that they didn’t donate and thus the award falls through to #2. You’re perfectly capable of determining a person’s suckage level on your own.

  • What exactly will the winner get?

    Your name and username in the body of the book, in places where I need to refer to a person. Some degree of emotional reaction to your name. Probably not a very positive reaction. Your name in the book acknowledgements, described as the “Tuckerization Charity Auction for the FreeBSD Foundation Prize Winner” unless I can come up with a less awful and mutually agreeable way to say that.

    If you provide your address, I will ship you a copy of the book once it comes out.

  • Ooooh, a third edition? When will it be out?

    As soon as I finish writing it. Which I’m doing now.


    Now GIVE ME YOUR MONEY.

    Oh, wait, no. Give the Foundation your money.

    You’ll have time before the book comes out to earn some more.