April 17, 2003

By Karen Kenworthy

IN THIS ISSUE

OK, we're finally alone. Please don't say a word. Just listen. And remember, don't share this with anyone. This is just between us.

Here's my big secret: I talk to computers. And they talk back. This has been going on for years. Some days these dialogs last for hours. And seldom does a day go by without at least a short exchange.

Whew! It feels good to finally have that off my chest. Thanks for being there for me!

Talking To Computers

It began innocently enough. Many years ago I sent messages to mainframe computers by setting switches on their operator's console.

The meaning of each switch had to be worked out ahead of time, between the computer operator and the program's author. One switch might, if on, tell the running program to perform a month-end procedure. Another might instruct the program to roll year-end totals. A third switch might be set the first time a program was run, ordering the program to create new, empty data files.

These early computers responded to me by blinking lights. You've probably seen such displays in old science fiction movies -- large banks of constantly flickering dots. Maybe you thought those images were make- believe. But they were real enough. Each light represented the state of a bit in the computer's memory or circuitry. If the bit had a value of one, the light was lit. Otherwise, the light was dark.

This form of communication sounds primitive now. And frankly, it seemed primitive at the time. But to this day many dialects of the COBOL programming language include the ability to read the settings of console switches.

And even Windows programs return a group of bits, called an exit code, when they terminate. Today those bits often go unnoticed. But in olden days, they would have been displayed in lights.

I'm sure you've guessed what happened next. Before long I searched for ways to communicate more efficiently. Sending and receiving a few bits at a time wasn't enough. I needed ways to exchange entire bytes, and lots of them.

I thought the answer was at hand when I discovered teletype machines. These clattering gizmos were staples in newspaper offices a few decades ago. A keyboard allowed a reporter in one town to enter the latest headline. Instantly, the same text appeared on a roll of plain paper passing through a second teletype machine many miles away.

Connecting a teletype machine to a computer turned out to be easy. After all, both devices used sequences of zeros and ones to represent text while sending and receiving messages.

True, early teletype machines used only five bits to represent a single character, while most computers used eight bits per character of text. But those details were quickly worked out with the addition of a few vacuum tubes and relays. Finally, computers and humans could communicate as quickly as a person could type and read!

Cellulose Solutions

Sadly, this thrill didn't last as long as the cramps in my hands, caused by pressing those heavy teletype keys. My appetite was whetted. My need for speed only increased.

I tried, and quickly discarded, punched paper tape. Holes punched in these one-inch wide, and yards long, strips of paper recorded the data. Once a tape had been carefully prepared, the computer could read its contents at a rate of several bytes per second. Unfortunately, even after reinforcement with Mylar plastic, these cousins of Swiss cheese were too fragile.

A little more satisfying were punched cards. Early cards, about the size of a dollar bill, could hold up to 80 characters represented as small rectangular holes. Later, smaller cards using round holes stored up to 96 characters each. A fast computer gobbled either type of card at the rate of 2,000 or more cards per minute. This meant data flowed at an astounding 192,000 bytes per minute, or 25,600 bits per second!

Computers could reply by punching new data into new cards. And often this was preferred, especially when the data produced by the computer might be fed back into the computer for additional processing.

But for human consumption, printed text on sheets of paper was popular -- just as it is today. Teletypes were too slow to keep up with increasingly rapid communications. So a new technology, line printers, was created for the task.

As their name suggests, line printers print entire lines of text in a single operation. Some rely on large, rapidly rotating drums of metal type, and fixed hammers that strike the drum just as the desired character rotates into place. Pass paper and an inked cloth between the hammer and metal type, and voila -- you have printed text!

Other line printers used a rapidly rotating chain containing blocks of metal type. As the desired character passed overhead, a small hammer impressed the character onto the paper through an inked cloth.

Whatever the exact technique, most line printers placed 132 characters on each line. At speeds of over 2,000 lines per minute, these printers allowed computers to write text at 264,000 characters per minute, or a blistering 35,200 bits per second!

Plastic and Glass

Today, punched cards are becoming a distant memory. When I speak to a computer I use a keyboard and a mouse. A few key presses here, a mouse click there, and my computer knows exactly what's on my mind.

Computers talk back via colorful high-resolution screens. Modern screens display up to 1.2 million pixels. With 32 bits often used to define each pixel's color and transparency, we can view 41,943,040 bits of data each time we look at our computer's screen!

Most personal computers also have a pair of stereo speakers. Depending on fidelity, one second of sound can represent anywhere from 32,000 to as many as 704,000 bits of data streaming from a computer.

It all seems so terribly modern and up-to-date.

But even our newest personal computers show signs of their room-sized mainframe heritage. For example, look for a program named "MS-DOS Prompt" or "Command Prompt" on Windows' Start menu.

Run this program and you'll see a pretty good facsimile of an old teletype computer interface. Each line of text you type here is interpreted by Windows as a "command line" -- usually the name of a program to be run, sometimes followed by other information passed to that program.

To give it a try, type this command line then press the <Enter> key:

    C:\Windows\System32\Notepad.exe

This should launch Windows' Notepad program. If not, you may need to tweak the command a little, specifying the drive and folder where your copy of Notepad.exe is found.

Now enter this command line:

    C:\Windows\System32\Notepad.exe C:\readme.txt

If the file C:\readme.txt exists on your disk, Notepad will now display that file. If not, Notepad should display an error message, and offer to create a file by that name.

Surprisingly, this sort of command line is exactly what Windows uses to launch Notepad when we double-click a text file's icon with our mouse! Command lines also play an important role in file associations, and other behind-the-scenes Windows features.

But those discussions will have to wait until our next get-together. In the meantime, I hope you'll check out the Power Tools collection of free Windows programs by visiting their home page at:

    https://www.karenware.com/powertools

The programs are free (for personal use). Programmer-types can download the programs' free Visual Basic source code too. And as we'll see soon, some of these programs have some hidden features you can access via command lines.

Or if you prefer, get the latest version of every Power Tool on CD. The disc also includes three bonus Power Tools, not available anywhere else. You'll also find every back issue of my newsletter, and a few articles, in the CD's library. It even includes a special license that lets you use your Power Tools at work.

Best of all, buying a CD is the easiest way to support the web site and this newsletter. To find out more about the CD, visit:

    https://www.karenware.com/licenseme

Until we meet again, don't forget to keep my secret. And if you see me on the 'net be sure to wave and say "Hi!"