Better service means more tests

I really like the idea of trying to convey the thrill of automated software testing to laypersons. Developers can get so passionate about it, because of what it means to their work and sanity, but it’s so ridiculously difficult to communicate. (I think you guys have done an amazing job with it here!)

I personally love trying to analogize the massiveness of a codebase to something normals might understand — like a book. A big book. Something dense and complicated. Maybe Pynchon’s Gravity’s Rainbow or Tolkien’s Lord of the Rings. So then you could tell a normal person to imagine that for some reason, the author is doing a revision, lord knows why. Like “The Fellowship of the Ring: 2nd Edition” (“Now with 32% more Orcs, and a bonus chapter involving Tom Bombadil being dragged away by angry oliphaunts.”)

But I digress. The point is that this thing is big and complicated, and already out in the world in some form. So imagine that Tolkien is going through, marking up the first edition on his new computer, perhaps adding a note about the fearful timbre in Tom’s voice as he’s carried away. Imagine that if, as Tolkien is making edits, he makes a small spelling mistake. He continues writing, but then, on saving, the book beside him on the desk beside immediately turns into a solid block of wood. Let’s say Douglas fir. So Tolkien is like “Whoa whoa whoa. What the fuck just happened?”

So as he’s inspecting this block of wood that was once the first edition, he gets a call on his StarTAC. (Tolkien just gave up his trusty Varitype last week. He is all “new-fangled” out right now, so please give him a break.) His publicist is like “Holy shit this is terrible. All of your books have turned to wood.” And Tolkien is like “I… I don’t understand! All of them? I was just revising the first book on this text processing machine! This doesn’t make any sense!” And his publicist is like “I don’t know, T-baby, but all the books are now wood.”

Tolkien drops the phone from his ear. He can hear his publicist, frantic and far-away, relaying that everyone is calling to complain: “I was on the last chapter,” says one reader. “I was reading in front of a packed room of children,” says another. “Douglas fir is not even a real fir!” say a curiously sizeable number of conifer-hating arborists. Everyone is angry for all the thousands of reasons that a book failure has impacted them. But Tolkien is zoned out. He’s pondering how it might make even backward sense that all later books in the series might somehow be affected by this voodoo involving the first book. I mean, yes, the later books depend on the first book, but how is that relevant to books…

“This is truly a terrible day,” Tolkien thinks to himself. He shuts down his new computer, pulls out his trusty old Varitype from the closet, and resolves never to try new tools or change his books ever again. The end.

— — — — — — — — — 
So if book-writing worked like code-writing, that might be how it worked. You can imagine that it would be difficult updating your most popular books. Or for that matter, coming out from under your writing desk.

But thankfully Tolkien’s writing world still has something like code tests: those little squiggly red and blue lines that appear under your writing mistakes. These could conceivably allow Tolkien, in such a world that he now finds himself, to more safely work on his novels. These squigglies can help ensure he never saves a document containing mistakes. Which is great. I mean, this new reality clearly sucks for Tolkien compared to his carefree first-edition days. But through the unimpeachable and mysterious ways of an umerciful Creator, the author’s world has moved on, and so he must adapt. And in this world, one that now resembles the world of software developers, he’s glad to have these little squigglies to know when he’s breaking every one of his books in the world.

Tolkien knows enough to be thankful for small mercies.
 — — — — — — — — — — — —

haha well that was fun. I should really get my own blog again, but this was a great time-sink for awhile :)