Milestones

March 1st of this year was the end of a long road that I spent most of 2009 travelling: that day saw the release of the print edition of HTML & CSS: The Good Parts.

I contracted to write that book not because I felt I had something specific to say to its audience; in point of fact, the audience I most want to reach is beginners, who are still woefully underserved (though less than in the past). Rather, I wrote it because I found myself wanting for anything better to do at the time.

People have been muttering to me about writing for years; they wonder why I don’t make more a point of it. I’m not too shabby at building Web sites, I write uncommonly well, and while I may not be able to tell stories worth a damn, I am able to build a case and sell it in writing.

My attitude toward deadlines, itself driven by my anxieties, was a paramount consideration. A contract is a contract, and one does not take an advance on royalties unless one intends to actually write the book. As it was, I felt barely enough mastery of myself to follow through.

That said, I made a number of mistakes along the way, and now I’m enumerating them, framed in terms of what I should’ve done instead.

Embrace the suck and just do it.

At the beginning of the project I was trying for something efficient and carefully structured; what went to production had its strengths, but was nothing like what I’d first envisioned. I spent six weeks with my head up my ass, wondering how I was going to make my work measurably close to perfect, when instead I should’ve lived by a piece of advice Ernest Hemingway is reputed to have given to F. Scott Fitzgerald:

“I write one page of masterpiece to ninety-one pages of shit. I try to put the shit in the wastebasket.”

I don’t care much for Hemingway, but that doesn’t make him any less correct here.

The strange permanence of electronic storage makes it difficult to let go of the shit and actually send it to the roundfile, but it’s best to try. Drag it to the Trash (or the Recycle Bin) and delete it permanently.

Each page of shit puts a writer one closer to that page of masterpiece.

What I did instead was freeze. If I had started resigned to the likelihood of shit, I could've written an entire first draft in two months and then spent the next four on something even better, in the process meeting my original deadline. Instead, I agonized. And I agonized some more. And I kept on agonizing. As a result, the book was finished in one picked-over draft that was submitted six months late.

Know what you’re gonna say before you say it.

This advice is the beginning and end of good public speaking, but it applies to book authoring too.

The mandate of foreknowledge was what suffered most from my failure to plan for a throwaway draft, and that failure turned what could’ve been a brilliant book into one that was merely above-average.

In the case of HTML & CSS… all I knew was that I was looking to codify best practices; two outlining passes were inadequate, and I was at sea throughout the project.

If I had the project to do over again, or if I get a wild hair and decide to do the second edition as a ground-up rewrite (which is unlikely but not impossible), it’s necessary to take a step past the outline and list the points to be made, no matter how obvious they may seem. Instead, I just stumbled into those ideas, and the result was a damned good toilet reader. There are worse things to write, but that wasn’t the original plan.

Writing seventy five or one hundred thousand words is nothing like writing less.

In addition to being a beacon of history, Winston Churchill was a prolific writer. Being no stranger to the effort involved in writing books, he had this to say:

“Writing a book is an adventure. To begin with, it is a toy and an amusement; then it becomes a mistress, and then it becomes a master, and then a tyrant. The last phase is that just as you are about to be reconciled to your servitude, you kill the monster, and fling him out to the public.”

The point to describing the immensity of the task is that one needs to add to their product every day, including Sundays. If you go off the case for two weeks, you lose your focus. Every day spent not writing is another opportunity lost to get to that one page of masterpiece.

Most of the pro writers I’ve read on the subject of writing suggest that — if you have the good fortune and the hang of parsimony enough to write full-time — two thousand words per day is what you should expect from yourself, within reason, and my experience renders me in full agreement with this guideline. If you’ve got a day job, you should still be trying for 750 or 1,000 words, and budget two to three hours per day. Finally, you should return your signed contract with the understanding that you’re going to be keeping up that schedule for at least six months, if not a year.

If that’s more work than you can stand, don’t write a book.

Work ethic and smarts do not, however, address the issue of burnout. The occasional day or weekend off will be called for; just make sure not to get carried away as I did.

When I had the werewithal to push back against the burnout, my greatest success came from disrupting my routine — going someplace new, exploring a new topic of interest, and getting involved in activities that I considered uncommon or actually new.

At the very least, there’s public WiFi out there; take advantage of it when you write, unless you’re one of those sorry souls who needs silence to concentrate. With respect to this last point, I discovered that I need silence sometimes, too.

Everybody will make mistakes, especially you. Deal with it.

When you blog and toss out 2,500-word one-offs — and especially if you avoid matter that you need to test and prove — it’s easy to do your own fact-checking and carry your own burdens.

A book, however, is edited, criticized, stitched together, laid out, edited some more, and marketed before it ever goes into the aether or the printer’s inbox. HTML & CSS… received regular, focused attention from something like fifteen people over a period of months, several of whom were addressing the project the whole time. A few of them, Gez Lemon in particular, caught some whopping mistakes.

An author who expects to write their book in less than two years needs these people. They will reduce the mistakes quickly enough to ensure that the book remains relevant.

On the other hand, even they will make mistakes that you won’t catch, and you’ll make mistakes that they won’t catch. According to nomenclature it’s the “Ringtail Book” but I presently call it the “Colostomy Book” for a reason.

The To-Do List

In light of what I learned, here’s what I will do differently next time:

In point of fact I failed to do these things last year, and the other voice in my internal dialogue has been telling me ever since, “you can do better.”

Music

Eric Clapton, “Pretending” [recorded live at The Royal Albert Hall]
@amazon
@allmusic

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 42

Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/henick.net/circumscribed.net/journal/post-mortem-of-a-book-project-100724.php:76) in /var/www/vhosts/henick.net/circumscribed.net/journal/template.php on line 82
Post Mortem of a Book Project

Post Mortem of a Book Project —by Ben Henick, 24 July 2010

All journal entries

  1. Talking About the Weather
  2. To the Rafters?
  3. Coming of Age with Killer Apps
  4. Race to the Bottom
  5. Meditations on Decay
  6. Net Neutrality, or the Lack Thereof
  7. Three Problems
  8. Post Mortem of a Book Project
  9. The Egg and the Chicken
  10. Yellow Dog
  11. Digging Through the Clutter
  12. Lessons from Mom
  13. Being Careful What You Wish For
  14. Out on a Limb
  15. Beliefs, No. 1
  16. Like a Chimney
  17. Does Not Compute
  18. Past Trends, Future Results
  19. Beyond These Four Walls
  20. Competence, Confidence, and Reality
  21. Anesthesia
  22. King of the Mountain
  23. “A Deer in the Headlights”

Disclaimer: This is definitely self-indulgent. If you don’t like it, read somebody else.

This nook of the Internet is my antidote for Twitter. ©2010 Ben Henick, all rights reserved.

Job, or hell?

Yesterday I happened on two links. (Good grief, I love the Web.) The first is an e-mail alideshow of sorts aimed at the guts of some hypocrite named Spencer, the author’s (erstwhile imaginary) boss. The second is an article in Slate discussing the (un-) desirability of low- to mid-level service jobs.

…And then there’s the story of the flight attendant who on Monday found a spectacular way to say “take this job and shove it” after being verbally assaulted at length by a passenger.

All three pieces are a kick. Reading them in rapid succession, as I did yesterday afternoon, is a kick in the guts. The article about jobs-in-general particularly evoked from me a visceral response.

Rich get richer, poor get poorer

The sense of entitlement to profit that I raised a few days ago is evident in every talk about compensation I’ve heard about, or participated in, in the past several years. It seems to me like the vast majority want labor for the cheapest they can possibly obtain, while remaining content to throw handfuls of money at senior management and holders of equity — even ones who, as it turns out, contribute little or nothing.

It always seems like the same old story: hire somebody with the basic minimum of proven ability in order to get away with paying them as little as possible, train them up to the minimum needed by the organization, fire the ones who don’t take comfortably to that scheme at the instant they’re identified, and work the others to the bone until they burn out.

I believe that on some level, most people recognize that this is going on. However, I struggle to understand why. It seems axiomatic to me that people who feel valued will work harder, yet the trend moves toward every possible effort to remind people that they’re replaceable and ought to get the best out of things while they can.

Compassion vs. sociopathy

The only fact that adequately explains this prevailing state of affairs is broad, unwitting subscription to the system cobbled together from the amoral rants of a mildly nutty Russian emigré. On balance that would not be so bad, except that like that ethos’ nemeses — Communism and Christianity — “Objectivism” works a hell of a lot better in theory than in practice.

I see two deep flaws with this ethos, deepening my my confusion. First, we can’t all be Howard Roark; lots of us lack the temperament requisite to that outcome. As much to the point, if we all could have and act upon that power, civilization as we know it would rapidly descend into barbarism. One man’s clear thinker is another’s cold-hearted sonofabitch, and the latter type is awfully good at inducing conflict.

Second, human beings possess and act upon compassion compulsively; the ones who habitually refuse or fail to do so are (rightly) called sociopaths. We all recognize that the chain is only as strong as its weakest link, and communities tend to raise the minimum when given the chance. Cutting loose that weak link instead… goes a bit far.

Meritocracy

The happy finish of the labor market’s neo-Nietzchean race to the botom can be found in two virtues that are compatible with all of the belief systems in play: honesty and fidelity.

As it stands, the realities of social (im-) mobility leave some with first-class tickets, and consign the rest to steerage barring both outstanding luck and superlative effort. Furthermore, there are no guarantees that anyone who manages to climb their way out of steerage won’t be shoved back down by some vindictive asshole.

Rewarding honesty and fidelity in the workplace — and penalizing those who lie, cheat, and habitually cover their asses — would go a long way toward making the labor market a better place for everybody.

We have the technological capacity to discover and promote out of steerage quickly the ones who’ve earned it, as a matter of course. We can do the reverse for those who feel most inclined to rest on their laurels. Why don’t we?

Music

Hey Lewis & The News, “Workin’ for a Livin’”
@amazon
@allmusic