Matt Hessinger

May 2009 - Posts

My summer with Hofstadter: A prelude + week 1

While waiting for my flight at LAX after TechEd, I strolled into the newsstand for a little light reading. Somehow, I made it past the tabloids (“Jon and Kate: Swinging with aliens? We have the truth..”), and at the back found the book section. I had no preconceived notion of what I was looking for. As I perused the tiny science section, I was shocked to see not one, but two copies of Douglas Hofstadter’s seminal work, “Gödel, Escher, Bach: an Eternal Golden Braid”. These were copies of the 20th anniversary printing from 1999, making this year the 30th anniversary. I had read the book over 20 years ago, at a time when it’s nuance and technical depth were well beyond my intellectual, spiritual and personal maturity. Maybe I was more prepared today to absorb its wonder. I figured that it was worth finding out. My purchase in hand, I headed for my flight.

As I read the introduction, and the first chapter, I new I was in for a good ride. I would have to take this one slow, since there was much to consider, on many levels. There is the base “this is what the book is about”. Then, there is the “hey, this applies in a parallel way to what I do professionally”. The final consideration was “It might be nice to blog about some of what I am experiencing”. This last point relates to my motivation to document and share a bit more of what I am experiencing and thinking (read: blog a bit more than once every other month!). It seems that the theme of this site, the relevant threads that the book might present, and my own opinions and experience might make for an interesting mix.

This will not be a book review per se (My review: It’s good. Go read it.) It will rather be an extraction of key points, quotes, and thoughts, applied to the work that we do and the world we live in as software architects. So here goes: Week 1 of my “Summer with Hofstadter”.


Links:

My summer with Hofstadter, Week 1

(through page 41)

Paradoxes vs. Consistency…the grudge match

Hofstadter sets up his conceit, introducing his characters, laying the foundation for the deeper discussion, and as such presents a number of interesting concepts and quotable passages. Two jumped out at me as relating to the work that we do as software architects. The first, from page 22, speaks of the push in mathematics, and other disciplines, to create systems that are paradox and contradiction free:

“…the drive to eliminate paradoxes at all cost, especially when it requires the creation of highly artificial formalisms, puts too much stress on bland consistency, and too little on the quirky and bizarre, which make life and mathematics interesting. It is of course important to try to maintain consistency, but when this effort forces you in to a stupendously ugly theory, you know something is wrong.”

This resonates with me, and also demonstrates a key challenge that we face. Our clients, our customers, the consumers of our work, don’t handle paradoxes well. They want us to make decisions that, once written in the stone tablets of their memory, never change, grow, expand or go out of fashion. How many of your customers can tolerate “quirky and bizarre”? They may say they want flash (I mean, Silverlight, of course), but what they pay for is bland. In fact, Ralph Waldo Emerson takes an even stronger tack, stating “A foolish consistency is the hobgoblin of little minds, adored by little statesman and philosophers and divines.  With consistency a great soul has simply nothing to do”. Note that it is not all consistency, just the “foolish” kind. Our job is to make that distinction.

How many times have you let a drive to consistency push alternative solutions out of consideration? How many times have you come to regret this singular focus on the polished, smooth edged approach? I for one want things to look, feel, taste the same, especially as the breadth and depth of a solution grows. This is natural: A proliferation of conceptual and logical views (or, even worse, meta-views: approaches to viewing) can make communication that much more difficult. However, the communication, the concept is not the goal: The solution is. We need to balance the overall need for consistency with the need presented by the problem. In some cases, we have to surgically throw away our preference for the smooth, and allow a few jagged edges to creep in.


  • Ralph Waldo Emerson, “Self-Reliance, Essays: First Series”, p. 57

A definition of intelligence

One of Hofstadter’s areas of interest is in Artificial Intelligence, and the concepts that might drive our proof of its possibility. Figuring out what intelligence is, determining where the finish line is, so to speak, is a important component of the AI puzzle. Hofstadter presents one definition of intelligence, which, because it is not attributed to anyone else, I treat as his opinion (from page 26):

“No one knows where the borderline between non-intelligent behavior and intelligent behavior lies; in fact to suggest that a sharp borderline exists is probably silly. But essential abilities for intelligence are certainly:

  • to respond to situations very flexibly;
  • to take advantage of fortuitous circumstances;
  • to make sense out of ambiguous or contradictory messages;
  • to find similarities between situations despite differences which may separate them;
  • to draw distinctions between situations despite similarities which may link them;
  • to synthesize new concepts by taking old concepts and putting them together in new ways
  • to come up with ideas that are novel.”

This sums up pretty well the challenge that architects face. Do I mean to infer that the architect is the only “intelligent” member of the team” Of course not. What I do mean is that the balance of what we know working against what we feel might be needed can make us uncomfortable, yet it is that very tension that makes what we do so important. Following processes by rote, filling out document templates mechanically, following prescribed, standard rules by the book: Is that intelligence? No. Applying, in new ways, (or even ignoring) standards, processes and tools is sometimes the most appropriate.

A recent Gartner essay, “Five Questions the CIO Should Be Asking About Enterprise Architecture”, presents an argument whose support could be found in the above statements, namely that “In a time of economic turbulence and uncertainty, a business-focused enterprise architecture can ensure a rational approach to investment.” (emphasis is mine). Do you see “ fortuitous circumstances” in the current whirlwind of layoffs, closings, bailouts? Maybe not, but you had better be flexible, you have to create clarity from ambiguities and contradictions, and novel ideas are probably a good place to put some effort.  The more of this kind of intelligence that we can apply to our work, the better off our clients and customers will be.


  • “Five Questions the CIO Should Be Asking About Enterprise Architecture”, Gartner, May 2009
TechEd 2009: Pre-conference questions posted

TENA_blgr1_speaker

Jim Wilt (Metrics Reporting), Miha Kralj, Simon Guest, Angela Yochem (Dell) and I hosted the Architecture track’s pre-conference session at this year’s TechEd conference in LA. During the afternoon, we had the audience post some of the questions that were top of mind to them, and then had an open discussion around them. I have captured most of the questions from that day, and have posted them to the “Interests” forum. You can also look for the tag “TechEd 09”.

Thanks to everyone who attended.