Thursday, March 31, 2005

The Corporation As Psycho Killer
(qest-ce que c'est?)

I just finished reading the fiction book Market Forces on top of the non-fiction The Corporation : The Pathological Pursuit of Profit and Power. Not the best combination of reading material if you want to have any hope of being able to psych yourself up for ever working for a corporation again.

Unless you're a psychopath.

First, the premise...
As a legal entity, a corporation has as its edict one and only one goal, to create profits for its shareholders, without legal or moral obligation to the welfare of workers, the environment, or the well-being of society as a whole. Corporations have successfully hijacked governments, promoting free-market solutions to virtually all of the concerns of human endeavor.
Joel Bakan makes a reasonably convincing argument for the fact that a corporate entity is treated by our legal system as a human individual. And that if any human being actually behaved the way a public corporation must behave (is in fact legally - even ethically- obligated to behave!), that individual would be considered by anyone to be a psychopath (A person with an antisocial personality disorder, manifested in aggressive, perverted, criminal, or amoral behavior without empathy or remorse).

It was a fascinating read, and while it didn't turn me into an anti-globalism greenpeacenick overnight, the premise and many of the conclusions (if not the remedies) did resonate with my corporate experiences.

Richard K. Morgan takes this premise (although it was not specifically listed in his bibliography of inspirations) and carries it to its natural conclusion in a "The Corporation meets Mad Max and plays Rollerball" kinda way.
Morgan extrapolates a world where commodities trading reaches a brutal pitch and the outcomes of banana republic uprisings are the new market. Now, on the road to success, the brokers of the new economy compete for status and promotions via road rage on the freeways of new London.
Although the backstory unveils slowly througout, I could totally imagine the series of events unfolding to result in Morgan's universe. Hang with me here as I go wide for a tangent and then try to run it back for a score.

Historically, humans were tribal (in fact still are). Let's assume the basic premise laid out in most cultural evolutionary theories (a good example is in Nonzero : The Logic of Human Destiny) that at the Chiefdom level of social organization, chief's were usually selected by challenge and combat. Ambitious males would challenge the current chief for dominance - if they won, they became the new chief. If they lost, at a minimum they slunk back with their tale between their legs and didn't get as many chicks. At the extreme, they died. The Alpha male concept, seen today in most social/pack animal species, from chimps to wolves.

As our social evolution, um, evolved, we constructed more sophisticated abstractions and proxies for this basic instinct. (The reasons vary, mostly having to do with social structures and techniques that work with 60 people no longer work with 6 million, or 6 billion). We invented other forms of competition for power and status that weren't as direct, or usually as terminal. (Although periodically we throw a good war just to remember that it really is all about life and death, in the end).

Fast forward to today. The corporation was the latest invention in social evolution - yet another way to combine individuals into a whole greater than the sum of the parts. And by greater, I mean better able to compete with other social structures for power and status. As described earlier, the corporation of today has grown in legal stature, and now has the rights (but none of the responsibilities) of an individual. Corporations compete with other corporations for power and status, and occaisionally battle in stock tenders and takeover bids.

Fast forward to Morgan's near future. Corporations continued to grow in power and status because they were so unstoppable. Global corporations, after becoming more powerful than any single government, move on to the next level of competition with each other. They shuck the artificially imposed shackles of laws, and any pretense that this isn't a kill or be killed world is dropped in the interest of winning.

I want you to envision a town where the majority of people were psychopaths, each trying to manipulate, beat, and even kill if necessary, everyone else in town. First you'd lose all the "normals" and have nothing but psychopaths. Eventually, I imagine, you'd have left just a few of the strongest psychopaths, and perhaps eventually extinction.

Now imagine our world, filled with psychopathic corporations, just past the point where any of the "normals" had enough power of control to stop them, but sometime before they all killed each other off. This is Morgan's near future.

And while the conclusion seems far fetched, the path to get there is all too easy to imagine.

Let's hear it for Google - "Don't Be Evil".

Tuesday, March 29, 2005

A Meritocracy Of Dunces


"I thought this [the USA] was supposed to be a meritocracy!"

My friend said this at lunch, and it gave me pause. Is the US a meritocracy?

My conclusion was yes, and so is most of the world. It all depends on what you believe is worth merit.

My friend meant it in a way we usually think about it. He was a smart guy making contributions, both to his company, and to society. His contributions were in the realm of software, which both made his company lots of money, and made many people's lives better. So shouldn't he be rewarded for these contributions with more money and power than those who were less smart and contributed less good software to the world?

Not necessarily, I thought. What the US, and humans in general seem to value is sociability. People who are liked are rewarded. People with charisma, charm, mass appeal are rewarded. We grant merit (in the form of money and power) to those who are best at influencing and manipulating others. Those who can charm and influence those in their immediate sphere of contact are rewarded at that level with good paying jobs (usually in some management role) and local political positions. Entertainers, sports stars (which is just another form of entertainer), and politicians who have mass appeal are rewarded by those masses, and in our heavily leveraged mediums of influence (TV, Movies, National Elections) that can mean a lot of masses - and a commensurate amount of money and power.

So humans live in a meritocracy, and have into prehistory. The ability to charm and influence people must have some evolutionary biological advantage or it wouldn't be so entrenched in our culture (and probably a fair amount of hard coding in the brain as well). Probably those who could charm others got laid more often (and had more offspring). Probably those who could influence and rally others to their cause could protect those offspring better in a group than those who had to go it alone. Probably those communities that had strong leaders could dominate those that didn't. All of these are likely evolutionary tracks that selected for humans who could charm and influence others.

Is society better off if Madonna, Bruce Willis, or Julia Roberts get paid a bazillion dollars for having mass appeal? Or if GW Bush gets placed in the most powerful position in the world? I'm sure an argument could be made either way. But what cannot be disputed is that what we as human beings hold highest as worthy of merit is the ability to fool some of the people all of the time, and all of the people some of the time.

You don't have to be smart, just likable. All Hail the Meritocracy of Dunces...

Sunday, March 27, 2005

Shark Siting

Why is it every time I find a TV show I actually like, the Market Forces of Darkness immediately attempt to drag it into mass mediocrity?

I love The Amazing Race. Of all the reality shows, this one is the most "real."

You put together foreign travel (stressful - try it), a very competitive race, lack of sleep, relationships dynamics, and having to be "on" 7x24. The combination of factors produce a stress level that no Miss America smile, no public facade, no carefully crafted public image to garner that 15-minutes of fame can survive.

People's true natures reveal themselves. The good, the bad, and the less than photogenic emerge. The Truth Shall Prevail.

Sure it has contrived situations. Certainly it is edited for maximum effect. This is TV. It is about ratings after all.

And the ratings for this show have never been better. But in this very same article, I spot a shark in the water, and I'm scared.


Whether accurate or not, CBS appears to clearly attribute the new season's ratings success to Romber [Rob and Amber, winners of last season's Survivor for those of you who don't track the show - Ed.], releasing a ratings press release headlined with "The Rob-Father Delivers!!!" As a result, CBS may well be exploring the possibility of stunt casting more "ex-survivors" in future editions of the show...


Looks like Bertram is about to buy Phil a leather jacket and water skis and send him for a jump. Don't do it, Phil! Don't let the Dark Side seduce you!

Software as Prose

What makes a good software implementation? What makes this so hard to define? Although computer software "engineering" and hardware engineering have been around for approximately the same amount of time, the design of computer hardware for some reason has reached the level of definition and discipline that characterize most engineering professions. Software, on the other hand, is still practiced much more informally, and although there has been progress through the years in the theories of computer science and the practice of software "engineering", the typical implementation of software rarely invokes the same level of definition and discipline that other engineering professionals would indeed call "engineering."

I speculate that this is because the writing of software is so accessible. Given the wide variety of languages and tools available, just about anyone who can write a paragraph in their own natural language can also write a simple program in some programming language. And just as the range of literary quality varies in the writing of prose, so does the range of software quality range in the writing of code. In fact, in attempting to describe "good code", "good design", and "good architecture", it is useful to draw parallels to prose writing, as most people have read a good fiction book at least once in their lives. (By "people", I mean "meeting the minimum requirements as a sentient organism").

So what makes a good story? There are conceptual layers of any good story, and some general rules for the execution of those layers that most writers are taught. The truly great writers, of course, carry beyond these concepts and rules to something truly superlative. The true artists are able to implement these concepts almost intuitively. Not everyone is a great artist. (Witness, for example, this dreadfully dull tome.) But there is still plenty of good reading out there, and it all has some characteristics in common.

At the lowest level, of course, is the use of language. Knowledge of syntax is a minimum requirement - sentences such as "Drinked bar him goed" make little sense. Along with basic syntax must come some basic sentence design to be effective - sentences such as "He at bar the went get some drinking," while possibly parseable, certainly is hard to read and doesn't accomplish the purpose of communicating what happened as well as "He went to the bar to get a drink." But syntax isn't nearly enough - even an expressive sentence like "Parched, he sauntered up to the bar, rested the weight of his arms on the cool marble countertop, and signaled the bartender for his heart's desire - a cold, frosty mug of the brewery's finest," doesn't carry the reader very far without more context.

An understanding of the next concept of writing structure, the paragraph, allows a writer to group related sentences together into conceptual chunks. These chunks help the reader develop and maintain an organization of concepts above the sentence level. This chunking exploits a fact of human short term memory. Short term memory typically can hold up to seven items at a time. The items could be digits - say, the random set of 9372839. However, it is well known that by "chunking" the data into a larger organizing structure, humans can remember more individual items (although not more than 7 "chunks"). An example of this is a telephone number - when "chunked" into area code, prefix, and extension, we can easilty remember 10 digits. This same concepts applies to paragraphs. By "chunking" sentences together, we can essentially keep the concepts conveyed by more than seven sentences at a time. This chunking allows the author to create a richer context in which each new sentence takes place. You can relate each new sentence to everything that has happened in the prior 7 paragraphs or so at a sufficient level of detail to draw connections and relationships to what has come before, therefore creating a richer context for the tale. Chapters, of course, continue this conceptual chunking. While the level of detail of each layer of "chunk" grows less, the organizing framework allows the human mind to contain a level of context at each layer that aids in the understanding at each layer.

Most programmers have by now recognized some parallels to the way programs are written. Command lines, loops, function/method definitions, subroutines/classes - these are the ways in which a programmer "chunks" software into conceptual layers so that the brain can handle the necessary context and detail at the appropriate layer of abstraction.

Students are taught to write at this level, and most can and do. Most can write a rudimentary essay, and every now and then insert an elegant turn of phrase that can be admired. Of course, stories that have any staying power have a bit more than those elements listed above, don't they? Most authors who write for a living learn over time to master the other elements of good prose - or they find a new profession (or starve). Many people who start programming can also generate a working bit of code in fairly short order - there are a large number of working VB applications in the world. (This isn't meant to imply the use of VB means that the code quality is poor - writers both good and bad use the english language). It is how a language is used, combined with the other elements we explore below, that separates the pros from the hacks.

What are some of these additional elements of good stories? They're numerous, and this isn't an english course, but here are some examples. Good stories have characters, carefully named, with a just as carefully planned depth and scope. There is a plot, or in the better prose, a number of subplots that exist somewhat independently, but intersect with each other in carefully planned ways and times. Even better stories have a well thought out "backstory", an assumed series of events that happened prior to this story that helps give it context. In works that take place in other places and times than ours, there needs to be a carefully thought out framework in which the story takes place - "world building" it is called in fiction writing, and it extrapolates a social, political, physical, and temporal framework in which the characters and plot take place. A well conceived world has an "internal consistency", in which there aren't any inherent or glaring contradictions in the way the elements of the world interact. For instance, if you assume that the story takes place on an airless world, then a lack of airlocks, or someone firing weapons that would penetrate walls - these create internal inconsistencies. It just couldn't work like that if the story were "real" and consistent. Just so, the behaviors of well conceived characters are internally consistent - someone who has never exercised in his life can't all of a sudden show martial arts prowess, or go running a few miles for help. Some part of the readers brain cries out in pain at the inconsistency with known models of the world.

There are other levels of conscious design in a story that raise it above a poorly written essay such as this one. There is an understanding of who will be reading it, and the effect certain words or phrases will have on their ability to understand and the emotions they can generate. There is a commercial context, in which perhaps the key characters remain and a potential follow-on story suggests itself in the last paragraph which leaves open the possibility of a sequel. There is a timelessness, in which certain popular expressions or pop culture of the day is limited so as not to rapidly date the story.

So too it is with software. There is the design of data entities or object, carefully named, with a carefully designed depth and scope. There is the plotting of chapters (code modules) into a story (product). A more complex design consists of separate components that are loosely coupled, with clear interface points. There is a "world" or framework in which each of these elements exist and interact in a consistent way and at predictable times. There aren't glaring inconsistencies in how UIs or algorithmic logic is implemented in one component versus another. There is an understanding of the team that will need to read it and maintain it, and a code style that lends itself to clarity for the reader. There is a commercial context where tradeoffs of costs are made - buy vs. build, design complexity vs. run-time complexity. There is a timelessness, where certain popular tools or popular techniques of the day are limited so as to not rapidly render the system rapidly out of date.

These elements are what I mean by "architecture." And just as good writers have managed to extract the components of good writing over the years so as to be able to teach it at writer's workshops, so software engineers are starting to extract the components of good architecture so that future software engineers might design better products. I'll be pointing to some examples of these in the coming weeks.


Beginnings


Beginnings can be hard.

Beginnings evoke fear. Fear of failure, of ridicule. Fear of choosing wrong. Fear of wasting time. Fear of never beginning.

But beginnings also evoke hope. In the beginning, anything is possible. Success, fortune, fame. Action, accomplishment, accolades. Lust, love, living life to the limit.

This is a beginning. My first blog posting.

I wonder what the end will be like?