Friday, July 22, 2005

Hiding in Plain Sight

Donna had to get a 'stress test' as part of a routine physical exam. Her doctor gave her the address of a imaging center on Bloomfield Avenue in Glen Ridge. A couple of days before the appointment, we made a trial run to find this imaging center, but failed. We ran out of time, so we just had to do it 'cold' on the day of the appointment.

I should explain that you can drive through Glen Ridge while holding your breath. And you don't need to be an experienced pearl diver -- any amateur can do it, because the town is only 1/2 mile wide. And in case you live in some other other part of the country, like the Midwest, I should also explain that here in suburban New Jersey, towns are joined seamlessly together. Donna grew up in Nebraska, where there are miles of corn and wheat between towns, and you can spot the next town at a distance by the tall grain elevator. When she was first in this suburbia, she was puzzled, and asked me "how do you know when you are leaving one town and entering another?" I said "when you see the fire hydrants change color."

Well, just knowing that the imaging center is on Bloomfield Avenue in Glen Ridge limits the location to a half-mile stretch of road. We had a house number, but as is typical of business streets here, hardly anyone displays house numbers. On this half-mile stretch of road, we found only one house number, and it was displayed by two-foot high gilded numerals. I figured that the responsible businessman was flaunting his rebellion against the tradition of no house numbers. That told us which side of the street our destination was on, but not much more.

So what we needed was a sign saying "Imaging Center" or some such thing, but there was none. So we had to evaluate ALL the buildings on that side of the street to see what might plausibly house an imaging center. That narrowed it down to a building that looked like it could be a town hall, a church, a library, a museum... an imaging center? There was no sign viewable from the street, but it had a parking lot, so we turned in and parked. Donna said that her blood pressure was going up trying to find the imaging center -- would it skew the stress test?

As we approached the entrance, there still was no sign. There was no house number, no doorbell, even no mailbox. High above the door was a coat-of-arms, but without words. On the pavement in front of the door was a Latin inscription long enough to be some sort of motto. These only made the place more mysterious. Should we just walk in, uninvited? We had no choice. Only inside the inner door did we finally see signs indicating which floor to go to for the imaging center.

Hours later, when Donna was waiting for me to come and get her, she was busy answering people who showed up at the door, asking if this was the right place for the imaging center.

Most businesses cannot stay in business hiding in plain sight like this. But the imaging center gets their business from referrals from doctors, whose patients are forced to play hide-and-seek. But maybe it's really meant to be part of the stress test. In any case, she found that she doesn't have any blocked arteries.

Wednesday, July 20, 2005

PyroWorm Game

Most programmers write software for other people to use. But as an engineer, most of the programs I wrote were customized tools for me to use. (But some tools were more general-purpose, and I made these available to others to use.) I thought of the computer as a mental lever, or as a robot that would do all the hard work. But sometimes, at home, I used programming for fun and games.

Once I got the idea to combine two simple games that others had created. One of them, John Conway's Game of Life (See here and here) is not really a game, although it has rules, and pieces on a board that come and go according to the rules. The board is like a chess board, but with many more rows and columns, and the rules are much simpler than chess. If you program a computer to play this 'Game of Life', you can populate the board with pieces any way that you like, then watch the computer 'play the game' according to the rules, and see what happens. If you haven't seen it, that may sound boring -- but it really is fascinating, because in spite of the fact that the rules are so simple, the moving patterns are surprisingly life-like -- hence the name. Ragged asymmetrical patterns grow into beautifully symmetric objects. Patterns glide across the board, collide with other patterns, and are either destroyed, or morph into new patterns. It is more a spectator sport than a real game.

I wrote a program to do this, and it was fun to watch, but always, after an interval of interesting activity, the 'game' would end with a mixture of static, unmoving patterns and moving patterns that would repeat the same motions over and over again. It seemed to me that it needed some kind of spark that could rekindle the interesting activity whenever it died down.

As I began to experiment with this rekindling idea, it seemed that the moving patterns were like a wild-fire. When the patterns expanded, it was like fire spreading; and when the patterns drifted sideways, it was like wind was moving the fire. I modified the program so that when a piece on the board was not there in the previous change-cycle, it would be colored bright red; but if it had been there in the previous change-cycle, it would be colored a dull red, nearly brown. Thus, an active 'fire' was flashing bright red, but a static pattern of 'ashes' was the brownish dull red.

I recalled a simple game that was available on the Unix computers, called 'worm' (similar to this). It, too, was played on a board with many rows and columns. The worm was a string of pieces, like a string of pearls, made of the letter 'o', with a capital 'O' for the head, like this: ooooooO. The computer could make the worm move by adding a piece at the 'head' end and removing a piece at the 'tail' end. What you had to do was to steer the worm's motion, using the arrow keys of the computer's keyboard. A numeral from 1 to 9 would appear at a random location on the board; and if you could steer the worm to 'eat' the numeral, then the worm would grow longer by that amount. The computer could make the worm grow by adding pieces at the 'head' end without removing pieces at the 'tail' end. So the length of the worm was your score.

Now, if the worm bumped into itself or the walls (the edges of the board), the game was over. And as the worm grew longer, that was harder to do -- you had to learn strategies of winding up in the crowded space without making any fatal collisions. But in a more forgiving version of the game, collisions were not fatal. Instead, the penalty for collisions was that the worm would shrink. The computer could make the worm shrink by not adding pieces at the 'head' end while removing pieces at the 'tail' end. The only way this form of the worm game could end was for the worm to shrink down to nothing.

So I thought, why not use the worm to rekindle the fire? And to make the game more dramatic, the worm would need to avoid collisions with the fire, that is, getting burned. The worm would shrink if it touched a bright-red 'fire' piece, but would grow if it touched a dull-red 'ashes' piece, igniting it. But since the worm's head would always touch a piece first, and then the rest of its body would be dragged over that spot, it had to be that the 'ashes' would be ignited when the tail touches (or moves off) the ashes, not the head. I wanted the worm to play with danger, not be suicidal. It's hard enough staying away from the fire, so I removed the penalties for the worm bumping into himself or the edges of the board. In a way, there are no edges, because if you try moving off the right edge, you 'wrap around' and show up at the left edge; and likewise, the top and bottom edges are joined.

I made the worm a light green against a darker green background (grass: wwww). His head was a sunny yellow smiley-face, but when burned, the burned part of the body would turn black and the face turned red.

It turns out that these simple, but crazy rules make a very exiting game. To get a high score, you have to make the worm grow, and to do that, your worm has to start fires -- then run away from them. If you get too greedy, and start too many fires, there may be too little safe ground left and your worm will be fatally trapped. The worm is obviously a pyromaniac, so I named the new game PyroWorm.

You can download my game for free. Just click on PyroWorm Game and read about it, and scroll down to the Download section.

Tuesday, July 19, 2005

Electronic Advances

I began my engineering career in 1959, and it is not only amazing how technology has advanced since then, but I feel privileged to have been able to see much of it first-hand.

The junction transistor was invented in 1948, but it needed development before it was practical to use it. Computers had used vacuum tubes until the first fully transistorized computer in 1954, just five years before I started my career. I remember trying different circuit configurations that could acheive the same function, then counting the transistors so that I could select the lowest-cost configuration. That was important, because each transistor cost about $5 to $10. (Other kinds of transistors cost $45 or more.) Now, about 10,000 transistors cost one cent.

You could see the transitors back then. Each one looked like a little tin can, 1/4-inch wide, with three wires sticking out. Each transistor in the computer, with the help of a resistor and a capacitor, served as a switch that could turn electrical current on and off. It took a configuration of 12 such switches just to add two 'bits' (binary digits), including the 'carry' from a nearby digit position. That would occupy about a 4-inch by 10-inch area on a circuit board. Now that transistors are so much cheaper, twice as many are used for the same function, and it's all smaller than the period at the end of this sentence.

Back then, a computer was a room full of refrigerator-sized cabinets. And because everything was so costly, the computers were as simple as possible. Today's computers, although much smaller physically, are bigger in terms of the numbers of equivalent parts. I remember one of those refrigerator-sized cabinets was a memory storing just 256 words. Just a few days ago, I bought a memory card for a digital camera with one million times larger memory, and it is the size of a penny.

Some kinds of circuits need a 'matched pair' of transitors, for accurate balance. That was hard to acheive when transistors were made as individual devices. The solution was to make them as a pair. It was something like two cookies side-by-side on the same baking sheet, baked at the same time, would come out nearly identical. These were sold in the same little tin cans, but with six wires sticking out of each can. Later, when someone figured out how to make the resistors and capacitors on the same piece of silicon as the transitors, the 'integrated circuit' was born. At first, the integrated circuits where packaged in the same little six-wire cans as the matched transistors. With just two of those integrated circuits, we could make one 'flipflop' (a circuit for storing one bit), which previously occupied about a 4-inch by 6-inch area. Today, thousands of 'flipflops', or millions of transitors, fit on one integrated circuit. I remember that as companies like Motorola and Texas Instruments made more and more dense integrated circuits, they would brag about how many transistors were in each circuit. Now, nobody bothers to count.

The steady increase in integrated circuit density was described by Moore's Law (see here and here), which observed that the number of transistors per square inch on integrated circuits had doubled every year since the integrated circuit was invented. As the rate slowed, this was later revised to 'double every 18 months' and then to 'double every 24 months'. A few years before I retired, I was asked to design a circuit that could not be built -- yet. I was asked to design the most powerful digital correlator that could be built on one 'chip' in 2010. So I had to use Moore's Law to estimate -- to predict -- how much addition logic could be put into one integrated circuit in 2010. It was tricky, because Moore's Law was sometimes also stated as a doubling of speed rather than density, and addition can not only be done twice as fast by using circuits that are twice as fast, but also by using twice as much circuitry.

This wasn't the first time that I have designed for the future. Most electronic designs are rushed into production, to try to beat the competition. But when designing for GPS (the Global Positioning System) satellites, the design cycle is much slower-paced. The main reason is that if the circuits in a satellite fail, it is VERY expensive to send a repairman (a.k.a. space-walking astronaut) up to fix it. It is also very expensive to launch the satellite to begin with, and often a launch fails, and millions of dollars are suddenly lost. So the design cycle is deliberately slow and very careful, with lots of checking and testing. Then when a GPS satellite is built, it is not launched right away -- it is put into storage, and launched only when an older satellite fails so badly that it needs to be replaced. So, for example, my Phase Meter, which was invented in 1995 and patented in 2002, and destined for new GPS designs, is still not in space yet.

Sunday, July 17, 2005

My First Purchase

Here's one of my earliest memories -- when I was about four years old. I found a penny in a couch, and asked my oldest sisters, who were teenagers at the time, who I should give it to. They explained that there was no way of knowing who lost it, so now it belonged to me, because I had found it. Mom agreed. I was partly delighted, and partly puzzled. One sister said I could save it until I had enough to buy something I wanted. The other said it would be a long time before that could happen, because I got no allowance when I was four. Mom said I could buy a cookie with the penny. There was a store down town that sold sugar cookies for one cent each.

I could walk down the street to the store and buy the cookie all by myself, it was proposed. But I had never walked down the street by myself before -- I could get lost. But it was easy, they assured me. And next year, I would be going to school, Mom said, and this was on the way to school, so I would learn part of the route. All I had to do was go down the hill, then uphill a little, across the railroad tracks, then to a street with stores. The store with the cookies was the first one on the right, and the cookies were in a glass case near the front of the store.

They rehearsed the directions with me until I was convinced that I could do it. So, clutching my penny in my fist, I left on this new venture. It helped that the street was straight, because half-way down the hill, I could look ahead and see the railroad tracks, and could look back and see the street in front of our house. When I reached the street with the stores, I turned right and entered the first store. There, behind glass, I saw stacks of BIG sugar-coated cookies. A kind-looking lady leaned over and looked down at me and asked what I wanted. One of those cookies, I said, pointing, and holding up my penny.

Soon I had one of those big cookies in my hands. I had to admire it a bit before I ate it. And I was proud that I had walked to the store and bought it all by myself. Then it occurred to me that if I ate it before returning home, there would be no evidence that I had completed my quest successfully. So I held it very carefully and carried it home and showed it to everybody before I ate it.

Saturday, July 16, 2005

Death, From a Heavenly Perspective

Another poem of my youth -- I imagined what death must seem like AFTER arriving in heaven.

Death
written 3/11-12/56

I still remember when I died,
With joyous expectation sighed
While they, not understanding, cried.
My wife was kneeling by my side
Alone; the others stood outside.

I told ner, "God is calling me
The second time. The first time He
Called me a worker here to be,
And now He calls me home. I'll see
Him there, and from sin's grasp be free.

Don't look so sad." She said, "But Dear,
Although to die I have no fear,
To live without you will be drear.
Of course you know I'll shed a tear."
I said, "Although you want me here,

God also wants me. I suppose
He has a reason, for He knows
It's better in that realm where woes
Are gone, and never blows
The storm of strife. The close

Of life on earth is nigh.
I'm going. Do not cry.
I'll see you soon. Good-bye."
And then I breathed the final sigh.
I'm waiting now for her to die.

Friday, July 15, 2005

In The Beginning Was Information

In Wednesday's blog post, Information From Randomness? and in Monday's, The Development of Information Processing, I compared information and energy: Both cannot be perfectly stored or transmitted.

There's another similarity: Both are essentially invisible, although we have ways of seeing them. We cannot see heat energy, for example, but we can generally feel and sometimes see its effects.

If I send a message by telephone, my words are first carried by sound (pressure variations in the air), then by voltage and current variations on wires, then by sound again. Then someone may write my message down, so that it is carried (and stored) by ink on paper. They could even rearrange Scrabble pieces to record my message.

Now, my information was transported from one place to another, and even recorded (transported from one time to another), but the information was not made of air, nor of electrons, nor of ink. Neither was the information made of the sound energy nor the electrical energy. It is not matter, not energy, but it needs matter and energy to be transmitted and to be stored.

The ancient Greeks had a word, logos, that comes close to our word, information. One definition that I found says that "it may refer to a word or a thought or a spoken phrase or an idea". Another authority says that logos meant a visible representation of an invisible thought. The Greek philosophers thought that there was a mysterious universal power in the logos. Heraclitus, a philosopher of ancient Greece preceding Socrates and Plato, thought the logos was the underlying order or reason for the activities of nature and the universe.

So when the apostle John wanted to introduce Jesus Christ to the Greek-speaking world as the invisible God in visible flesh, the one who spoke the world into existence and who holds it together by his power, he introduced him as The Logos: "In the beginning was the Word, and the Word was God." (John 1:1)

The scientist, professor, lecturer, and writer Werner Gitt took that phrase for the title of his book, In the Beginning was Information, which I reviewed at the "Chapel Summer Readers" night. Gitt saw his work as an extension of Claude Shannon's Information Theory. As such, Gitt's definition of information is broader that Shannon's definition. I cannot cover all that is in Prof. Gitt's book, but his theories provide great support for creationism. This, of course, has sparked much debate, and much of the objection to Gitt's ideas are confused by not recognizing that Gitt's definition of information is broader than Shannon's.

What I find especially significant is the fact that the only recorded information that we know of that is not recorded by mankind is the DNA that we find in all living things. The DNA has a four-letter alphabet, and these symbols are arranged in linear sequences that describe how to build the proteins of living things. Scientists say that theoretically, there can be other 'DNA languages' that work equally well for providing this information, but for reasons they cannot explain, there is observed only one 'DNA language' for all living things, from viruses to humans. If living things somehow evolved from a 'primordial soup', we would expect many 'DNA languages', just as we have many human languages.

There are scientists who search for signals from outer space hoping to find signs of intelligence. There is radio energy reaching us from outer space, but they search for patterns that might convey information. I wonder what would happen if someone launched a spacecraft that radioed back to earth a signal that encoded a DNA sequence. Would they recognize it as a sign of intelligence? I think they might -- at first. They would first recognize that the radio signal was actually carrying information, and that the information must have come from some kind of intelligent being. But as soon as they found out that it was DNA and that the implication was that DNA has information from some kind of intelligent being, they would change their minds, because they wouldn't like where the logic was leading them.

Thursday, July 14, 2005

We're Not Afraid!

As he was evacuated from a King's Cross underground train after the recent bombing, Adam Stacey sent a photo by cell phone to his friend Alfie Dennen, a web designer in London. When Dennen posted the photo on his blog and began to get a flood of reactions from other friends, he was inspired to set up a new web site to send a defiant message to the terrorists: "We're not afraid."

Within two hours, the web site www.werenotafraid.com was operating. The site has over 2200 photos from all around the world, many with the text "We're not afraid" in the picture or added to it. And they have raised nearly $2000 for the Red Cross London Bomb Relief fund.

In the middle of Gallery 33 on the web site, one photo sent the message without need for words:

It reminded me of the Psalmist's words:
Yea, though I walk through the valley of the shadow of death, I will fear no evil: for thou art with me; thy rod and thy staff they comfort me.
(Psalm 23:4)
What a comfort! -- for those for whom The Lord is their shepherd.

Wednesday, July 13, 2005

Information From Randomness?

At the end of a previous post The Development of Information Processing, I segued into a discussion of DNA and stated:
Those who ascribe to the faith called Evolution have convinced themselves that all this complex machinery [DNA], which we have only begun to decipher, came into existence through random processes. They would like to believe that somehow information can arise out of randomness, but we who design computers know better.

Making information out of nothing is like the pseudoscience of perpetual-motion machines. These were proven to be impossible, because energy cannot be perfectly stored or transmitted. Always a little bit leaks out of the machine -- typically friction creating heat -- lost energy. In computer science and information theory, we know that likewise, information cannot be perfectly stored or transmitted. Always a little bit (or more) of error creeps in, and the data erodes.
One evolutionist, Richard Dawkins, wrote a book, The Blind Watchmaker, in which he describes a computer program and results that he claimed demonstrated that evolution was virtually inevitable. His program, sometimes called the Dawkins' Weasel Algorithm, essentially claims to create information out of randomness. (According to information theory, pure randomness is zero information.) But like those putative perpetual-motion machines once made by quack inventors, we can show that the claim is fraudulent.

We will show that (1) the program does not create information out of randomness; and (2) the program does not simulate evolution, as claimed.

Suppose I put a stencil with the words STOP HERE in front of a piece of paper and sprayed paint in the general direction of the stencil. The drops of paint fly in random directions, and some drops go through the stencil, coloring the paper behind it, and other drops are blocked by the stencil. Eventually, the words STOP HERE appear on the paper behind the stencil. Now suppose that I argue that the random paint drops have evolved into a meaningful message -- that I have created information out of randomness. You wouldn't be convinced, would you? No, it is obvious that the information on the paper came from the stencil, not from the randomness of the paint drops.

Dawkins' Weasel Algorithm essentially uses a similar principle, but is cloaked in evolutionary terminology and other description that hides the deception. It's not quite as simple as the stencil illustration, but it also uses a template that forces the random actions to create the desired result. And it's simple enough that you don't have to be a computer programmer to understand it.

The object of the program is to create, using random selections, the following phrase taken from Shakespeare's Hamlet:

METHINKS IT IS LIKE A WEASEL

It has a length of 28 characters, including the spaces. (We need to say 'characters' instead of 'letters', because space isn't a letter.) So the random process begins with a random string of 28 characters (randomly chosen from the upper and lower case letters and space), such as:

trial 01: zYODhPvNZUhwMGOBzik LTqJipFB

The first step is to compare the random string with the 'target' string (the template), and make new random choices for characters that do not match the target in corresponding positions:

template: METHINKS IT IS LIKE A WEASEL
trial 01: zYODhPvNZUhwMGOBzik LTqJipFB
trial 02: OgoRTm dnNdCvPeLJmP aWQsgraU

Notice that because one of the spaces was matched on the first trial, that position is not changed. The process described above for the first step is repeated until all positions are matched. Notice that once a match is obtained in some position, that position is no longer changed.

We show a typical sequence below, where, to save space, we show only every 10th trial after the first 10 trials:

trial 01: zYODhPvNZUhwMGOBzik LTqJipFB
trial 02: OgoRTm dnNdCvPeLJmP aWQsgraU
trial 03: QhgYWG TAZLjAshLVhU OvSylTIH
trial 04: jHQszcLeGLXy kYLXmg kzZNynvO
trial 05: mkIlsHmMjdjjzRlLcWL KyEsSZSA
trial 06: ky WAEphIFBhFfiLCnz MIwQYCJC
trial 07: kebPbNxUhLBj yoLwXC sjAOJCbk
trial 08: wCjseNNsuNWqeqULJjS ZaVDbTil
trial 09: aEAqLNMXaAhlIjTLrwx euhfhgEf
trial 10: xEfIpNNHIfSXIZZLhGL TELvHdEx
trial 20: yEQNONKa sJdIspLTrJ HhudZREA
trial 30: PEUdWNKV plNIERLhbE enWPISEG
trial 40: MEOpyNKs BVIIcSLLOE IRWEASET
trial 50: METJgNKz hTkISRLNpE v WEASEU
trial 60: METHINKF YTYISALfJE O WEASEN
trial 70: METHINKo hTNISOLuKE A WEASEx
trial 80: METHINKX DTvISfLgKE A WEASEC
trial 90: METHINKb iTyISwLvKE A WEASEk
trial100: METHINKQ IToISbLTKE A WEASEC
trial110: METHINKp ITAISrLaKE A WEASEz
trial120: METHINKS ITjISrLIKE A WEASEC
trial130: METHINKS ITMISpLIKE A WEASEx
trial140: METHINKS ITGISeLIKE A WEASEn
trial150: METHINKS ITvISELIKE A WEASEB
trial160: METHINKS ITEISwLIKE A WEASEL
trial170: METHINKS IT ISjLIKE A WEASEL
trial177: METHINKS IT IS LIKE A WEASEL

Notice that there is nothing in the rules that involves any interaction between character positions (columns). Therefore, every column is an independant random process where random choices are made until the target character is chosen. And, of course the target character is eventually chosen, else the choices are not truly random. (For example, if a die never fell with face 6 up, we would know that there was something wrong with the die.)

It is obvious where the information is coming from. In the program that I wrote to generate the above data, there is the line:

Target: string28 = 'METHINKS IT IS LIKE A WEASEL';

The information is coming from this part of the program. If I change this program line to read --

Target: string28 = 'METHINKS IT IS LIKE A RABBIT';

-- then the result of the program will change accordingly.

In Dawkins' description of the program, each step is said to simulate one generation of an evolutionary process, and the random choices are said to simulate random mutations. But the program does not simulate evolution, and isn't even an evolutionary algorithm.

No evolutionist claims that evolution proceeds until a given animal is acheived. No, the basic theory is that the random choices (mutations) survive when the animal is more 'fit' for its environment.

So let's say that grammatically correct strings with correctly spelled words simulate 'fit' animals. Spelling and grammatical errors will simulate flawed animal designs, or at least a need for improvement. So the line above labeled "trial170" might plausibly simulate such a case.

But what about trials 1 through 50? (Go look at them.) They have so many flaws -- they are so badly mangled -- that they don't even look like dead animals! So here's the key question: How did they reproduce to get to generation 50?

Furthermore, note that the data above is biased in favor of evolution because the mutation rate is way too high, and because the choices are guided by a grammatically correct template. In spite of this, the first 50 'generations' don't resemble anything that can plausibly represent an animal that can reproduce.



Sometimes it helps to look at a subject from multiple viewpoints. The discussion is continued in Dawkins' Weasel Algorithm, Revisited, which looks at it as a Markov process.

Tuesday, July 12, 2005

Bubbles

Another poem of my youth --

Bubbles

"And the world passeth away, and the lust thereof; but he that doeth the will of God abideth for ever." -- 1 John 2:17

Never trust a bubble,
Though it bobbles in the air,
Or drifting gently there,
Does allure.
Though it twinkles in the light
With colorful delight,
Don't be sure.
Though you very lightly grasp it,
Though you very gently clasp it
Like a dunce;
All at once,
Nothing first,
It will burst.

Monday, July 11, 2005

The Development of Information Processing

Mankind has always communicated, and earlier than many admit, by written language. But the invention of the printing press launched a major change in the spread of knowledge, because it was so much more efficient than hand-copied books and traveling teachers and story-tellers. More recently, the Internet has accelerated the spread of knowledge more than ever.

But we have discovered how to do much more than simply reproduce and distribute information efficiently. Perhaps it began when clockmakers figured out how to put short and long notches on a wheel to control the chiming of a clock. Or when the player piano was invented, where holes on a roll of paper control the sequence and timing of the notes played. Other machinery was made to robotically play drums, violins, horns, and other instruments. All these machines translated recorded information into sound. Then the phonograph was invented, which translated sound into recorded information, and afterward translated it back to sound as often as desired. Then came the telephone, which translated sound to an electrical form that could be transported over long distances without recording and playback.

In some of these examples, you can say that the recorded information was translated into mechanical action. For example, the player piano roll controlled the striking of the piano keys. Perhaps this was the inspiration for machines that automated the weaving of tapestry designs -- punched holes controlled whether threads were lifted above or dropped below the path of the shuttle of the loom. Later, punched paper tape was used to control machines that could drill any set of holes in a part to be manufactured, or robotically apply any set of rotary tools to a manufacturing task. These all translate recorded information into a sequence of actions.

Other people were interested in just processing the information, that is, calculating. Astronomers and other scientists relied on long, tedious, and error-prone calculations. Much of the general-purpose calculations could be prepared beforehand and stockpiled (like prepared foods) -- for example, a table of square roots, or trigonometric functions. So people created adding (and subtracting) machines, multiplying (and dividing) machines, and 'difference engines' to generate and use these tables. These machines translated information (such as "30x31") into a useful equivalent of the information (such as 930). The methodology was mechanical actions (for example, rotating digit wheels), but the overall function was information in and equivalent (derived) information out.

So far, all of the types of machines mentioned use a single sequence of information, except when the operator intervenes by choosing the sequence -- choosing the song to be played, or the hole pattern to be drilled, or the formula to be calculated.

Now, what if the machine could control its own sequence? For example, the music player could play the verse, then chorus, change key, play the verse and chorus again, increase the volume and repeat the chorus. The drilling machine could drill 30 boards with pattern A, then 50 boards with pattern B. Or the calculating machine could compute formula A, and if the result is positive, compute formula B, else formula C. And repeat this for another set of data, and another, until 50 sets of data have been processed.

The concept of sequence control, or self-control, or the machine talking to itself, so to speak -- thrust information processing into the computer age. First attempts where mechanical, then vacuum tubes, then transistors. That's the stage where I first got involved. You could see the transistors back then, because they weren't miniaturized yet. Today, millions of transistors are packed into one small package.

It was obvious that many of the things these machines were designed to do were similar to human activities, so words like read, write, memory, and decision were used to describe machine functions. We knew we were trying to emulate human thinking, difficult as it was, and still is.

When computers were developed, the machines became more general-purpose. That's because the machines now had two kinds of information: the information being processed (data), and the information that controlled the processing (software). The visible machine (the hardware) could do almost any processing, given suitable software. Give it word processing software, and the machine becomes a word processor. Give it accounting software, and it becomes an accounting processor. Give it telephone control software and hide it inside a telephone, and you have a 'smart' telephone. And don't tell the consumer that there's a computer in his telephone, lest he be afraid to use it.

At some point along the way, the designers realized that the information that they were putting into these machines was actually language. It was strange languages designed to best fit the design of the machines, but still, it was language. It was difficult and error-prone to write machine language, so more human-like languages were designed that could be translated (by computer, of course) into machine language. A simple example of 'programming language':

X:= 0; repeat X:= X+1 until X > 9;

Translation to real English: Set the data called 'X' to zero, then keep adding one to it until it is greater than nine.

This programming language gets translated into machine language for use by the computer hardware. I won't show it to you -- trust me, it just looks like gibberish.
___________________

Contemporary with the computer scientists, scientists of biology were discovering DNA, and RNA, and began unraveling the mysteries of the machinery of life. The DNA, they found, was another kind of machine language. Whereas our computers use an alphabet of 0 and 1 (zero and one), the DNA uses an alphabet of A, G, C, and T, which name the acids Adenine, Guanine, Cytosine, and Thymine which are the symbolic parts of a DNA molecule. These are arranged in a sequence, just as are the symbols of human and computer languages. Some parts of the sequence describe how to make proteins, and some parts function like punctuation. Some parts haven't been deciphered yet; some have assumed that these are useless junk, but others are beginning to understand uses for the presumed 'junk DNA'.

Those who ascribe to the faith called Evolution have convinced themselves that all this complex machinery, which we have only begun to decipher, came into existence through random processes. They would like to believe that somehow information can arise out of randomness, but we who design computers know better.

Making information out of nothing is like the pseudoscience of perpetual-motion machines. These were proven to be impossible, because energy cannot be perfectly stored or transmitted. Always a little bit leaks out of the machine -- typically friction creating heat -- lost energy. In computer science and information theory, we know that likewise, information cannot be perfectly stored or transmitted. Always a little bit (or more) of error creeps in, and the data erodes. That's why hard drives have CRC (Cyclic Redundancy Check) codes to detect errors, and we backup our data and software with extra copies. That's why our bodies have redundant copies of the DNA.

Yes, we see DNA errors (genetic defects), and we see adaptive adjustments to the 'gene pool', but nobody has ever observed information being created out of nothing. Like any other information, Somebody created it. That's a subject that we will pursue further, later.