Books of 2014

by john on December 26, 2014

I looked under chairs
I looked under tables
I’m tryin to find the key
To fifty million fables
— Pete Townshend, “The Seeker”

I think I read about 600 “pages” per week. Were that in book form that would be two books per week, so 100+ per year. But the number of books I actually read end-to-end is probably around 45, and only 30 or so seem to make it into my semi-public GoodReads feed.

Here are my top and bottom 5 reads from GoodReads for 2014.

Top 5, Best to less best

  1. Maria Semple, Where’d You Go Bernadette. This was really something. It captured the whole feeling of simply being “fed up” as an adult, and provoked an emotional laugh every few pages.
  2. Edward St. Aubyn, The Patrick Melrose Novels. Besides having a great story, this was a tour de force both at the sentence level and at the structural level. There are some revelations, particularly early on, that are delivered in such an oblique manner (deliberately) that I had to page back to verify that what I thought I read was what I read. The third novel in the series, Some Hope, is the remarkable one, a revisioning of the “country house” novel. It’s formally striking as well as it sneaks into the minds of all of the partygoers. Oh, yes, P.S.: Depressing. Five out of five razorblades. Do not read this when you’re feeling down.
  3. Chris Pavone, The Expats. Great spy novel. Having recently spent nine months in France with a terrible command of French, I became a witness to the world around me, which can become a form of paranoia. The novel captured this, but with a backstory of service in the CIA, coupled with duplicitousness in a married couple.
  4. Patrick Lencioni, The Five Dysfunctions of a Team. This is apparently a business classic. I read it when trying to understand some team dynamics at work, and it opened my eyes to some of the ways people will perform in strange ways. I haven’t figured out how to apply the findings of the book, but I learned many things.
  5. Ben Horowitz, The Hard Thing About Hard Things. For the most part I am not a fan of the opinions of VCs, but the author has all of the startup scar tissue. Additionally, when he relates his stories, I laughed in recognition. There are many things he preaches that are, in my experience, simply true. For beginners in startup land, this is worthy. There are parts of the story that could be another book (for example, the extraction of OpsWare from the carcass of LoudCloud).

Honorable mention: Tom Rachman, The Imperfectionists. Great characters in a European newspaper setting.

Interestingly, there were no pure tech books in the top 5. I was reading them, but nothing really changed my mind about anything. I’m not done with it, but Adolpho Builes’s Ember-CLI 101 is looking promising.

Bottom 5, starting with the very worst

  1. Gina Arnold, Liz Phair’s Exile in Guyville
  2. Tom Rachman, The Rise and Fall of the Great Powers
  3. Robin Sloan, Mr. Penumbra’s 24-Hour Bookstore
  4. Alena Graedon, The Word Exchange
  5. Maria Semple, This One is Mine

Notice the author overlap between the best and worst. I was searching for an author who would be reliably excellent, but with these young novelists, it just doesn’t work that way. For every Bernadette, there’s a This One is Mine; for The Imperfectionists, there’s The Rise and Fall of the Great Powers. Good ones but not great. (Incidentally, another pair of novels by the same author was Eat the Document and Stone Arabia by Dana Spiotta — Eat the Document would have made my top 5 had I not read Stone Arabia which made me think that Eat the Document is an anomaly. We shall see.) Elsewhere on my “worst” list are two novels that are essentially about the demise of the book — Mr. Penumbra and The Word Exchange. I started both of these with great excitement, but in both cases felt like my time was being stolen about one quarter of the way through.

The worst book of the year was the one on Liz Phair. What a disappointment. I really wanted to love this book. What Amazon calls its Most Helpful Critical Review is pretty much on the mark (and note the comments on that review). Gina Arnold’s first book on indie rock is one of the best out there: Route 666: On the Road to Nirvana. But this book on Liz Phair is a woeful tirade about how Phair didn’t get the attention and respect she deserved. I don’t disagree with that, but to hear Arnold tell it, the only people who appreciated Phair were critics like herself — female, hip, feminists, etc. Well, I hate to disabuse Arnold of her assumptions, but there were many men who became Phair devotees after one listen. The book is packed with unsupported generalizations, typos, and errors of fact. Someday someone is going to write an awesome book about Liz Phair that will be packed with details. This ain’t it.


Ruby Quiz #1

by john on February 6, 2014

The rules: If you have to look stuff up or Google for it, you may post comments but not a solution. If you have a solution in your brain and can solve it without consulting authorities, post your solution.

You have a class like this and an example of its usage:

class Vector
  def initialize(x, y)
    @x, @y = x, y

  def *(value) * value, @y * value)

  def to_s
    "#{@x}, #{@y}"

v =, 5)
puts v
puts v * 3


3, 5
9, 15

You would like to make the #* method commutative, so that the following script

puts v * 3
puts 3 * v


9, 15
9, 15

Add one method to the Vector class to produce this result. The method body should have only one line.

{ 1 comment }

User prioritization of bug / issue tickets

January 30, 2014

I’ve used tools like ZenDesk and UserVoice to provide a means for users and customers to report bugs and make suggestions. One thing that is very hard for busy professionals is to make clear how important something is. Here’s my idea: You report an issue. Example: “The font could be a bit bigger on the [...]

Read the full article →

Notes and Translations for the New York Times coverage of software

October 21, 2013

I fear that the reporters at the New York Times are having a hard time sorting through the language of software contractors in their article today (here) on issues with Here are some notes, based on my long experience in “contractor world,” on both sides of the contract: “Federal contractors have identified most of [...]

Read the full article →

Tribal Leadership (Book Review)

June 23, 2013

Every now and then I hear about a book that is “all the rage” in my circles: When that happens, I have to read it, because I want to be able to detect when people are using ideas from such a source to effect change in the organization. This time the book is Tribal Leadership: [...]

Read the full article →

Jeff Gothelf, Lean UX (Book Review)

April 24, 2013

Jeff Gothelf’s Lean UX (2013) advocates bringing “lean” product strategies into the design process. The broad outline of this book will come as no surprise to people who have read Eric Ries’s The Lean Startup (2011) and earlier books like Cooper’s Winning at New Products (1986): It’s all about staunching the flow of time and [...]

Read the full article →

Boxen workflow – notes to self

February 21, 2013

Making a change in one’s own “my-boxen” Did it work? Yes. Then … Upgrading a Module Fork the module you need (e.g., puppet-postgresql) Make changes; and make sure to tag with a new version number (e.g., 1.0.1) Now use the new repo and tag in your my-boxen Now open a new shell. This is because [...]

Read the full article →

OS/X, Puppet (and boxen) and installing new software versions from DMGs (VirtualBox for me)

February 19, 2013

Puppet can install from an OS/X DMG. The manifest looks like this: However, there is some bad news about that pkgdmg provider. Unless I am mistaken, there is no way to remove that package in such a way that Puppet believes it’s gone. This is bad because it means that Puppet won’t let you install [...]

Read the full article →

Sandi Metz, Practical Object-Oriented Design in Ruby (Book Review)

November 25, 2012

It’s been awhile since I’ve reviewed a book (here are some:, but Sandi Metz’s new one is so good I need to unburden myself. Sandi Metz’s Practical Object-Oriented Design in Ruby: An Agile Primer (Amazon) may go down as one of those slim classics like The C Programming Language that people actually reread occasionally [...]

Read the full article →

The Most Important Social Network: GitHub

July 14, 2012

Now that GitHub has raised $100M (, I should publish this blog post I started a few weeks ago. TL;DR: GitHub is the largest public repository of the everyday experience of work. Ever. If you’re a scholar or journalist interested in collaboration, this is perhaps the most important archive you will find regarding what actually [...]

Read the full article →