Showing posts with label computer. Show all posts
Showing posts with label computer. Show all posts

Tuesday, February 4, 2014

Gooey

The particular area of technology I specialize in is called HCI, an unfortunately unpronounceable acronym for human-computer interaction. This refers to understanding and designing the way people use computers, so that inept users don’t slow the computers down too much.

The Association for Computer Machinery (itself a weirdly named organization!) reversed the first two letters, so that its special interest group on interaction is called CHI. This is usually pronounced simply ki, to rhyme with “pie.” Some prefer to pronounce CHI as if it were a Greek letter, sounding like someone having to greet a colleague while in the middle of gagging. And I suppose others pronounce it like “chai,” the spicy tea.

But even the term “computer” is becoming obsolete. Or, more accurately, redundant. Everything’s a computer these days … phones … GPSes … cameras … come to think of it, everything’s a phone. But seriously, “computer” includes just about every consumer product. So really, it’s HTI … human-technology interaction.

Then the Association for Computing Machinery (and Its Users?) can call it THI.

Thursday, January 17, 2013

El Exigente

Years ago, there was a commercial for Savarin coffee featuring a character known only as El Exigente ... the demanding one. The premise was that if El Exigente approved, the whole town went nuts in a riotous orgy of ... well, coffee drinking, we assume.

Nowadays, El Exigente is the machine ... all machines. We've let these things into our lives, naively assuming they were somehow making things easier. But all they've done is whittle away at our freedom, little by little, until we became servants to the machines.

It started with the humble VCR. Oh, sure, it was great to be able to record TV shows to watch at our convenience. But remember the first time the power failed? When it came back, the VCR just kept flashing "12:00" at us, day or night, relentlessly. It was the machine's way of saying "What time is it? What time is it? What time is it?"

We have a coffee maker in our office that can whip up espresso, cappuccino, and other savory caffeinated drinks. But its electronic display, ostensibly to show hints about how to use the device, keeps making demands. "Decalcifying needed." "Empty grounds bin." In fact, this mischievous machine withholds caffeine until its demands are met.

All our desktop computers take time from their busy schedules to inform us that software updates are available. Some of these are even critical updates! Woe betide he who ignores those insistent prompts.

And mobile devices? My tablet has a whole repertoire of pings, boops, beeps, twiddly-doos and other assorted "alert" sounds intended to notify me of ... what? It gives no clue as to what these auditory attention getters signify. At least my smoke detector has the decency to tell me, in a clear, LOUD voice, that I must change its batteries or face incineration. I must say it's a compelling argument.

But by far the worst, most demanding, unyielding device is the GPS. Not only is it constantly intoning its directions with smug superiority and supreme condescension, as if I were an idiot ("Please proceed to highlighted route." Of course, dammit! It's my driveway!), but if I dare deviate from its intended course, it sighs with exasperation as it utters "Recalculating." It's appalled that I have the effrontery to challenge its all-knowing prescription, and to disobey a direct command. No wonder GPSes have been known to lead their drivers miles off course into the wilderness. They simply don't have the patience for  our meddling.

And this is only the beginning.


Wednesday, May 23, 2012

Thursday, December 29, 2011

Scalability

When I started as a computer professional, we used minicomputers.  They were called "mini" because they were only as big as two or three refrigerators, and four times as noisy.  They had to be installed in special climate-controlled rooms, with raised floors for all the cabling and air conditioning.  We used to run what we called application programs.

Then the whole world went to personal computers. These could fit on a desk, with plenty of room left over for a pencil or a paper clip. The computers themselves weren't so big, but you needed room for boxes and boxes of floppy disks. And these disks contained applications. Not application programs. Just applications.

Now I carry the equivalent computer power in my pocket. One in each pocket, actually. We don't need floppies. Everything's in The Cloud. And those programs? Now they're just apps.

Next I suppose everything will be implanted surgically.  The user interface will be just to think of what you want. Of course, it will be hard to drive with all the "Updates are available" messages popping up in our heads.  But so what?  They'll drive.  There'll be an A for that.

Tuesday, December 27, 2011

Wednesday, June 29, 2011

How Computer Programs Work (When They Work!)

Just about everything, from telephones to toothbrushes, has a computer in it these days. Exercise bikes can be programmed to simulate flat beaches and mountainous climbs. (I assume sex toys will soon have similar features, if they don't already.) Coffee makers require rebooting, and microphones can automatically fix your off-pitch singing. Computers win at chess and Jeopardy. Can American Idol be far behind?

So what makes these machines so smart?

Actually they're not smart at all. Computers can only do a few very simple things. All the rest is a combination of those things, as arranged by some clever programmers. And the programs tend to involve a few stock ways of solving problems. Some of the basic problem-solving techniques are:

Repetition - Computers can do the same thing over and over again, very fast, without getting bored (as far as we know.) If you left a piece of candy in one box in a room full of thousands of boxes, the computer would be perfectly happy to look in each box, one after another, until it found the candy.

Condition Testing - If our computer is checking every one of the thousands of boxes in the room, and it finds the candy in the second box, we probably want it to stop looking. For that, the computer's program would contain an instruction like: If you find the candy, then stop. Of course, once you have the candy, you may not care whether the computer keeps on looking or not, and the computer will be perfectly content to keep checking boxes forever, or until it needs a software upgrade.

Recursion - Suppose that in this room of boxes, you might have boxes inside of other boxes, and boxes inside of boxes inside of boxes, etc. Think of a program called CheckBox as a set of instructions:
  1. Look inside box
  2. If the candy is inside, then stop.
  3. Otherwise, if more boxes are inside, do CheckBox on each of those boxes.
In other words, the CheckBox program calls itself if it finds a box inside another box. That will work for boxes inside boxes inside boxes inside ... etc. up to any level. This is a very useful idea for problems that can be broken down into smaller problems, each of which is like a smaller version of the original problem.

Of course, if a person were doing the searching, and found boxes inside boxes, they would automatically look inside without being told. (Then again, computers don't have to be told not to eat a KFC Double Down sandwich.)

Parallelism - The part of a computer that actually computes is called the central processing unit (CPU) or simply processor. More recently, it's called a core, as in dual core, quad core, etc. Lots of modern computers have multiple cores, which means they can do several things at one time. So one smart way to solve a problem is to split it up so that each processor can be working on part of the problem.

It's like having several people search through that room full of boxes you've got. Naturally they'll find the candy more quickly ... but only if they're not all checking the same boxes! You have to make sure each one knows which boxes to check. It would also be nice if the one that finds the candy tells the others to stop looking.

There are lots of variations and combinations of each of these techniques, but these are the basics. Just about every computer program can be viewed as a sequence of these techniques. At some future date, when I really have nothing better to say, I'll discuss some of the kinds of problems programs solve, and how they use these techniques.

Monday, May 23, 2011

Are You Smarter Than a Computer?


C’mon. Admit it. You've felt like that, right? We all have. We hate computers. At best, they're miracles of technology, always out-thinking you, out-communicating you, out-social-networking you and just generally being smart-asses. At worst, they're stubborn pieces of techno-junk that refuse to give you what you want, just because you didn’t use the right secret handshake. ARGGHHH!

That’s why everyone ran out to buy an iPad … Oooh! A computer that will be nice to me! But that honeymoon’s over now too. One of those passionate affairs that burns itself out quickly.  Even the iPad has that passive-aggressive behavior so common in modern electronics.

In old Star Trek episodes, you could destroy a computer just by asking it some paradoxical question. Back then, computers understood speech perfectly, so you could just say “Computer, this sentence is false. True or false?” and it would immediately (because computers are so fast, you see) start spinning reels of tape back and forth, and showering the room with sparks and smoke.

Nowadays, of course, computers are much more robust. Now, to get a computer to crash, you have to do something wild, like … oh, say, try to view a Web page, or accidentally click a button twice or something extreme like that.

Seriously, if computers can process literally billions of instructions every second, why does it take so freakin’ long to do what you want? To understand this, you have to know something about how computers work.

The hub of a computer's nervous system is the Central Processing Unit (CPU).  This is the part that actually runs programs.  On most computers, there's a program running all the time, called the Operating System (or OS).  The OS is the software that waits for you to type and click and scream and swear, and then, if the weather's right and the moon is in the correct phase, it deigns to run whatever program you actually asked for.

But really, the operating system only wants to run a program called Idle.  Idle is what's running when you're not doing anything.  Idle is itself a program that doesn't do anything, but computers seem to find it amusing.  So what the operating system is really trying to do is get rid of you so it can get back to running Idle.  I guess it's kind of like Facebook for machines.

So really, whenever you use a computer, you're interrupting it when it's trying to play its favorite game.  If you've ever been the parent of a teenager, you know how successful that is.

Any more questions?

Monday, April 4, 2011

Computer Inanimation

One of my first real jobs (i.e., one that did not involve either dirty dishes or shopping carts) was with the nation's second largest computer company, headquartered in a former woolen mill beside a pond in a quaint New England town.  Legend has it that if they ever drained that pond, they'd find hundreds of circuit boards flung from the windows by irate engineers over the years.  Personally, I have my doubts, particularly since engineers are not generally known for their athletic prowess.

But the fact that this story exists at all, and that it is widely believed, demonstrates what most people know intuitively: computers are out to get us!

Of course, all inanimate objects show a certain disdain that borders on hostility.  Traditional furniture is invariably violent towards unguarded toes, while more contemporary pieces have been known to target the elbows and head.  Toothpaste, dishwashing liquid and all manner of sauces have shown their contempt for my clothing.  Do I even need to mention razors and nail clippers?

But computers are especially nefarious.  They exhibit a certain inscrutable smugness not generally found in household appliances.  In fact, these are the very devices for which the term user-friendly had to be coined, which indicates the depth of their scorn.

Yet we blithely accept this insubordination.  We routinely trust these machines with our most precious and private information, photographs, letters, financial data and Facebook games.  We accept the familiar phrase, "The computer's down," as an excuse for everything from missed appointments to bad breath.  Often computer-related excuses are used in other situations as well.

GUY: Ginny, want to go out with me Saturday night?
GIRL (possibly named Ginny): Sorry, I'm defragging my hard drive then.

Every day brings more news stories of computer failures and security breaches.  Banks, trains, airlines, restaurants, hospitals ... all are totally dependent on computers now for safety and efficiency.  We put our lives literally in their ... uh, hands.  Ok, not so literally.

I'm putting a pond in my backyard.