Entries from March 2007 ↓

The Committee for Technological Obfuscation

Anyone who spends any time at all working in software will quickly find themselves bewildered by the ridiculous number of technologies/standards/frameworks that clot our industry. It’s often hard to tell for sure what these things actually do — but a lot of them seem to be solving the same problem, in slightly different ways.

This is no accident. Every year, the Committee for Technological Obfuscation takes a look at the industry and rates the current state of obfuscation on its patented Confuse-O-Meter. The Confuse-O-Meter (CoM) has five levels:

  • Clear as a Bell (CaaB)
  • Mildly Confusing (MC)
  • Quite Confusing (QC)
  • Not in Any Way Understandable (NiaWU)
  • I Have No Fucking Idea What the Fuck Is Going On Here (IHNFIwtFiGOH)

Ideally, the industry is in a perpetual state of I Have No Fucking Idea What the Fuck Is Going On Here (IHNFIwtFiGOH). In this state, no mortal is able to truly apprehend anything more than a tiny, specialized sliver of his world. This perfect level of confusion is impossible to maintain all the time, however, so the Committee will accept a world that is merely Not in Any Way Understandable (NiaWU). Anything below NiaWU, though, is a crisis, and the committee will take immediate and severe obfuscatory measures when things spiral wildly into control.

The primary means of industry obfuscation, and by far the most effective, is the brute force approach: ie, the technology volume approach, otherwise known as When Technology Attacks!

Here’s how you go about it:

  1. Find a problem that’s already been solved, and then introduce a technology that does essentially the same thing, but in a way that’s much, much more complicated than it needs to be.
  2. Build a massive infrastructure around your useless and redundant technology. Start referring to it as an “ecosystem”.
  3. Give your technology an odd and inscrutable name. If possible, the name should contain the words “service”, “transactional”, and/or “infrastructure”. Better yet, some sort of monstrous neologism that combines all three: Optimization Middleware Transservicestructure, say, or Orthogonal Infraservactionality Ecosystem.
  4. Shorten your odd and inscrutable name to an odd and inscrutable acronym. The acronym should have no relationship to any sounds that human beings are able to produce, should be actively unpleasant to say, and should be identical to an acronym used for another (completely unrelated) technology.

Maybe the best example of this technique in the insane cloud of buzzing technologies surrounding the Web Services “space”:

  • Web Services Definition Language (WSDL)
  • Web Services Semantics (WSDL-S)
  • Web Services Reliable Messaging (WSDL-R)
  • Web Services Distributed Management (WSDM)
  • Web Services Resource Framework (WSRF)

And this is just a tiny portion of the Web Services ecosystem. Web Services are the Obfuscation Committee’s crowning achievement. They mention it in all their literature.

So that’s step one of the Obfuscation Technique. Step two is to document your new technology. But not “document” in the sense of writing things that make it clear to other people what your stuff does. No. “Document” in the sense of barfing up thick blocks of text that read like legal briefs written by insane surrealist monkey-sadists. Under no circumstances should your audience glean any useful or even intelligible information from your documents. Great care should be taken to choose words that are guaranteed to shut down all but the most intrepid users’ cognitive facilities.

Take the W3C’s description of WSDL, for example:

WSDL is an XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint. Related concrete endpoints are combined into abstract endpoints (services). WSDL is extensible to allow description of endpoints and their messages regardless of what message formats or network protocols are used to communicate, however, the only bindings described in this document describe how to use WSDL in conjunction with SOAP 1.1, HTTP GET/POST, and MIME.

If you’re not trying to claw your eyes out by the time you get to the third sentence of this passage, then you’re probably not human. You should get yourself checked.

Step 3 is Evangilizationism. This is where you go out into the community and pimp your new technology as if it’s (1) something new (2) better than whatever solution it’s replacing and (3) the defacto standard. These are contradictory statements, of course, but — if you’ve done a good job with Steps 1 and 2 — your audience will be so busy trying to figure out what he hell your thing does that they won’t notice.

So, in a well-obfuscated ecosystem, this is what usually happens: programmers get assigned some architectural task, google around to figure out the best way to do it, discover an Alexandrian Library’s worth of competing, inscrutable, and overlapping technologies that sort-of-but-not-quite do what they need, then crawl under their desks and weep like infants. After a couple of hours, the smart ones crawl out and submit their resignations and go back to school. The rest of them set up a virtual dartboard in their minds, close their virtual eyes, hurl a virtual dart, and choose whichever technology it lands on. This is a game called Pin the Arbitrary Decision on the Inscrutable Technology. It’s a very popular game in the computer industry, but no one will admit to playing it.

The Committee tries to mount at least five or six major obfuscation assaults every year, and hundreds of minor ones, force-feeding an industry already swollen to bursting, and working tirelessly to make our world as confusing as it can possibly be.

How To Live Your Life

Holy crap, this is about the most beautiful thing I’ve ever read. It’s from a post about Elizabeth Edwards:

If I found out today that I had a year to live, and that meant I would change the way I spend my days, then I need to change the way I spend my days now.

I watched the 60 minutes interview with her and her husband last night. I don’t think I’ve ever seen such quiet courage — she wasn’t ostentatious about it, or steadfast, or defiant, or any of the cliches we normally use for people who’ve decided not to let their illness define them. The only difference between me and everyone else, she said, is that I know how I’m going to die. I don’t see why that should change the way I live.

Amen.

Rephrasing Ecclesiastes

Here’s George Orwell complaining about the state of English usage in 1950:

I am going to translate a passage of good English into modern English of the worst sort. Here is a well-known verse from Ecclesiastes:

I returned and saw under the sun, that the race is not to the swift, nor the battle to the strong, neither yet bread to the wise, nor yet riches to men of understanding, nor yet favour to men of skill; but time and chance happeneth to them all.

Here it is in modern English:

Objective considerations of contemporary phenomena compel the conclusion that success or failure in competitive activities exhibits no tendency to be commensurate with innate capacity, but that a considerable element of the unpredictable must invariably be taken into account.

But really it seems to me that things are going the other way: the classic phrasings from King James would be thrown overboard in today’s climate because they lack “clarity.” A modern translation of that passage from Ecclesiastes might look like this:

No matter how good you think you are, bad things will happen to you. Why? I don’t know. But I know who does know. God!

Or the self help version:

You are a special person. You have many, many things going for you. There are people out there trying to tear you down, to turn your beautiful ugly, but guess what? Those people don’t matter. Sure, one day, a long time from now, you might die. But flowers die too. Focus on your joy. Be your joy. God is a rainbow.

Or the instant message version:

u can try but shit happens deal w/it

Language is a terrible tool for expressing thought, but it’s very good at manipulating it. Media consultants and Bush administration officials earn their keep by figuring out how to phrase things for maximum deception. Vague words muddy concrete ideas, and concrete words disguise reasonable doubt. Euphemism is the science of massaging meaning.

And, by the same token, a banal thought, expressed beautifully, can become beautiful — and a beautiful thought, expressed poorly, can become commonplace.

About

When Lapsed Cannibal was five years old, he was kidnapped by a band of gypsies and raised as a wolf cub. At age ten, he escaped and joined a traveling flea circus, where he remains to this day. He enjoys needlework, phrenology, and conquering small island nations.

Archives

Programming in English is a Bad Idea

Here’s a very cool insight from a reddit thread I was just just noodling through:

A programming language should never try be intuitive. Visual Basic tried to be intuitive. Applescript tried to be intuitive. Both wound up more confusing than they [should] have been. Programming just isn’t intuitive, there’s always a learning curve. Instead, good languages are consistent and make sense. Predictability is the best way to reduce (not eliminate) the learning curve.

I think there’s a notion out there that computer languages should be easy to learn, or easy to use, or whatever, and so you sometimes get languages with syntaxes that try to be as English-like as possible. The theory being that if you can program the way you talk, everyone will be able to program.

It doesn’t work, it never works, because programming is just intrinsically hard, and languages that try to paper over that difficulty with insipid abstractions or faux-familiar syntax just wind up muddying the water further. Programming languages should make it easy to express stuff the way you think about them, not the way you talk about them.

Because human language is intrinsically imprecise. It has to be: there’s no way to capture our cognitive landscape with words, which is why we often keep things vague, or use metaphor and symbol to get at fundamental but inexpressible truths.

That’s certainly no model for a computer language. When a program comes across something inexpressible, it doesn’t search for an extra-lingual abstraction to get around the difficulty. It dumps core.

Contentment

Some vile microscopic organism managed to penetrate my immunilogical fortress this week. I spent thursday flat on my back, staring at the ceiling, plumbing my vocabulary for the right words to describe the particular kind of awful that I was feeling. I couldn’t summon the will to log into work, or mess around on the web, or read, or watch TV, or anything at all.

I’m not used to that kind of sloth. I don’t, generally speaking, get much done on any given day, but I’m usually actively not getting anything done: rushing around, reading blogs, puzzling over the latest bug at work, flipping through magazines. I diligently avoid doing nothing, and now I know why: in the absence of distractions, one has no choice but to think, ponder, navel-gaze, take stock. Which is always a mistake. What’s the use of hurtling thoughtlessly through life if you’re forced to pause every so often and confront everything you’re trying to avoid? That’s the whole point of hurtling, isn’t it? Not allowing yourself to acknowledge what you’re missing?

Anyway, one of the silly topics that my disease-addled mind decided to fixate on was the nature of contentment. Are you content? it asked. If no, why not? If yes, then why do you even need to ask the question? And what is contentment, anyway? What does it buy you? Is it something worth striving for? And why the hell is there a purple antelope in the kitchen? Oh gross! It just barfed up Jean Paul Sartre! Ug — and there’s Camus. Why do antelopes always eat existentialists? They know they can’t digest existentialists!

After the hallucinations settled down, I thought about the question for a while. I’m not unhappy, certainly. In fact, I’m extraordinarily fortunate in just about every way you can be fortunate: I’m married to the perfect woman. I have a job that allows me to mess around with computers all day — essentially getting paid for something I’d be doing anyway. My family is close by, and every day I find reason to love them more than I did the day before. Against all odds, well into my thirties, I still mange to get in a game of D&D every so often.

But there is something missing, and its absence nibbles at me. I think I’m in the same boat now as so many people whose dreams are incompatible with their livelihoods: trying to fit my passions into the shrinking margins of my career. When the job was just 50 hours a week, it seemed at least possible. But now it’s not even that. Not anymore.

So the question is: what next?

Which brings us back to contentment.

There are two kinds of contentment, I think: the kind where everything is on an even keel, where there are no surprises, no unscheduled striving. The kind where you’ve set your course and established the rules, and the maintenance of your happiness consists entirely of following those rules as best you can. Contentment on rails, where the chief virtue, the only prerequisite, is constancy, non-deviance.

And then there’s the other kind: the kind where you have to earn it every day. You follow your desires wherever they lead you, so that every day is a battle you win or lose, and your happiness depends entirely on the outcome. A dangerous course to follow, because it can wear you down, and quickly. What’s the price of banishing the demons? Opening the door to them. Stepping off the rail and wrestling them to the ground. Some days you win, and on those days you go to bed with a clear head, satisfied that you’ve done what you were supposed to have done. But some days you lose, and crawl under the covers bruised and bloody, dreading tomorrow’s battle.

There’s no value judgement here: either kind works, one is just as valid as the other. There’s only the question of what kind of contentment you want. Our culture gives a lot of lip-service to following your dreams, at any cost. You could bury your typical suburban neighborhood under the mountain of books published every year on the subject. But that same culture will absolutely kick you in the ass if the risk doesn’t pan out. You’re not a noble striver, you’re not a defeated visionary: you’re a loser. That’s the risk you take.

It’s a tough call. But one thing is clear: if you’re lucky enough to be in a position where you get to choose your brand of contentment, you must choose. The worst place to be is in the purgatory between the two. There’s nothing for you there.

Language Abuse

I’m a mass of ticks and pet peeves when it comes to English. I flinch whenever anyone says “irregardless”, break out in hives when people proclaim their intention to never “step foot” in some disagreeable establishment, and go into full anaphylactic shock whenever someone assures me that they “could care less” about something.

Which is funny, considering my profession. I often find myself in meetings where the English language is beaten, burned, shat upon, drawn-and-quartered, and finally twisted into a monstrous parody of itself, then slapped onto a powerpoint slide and projected onto a wall, where its shame and ignominy are visible to all.

Take the simple word “lesson”, for example. An innocuous, unobtrusive, friendly word, doing its noble duty by the language without calling too much attention to itself. Hardly a word you’d think one would need to abuse.

And yet many sectors of the business community have decided that there’s something about lessons they don’t very much like. Too simple, too mild, too old-guard. It doesn’t scream learning, does it? It doesn’t even whisper it. What it screams is “less”, and if there’s one thing business can’t abide, it’s less. If anything, it should be moresons.

And so legions of jabbering suits have begun to settle on a new, fresh-faced candidate: learnings. It’s got the word “learn” in it, which is key — there can be no question, for example, that last quarter’s disastrous performance didn’t result in learning. It says it right there, on the slide! Right there, under that somewhat alarming chart: The Learnings Table! Learnings were achieved, and future success is virtually guaranteed through the agency of those learnings.

I await with great anticipation the migration of this mutant horror from boardrooms and conference rooms into the general populace. I have no doubt that teachers will soon be crafting learnings plans, civic groups will be publishing “Learnings Learned” documents, and ne’er-do-wells will be taught their learnings. It’s just a matter of time.

This is part of a long-standing trend in the language, the transformation of unsuspecting parts of speech into verbs, usually through the imposition of grotesque suffixery — nailing an “ize” to the end of nouns, for example, and thus forcing them to drag monstrous semantic thoraxes behind them for the rest of their lives. Finalize is the classic example of this, but you’ve also got incentivize, monetize, productize — and many more, a whole rogue’s gallery of lexicographic hellspawn that are eating away at the language, like leprosy.

It could be worse, I suppose: we could be going the other way, from nouns to verbs. We could be staring down the maw of lessoning — as in, “I hope you’ve lessoninged your lesson, young man!”

It could still happen. I wouldn’t put it past these people.

Another outrage is the proliferation of “in terms of”. I have no problem with the phrase on its own, but it’s developed into a sort of verbal backspace key. People start down a sentence, realize that they talked themselves into a corner, and then — rather than doing the decent thing, and starting over — trot out “in terms of” to save the day. This particular sickness seems to have infected the ranks of the political punditry more than anyone else. Eg: “The perils of the liberal agenda — in terms of its tendency to place the welfare of people over the welfare of large corporations — cannot be overstated.” Or: “I just want to say that Ms Pelosi’s comments on the subject — in terms of their outrageousness — are outrageous.”

It’s the equivalent of driving down the wrong street, and, instead of turning around and going back to the intersection, taking a hard left and bumping over a sidewalk and through a couple of people’s lawns to get back on track. It’s inelegant, to say the least, and it fills me with dismay, in terms of its effect on the language, in terms of the bad precedent it sets, in terms of how people should talk.

Be gentle with your language, English-speakers. It’s the only one we’ve got.