Monday, January 15, 2007

No-yes, Yes-no, and Engineers

English teachers caution against expressing a double negative. My English department head told me this story:

A man ran out of gasoline and was stranded on the roadside when another car stopped. "What's the problem?" the driver asked. "I don't got no gasoline," the first replied. My department head told me this story and added the punchline, "Only a fool or a grammarian would conclude the first driver had gasoline."

To that story today I would add "...or a computer engineer." Engineers don't think like I do, and I spend half my computer time trying to figure out what they were thinking when I run into snags running my programs. Much of the time my misunderstandings are semantic, and when I do realize what a certain thing meant to the engineer, it makes sense--but only in the most Byzantine (to me) of ways.

When one says a statement like "The woman said 'no,'" to me it is a negative statement. Not to a software designer, who might see it as 1) a declaration was uttered ("yes"), that a woman said something ("no"). Yes, she said no, in other words.

My son got me some remote control plugins which enable me to turn lights on and off automatically from my desktop computer. The program configures an a/c interface to send signals into the a/c house wiring itself which can be picked up in any room by plugins. However, there is one house circuit which doesn't carry these signals due to the way the house was originally wired. To make a lamp turn on in my living room requires an RF (wireless, broadcast) signal, and in addition to configuring the module itself in my computer, I must configure a separate "macro" to turn it on, and another to turn it "off." Each macro, in turn, must create its own timer to tell the "on" one exactly when to signal the switch module to activate, and another timer to tell the "off" macro when to signal the switch module to switch the lamp off.

So within the first macro, I needed to select "on" to activate the macro and "on" to signal the switch to turn on the lamp. So far, so good. But within the second macro, I need to select "on" to activate that macro but "off" to send a lamp switch-off command to the module. Yes-no, in other words. To an engineer, that makes perfect sense. To me, it's bad semantics. I think activating the macro should be termed not "on/off" but "activate/deactivate" or "enable/disable" so as not to confuse that selection with the "on/off."

When I run into this kind of engineer's logic, I get very frustrated trying to second-guess it. At such times I have to remind myself how stupid these machines really are; they do exactly what they are told to do, and they can't interpret things in any but one way. They can't understand the human intentions behind what is said, or the feelings or emotions behind the commands which most people can, intuitively. People can often sense what we really mean behind the words, and can often sense when we don't mean what we say, or are kidding or lying or being sarcastic. Computers, unfortunately, "believe" everything we say, and can "understand" only the very precise meaning of each word. Yes, they cannot, no.

2 comments:

Carol Anne said...

My husband spends his working hours translating engineerese into English. It's quite a challenge at times.

One of the things he has noticed among engineers is their delight in what mathematicians call "elegance" -- which isn't something that's ornate, but rather the opposite, something that's nicely efficient. One pet peeve is how engineers try to streamline pronouns using slashes, such as he/she or, even more common, s/he.

To respond to (and make fun of) this false economy, Pat invented a universal, generic, one-size-fits-all pronoun, s/he/it. As for how it's pronounced, well, he's from Texas.

nbk said...

Ha! I love Pat's new pronoun. I'll have to work on the pronunciation though. And yes, technical/mathematical types love "elegance." One of my doctoral profs suggested it's why they tend to like Bach better than Beethoven.