Books Like Blogs

I recently posted this interesting book review to the O’Reilly editors mailing list, pointing out this phrase: “The Nathan book is brilliant. It reads like a blog and competes toe-to-toe with anything you’d find on the web.” I was struck by the idea that a blog’s voice is a good thing. Although we’ve been willing to work within our authors’ voices (see Programming Perl as the ultimate expression of this), there seems quite a gulf between the ultra-casual tone of a blog and the edited, polished, reviewed (and spellchecked) tone of a book.

I guess I’m not the only one who thought this. O’Reilly technical evangelist chromatic wrote a reply that made me spray my morning Wheaties over my laptop screen when I read it. Put down your cereal and enjoy …

It’s difficult for me to separate the web’s voice from what seems to be the web’s ignorance and polemics. Is this appropriate outside of cookbook or a hacks book?
Of course, that ought to make Ruby books easy to write:

Ruby is the most powerful programming language ever! Anything invented before 2005 is bear skins and chipped stone knives! Don’t hire anyone who doesn’t lick his MacBook every ten minutes! I’ve been programming for three weeks! Ruby is the new Lisp! DHH is dreamy! I can solve that problem in just two lines of code, and it’s absolutely impossible in any other language (except maybe Erlang, oooh)! DSLs! DSLs DSLs! DSLs DSLs DSLs!

Expect a sharp rise in ink prices as all punctuation suddenly gets more expensive. (The dot in an exclamation point is actually a little cartoon fox.)

Java’s fun too:

Open source is bad because forks are bad! Open source is good because we can fix bugs! Closures! Closures closures! Yay Groovy! Boo Groovy! Yay Jython! Jython what?! Yay JRuby! Boo JRuby! Boo J2EE! We’re still relevant we promise! By the way we still use JVM 1.2! Yes us too!

For equal time, here’s Perl:

When will Perl 6 come out? I read a Ruby blog today and I actually felt my brain cells committing suicide. We’re hiring, but we can’t find enough good people. Announcing a new conference/hackathon/developer day/workshop/mongers meeting!


Monads explained! Monads dissected! Monads disassembled! Monads illuminated! This is the best tutorial ever! The perfect Haskell tutorial! Some esoteric math paper I have no hope even of describing.

At least this would be a good test of our Unicode printing process, and we’ll save on printing costs because there are no identifier names over six characters long in the entire Haskell universe.

*I* certainly don’t want to tech edit a blog.

P.S. from Tim: As promised, here are the bookscan graphs comparing the performance of the two books. More in the comments: