Make More Urgent the Necessity

Luck is the residue of design.

–Branch Rickey

After an Dr. Dobb’s interview with Christos Papadimitriou I have been thinking about design, creation, and development of complex systems.  Specifically systems that are fundamentally efficient.  The most important systems in existence are all amazingly complex (in fact, entirely too complex to ever design) and yet are built (often upon very simply concepts.)  They evolve into existence and are created without ever being engineered.

My favorite example is economics, which has as its basis very simple rules.  Economics sprout markets; which which are not only insanely complex but suffer from constant attempts to control always with perfect failure.  Other example include physics and the universe, computers and the internet.

So my question is, what other systems exist that can be created, but cannot be designed?

While I was Musing the Fire Burned.

There is pain, in this world, that once experienced leaves a permanent scar in our heart.  We are changed for as long as we live.  And though we walk through life, and laugh, and love; something of ourselves has been removed.

I believe, being Catholic, that when we talk about the peace of God; we are talking about that moment when God returns our hearts to the way they were before that pain.  To those who have experienced such suffering, that alone would be salvation.

It is easy to be brave from a safe distance

Sorry for the long delay in posts. It took a while but someone finally created a Google Maps powered routing tool for runner and bikers. It even lets you save your route. Below are a couple routes I have been looking at around my house:

  • 15 Minute: A short timed route that takes just about 15 minutes for me to run.
  • Here is the default 2 mile route I run around my neighborhood.
  • 3 Mile Route: I have been looking for a good one for a couple years now. It took sixty seconds to find with this page.
  • 3 Mile Number 2: Because who wants to go the same way every time.
  • 4 Mile Route: Need a route that is longer than the 5k I will be running.
  • 5 Mile Route: My first long, post 5k run.
  • 6 Mile Route: This is a hill training route for my up-coming 10k.
  • 6 Mile Route: Flat campus route for daily marathon training.
  • 7 Mile Route: Final run before the Sept. 10k around Lake Hefner.
  • 8 Mile Route: My first route that takes me through OU campus.
  • 8.7 Mile Bike Route: When my shins get bad, and I have to take a break from running.
  • 10  Mile Route: Double digits at last, and it only to me 9 years to get back to them.
  • 11 Mile Route: At some point I am just going to have to circle the whole town.
  • 12 Mile Pre-Half Route: Longest run before the half marathon in Tulsa.
  • 14 Mile There and Back: Run out to lake Thunderbird rest stop and come back.  Good hill work.
  • 16 Mile Loop along Section Lines: Gotta love Oklahoma grid sections.  Sure makes it easy to figure long routes.  Sooner road and Depot Blvd mostly.
  • 18 Miles East/West Lake Loop: Many marathoners don’t run more than 18 miles before their first.  Hopefully this means I am within reaching distance.
  • 20 Flat Route: First time over I-35 and back.
  • 22 Mile Flat: Still trying to take care of my knee; so flat routes are the rule.  Actual milage is a little over 22 but I honestly am not that picky any more… well at least until 26.2.  Last long run before the OKC marathon!

Life is a foreign language; all men mispronounce it.

When I first starting working as a computer programmer, I constantly ran into the problem of bosses who wouldn’t appreciate the severity of the problem I was describing to them. After a number of years I improved on the situation by modifying the language I used when explaining a problem. This didn’t solve all of my employment issues (at the time I didn’t fully appreciate how dysfunctional the communication chain was in my employers hierarchy) but it helped substantially.

To understand what words mean when you are talking to programmer I recommend this article by Charles Miller. Here is an excellent example of a software engineering concept that non-programmers often fail to understand:

To a programmer, a problem is trivial if there is a clear solution, and the only thing that needs to be done is to implement it.

The only caveat is that triviality refers to how hard the problem is to solve, not how hard it is to implement the solution. So there is no necessary relation between a task being trivial, and how long it takes. To the programmer, once the plans for the bridge have been drawn up, the materials chosen properly and the model tested for how it would survive wind, traffic and earthquakes, actually building the bridge is trivial.

Software Development
and Project Success

When I was growing up our family’s resources were less extensive than they are now, and as such, we sometimes had to do without some perks. One of these perks was a complete set of tools for home/car repair. Simple fixes like changing a battery would result in hours of work because of the inherit limitations of our tools; which ostensibly consisted of a hammer and a butter knife. Whenever I was brushing off the latest “injury” incurred while fixing something, my father would say to me, “Everything is simple if you have the right tool.” The better the tool is at doing a specific task, the easier it will be to complete that task. Ever watched “This Old House?” They had a tool to do everything! I didn’t even know they made adjustable-corner-rounded-cut-circular-door-saws with the optional digital level… cordless, if you are lucky. Heck, if I had a shop with 30 million dollars worth of specialized equipment, I bet even I could make something as fundamentally complex as a bar stool.

“Everything is simple if you have the right tool.”

This maxim (while not always true) is amazingly accurate in describing the modern development process. In fact, this is the reason I work on KDE (as opposed to the “other” Linux desktop environment.) Things are simply easier to do, are more productive, and more functional because the tool is designed better and focused specifically on desktop software development.

Today I ran into a series of articles by some application developers who I have come to respect. Their insight into the software development process will hopefully help give me some direction on future project management. Here they are will some selected quotes that stand out:

The strongest indication of a weak team is the realization that if you were to quit and start your own business, you wouldn’t try to poach any of your colleagues.

“Strong teams have almost impossibly high hiring standards. Strong teams will always leave a desk empty rather than settling for less than the best.”

“Examples of development hygiene include source code versioning, maintenance of an accurate bug or issue database, significant use of automated testing, continuous integration, and specifications that are kept current (whether incredibly detailed or high-level overviews).”

“A chicken is an individual who has significant authority over your project, but does not make a personal commitment to the success of the project.”

“And every time I’ve delivered software on schedule milestone after milestone, my influence and standing with stakeholders has grown. And every time I’ve missed a date, I’ve suffered, regardless of whether the late software was demonstrably better than what was originally planned for the missed date.”

“Documents such as specifications yield the same benefits of source control.”

“Discard all processes that are mechanically completed with little actual benefit. Tweak those that require more effort than necessary, maximizing the results while minimizing the effort.”

Umpire Effect

I overheard a discussion on NPR the other day that exemplified something that I have been thinking about. The discussion was a panel debate on last weeks news. The conversation inevitably centered around the war in Iraq and the current public opinion about the war.

A caller to the radio show (actually I think it was an email submission) made an articulate remark about the failure of the media to accurately report the successes the U.S. has had in Iraq. When the panel responded; they admitted that many military personal in Iraq make the exact same comment to them. Each of the panel members was a reporter of some type (the question of why expert panels are always filled with reporters and professors is left for another day) and as such each of them had heard this complaint a number of times in the past.

Then one panelist responded with the counter-point that “The problem is that I often hear the exact opposite remark; that if we (as reporters) had been more critical of the president when he made the case for war, we might not have ever gotten into Iraq.”

The problem with that statement is that its not the exact opposite remark (the opposite stance would be that the media doesn’t report enough about the current violence in Iraq.) In fact the two positions can actually be explained in relation to one another. People tend to “compensate” for their mistakes by making up for the short coming. Something of an enforced karma. It’s similar to when a baseball umpire makes a really bad call, realizes it as such, and then “compensates” for it by giving his next call to the infringed upon player/team; regardless of what the correct call should have been.

In some ways I think the media is trying to compensate for their own perceived failure to critically report on the argument for the war. The way they are “balancing” things out is by being overly critical of the success of the rebuilding effort. I don’t necessarily believe this umpire effect is intentional; but the evidence for it is pretty strong. While there is no doubt that the insurgency in Iraq is getting stronger, by almost any other measure things are getting much better there. Public projects are at an all time high, as is the number of completed project. Political involvement has steadily increased, oil revenue is up, the majority of law enforcement work is being done by Iraqis now, and GDP is steadily on the rise. What is more, the vast majority of Iraqis don’t want the U.S. to leave yet and think they are better off now then they were under Saddam (even if the really don’t like us.)

Because of the pathological nationalism that was rampant post 9/11 the media felt reluctant to criticize the President. Now that the President is unpopular it is much easier to be critical of him and the war he started. I guess that is really the point of this observation. More than I would like to believe the media is not simply a distributor of information but a reflection of our own prejudices. The umpire effect exists in the media (I have noticed it in a least a couple of other non-national news stories) because it exists among us. It is a way to make life (and baseball) a little more fair; as least from our point of view.

The End of an Era

For as long as I can remember, I have wanted to subscribe to The National Geographic (TNG.) This desire became a reality when I married by wife Heather. Evidently her parents believe that its an important part of their duty to provide a window into the the architectural and historical origins of civilization. I applaud this effort, but mostly just because it provides me with a free subscription to a publication I have always been interested in. While my interest in TNG has change a great deal from the time I was in the third grade, looking to find uncensored images of young females from some unknown tribe of recently found nudists living on the exact opposite site of planet from my Catholic grade school; my respect for the magazine has not changed. That is, until recently.

Each month my (I say my because I find that I generally have a great deal more interest in the TNG than any other immediate member of my family) brown grocery bag covered periodical arrives at my door and I eagerly open it, peer at the cover, and flip through a the magazine that I will, no doubt, read cover to cover at my next available bathroom break. A couple months ago I ripped open the paper cover to discover a startling headline.. Was Darwin Wrong? No, I am not kidding. TNG has placed the question of the origin of species in large bold print on the cover of their magazine. Obviously TNG would not have done so unless some startling new evidence was brought to light by a team of world renounced scientists that questioned the validity of Charles postulate. I skipped right over my usual reading routine and tore open to the page referenced by the aforementioned articled headline; and their in black and white was my answer… NO! The article when on to talk about evolution in animal species around the world.

Now I am being totally serious here. The National Geographic, a mainstay of international intelligence had printed up a National Enquirer style headline to inform me that the status quo had NOT change in our understanding of evolution. And they had done so to push a interesting (if not mediocre) article on evolution.

Now I wish I could say this was a single abnormality, but recently I have found that this same type of occurrence (although seldom quite as dramatic) is happening with startling regularity. For example, last months issue had a cover story that appeared on news stands but was not shipped as the default cover story to subscribers. I thought my TNG copy of The Great Gray Owl was a wonderful article, but was dumbstruck to find sitting on the new stand at Albertson’s, Tales from a Nazi Ghost Ship. I went home to find that, indeed, the Nazi Ghost Ship article was in my copy of TNG; but it was not so prominently displayed on the cover (being only in small white type at the bottom.) I read the articles pertaining to the Nazi Ghost Ship. The articles were wonderfully interesting, and spectacularly written; but had absolutely nothing to do with Ghosts. In fact the on location photographers didn’t even see any skeletons because of their desire to be respectful to the remains of the sunken WWII ship. Evidently being sunk is cause enough for a ship to earn the title ghost ship. Funny how I had always assumed that ghost != ship.

I guess this really started back about a year ago. Some of you may remember that TNG came out with a special (special meaning that it was not shipped to subscribers and thus could only be bought on news stands.) The special was (and I-shit-you-not) a TNG swim suite issue! The inside articles and photography has swim suites from around the world, from dozens of different cultures. It was NOT a bad publication, definitely not worthy of being a special, but not a bad magazine. However, the front cover of this no-nonsense, reliable, bastion of cultural integrity; was a VERY attractive, VERY California looking woman with three shells covering the three most important FCC locations. The bathing suite btw was not a suite that was particularly common amongst any indigenous peoples subgroup anywhere in the world (nor could it even be purchased at the time), it was custom made for that particular photo shoot.

The point I am making is that I had always hoped that TNG was somehow immune to the sensationalism that seems to have overtaken our culture. A publication that you could always count on to be a beacon of consistency for cultural, architectural, and historical reference. For the last 100 years or so TNG has been exactly that. There was once a time where I was in awe of a magazine that was so accurate in its depictions of world cultures that it was willing to show nudity (during the 50’s and 60’s no less) if that was the standard for that culture. Now it wouldn’t be enough to present the reality of the culture; it would, undoubtedly, be prominently displayed. And we are all the less because of it.

Childrens Rights

A comment by Jasan, in reply to my “News From a Blue State” post has prompted a reply that I would rather post here.  Jasan basically pointed out that –“it doesn’t prevent the mother from calling the cops – it prevents the mother from using the evidence she heard listening in on the second phone line as evidence in court.”  While technically this is true, in some jurisdictions calling the police with such a tip would actually be worse than not calling them; because any leads that occur based on illegally obtained evidence can invalidate the case.  But that is really not the point.

It is a ridiculous proposition to believe that an individual has a right to privacy when talking to a minor. A parents job is to protect their child, to the best of their ability, from the kind of negative external influences that are possible in just this kind of circumstance. Its freggin hard enough to protect you child from the filth that is available through modern mass communications. Now to take away the only tool that parents have to bring legal action against those who would do harm to those same children.

For 200 years we have made the conscious decision to protect a child from harm, even when it sacrifices their rights in the short term. We do this to give them a chance to develop into adults who can make their own sound decisions. Then we let them succeed or fail based on those decisions… but to protect a child’s “privacy” at the expense of their safety; before they even have the experience or mental capabilities to intelligently use those rights; is the very definition of irresponsible. Following this same logic, we should let the children stay with the adults they want to live with. Even if a court has decided that their drugged up, abusive, sexually molesting parents are unfit. Hey, the kid has a right to freedom of association. Or how about giving 4 year olds guns? The parents shouldn’t have any say in such things, right?

The rights I have listed above are actually directly protected constitutional rights; unlike the implied constitutional interpretation that the “right to privacy” is. Don’t get me wrong. I believe in implied constitutional rights and the “right to privacy”, but if we are fundamentally able to restrict the rights of children that are expressly defined by the constitution then why in the world would we protect an implied right.

I remember the big hoopla that conservatives (blame the parents not the guns) and liberals (blame the parents not the kids) made about the Columbine Massacre because the parents did not pay attention to the actions of their kids. There have been a half a dozen cases where “Columbine” like attacks were thwarted by parents listening in to telephone conversations. If this ruling were in place in those circumstances then the police could be prepared to stop the kids, but they could not bring any “attempted” charges against them (i.e. They could charge them with possession of a weapon on school property but not for attempted murder) because the tip they used to identify the threat was obtained illegally. In fact in some jurisdictions ALL charges would have to be dropped because of how the evidence was obtained.

This same ruling has dramatic ramifications to other forms of communication. It effectively states that (although you can monitor the actions of your kids on the Internet) you cannot reasonable expect to get police protection if you discover that a pedophile has been talking about picking up your kid during school… and even if the police decide to watch your kid they CANNOT LEGALLY STOP the pedophile before he does anything illegal.

More than one person has already pointed out that it is generally totalitarian regimes that pursue the rights of children over the protection of children and the rights of parents. Things like the Hitler youth did this because its so easy to TAKE ADVANTAGE of children and exploit them to their own ends. No, this ruling is ridiculous in the extreme. It does huge amounts of damage to those that would work to help children; and in doing so creates a bastion of safety for pedophiles in the very homes of the children that this ruling is suppose to help.

Tornado

I was in the Oklahoma City tornado yesterday so I am in the mood for a bit of humor this morning.

My boss passed The this parable along to me a while ago. Its another example of shot landing too close to home. I will let you make guesses about which one of the two programmers I am most like.

There is more about the tornado and my “interaction” with it inside:

Yesterday afternoon I was anxious to get home and be with my family because of the sever storm warnings out and the probability for tornado activity. It ended up being a bad decision on my part. About halfway home I started to get quarter size hale hitting my Explorer and realized that I was not far from something that had touched down. When I finally saw the thing it was about 300 yards from me… I had just enough time to stop the Explorer, get in the ditch (under a culvert), and watch as the tornado passed overhead.

I don’t think the tornado itself is really bothering me any today. What I am really upset about is how scared I was. I was concerned about my life (of course) but the thought that went through my head was that I might leave behind a fatherless daughter and a widowed wife. My stupid decision almost did more to damage the lives of the two people I love most in this world than the storm did to the tractor-trailer rig in front of me.

I think I was also upset about _feeling_ scared. This kind of fear was something I had never had when I was a young adult. The overwhelming pressure of this fear was greater proof of my advent into adulthood than my mortgage, my daughter, or even my marriage was to me. I am not upset about being an adult. Quite the contrary, I would not trade one day as a dad for another four years of college. It just that I had never felt old before that moment; laying in a ditch, on the side of the road, alone… with my fear

The Art of Hacking

Hackers and Painters is an essay by Paul Graham about “hacking” being more of a creative art than an actual science. Its is one of the best reads I have found online in a while. Originally seen at Slashdot.

To be fair and honest from the gate I must admit no not agreeing with many of the points that Paul makes in his essay. This is not really a concern to me because I, with very few exceptions, find fault with things everyone says.

What I find interesting about the article is how much rings true in my own experiences. Not that things that “ring true” make for a good evaluation of real truth. Communism appealed to so many people because it seem to do such a good job of explaining problems that they saw in their own world. But that being said…

My CS background was from a PhD is Mathematics who was bound and determined to convince us that software development was the physical extention of mathematics. I program by putting something down in code, trying to compile it, debug it, and see what happens. This does not jive well with the basic “workings” of mathematics, start with the known and move to extend from that. I, also, spent a lot of time feeling bad because I did not “know” theory.

Looking back over code I developed just a year ago; it becomes blazingly obvious that I am “working” on applications, not “solving” problems. My applications constantly change as my skill and style improve. During my freetime I work on applications because I love developing them, changing them, molding them, and seeing what the outcome becomes.

That being said, I spend most of my work hours architecting and designing. At work I am most assuredly a software engineer/architect (at least most of the time) from the standpoint of implementing changes and creating software designs. So maybe the answer is that software development is BOTH art and engineering. It can be, for hackers, something done to express and create while still being, for non-hackers, be a science used to discover and understand. Heck, most architects I know consider themselves artists and not engineers.