Wednesday, August 31, 2011

A thought about politics and justice

"What is a political regime, when devoid of justice, but organized crime?"

Augustine of HippoCity of God, book 4, chapter 4

The entire chapter follows (from a different translation):


Chapter 4.—How Like Kingdoms Without Justice are to Robberies.
Justice being taken away, then, what are kingdoms but great robberies?  For what are robberies themselves, but little kingdoms?  The band itself is made up of men; it is ruled by the authority of a prince, it is knit together by the pact of the confederacy; the booty is divided by the law agreed on.  If, by the admittance of abandoned men, this evil increases to such a degree that it holds places, fixes abodes, takes possession of cities, and subdues peoples, it assumes the more plainly the name of a kingdom, because the reality is now manifestly conferred on it, not by the removal of covetousness, but by the addition of impunity.  Indeed, that was an apt and true reply which was given to Alexander the Great by a pirate who had been seized.  For when that king had asked the man what he meant by keeping hostile possession of the sea, he answered with bold pride, “What thou meanest by seizing the whole earth; but because I do it with a petty ship, I am called a robber, whilst thou who dost it with a great fleet art styled emperor.”

Thursday, August 25, 2011

Just a LITTLE bit OCD

Gee, doesn't everyone organize their Kindle library according to the Dewey Decimal System?


Wednesday, August 17, 2011

Google+, we hardly knew ye


Well, it's been fun while it lasted. Google has pulled one of my best friend's Google+ account over Google's stupid name policy (he legally changed his name years ago to a single name, but they won't accept someone with just one name). Their asinine name policy is getting a lot of heat on the web, and rightly so. Consider me collateral damage.

I've been thinking about how disappointing it's been on g+ since first showing up there with high expectations. But even as a rabid Facebook hater, I am still actively posting and reading there multiple times a day, whereas I have to make myself post something to F♭, especially since most of the people in my g+ circles are on Facebook already, too. So I haven't figured out what its "niche" is supposed to be versus the other social networks I'm on (Facebook, LinkedIn and Twitter).

The following two posts say it much better than I am:

http://www.forbes.com/sites/insertcoin/2011/08/15/a-eulogy-for-google-plus/http://www.forbes.com/sites/insertcoin/2011/08/15/the-rise-of-the-google-plus-faithful/
In the end, I've maintained for a while that Google doesn't "get" social, and F♭ (and Buzz and Orkut before it) just prove it. In fact, here's my (growing) list:

  • Google doesn't "get" social
  • Microsoft doesn't "get" mobile
  • Apple doesn't "get" enterprise
  • IBM doesn't "get" consumers
  • Sony doesn't "get" ecosystems
  • Facebook doesn't "get" privacy†
  • Politicians don't "get" honesty†
† Actually, with these last two they do "get" them, they just choose to ignore and work against them.

Anyway, Google, you had your chance, and you blew it. Pity.

Monday, August 15, 2011

Death by analogy



[Cross-posted to my tech blog.]

One of my favorite jokes is an oldie that goes something like this:
A man is determined to find the meaning of life, and goes on a quest to find someone who can teach it to him. After traveling far and wide, he is told there is a guru on top of a high, remote mountain who can tell him. The man spends two weeks getting to the mountain and climbing it, narrowly escaping death many times along the way. Finally, he reaches the top, and the guru is meditating there. The man asks, “Wise teacher, what is the meaning of life?” The guru thinks for a minute and then answers "The meaning of life is x" [where x can be “chocolate,” “potatoes,” “bowl of cherries,” “all is one,” etc.] The man is outraged. Shouting, he exclaims, “You mean I have spent all this time and effort, traveled all this way, and almost been killed for you to tell me the meaning of life is x?!??!?” To which the guru replies, “You mean it isn’t?”
I like this joke for a lot of reasons, but one of them is that it is hard to convey meaning, and one of the most common tools we use, analogy, doesn’t necessarily make it any easier. My analogies may not work for you. In fact, they may actively get in the way of your understanding, working at odds of the very purpose of analogy in the first place. We pick analogies without much thought in the midst of a conversation, and then we’re burdened with that analogy, whether it was ultimately the right one or not.

Here is a common scenario I see all the time in my job as a programmer. There will be a meeting or a conference call and at some point it devolves on to some poor technologist to try and explain why a given user/customer request is difficult or impossible, too expensive, not right for the problem at hand or whatever. If the underlying reason is something technical then both sides of the conversation are doomed from the start. An engineer who is tone-deaf to non-technical people will usually go off on a tangent in very technical terms, ignoring the glazed eyes of her audience and confirming everyone's stereotypes of nerds. A more seasoned engineer will know that doesn’t work, so instead will try to “put it in words the users can understand,” i.e., use an analogy.

This seems like a good idea, doesn’t it? I mean, if you can’t get something across to someone, the first thing we all turn to are analogies (stories, parables, etc.) This is not unique to technical people - we all use analogies all the time.

And I’ve come to the conclusion that they harm us more often than not.

The reason is simple - people end up mistaking the analogy for the thing being analogized. And the longer it goes on, the more the analogy takes a life of its own, the more people start talking in terms of the analogy, manipulating the analogy on its own, adding to it, making it into this large, abstract system. Except the problem is the analogy, by definition, is not the thing. And the longer the discussion goes on using the analogy, the farther it gets from the thing being described. But the audience thinks they’re talking about reality. They’ve been given the analogy so that they can understand, and thinking they understand they then begin fiddling with it.

This is where the problems lie.

It doesn’t matter if we’re talking programmers speaking to non-technical users, or pastors giving a sermon on Sunday. To use an analogy, analogies are quicksand. They’re tar pits. They’re where a conversation goes, gets stuck, and can’t rescue itself, sinking further and further into analogy until any semblance to reality is covered over, drowned and lost forever.

I see it happen all the time. I do it. My colleagues do it.

And who can blame the listeners? They’ve been told "x is like y" by someone knowledgeable, so then as they start to discuss x, they think they’re still discussing y.
User 1: What’s wrong with my idea? 
Programmer: We won’t be able to implement that and satisfy our users. It’ll be too slow. It’s like a horse-drawn carriage. What we’re proposing instead is a race car. I can’t really explain the technical details to you, but it’ll be as fast as a race car compared to the original idea. 
User 2: So we should be able to make it go even faster if we give it a bigger engine, right? I mean, if we put it in “The Cloud” it should be like upping the octane in its fuel formula. 
Programmer: Well no, not exactly. You see... 
User 1: And if we put knobby tires on it, then it should be able to do Baja racing as well as Indy racing, right? So it should also work on mobile devices, so we can go out in the field with it. 
Programmer: Actually, that won’t work because... 
User 2: Which then means it should also be capable of cross-country road races, so the system will be able to work even if the user is offline and using it while flying across the country! 
Programmer: Stop! Stop! STOP! That’s not what I meant! 
[blank stares] 
User 1: Well, what did you mean then? You're the one who said it would be like a race car!
Analogies seem most prone to abuse in abstract, esoteric or technical realms. Computers. Theology. Places where it is hard for professionals to describe what they’re really thinking to “users” or “lay people.” The choices are either to use technical language that goes over their heads, or dumb it so far down that the conversation is worthless, or to try and analogize in an attempt to communicate something. But I often wonder if it is really worth it?

Of course, we must use analogies. It would be almost impossible to communicate without them. So in the end, I think the real point of this diatribe is that we should be careful which ones we pick. In programming, correctly and accurately naming things is important - perhaps the most important task there is. I would suggest that choosing analogies is just as important. Because only other programmers are ever going to see the names (variables, functions) inside a program, but business sponsors, analysts and end users are going to be dealing with the analogies used for a long time, and will impact how they think about the system. Similarly with theology (which I could argue is the same as programming, but won’t :).

So be careful out there. The analogies you choose may come home to roost like the salmon returning to their spawning grounds. Or something. :)

What are your thoughts?