Books for Former Fantasy Lovers

Somewhere along the line, between devouring everything Tolkien wrote nine times, and putting down the eighth volume of The Wheel of Time in disgust, I lost my appetite for fantasy. There was a time when I would have departed for Middle Earth in a heartbeat, if you had shown me the door. I used to prance around my bedroom wearing my Dad’s Korean war-era bayonet as Sting. It was way too small to be any other sword, but as Sting it was ideal, even if I was far from the archetype of a hobbit.

I never recaptured that feeling with any other story, although I have read very many fantasy novels and series since. I have some favorites, such as The Fionavar Tapestry by Guy Gavriel Kay, or Tad Williams’ Memory, Sorrow, and Thorn. I have my least favorites too, like The Wheel of Time, and The Wheel of Time, not to mention The Wheel of Time. In general, though, I’m just not that into it anymore. Part of this is no-doubt because I grew older. Another part of it is certainly because fantasy grew weirder. Whatever the reasons, I haven’t purchased a new fantasy novel since George R.R. Martin’s A Game of Kings.

That doesn’t mean I have lost my taste for swashbuckling adventure, the struggle of good vs. evil, and the days when men were men and wore armor to bed. Far from it. But I have lost my tolerance for what feel to me like the excesses of modern fantasy. Fortunately, to replace it I have gained a huge appreciation for historical fiction. After all, European history is awash with exactly these sorts of stories. So, for those of you who, like me, are a little worn out on High Fantasy, or no longer high enough to appreciate it, I present some alternatives that will take you to places just as epic, and just as moving.

Bernard Cornwell. Mr. Cornwell is the reigning Master of Dark Ages and Medieval European historical storytelling. Begin with The Last Kingdom, first in his currently five-part Saxon Chronicles. If that whets your appetite, and it will, finish out the rest of the series and then dig into The Archer’s Tale, which begins his three-part Grail Quest story. Speaking of grails and quests, be certain not to miss Cornwell’s Arthurian Cycle, beginning with The Winter King. It is one of the best renderings of that subject matter that I have ever read, second only to Mary Stewart’s, which I will get to below. Bernard Cornwell is a highly accomplished storyteller whose narratives will grip you from the first page. I devour every new one like a bag of potato chips, and even when I want to linger I can’t possibly.

David Gemmell. Mr. Gemmell was to the pre-Roman Classical Age what Bernard Cornwell is to the post-Roman Dark and Middle Ages. You can pretty much throw a dart at a list of his works taped to the wall, and be assured you’re getting something excellent and satisfying. If I were just discovering Gemmell I would start at the end. His Troy stories, the last series he wrote before his death in 2006, begin with Lord of the Silver Bow, and tell the story of the conquest of Troy from the perspective of Helikaon, Achilles, Ulysses, Priam, Andromache, and many other well-known characters from Greek Mythology. The last installment, The Fall of Kings, was finished by his wife Stella after he passed away. Once you’ve dined on those tasty dishes, don’t miss Lion of Macedon, and Dark Prince, or any of the Rigante books, beginning with Sword in the Storm. Like Cornwell, Gemmell was the very essence of a master storyteller.

Lady Mary Stewart. For my part, when it comes to the Arthurian tales, nobody has told them like Mary Stewart. I read the first book in her five-part series, The Crystal Cave, back in the early eighties and quickly finished off the three additional volumes that were then available. Since then she has published a fifth, The Prince and the Pilgrim. My favorite aspect of these stories is her treatment of Merlin’s character, and the way she weaves Arthur and his family seamlessly into actual events taking place in Britain at the close of the Roman era, and the dawning of the Saxon invasions. If you love stories of King Arthur then Lady Stewart’s cycle is not to be missed.

What you will not find in any of these books are flashy magic, elves, dwarves, orcs, goblins, amulets of power, or rings that can save or doom the world. What you will find in abundance are the essential qualities of epic storytelling: compelling characters, irresistible historical forces, honor, loyalty, treachery, betrayal, the clash of mighty armies, and the saving of the occasional female in need. In other words, all the good stuff, and none of the hokum. Enjoy!

The Last Word on Healthcare

My last word, that is. When I set this site up I vowed to myself to focus on the historical, the technical, occasionally the literary, and stay the hell away from the political. But alas it seems strange, here on the eve of perhaps the greatest change in our government since Johnson’s Great Society, to say nothing at all. So here are two coins with very little copper in them, on the subject of healthcare.

First, healthcare is no different than shoes and shingles. If I want a pair of shoes, or I need shingles for my roof, I have to find people who make shoes or shingles, pay them the costs of their labors plus some profit, and carry away my goods. I don’t have a right to shoes and shingles if I don’t have the money to pay for them. Same thing with food and fuel, both of which, by the way, cost me a lot more on a yearly basis than health care. If you think healthcare represents some special category of stuff, more important than food, fuel, shoes, and shingles, then I think the burden is on you to explain that position.

Second, it disturbs me when I hear healthcare described as a right. Healthcare isn’t like life, liberty, and the pursuit of happiness. None of those things are tangible goods. Healthcare is provided by people who invest huge amounts of time and labor into it. Doctors invest eight to ten years of schooling, nurses two to six. Pharma companies invest billions in the creation of new drugs, health management companies billions into the building and maintenance of hospitals. And the problem, the main problem at any rate, is that we don’t want to pay for the results of their labors. We want someone else to pay.

Specifically we want insurance, apparently some sort of magical artifact that allows the wearer to consume, on demand, thousands of dollars worth of expensive, specialized goods and services, while paying little or nothing in return. And because we would feel bad if we were the only ones who possessed the enchanted item, we want everyone to have one just like ours. Then we can all consume as much as we wish. Tragedy of the Commons, anyone?

Third, if you don’t want to pay for something, and you succeed in convincing someone else to pay for it on your behalf, you lose the power of the purse in that relationship. One of the reasons people are so upset with healthcare, apparently, is that employers and insurance companies have too much say in the kind of treatment patients receive. They have a lot of say, because they’re writing the checks. Shocking, I know. Personally I don’t care if you prefer to have your employer pay, or the government, or some insurance company. The only thing that matters to me is that you don’t want it coming out of your pocket.

If you succeed in that, then in the end you’re going to get what you pay for. Costs will continue to rise, but even faster, because demand will have been expanded without addressing supply. Supply will stagnate or decrease, because the incentives to succeed will be bled out of the system. The payers will have even more power, and even more incentive to regulate access and pricing. All of that is already happening, not because we have single-payer government-provided insurance, but simply because we want our employers and insurance companies to pay our bills.

So, fourth and finally, you’re dreaming. Healthcare is a tangible and limited resource. If you think the government can somehow step in, manage the whole mess, and that suddenly you’ll be paying less, getting more, and be more in control over what you spend and get, then all I can say is that I hope you aren’t in a position of any serious responsibility. Of course, lots of people who do believe that are in such positions, so God help us all.

Learning Geography

I suspect that children are losing track of where stuff is. Not things like socks and backpacks, which they have never been able to locate reliably, but counties, states, nations, rivers, mountains, hemispheres. I already knew that my own kids have no sense of where stuff is in our locality. How could they? They never leave the house other than to strap themselves into a vehicle for transport to some other network-enabled structure. But when one of them made a statement the other day alluding to Portugal’s proximity to China I was a little surprised. I could quickly show her where Portugal is using Google, Bing, National Geographic, but she wouldn’t be interested. She’s a teenager, and doesn’t believe I have enough brain cells left to tie my own shoes.

I often wear slippers, so she may have a point. In any case, people don’t think much about where stuff is anymore. They don’t need to. Our town is where we are, Portugal is at Newark Airport, and everything else is on the web. But supposing they did want to know? What would be the best way to find out? The answer, you might presume, has already been given: just pop open Google Earth or Bing Maps. But unfortunately both of those tools flat-out suck for answering geographic questions. With the appropriate label layers turned on they do fine for things at the scale of countries, so yes you could answer the Portugal question, but they fall to pieces when it comes to geographic features. Quick, open Google Earth and find me the river Vistula.

No, not the Vistula in Houston, Texas, nor the one in Elkhart, Indiana either. The river. Here’s a hint: it’s in Northern Europe. Just zoom in on that general area and search for “Vistula” again. Wow, “Vistula and Wolczanka” is a very popular something in Poland… but still no river. How about the Elbe? The Oder? The Don? Dnieper? Dniester? Rhine? Ok, dammit, just show me the Danube. You must have the freaking Danube. Actually, no, they don’t. Google Earth is an amazing tool, and it’s primarily good at the daunting task of stitching together different imagery of the planet, and of overlaying roads and towns on that imagery. Mountains? Rivers? Estuaries? Peninsulas? Not so much. So let’s try Bing Maps. That must be better, right?

Yes, a little. In the U.S. at least the new Bing beta mapper does a halfway-decent job of labeling some regions, and some bodies of water. At certain elevations it gets the major rivers, but then you scroll out a little and they disappear. In general Bing suffers from place name overload. Some views present you with a vast dense carpet of place names, and no way to filter them out that I can find. But even so it is better than Google Maps, which is specifically and solely about roads and cities. They don’t even bother labeling the Black Sea or the Mediterranean. Forget mountains, and even if you scroll all the way in they won’t tell you what river that blue line represents.

Of course Google and Bing remain the best way to answer all these questions, and perhaps the only way that matters. If you Google “Danube” you’re going to find out which river it is, and where it is. The information is always out there, but just not in the mapping and visualization tools. So consider this a call to web mapping developers everywhere to make their already neat tools more geography-friendly. Give me accessible means for filtering place names (a population slider would be great). Allow me to layer in other features that I want to see. Let me highlight a mountain range, or all the tributaries of a major river. Let me click on a feature and search for its name. Let me visualize ocean currents and prevailing winds, or highlight all the desert environments or forests.

In short, make it easy for me to find out where stuff is on the planet from within your app. And then get to work on my daughter’s backpacks. I’ve bought seventy-five of them and they are all missing.

You Know That Thing?

“Have you seen that thing?”

“What thing?”

“That thing that does that thing it does.”

“Oh, that thing. No, sorry.”


thing; noun; from Old English thing, assembly; akin to Old High German ding, thing, assembly; Gothic theihs, time.


I’m not known for brevity. Whether speaking or writing I tend to use a lot of words. Sometimes I even use more words than necessary. Of course, I don’t think they are unnecessary words, but from time to time I feel my listeners or readers probably do. I’m a bit of a throwback. People used to speak, and write, using far more words than they do now. In our hurried times staccato bursts of vernacular whipped with slang seem the rule, and any spoken or written statement longer than five or six words feels burdensome.

The exceptions, of course, are lawyers and legal documents, and by inclusion legislators and bills. They grow wordier in inverse proportion to our terseness, and it’s possible that’s no coincidence. Lawyers know that language is a minefield of ambiguity. They add words in order to reinforce the meaning of the text and anticipate ways in which future readers will attempt to take from it meanings that are at odds with the original intent of the writers. Pursue this goal long enough and what emerges makes for less-than-entertaining reading.

It is, however, precise. I learned to read contracts and legal language long ago, and it has served me well in a number of cases worth real money. I even like writing them, much to the consternation of barristers I have worked with. There is something satisfying about the weighty, measured cadence of legal language thumping onto a page as you write. The words matter in the most practical and immediate sense. They are at the same time statements of currently agreed fact and potential weapons in future disagreements.

Terse language, on the other hand, is often imprecise language. It doesn’t have to be. “Pick up that hammer” is a pretty precise statement. “Grab that” is not, but when accompanied by a nod or hand gesture it can be enough. One sure-fire way to boil the precision out of any statement is to add the word “thing.” It may well be the most useless word in any language. At the very least it’s one of the most irritating. One definition for the word “thing” is: a separate and distinct quality, fact, idea, or usually entity. “Thing” can mean any damned thing, and as a result actually means nothing.

I guess the idea worked well for all those Carpi, Allamani, Tervingi, and Taifali running around central Europe 1500 years ago. They had probably just figured out that there were things in the world, and it is kind of heart-warming to imagine them pointing to a walnut in the Hyrcinian Forest and stating “Ding!” with a confident and knowing air. Yes, Fritigern, that’s a thing you have there. Once you get past that basic philosophical understanding of corporeal entities and their existential selfness the word “thing” is just a hair more useful than the word “noun.”

So while I hesitate to suggest that people go back to writing and speaking in complete sentences that offer fully-developed thoughts,  I do propose that we banish the word “thing” from all polite usage written and spoken. I trust you will get right on that. Meanwhile I have this ding I have to do.

My Toyota

Toyota is taking a pounding in the press for some highly visible quality issues that have surfaced over the last few months, requiring one of the largest vehicle recalls in the company’s history. Every company hits rough spots, and I have no doubt Toyota will do the right thing by its customers, and by itself. The FJ Cruiser pictured to the left (on what remains of Sand Pond Rd. in the Pahaquarry region of northwest New Jersey) is the third Toyota I’ve owned in 15 years, and is one of the best vehicles of any kind that I have owned, ever. In fact, all three of our Toyotas, the FJ, a Sienna minivan, and a Camry wagon, have been solid, well-designed, well-executed vehicles that have given us our money’s worth. If I ever manage to wear out the FJ, you can bet I’ll buy another one.

Why I Hate Windows Vista

I hate Windows Vista, and in this post I’m going to tell you why. But before I do I want to say that I am a long-time admirer of Microsoft, most particularly in the way that they have managed to continually update their operating system while retaining backward compatibility with almost everything ever written for it. That’s no small feat. I have been writing software for Windows since the early 90’s, and I also make heavy use of Debian and Ubuntu. I am no operating system bigot, nor a knee-jerk anti-Microsoft geek. I’m not even under 40, or a lefty.

But, I hate Windows Vista. I hate the way it seemingly chooses at random from two or three different kinds of privelege elevation dialog whenever some program decides it needs elevated priveleges. I hate the way Explorer sometimes just hangs for twenty or thirty seconds when rebuilding the directory structure tree. I hate the way Explorer decides (seemingly at random) that a folder full of miscellaneous text files should be displayed with the media columns showing, or in “big icon” view. I hate that when I change it to the standard view it doesn’t stay changed, or remember the column widths. I hate that when I type a full filename into the search box the engine gets all smart and shows me partial matches and matches on internal content when all I wanted was to find one damn file. In fact I hate everything about Explorer, and while I know that you can resolve most of this crap by switching to classic view (I have), that’s hardly the point.

I hate the way that installed programs sometimes don’t show up on the start menu, but when I search the start menu, there they are. I hate having to elevate privs to manipulate system directories even when running as administrator. I hate the way that most games I install mishandle the desktop trying to get into full screen mode. I hate having standard system folders for my music, my pictures, my videos, my downloads, and my documents that the system insists on preferring over any other location. Dear Microsoft: I am not like everyone else, and I don’t keep my stuff in those places. I’m ok with system folders in general, whether they’re called “\Windows”, “\Program Files”, or “/bin”. But having standard folders for all that other stuff just reeks of smart-assed people deciding that everyone should adopt their conventions so we can all receive our “benefits” in a uniform way. If I bought a file cabinet, and it insisted on offering me a preconfigured location everytime I opened it with a medical file in hand, I’d be pissed. That’s not helpful. Yes, again, all this is customizable, but it isn’t necessarily obvious or easy to do. It should be. These things should be suggestions, that can be banished or changed at the click of a button.

I hate that my Creative Audigy 4 Pro is so poorly supported that I have to reset the mixer settings to get my center channel back every time I run a media program. Yes, I know that’s Creative’s fault, more or less, and that many of the other issues that bug me are software OEM problems, but again that’s hardly the point. Part of Microsoft’s appeal was that they managed this stuff, and I didn’t have to. This time around they seem to have the same relationship with their vendors and partners that I have with my teenaged daughters: neither party has a clue what the other is really thinking.

Not that there isn’t anything to applaud in Vista. The underlying system is actually quite an improvement. It runs better than XP, certainly starts faster than XP, and uses memory more efficiently than XP ever did. Once games are running they seem to run as well as they did in XP, and other media applications fare as well. I like readyboost, though I don’t currently use it, and I like address space randomization. As a software developer Vista gives me the impression of a more formidable foundation than XP, and .NET continues to be the best application framework available on any operating system platform in my opinion. There are some engineering teams in Redmond that are doing a hell of a job.

But it all seems to go to pieces at the user interface, in usability and the way the security issues are presented. Not that the UI isn’t pretty. It’s pretty, and frustrating as hell. From the reorganized start menu, to control panel, to important subsystems like networking, sharing and security, device management, everything has received a thick coating of translucent blue easy gel. It’s like buying a PC game and finding out it’s a bad XBOX port, and you have to control everything with buttons and scroll wheels. Computers are complex. Some people have a harder time with them than others. Burying all that complexity under layers of Aero doesn’t make it go away: it just makes it a pain in the ass to get to.

I sure hope that Windows 7 is a big improvement, and I realize it’s a little late to be climbing on the “I hate Vista” bandwagon, but I did give this OS a long, serious try. In fact I don’t have any real choice about using it. But my recent laptop purchase got a clean disk and Ubuntu 9.04 as my welcoming gift. I don’t want to play games on it, nor do I need Office, so that takes care of both my big reasons for using Windows. If 7 doesn’t turn things around for me, I might be contemplating Ubuntu as the main OS for my desktop, too. I can always run Windows in a VM for development purposes.

Deep in our Past, The Notes of a Flute

My kids sometimes wonder what it is about history that fascinates me so much, and I have almost no ability to provide an answer that satisfies. So instead I turn to demonstration. Every now and then I learn something that, once it sinks in, nearly takes my breath away, and my next thought is usually to communicate it to them so that I might prompt some flowering of interest. But it hasn’t worked yet. Today’s New York Times provided me with such a piece of information, which I may email them. It’s always worth another try.

The story concerns one of the earliest musical instruments ever discovered intact: a flute carved from a piece of bone nearly 35,000 years ago. Go ahead and click on the link. There’s a picture. The instrument in question is thin, graceful, gently curved, and bears every resemblance to a modern woodwind in form and function. It was created in a past so distant that all of recorded history could have occured in the interrim seven times over. Everything we know about civilized humanity spans a mere 5000 years or so, and yet seven times that long ago humans were carving instruments and playing music. If the very idea doesn’t awaken in you an appreciation for ancient history then I think we can safely assume nothing will.

Student Accountability in Public Schools

You may have been in a situation like this, or you may have known of a situation like this. A child is performing poorly in school. He or she misses assignments, pays little attention in class, and doesn’t do well on quizzes and tests. Naturally the quarterly grades reflect this. In between report cards the parents are kept informed through scrawled notes on progress reports, emails, and perhaps even the occasional phone call. The messages may be depressingly consistent: “Missed two assignments.” “Not putting forth effort.” “Project turned in late.” In the worst cases of this sort, the child may even be receiving actual failing grades in one or more classes.

The parents, of course, do their best to intervene. When asked about homework assignments the child always has an answer. The assignment was made up. It was turned in but the teacher missed it. Everybody was late on that one, etc. These excuses generate more messages back and forth between parents and teachers. Everyone is involved, which is what we’re all supposed to be these days. Everyone is talking, and yet the student’s performance doesn’t improve. Why? Wasn’t all of our caring supposed to ensure success? How is it that in the face of all this virtuous involvement the child is still screwing off 75% of the time?

One question that is worth asking is: what are the consequences of screwing off? The answer, depressingly, is that there aren’t any. Will a child who fails to pass a grade be held back from the next grade? No. Will a child who fails to turn in an assignment get detention, or have to write 500 times on the blackboard “I will do my homework,” or even clean up the classroom at the end of the day? No, they won’t. What about discipline? Surely a child who misbehaves will get sent down to the principle’s office for a stern talking to? Yes, that might happen, but unlike in my day there sure as hell won’t be any paddling involved, or any other material consequences, and a stern message delivered to any given teenager has about as much effect as you would expect it to have. But there will be another note home to the parents, who are expected to cure all these problems somehow.

What does the child ultimately learn from this, about the nature of obligations to the institutions that govern our lives, and with which we voluntarily affiliate ourselves over our adult careers? What they learn is that institutions are impotent. The school can assign work. The school can make rules. But the school is utterly unable or unwilling to enforce any of its rules, or hold students accountable for discharging their assigned duties. Later in life the little dears will find out that other institutions are very capable of doing these things, and I suppose it will come as quite a shock to them. Parents naturally want to do what they can to respond to teacher concerns, but the parents are a third party to the relationship. If the institution cannot hold its charges accountable, how should the third party do so?

They cannot, and the impotency of this triangular relationship ultimately encourages the students to do whatever they feel like, secure in the knowlege that nothing bad will happen to them at the hands of the people whose rules and requirements they are disregarding. Of course, bad things will happen, but they will happen much later, in adulthood, long after the administrators of the schools have added another number to their count of children not left behind. Unfortunately, by then it is far too late, and there is no safety net of helicopter parents to descend from the skies and fix the problem. All of which prompts the question: how can a child learn discipline and studiousness and the virtues of hard work from an impotent institution that can do no more than make friendly suggestions? The answer is that they can’t, and many don’t.

Just a Book

I struck out three times at the library this week. One was a Ben Bova novel about two brothers on opposite sides of the stem cell/cloning/immortality issue. It started pretty well, but then kept switching between first person protagonists in the first three chapters. I like the first person perspective, but I guess I don’t like to get into a new head with every chapter. I might give this one another try because Bova is a fine writer whose work I have enjoyed in the past.

The other two looked like good stories too, and the one I began reading started well. However, what I had missed in both cases, and what was not advertised anywhere on the books’ jackets, was that both were buried in the middle of an -ilogy. One was a second book, and the other a third. This fact was not made clear in the frontispieces or title pages either. You really couldn’t figure it out until you read the back cover testimonials carefully. I took both back to the library and made a desultory effort to find the beginnings of each story in the catalog, but our small library either never had the earlier novels, or doesn’t have them anymore. Perhaps the buyers for the library were deceived as easily as I was.

I don’t like to jump into the middle of a multivolume story. In fact, I’m almost to the point where I just disdain -ilogies alltogether. I was introduced to them by Tolkien at the age of 10 or 11, and ruined for them by Jordan at the age of 45, when, after fifteen years of rambling through eleven increasingly incoherent and plodding volumes in the Wheel of Time series, the author departed the mortal plane without finishing it. I think WoT would have made a really great trilogy.

These days it seems more than half the new volumes at the library are part of a series. If I see “Fifth Volume in the Dreams of Balthazar Chronicles” I just put the damn thing back on the shelf, only slightly more quickly than I would if it were the first volume. My aversion is selective. I’ve been known to go out of my way to get complete sets of O’Brien, Gemmell, and Cornwell, not to mention Mary Stewart. In O’Brien’s case the Aubrey-Maturin books actually stand pretty well on their own, and as for Gemmell, Cornwell, and Stewart they are just worth it, and how. But my weariness of the -ilogy marketing approach just makes it a lot harder to win me over. I’d like to see more really good single volume stories. I’ll be fifty years old in a year and a half or so; I can’t even be sure of living through another Robert Jordan.

And while I am on the subject of books it would be remiss of me not to mention the most lamentable trend of all, which is neatly encapsulated by the title of a book I was looking at in the library last night: “Robert Ludlum’s The Bourne Sanction by Eric van Lustbader.” Robert Ludlum cannot write any more Bourne novels, because he is dead, and van Lustbader shouldn’t be writing them either. “Tom Clancy” is another one. He’s still alive as far as I know, but 95% of the stuff I see with his name on it was written by someone else. Hopefully, the publishing industry has been learning along with the rest of us that pursuit of money for it’s own sake isn’t the point. I’d just like to see good books. The rest of the business will take care of itself.

The Completeness of Code

I’ve been thinking a little bit lately about the notion of completeness in programming. I think it’s a valuable concept because those of us who write software have a hard time defining what the word “done” means with respect to our product. The old saw about model railroads is that they are never finished, and I think a lot of us feel the same way about the code we write.

A similarly ephemeral concept is that of correctness. When is a body of code “correct?” Can a given piece of software be “correct” without being “complete”? The problem with correctness is that software is too complex to support any but the narrowest definitions of the term. We could define correctness as the state of development at which a piece of code produces correct outputs for all possible inputs. But it’s difficult to assert that any non-trivial system meets even that fairly specific definition, and that definition leaves out a lot of possibilities for things to go wrong due to external factors.

In practical terms software is perceived to be complete when it does all the big things we asked for it to do. This idea is reinforced by methods of requirements definition such as Use Cases, which focus on large-grained behaviors of actors in the system. I think it’s safe to say that we can get all that stuff right, and yet not have “complete” code.

So what is complete code? I’ll take a stab at a definition: Code is complete when it produces the correct outputs for all possible inputs, and fails safely and gracefully in all possible situations where a correct output cannot be produced. In my experience it’s often that second part of the definition that gets short shrift in the development process. Time and again I run up against code that takes the straightest possible path between input and output, and ignores a slew of potential boundary conditions and failure points along the way.

Putting the blinders on and dashing straight for the finish line is usually defended as pragmatism and a “get ‘er done” attitude, and there are times when it is absolutely a virtue. If you ever do a technology start-up you’ll encounter many of those occasions, often strangely correspondent to meetings with potential investors. But for just about any system that has to actually run reliably and do important stuff in a production context completeness is a more important quality than brevity. Brevity will make you feel good now, but it will cost you in the long run.

Unfortunately completeness is hard to see, doesn’t provide any immediate benefit in the eyes of users, and is therefore something they hate to pay for. Buying an incomplete piece of software is like buying an old, worn out car with a new paint job and refurbished interior. It feels great, and it’s fun to show it to your friends, but step on the gas and the wheels fall off. I’ve seen the wheels fall of a few software systems when the throttle was opened. I guess it’s a lot easier to place a value on completeness when the lack of it means you have to walk.