Monday, August 26, 2013

The Elegance Of The Code

Though I could never construct them from scratch, and have always had trouble getting "into the weeds," I've always been fascinated by elegant logic systems:

  • Talmud, Hasidism and the Kabbalah; comparative religion
  • Astrology, macrobiotics, and all that New-Agey stuff
  • HTML, Drupal, Sharepoint, Google Apps
  • Symbolic interactionism, Marxism, and all the other -isms, plus feminist theory for good measure
  • Marketing and branding

But these are most useful as brain puzzles. In my own life I prefer to manipulate ingredients somebody else has already made from scratch, i.e. blocks of code. I am a Lifehacker, and appreciate the genius of Sandra Lee, the queen of "semi-homemade" cooking.

My grandmother was an innovator. During the Depression she would make an entire meal for six from the ShopRite "can-can" sale. My aunts and uncles reminisce that for a few pennies they had gourmet peas and mushrooms in brown sugar sauce. Never knew the difference.

People who can develop abstract, but closed systems of brilliance win awards. I appreciate what these can do, but find the logic more incomplete than useful because it is self-centered: That is, it does not ultimately translate into reality.

My daughter plays this video game, Minecraft. Her entire school is obsessed with it. In Minecraft you collect materials and build things with it. If you are really good you get to build an entire "house," or anything -- up to and including entire worlds.

I love the house my daughter has built. It's a mansion. But Minecraft has no connection to the world of the living.

We get too caught up in the systems. We fail to think critically --

  • What is the social context within which these systems get made? How does this affect the content itself?
  • What is the rationale? Why do we need it?
  • Instead of continually creating new systems, how can we cross-pollinate between one and another?

In the world of IT, the reason we have so much difficulty integrating platforms and applications is this very tendency to obsess over code and forget the bigger picture. It isn't a musical symphony - we aren't curing a deadly disease - rather we are usually building similar tools that overlap and duplicate each other, and that can be seriously streamlined.

Some people were born to think in 0s and 1s. But those people aren't usually leaders. To move the people themselves, you've got to relate abstract "dreaming" to "doing." And engage ordinary people in a purposeful battle in the real world.

* All opinions my own.