Journal

This page includes the five most recent journal entries. Looking for more? You can view the full archives by category or even subscribe to this site.

Causation

| 1 Comment

G: Why did Peter lose his jacket?

Me: Because his buttons were caught.

G: Why were his buttons caught?

Me: Because they were stuck in the gooseberry net.

G: Why was he stuck in the gooseberry net?

Me: Because Mr. MacGregor was chasing him.

G: Why was Mr. MacGregor chasing him?

Me: … because roughly 13 billion years ago, the Big Bang happened, and therefore eventually Mr. MacGregor decided to chase Peter.

G: … what is the Big Bang?

Me: It was a giant explosion that created the universe as we know it.

G: <slaps his own knee as hard he can> — That was a Big Bang!

How the Random House / Hydra Contract Becomes the New Normal (For a While)

John Scalzi has the goods on Random House’s new Hydra vanity press, and the contract really does sound awful.

If you want to publish fiction, there are two main options.

  • Go with a reputable publisher. Advantage: the publisher fronts a bunch of fixed costs around book production and distribution and pays you an advance. Disadvantage: your book might never be published, and the publisher keeps most of the revenue from your book.
  • Self-publish. Advantage: You keep the lion’s share of the revenue. Disadvantage: you get no advance, and you have to front the cost of design, editing, art, etc. (Though if you don’t give a rip about design, editing, art, etc., this cost could be close to zero.)

Random House / Hydra combines the worst aspects of both paths. Unlike going with a publisher, you get no advance, and you end up paying the fixed costs of production. Unlike self-publishing, you only get 50% of the revenue, not 70% or 90% or 97.1%. And critically, unlike either of the above options, you lose your rights over your own work, in perpetuity. Random House assumes no risk and takes 50% of your money — forever. Just unbelievably cynical and awful.

The trick will be making this kind of contract the new normal. Here’s the playbook:

  1. Full court press in industry publications and social media, arguing that the contract is actually fantastic for authors, 50% is like totally way better than 15% you guys duh, and anyone who says otherwise is a fuddy-duddy who doesn’t get The Internet and hates puppies.
  2. Select a handful of authors and spend serious money promoting them, making sure they rack up some respectable sales by hook or by crook. Brag a lot about the top-line numbers.
  3. Wait for shit-rags like Business Insider and Newsweek and Slate to dutifully churn out praise for this brave new business model. Wait for this sentiment to work its way up the media food chain.
  4. Profit???

I dunno. The thing is… if I worked for Random House, and if I were worried about competing with Amazon, Apple, Smashwords etc., I would spend some time thinking about how I could offer a better deal. I’d at least try to match their terms, and maybe add some unique features that the others can’t match. The last thing I would want to do is construct a business that is worse than what my competitors currently offer in every respect, and that promises razor-thin margins for a few more years at best.

It seems like an awfully ugly way to die.

No, Your Son is Probably Not Brain Damaged

| 5 Comments

But how is it that two year old boys just know that they need to run around and shriek, “OOGIE SKOOGIE KAN-NOOGIE!”

Is it nurture? It sure as hell isn’t nurture.

Is it some kind of Jungian collective unconscious… thingy?

Is it genetic? Does it provide some kind of increased chance of survival in the wild? (Because from where I’m standing, quite the opposite.)

Songs for Git Commands

| 3 Comments

git push

“Salt-N-Pepa — Push It”

Okay, this one was kind of a gimmie.

git commit

“BeyoncĂ© — Single Ladies (Put A Ring On It)”

If you wanted it, you shoulda put a hash on it!

git log

“Ren & Stimpy — Log”

It’s better than bad, it’s good.

git config

“Eminem — My Name Is”

Got other suggestions? Leave ‘em in comments. (Extra points awarded for whatever mad genius comes up with something for git reflog.)

git reflog [new]

“Britney Spears — Baby One More Time”

Thank you, Allen!

git fetch [new]

“Queen — I Want It All”

Thank you, Josh Adell!

git rebase [new]

“Bad-CRC — All Your Base Are Belong To Us”

Thank you, Petey!

Tech Pubs Tuesday: Converting TWiki/Foswiki to Markdown, reStructuredText, or Some Other Sane Format

Once upon a time, there was a young technical writer who dwelled in an elegant cubicle with high, noise-baffling walls. He was handsome and clever, beloved by engineers and product managers throughout the Valley, and could write like the wind itself.

One dark winter’s evening just before close of business, an ancient crone came tottering over to his desk. In her arms she clutched a tattered collection of printouts of the DR DOS 3.31 manual. “Please, young sir,” the crone asked, “could you trouble yourself to help me edit this poor old woman’s manuscript?”

The young technical writer laughed and refused. “I am far too busy to help the likes of you,” he said, by which he meant too busy reading Reddit. “Begone!”

Once more the crone asked the young man for help with her edits, taking care to warn him that things were not always what they seemed on the surface… and once more the young man refused to help her.

BAMF! With a flash of light and an acrid whiff of toner, the crone’s disguise fell away, revealing her true form: the Goddess of Technical Writing herself.

The young man fell onto his knees, begging forgiveness and sobbing, but it was too little, too late. The Goddess faded away, but not before spitting out her most venomous curse: “May all your software manuals forever be written in TWiki!”


So if you’re an unlucky person, you might find yourself stuck with a pile of technical documentation in TWiki or some other baroque “enterprise” wiki. If so, here’s a hacky recipe for getting yourself unstuck.

  1. View a rendered wiki page and select the content div out of the HTML, saving each page as an HTML snippet. In TWiki or Foswiki, the content div typically has an ID of patternMainContents. For a small number of pages, you can use your browser’s element inspector to help you copy and paste the content. For a large number of pages, you can try automating this process with curl and some custom script that strips off everything that isn’t the content div.

  2. Run all resulting HTML snippets through /usr/bin/tidy.

  3. Download and install pandoc.

  4. Run all tidied HTML snippets through pandoc, converting them to Markdown, RST, or the output format of your choice.

There’s a good chance the conversion won’t go all the way, particularly if your documentation used any TWiki plugins that rely on JavaScript (like the “Twisty” plugin). Look for sections that didn’t convert properly and fix them up by hand.

The main takeaway is that you don’t want to mess with parsing the horrible native wiki format. Let the wiki do its thing and just get the resulting HTML — that’s something you can work with.