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

  • Relayd and the Next Tech Book

    Relayd and Httpd Mastery is off to Reyk for his comments and abuse. Once he gets it back to me I’ll solicit further tech reviewers. I want to have it out in ebook by the end of April, for Penguicon. (I’ve missed the window for print for Penguicon, sadly.)

    This means I’ll be shutting down the ebook and print sponsorships opportunities this weekend. Move now if you want your name in the book.

    What’s next? The agreement is in place, and everything else is out of the way, so I can say: I’m starting on a third edition of Absolute FreeBSD with No Starch Press. If you want details on how that’s going, I’ll be posting updates on Twitter with the #af3e hashtag. There’s already a few updates on that tag, but they’re all from other people who are being hopeful.

    So, to all of you folks having a blast at AsiaBSDCon this weekend: sorry, I’m stuck at home, busily working to support FreeBSD while you’re having sushi and jet lag.

    My face on the wall

    I gave a talk at the Troy Public Library on Monday night. It went well: great audience, lots of questions. To my surprise, they had a poster announcing the talk. Like I’m a draw or something.

    Librarian Cathy was kind enough to take my picture with it. The poster is great.

    What’s that on my face? Well, I think Benno Rico captured that best: “HELLO HUMANS I AM SMILING AT YOU TO SHOW YOU I WILL NOT MURDER YOU IN YOUR SLEEP DO NOT FEAR”

    If I could smile, I’d be on TV. Late night. Hawking petrified phlegm extractors.

    Great poster though.

    At the GP Central Library 11 March 2017

    Libraries are starting to like me. Which is cool, because I like them.

    Next Monday night I’ll be talking at the Troy Public Library on High Performance Nonfiction–basically, how I write books. See, I’m on the library’s calendar and everything!

    Then on Saturday, 11 March 2017, I’ll be at the Central Branch of the Grosse Pointe Library, 10 AM to 2 PM, for their Write On Pointe local authors fair. I’ll be selling copies of, well, everything I have copies of, I guess?

    Stop by. Say hello. Otherwise I’ll be talking to my neighbors, and I think we all know that won’t turn out well.

    “Hi, I’m jkh and I’m a d**k”

    I don’t do guest posts here. This blog is my private soapbox. You want to scream into the void? Go get your own soapbox.

    Yesterday, I was privy to a private email message discussing a topic I care deeply about. I contacted the author and said “You really need to make this public and give this a wider audience.” His response boiled down to “if I wanted it to get a wider audience, I was welcome to do so myself.” So here’s my first ever guest post, from Jordan K Hubbard, one of the founders of the FreeBSD Project. While this discussion focuses on FreeBSD, it’s applicable to any large open source project.

    The email discussion was about the FreeBSD Project recently giving someone the boot. I’m not linking to who it was; you can dig up the controversy elsewhere.

    I did my first install of FreeBSD, version 2.0.5, in late 1995. I started reading FreeBSD mailing lists shortly afterwards. Allow me to provide some context to say that when jkh says he was a dick: yes. He was.

    Like any good member of the press, I’ll give my anchor commentary after the footage. Again, it’s my soapbox.


    My, what an interesting thread this has been, as well as an interesting (and probably controversial) recent talk by Benno on much the same topic.

    I’m known for my long and overly verbose PhD thesis style postings, so I’ll try to make this one short(er) with a few pithy points:

    1. Some of the FreeBSD project’s most energetic, motivated, and capable people have also, when viewed through the long lens of history, been total dicks, at least in electronic form. They just can’t seem to help themselves from coming off that way, one person’s “passionate concern for topic X” being another person’s “totally over-the-top behavior concerning topic X”, with neither side usually having the benefit of all the information while they form conclusions about which of the two it is.

    2. The project needs driven individuals capable of achieving “10X productivity” (a software industry term, not mine) in driving various agendas, inspiring others by their progress and allowing important opportunities for project growth to be seized rather than squandered, just as it needs nice, cooperative, team-players who go out of their way to avoid stepping on toes or driving more junior, perhaps easily intimidated, volunteers away from the project. It would also be awesome to find both attributes in the same people, obviously, but that goal is usually more aspirational than one immediately (if ever) achieved.

    So, how to reconcile these two seemingly fundamentally opposed goals in project membership management? “What is core going to do about it?”*

    First, let me be very honest: I can only speak to you from the perspective of someone who has committed many of the sins in paragraph 1.

    I have said many things I subsequently regretted. I have engaged in furious, pitched battles over topics that subsequently proved to be almost nonsensically trivial. I have definitely alienated people. The fact that I have Asperger’s syndrome also made it easy for me to be both highly driven and insensitive to other people’s feelings at the same time (it helps when you don’t even notice them) but that’s certainly no excuse because I have also learned, along the way, to grasp intellectually what I did not always grasp instinctively: Just don’t be a dick. Take a deep breath, swallow the irritation that is often my first response, and try to figure out another way of expressing myself that will lead to a better long-term outcome with less friction with my colleagues / bosses / end-users.

    Does that work 100%? Heck no, I’m still a work in progress, but I’m definitely better than I was 22 years ago, and pretty much the only reason that I’m better is that people took the time to talk to me about being a dick. They sent me (oh so many) private emails saying, in effect, “Dude! Really??” They called me on the phone when it was clear I really needed a Healthy Dose of Perspective and email just wasn’t doing the job. All of my fellow developers and colleagues (and yes, occasionally HR departments) have collectively conspired to slap me across the face with the Trout of Truth when it was clear I was going, or had gone, off the rails where interpersonal communications and decision making skills were concerned. I have, in short, learned some hard lessons about being more responsible for my actions on a number of levels and I’m glad I managed to stick around long enough to learn them. I am, as I said, a work in progress.

    * That’s where all of you come in. You can’t just say “What is Core Doing About It?” when it comes to addressing problems like this, because by the time Core gets involved, it’s already too late. The damage is done and probably irrevocably so because it’s been done over a long period of time. People complained and complained and finally core wearily stepped in and pulled the trigger. Bang. Too late for anything else.

    If you want better outcomes than this, then you simply need to start mentoring one another. You need to take extra time to call your fellow developers on the phone / Skype / WhatsApp / whatever works when it’s clear one of them is having a bad day, or escalating a situation that doesn’t warrant escalation, or simply being a dick when they don’t need to be (and probably don’t even realize they’re being). We had that kind of close and frequent communication a lot in the early days of the project, and I absolutely know that it held things together through some rather tempestuous times. It’s also no excuse to say that the project is bigger and has outgrown this now, either, because it only takes one person to call one other person at the right time for ad-hoc mentorship to work. Don’t just wait until you see someone at the next conference when it’s clear they are struggling to interact successfully with others in the here-and-now, reach out, just as so many reached out to me!

    Please also take my word for it when I say that a truly successful FreeBSD project will continue to need driven people, people who are often tempted to drive right over others who won’t get out of their way or otherwise tend to show “less than perfect patience”, just as it will continue to need quieter folks who are content to follow someone else’s vision, assuming that there is one to follow, and instinctively do a better job of getting along with others. Each “type” can benefit and learn from the example the other provides, assuming there is a real commitment to doing so.

    I’ll leave you with an analogy: This is like a marriage. If both in the couple are very passive, then that will probably be a long-lived but rather boring relationship where both ultimately wind up just counting the days until death comes for them. If both are fiery and impetuous, the relationship will probably be exciting but equally short-lived. The most successful marriages are usually some combination of the two extremes, the worst impulses of one being kept reasonably in check while the other gets to experience new and exciting things they just wouldn’t have thought to do (or had the will to do) on their own. Assuming that both also commit to communicating on a frequent basis and don’t just assume Everything Is Fine, it works.

    What kind of marriage do you folks want?


    Jordan is absolutely right here.

    The open source community has some incredibly smart people in it. You folks are brilliant.

    When Jordan says that he’s a “work in progress,” though, that’s applicable to every one of us. Including myself.

    I won’t say that the open source community is full of people with problems like ADD, Aspergers, and so on. I will say that of the adults I know that I happen to have these conditions, I met every single one of them through the open source community. I strongly suspect they gravitate there because computers are comparatively easy compared to people.

    Other groups have their own issues. The writers I know run really heavy into depression and social anxiety. (I’m a writer and a techie. Thanks to my writing career and Amazon Prime’s free two-day shipping, I almost never leave the house. That’s just best.)

    Brilliance is great. I admire really really smart people.

    But to belong to a community, a person must be able to work with that community. I’m using “must” in the RFC sense here. It’s an absolute, non-negotiable requirement.

    BSD, and open source in general, is full of brilliant but incomplete people. Everyone is incomplete. In open source, the incompleteness is often in social skills and the understanding of how to behave.

    Social correction, and the establishment of social norms, comes only from the community. It’s entirely bottom-up. One on one.

    While you can go to a counselor to help develop those skills, the best advice comes from peers who have been in your exact situation, who have faced those problems, and who have developed those skills.

    Are you good at communicating in your open source community? You have another contributor you like, but who has social problems? Unofficially mentor them.

    Are you an open source contributor who keeps getting messages from people saying something like “Dude, that’s really messed up,” or “You were really inappropriate here, stop it,” or similar? One message might not be a big deal. But if you keep getting them, it’s a sign that you’re missing a skill. A skill that can be learned. If someone you get along with offers to help: listen.

    And it’s far better done via voice than electronic text. Text communication strips vital context, and it’s much much slower than voice. If a person has problems communicating via email, more email isn’t going to solve it.

    One of the hardest things to do is listen when someone calls you a dick. Yes, it’s happened to me. When it comes from people I respect, I listen. It makes me less incomplete.

    And if Jordan can learn to not be a dick, anyone can.

    So why am I not naming the person who got booted from FreeBSD? Because he, like everyone else, is an incomplete person who lacks a particular skill. I hope he will develop that skill. And I don’t want a blog post from 2017 to hurt his chances of getting a job in 2037, or even 2018, when he’s had an opportunity to add those skills.

    You have the power to make that brilliant but poorly socialized contributor a better community member. Even if that brilliant member is you.

    My Form Letter Response

    Every so often I get an email complaining something like “Why do you put women in your tech books? There really aren’t that many women in computing, and your Social Justice Warrior crap really distracts from the content.”

    As a tabletop RPG fan, I think I need a handy chart. Roll 1d6, or just pick your favorite answer!

    1) If an extra “s” in front of a pronoun wrecks your concentration, maybe your concentration needs help.

    2) That’s weird. I’ve worked with lots of women in technology orgs. Maybe you’re not aware of women in tech because they don’t want to work with you.

    3) You’re right. Changing pronouns in a book *is* confusing. I’ll write my next book without any male pronouns. Thanks for the suggestion!

    4) Men suck. You in particular.

    5) (((long stream of really vile obscenities, in multiple languages, carefully chosen to be offensive to multiple cultures simultaneously)))

    6) Nice patriarchy you have there. Shame if something happened to it.

    I hope this helps clear up any confusion.

    I’ll be at the Troy Public Library

    I’ll be at the Troy Public Library on 27 February, at 7 PM, giving a new talk on writing High Performance Nonfiction. If you want to know how I write my books, come find out.

    Please register beforehand at the event site.

    I’ve thought of writing a book on writing readable nonfiction for a few years. Giving this talk a few times will help me design that book.