www.jlion.com

Friday, March 30, 2007

I've been reading "A long way gone" by Ishmael Beah and am about two-thirds through the book. I'm at the point where the boy soldiers have been given over to rehabilitation efforts by the UN and was really looking forward to reading about Beah's journey to the US.

However yesterday my MP3 player, a Creative Labs Zen V, finally died. It had been sick for a while. About 3 months after I bought it, the little joystick popped off so that it became very difficult to select among the various menus. After about 6 months, my Zen began randomly freezing and I would have to resort to a paper clip to "reboot" it. The random freezes gradually increased in frequency to the point where yesterday there was no more "reboot". Fortunately, Creative Labs has a 1 year hardware warranty. I've obtained an RMA and have sent it in for repair but I will surely miss it while it is gone (a period which Creative Labs estimates at 10 - 20 days).

Unable to continue reading the book but curious to learn more about the civil war described by Beah, I looked up Sierra Leone Civil War in Wikipedia and learned that of African civil wars, the one in Sierra Leone is exceptional in its brutality mostly because of the efforts of Foday Sankoh, the leader of the anti-government rebels. Sankoh was an ally of Liberian leader Charles Taylor, another renowned sadist and had studied together with Taylor at a camp for revolutionaries sponsored by Liberian leader Muammar al-Qaddafi. Sankoh only nominally political--his real goal was control of diamond mines and it is through the sale of "conflict diamonds" from these mines that he paid for the drugs and guns that he provided to his rebel army. I wonder what Ayn Rand's take on Foday Sankoh would have been.

Friday, March 23, 2007

I've just finished reading Barak Obama's book, "An Audicity of Hope" and found it an interesting and enjoyable read. In particular I liked Obama's description of life in the US senate and why things work the way that they do...why money is so important (fear of losing an election) and partisan politics is so bitter (strife sells television and newspaper advertising, and media coverage is essential to getting elected). I can see why it is so difficult to be an idealist and a politician. There is so much pressure from so many different directions to maintain the status quo.

Barak strikes me as a very intelligent and articulate man with a refreshing perspective on life as an American. I worry for him, having read the book. A presidential race is a nasty, bitter affair. I doubt that he will be elected as I suspect people deem him too controversial or inexperienced or both. I do hope that if he is not elected he chooses to, and is able to, retain his senate seat. The impact he could have as a senator is probably as great as the one he would be able to make as President.

The book that I am now reading is "A long way gone: Memoirs of a boy soldier" by Ishmael Beah. I'm about two hours into ALWG now and enjoy Beah's narrative style but find his descriptions of life in a country torn by civil war distressing. As I read, I think of "Tears of the Sun", a 2003 film starring Bruce Willis. Beah describes villiagers haunted by fear of amoral rebels that wander the countryside torturing and murdering. It makes one angry to hear his descriptions of the casual brutality of these rebels. One thinks, "isn't there something that can be done?" But if you look at Iraq now, where we tried to do something and you see a country that is quickly beginning to exhibit some of the same behaviors that occurred in Sierra Leone.

I think about what it is that enables these wandering sadists: Cheap weapons, a lack of effective national police and army forces, a corrupt political system are all factors that contribute. The biggest problem (and the hardest to solve) might then be gun control. A villiage can protect itself against maruders armed with machetes a lot more effectively than it can if those maruders are armed with rocket propelled grenades. Arm the villiagers with RPGs and you just have an increased level of carnage as we're seeing now in Iraq.

Monday, March 19, 2007

I've now finished "Zen and the Art of Motorcycle Maintenance". It is a good book, and quite thought provoking. Something that's stuck with me this time is "the gumption trap". Pirsig describes "gumption" as something akin to enthusiasm and writes that:
"If you're going to repair a motorcycle, an adequate supply of gumption is the first and most important tool. If you haven't got that you might as well gather up all the other tools and put them away, because they won't do you any good."
This is also so very true (at least in my experience) for software development. It's possible to plod away if you don't have gumption for what you're doing, but you won't accomplish much and likely will make a lot of errors that you'll have to fix later on. If you don't have gumption for a particular task, better to switch to something else for a little while then come back when you do. Gumption can, Pirsig writes, be loosely defined as "anything that causes one to lose sight of Quality, and thus lose one's enthusiam for what one is doing."

Pirsig goes on to describe several ways in which gumption i s sapped. They all seem relevant to software development. Pirsig divides gumption traps into two parts: Setbacks and value traps. Setbacks are caused by external circumstances and are the commonest gumption traps.

Some setbacks are:

  • Out-of-sequence assembly. This is when the work is done in the wrong order. Forget an important interface? Now you have to go back and rewrite several core components. Feel your enthusiasm hissing away like air from a punctured tire.

  • Intermittant failure. We've all seen this one. It doesn't work in production but you can't replicate the problem in development. You see something a case that *could* cause the particular problem, add some code to prevent that case from occurring and sit back thinking "problem solved" only to have your users report that the problem remains unfixed.

  • Parts setback. This is an annoying one. Need a tool or component to continue work? Are you waiting for a coworker to finish his or her part of the project before you can continue on yours? Congratulations! You've lost gumption due to a parts setback.

Value traps are far more dangerous and are more diverse. Some value traps are:

  • Value rigidity. This occurs when you've arrived at a solution, perhaps through a great deal of effort, that doesn't work. You are vested in that solution and because of committment to it are unable to consider other, perhaps simpler solutions.

  • Another value trap is Ego. Pirsig points out that good mechanics are often humble folks--that the job makes them so because machines and problems do not respect previous accomplishments. When fixing a motorcycle one can not rest on one's laurels. The same is true for software development. When the facts show you've goofed, writes Pirsig, you're less likely to admit it if you suffer from the Ego value trap and you're more likely to accept false information if it makes you look good.

  • The opposite of Ego is Anxiety. This occurs when you're afraid of doing something wrong, say on a very important production system. You're so nervous, so afraid breaking something that you don't do anything. When you're in such a situation and you find it very hard to get started, you're stuck in the Anxiety value trap.

  • Like Ego, Boredom is dangerous. If you find it hard to become interested in a problem you are more likely to make mistakes and less likely to accomplish anything substantial.

  • Impatience is always caused by an underappreciation for the amount of time that the job will take. There's nothing that will sap gumption like making a big mistake while trying to rush the job because of a poor estimate.
This is a really cursory overview of gumption traps but I think gumption is something many writers of books about management of software projects delve into. In particular, I think of Tom Demarco's book, "Peopleware" or perhaps even Brook's Mythical Man Month.

Wednesday, March 14, 2007

I'm now about three quarters of the way through "Zen and the Art of Motorcycle Maintenance". It's great how the narrator's journeys through the western US parallel his intellectual journeys. On a climb to a high mountain top, he talks of the "high country of the mind" and discusses western philosphy. On a ride through monotonous badlands, he talks of quality and of eastern philosophy. Why western philosophy on a climb and eastern philosophy on a tedious part of the ride? Well, I think he's trying to get the point across that "zen" is not something you can work at. It, like the snaking canyon road that appears out of the meadowlands, is something that just happens if you put yourself in a place where it can.

He is talking a lot about esthetics now, and how quality is neither objective nor subjective but something apart from the two. As I read this, I think a little carved scrimshaw Chinese junk that I saw once in a Canadian museum. The scrimshaw junk was tiny and was intrically carved; obviously the work of many, many hours of careful carving. My thought when I saw the carving was that few people today could or would take the time to create such a work. When the carving was created the hours of the day lasted longer. No doubt the man who created the carving was on a boat himself, waiting for the wind to take him where he needed to go. For him, the carving was a way of passing the time. Now, the farthest points of the world are only days apart for the determined traveler. Who has or takes the time to create such things as this tiny bone boat? We focus on getting things done better, faster and quicker and what we lose is the journey.

As while reading ZATAOMM I have also been working to add some necessary enhancements to an application that I created a few months ago. The first iteration of the application was created under some rather strigent time constraints and in the first version I was forced to make some compromises so that the deadline could be achieved. Those compromises had to do, almost entirely, with less flexibility and expandability than I would have liked. Now that the client has used the application and likes it I am trying to add back in some of that flexibility that I left out in the first version.

Software is like soup. It's a mix of some different ingrediants that must be in the correct proportions or otherwise the soup tastes horrible. The quality in software is being able to add in just the right amount of each ingrediant.

  • Too many features can make the software hard to learn and understand unless additional ease of use is invested. As an example of this, compare Word Perfect for DOS with hundreds of estoteric format control codes with the most recent Word for Windows, where everything is controllable via toolbars and menu buttons. Word Perfect had many of the same features that Word for Windows has today but those features made it intimidating and hard to use.

  • Too much time can cause the software to miss the window of opportunity or to cost too much. After all, the purpose of software is to be used. Sure, you can write your accounting application in C++ but doing so will cost you time without adding significant benefit, affecting the quality of the application you create. On the flip side it may make sense to use VB to create a 3D CAD program if the program has a limited feature set and must be delivered quickly. Something else to consider is that any feature added is a feature that must be tested and that testing takes time.

  • Too much or too little flexibility can cripple an application. The software should not only allow the user to perform a task, but should also guide that user in the performance of that task. I think of Adobe Photoshop which is a wonderful application and which is extremely flexible - perhaps too much so for the occasional photo editing that I wish to do as I find that it takes me minutes every time I use it to rediscover the way to cut away a background image. Not to say that Photoshop doesn't have quality--obviously it does--but that it doesn't have as much quality for me as a specific user as it could.

  • A very important aspect of the quality of the software is the user interface. The application can deliver the moon in five different ways but if it has an ugly and hard to use user interface it can have poorer perceived quality than an application that does much less but which is easier to learn and use.

Whether computer programming is science or art is a subject of frequent debate. This I believe: Programming is art like building architecture is art or like bridge building is art where the artistic aspect derives from including the correct elements in the correct proportions.

Friday, March 09, 2007

First, an additional note on Ayn Rand: Today's Dilbert cartoon in the Washington Post has Dilbert asking Wally if he is a psychopath (Wally says "The key to happiness is to love who you are not who others want you to be". Dilbert responds "Doesn't that make you a psychopath?"). This spurred me to first search Wikipedia for the definition of psychopath, and then to search google for "Ayn Rand Psychopath" which brought me to a very interesting entry on michaelprescott.net about Ayn Rand's relationship (and idolation) of convicted murderer William Edward Hickman.

Since completing "The Fountainhead", I've turned to "Zen and the Art of Motorcycle Maintenance". This is actually about the third time I've read this book but the first in many years. What I recalled from my past readings was that it was about quality, about writing and about how grades and degrees were detrimental to learning.

It's interesting to compare ZATAOMM's narrator with Howard Roark from the Foutainhead. Both are idealists and I think that Rand would have approved of Phaedrus. It's interesting that Robert Pirsig didn't see the narrator as a hero. In this 1974 article from the New York Times, written by George Gent, Pirsig is described as seeing the narrator as a "dissembler who puts on his best face for other so he will be liked" -- exactly the sort of person whom Ayn Rand would not have liked. Phaedrus is described differently. Gent quotes Pirsig as saying that "Phaedrus was more honest -- he would never compromise, and the young respected him for that."

As I read ZATAOMM again I am struck by Pirsig's descriptions of the act of touring with a motorcycle. He writes about how the best roads are ones that go from nowhere to nowhere and where there's an alternate that will get you there faster. He mentions the roads that dwindle into cowpaths then finally end in some farmer's yard and he describes how riding in a car is like watching the outside go by on TV but that when riding a motorcyle you are *there*, the concrete of the road five inches below your foot.

Something that I do not think I noticed as much before is the plot structure of ZATAOMM; it's a kind of detective story or perhaps a murder mystery in a way. The book begins with us knowing that Phaedrus is dead and then gradually as we progress the reasons for his demise are revealed.

At present I'm at a little less than the half-way point and discussions of the nature of quality are starting to ramp up. This is of special interest to me now as I am, myself, just embarking on the rewrite of some software and am wondering how much quality it would be wise to attempt to inject into the project. There are, after all as the Christian Science Monitor article on Atlas Shrugged pointed out, lots of good reasons to compromise.

Tuesday, March 06, 2007

Today I completed "The Fountainhead". It's interesting to me that so little mention of family is made by Ayn Rand. Elsworth Tooey, Rand's villian, has a niece, but Roark, Wyland, Domonique -- her heroes are all childless. How does Rand forsee selfishness interfacing with parenthood? I don't think she touches this one, perhaps because it at least clouds, if not invalidates, a lot of what she espouses.

I found this very interesting review of the sequel to "The Fountainhead", "Atlas Shrugged" on the Christian Science Monitor web page this morning and I agree with author Mark Skousen that there's something poisoniness in Rand's Objectivist philosophy.

Thinking back to yesterday's viewing of "The Incredibles", I find myself comparing Elsworth Tooey to Buddy Pine. Mark S. Meritt at Potluck.com writes that "Buddy becomes resentful at having been denied the opportunity to play to his talents and passions." I wonder if the same could have been said of Tooey? I'll have to go back and reexamine the first part of the book...

Monday, March 05, 2007

Well, I'm obviously not the first person to notice a possible link between Ayn Rand and "The Incredibles". It was mentioned in this New York Times review of the movie "300", and when I ran a google search, I found dozens of references.

This review of "The Incredibles" at the TheObjectivistCenter.org does bring up an interesting point. Does the Syndrome chacter represent a slap at intellectualism? David Kelley writes that "In that one line, writer Brad Bird managed to equate murder and invention as acts of envy-driven hatred, and to elevate native physical abilities over the exercise of man's distinctive ability to think, create, and magnify his powers through technology. The latter is an especially bizarre statement for the wizards at Pixar to make."

Potluck.com has an excellent overview of the relationship between Ayn Rand and "The Incredibles" and even sheds some light on Ayn Rand and "The Fountainhead".

Here's the Emerson quote that made me think that perhaps the link between Emerson, Thoreau and Rand might be worth investigating more:

"Trust thyself: every heart vibrates to that iron string. Accept the place the divine providence has found for you, the society of your contemporaries, the connection of events. Great men have always done so, and confided themselves childlike to the genius of their age, betraying their perception that the absolutely trustworthy was seated at their heart, working through their hands, predominating in all their being." (from "Self-Reliance" by Ralph Waldo Emerson)

I've rewatched "The Incredibles" (the pixar movie) for the nth time with my kids and all of a sudden it seems like there are Ayn Rand references everywhere. Toward the beginning of the movie, there's a city skyline panorama. There are the newspaper clippings reporting the public's newfound dislike for heroes (I looked but didn't see any from "The Banner"). Later, there's Syndrome's threat to make everyone a hero, so no one will be one.

The book I read prior to "The Fountainhead" was Annie Proulx, "The Shipping News". I wonder if there's a philosophy of any kind espoused in "The Shipping News". If there was, I didn't notice, although from the portrayal of the local newspaper, "The Gammy Bird" in "The Shipping News", I think Annie Proulx and Ayn Rand may share a regard for the news media.

Something else: I don't remember my Thoreau or Emerson very well but what I do remember seems to be similar to Ayn Rand's philosophy.

Friday, March 02, 2007

Two more hours of "The Fountainhead" and things have changed somewhat. Roark is working on a government housing project via Peter Keating who is acting as his agent--isn't this the sort of thing that Elsworth Tooey would do? To cloak himself behind someone else's persona?

Roark has said that he wanted to see the housing project be built and used. I don't yet see how this fits in with the destruction of the Stoddard Temple which he states over and over doesn't bother him at all.

Elsworth Tooey has stated in a conversation with Peter Keating that he wants to show that all men are equal and that any man can be replaced with any other. He must realize that this is not true as he also stated that the reason he fought Roark is to prevent Roark from becoming unreplaceable.

I'm beginning to see more clearly that Tooey represents communism and Roark capatalism but I don't think Tooey is an honest representation of communist ideals--perhaps more reading will convince me.

Thursday, March 01, 2007

OK...I'm now about two thirds of the way through The Fountainhead. Gail Wyland and Howard Roark are friends, which is driving Dominique crazy. Tooey seems to be on the cusp of hatching an (evil?) plot to take over the Banner and then the world.

I've decided that Howard Roark is an archtype intended to show, unclouded by realistic personality traits, the importance of integrity in the act of creation and that Elsworth Tooey is a foil, intended to show how collaberation and cooperation is the antithesis of quality and the ally of mediocrity.

But as I progress through the book I can't help but wonder about the practical aspects: There's a lot of effort that goes into building anything complex and most of that effort is not creative, just making sure that all the bolts get tightened, that every "t" is crossed and that obvious eventualities are planned for. Rand writes that the Banner ran a picture of Roark captioned "Are you happy, Superman?" and I think to do what Rand describes him as doing, Roark would indeed need to be a superman.

I think of Roark designing skyscrapers (even small ones) in the 20's, without computers. No Autocad, no Excel, yet he's doing all this himself or with the help of a couple of dedicated "draftsmen". I suppose that criticizing Rand on the authenticity of her protrayal of architects is like criticizing Hollywood for its portrayal of software development (see "Tron").

It's also hard to imagine Elsworth Tooey as the villian. Most CEOs of big companies, I venture, are more Tooey-like then Wyland-like. Sole-proprietors can get away with being autocratic and dictatorial. Large companies are political jungles and executives there succeed and function by establishing alliances and exerting influence through networks. When Tooey uses his relationships with various lower-level employees at the Banner to promote a book called "The Gallant Gallstone", I thought of an article I'd read the day before in the Wall Street Journal touting a small upstart on-line advertising placement company as a threat to Google and Yahoo. I wonder how very frequently folks do just what Tooey did to get product placements in the big papers. I'll bet it's quite common.

It's interesting, too, how Roark spurns his customers' input. Sure, it's great to create. Very satisifying, but isn't it importantant that what you create be useful and have a life beyond the act of creation? I'd guess Roark would say no. As long as he gets to build the Stoddard Temple, it's fine that it's destroyed---after all he did get to build it. I feel like Rand cheats a bit. She hasn't yet mentioned architectural suggestions that were not cosmetic in nature. I read a review of Frank Lloyd Wright's "Falling Water" in which it was said that the owner called the edifice "Rising Mildew" and complained about how hard it was to keep it dry. So Wright built this revolutionary building and express his artistic vision, but it failed to satisfy the customer's desire for a comfortable country home.

While looking around to see what other people think of Rand and The Fountainhead, I came across this blog entry by a golf course architect. He categorizes architects into three groups and I found it interesting that he puts the best and worst of architects into the same class as Roark; those "leaders" that have great conviction in what they have to offer, even sometimes leading to the construction of something that is not appropriate to the client.

Rand does mention that Roark built a resort in Pennsylvania targeted at middle-class vacationers and that Roark was able to successfully refocus the customer's intentions into something that offered higher comfort and quality for the same price. For example, Roark designs separate private swimming pools and tennis courts that can be constructed for the same cost as clustered common pools and courts. This, to me, is more important than artistic vision: Skillful interpretation of the customer's requirements, both stated and unstated, blended with the latest in technology to deliver an end project that surprises and delights. This is what Roark did with the Monadnock project.