The coldread program was developed to produce cold readings. A cold reading is a story about your personality based on cues you give to the person giving the cold reading. Astrologers, palmists, fortune tellers, and other traders in fringe subjects are often excellent cold readers, sometimes consciously and sometimes not.

When I was about 11 (in, let's say, around 1969), I went to a county fair where they had an Amazing Handwriting Computer. You paid your $1.00 and signed your name on a piece of paper, then handed it to the guy. He fed it into The Computer (a contraption just small enough to be hauled behind a pickup truck), and then handed you a short essay about what kind of a person you were. It had to be true, since it came out of The Computer, right? It was, after all, Untouched by Human Hands. This stuff is still going on, by the way -- check here for an example

Years later, enmeshed in a career in computers, I realized how it had to work. They fed the signature through something that matched it against a template and generated some numbers from the match or lack of match. The program then took the numbers from this process, looked up a bunch of phrases about what they must mean, strung 'em together and printed them out. This was a machine-generated cold reading. The template matching part could be done with a simple array of photocells and a light while the operator typed your name in on the keyboard.

I soon realized that could do the same thing with any kind of cold reading. If palmistry was your gig, for example, you could collect your numbers from a hand stuck into a box. After you measured reflectivity, electrical conductivity, some sizes, some shapes and some pressures, you could link the numbers you got up with sentences and print the result.

So for a while I thought about building a Computer Palmistry Machine and touring county fairs with it. But hardware was never really my thing. I was also not sure that such a contraption would actually pay for gas money without sacrificing a lot of sleep.

But then I realized that the really interesting problem was the software. If I could write a cold reading engine, it would not matter where the numbers came from. If you wanted to do astrology, just write a program to do the charts and boil them down into a set of numbers. Feed the numbers through your prophecy generator and you are done. You could do the same thing for phrenology, or for the latency times between keystrokes on a QWERTY keyboard while your subject types out his name. The numbers could also come from from the latest & best iteration of the Minnesota Multiphasic Personality Test, or a random Purity Test from the net -- anywhere. The important thing was relating them to output text.

The next step was to create a language for matching keyworded numbers to phrases. Hence, the coldread program. The validity of what coldread produces is not part of its design; it is only designed to match numbers and keywords to output phrases. Whether the result is serious information, random wacky mush, or something in between is up to you.

Copyright Charles Shapiro November 1999
Charles Shapiro
Last Modified 15 November 1999