Typing The Letter A

Understanding the Code of Life (Part 3: Computer Code)

I assume that each and every one of us has typed something on a computer. Whether it's an email, a document, or some code – we have all been through the seemingly simple process of watching the letters we type on a keyboard appear on a screen.

But let's take a moment and think a bit about this (not so) simple process. How is it that the letter A (or any other letter for that matter) ends up on my screen. Why don't I see a Q (or nothing at all)?

Similarly, what happens when I print, save, or send via email that letter A . What exactly is it that is being sent to the printer, screen or my friend half-way around the world? And what is it that is being saved on my hard drive, CD-ROM or disk-on-key?

It seems clear that somehow or other all of these various devices 'know' how to 'speak' to one another. And what's more they can 'communicate' in a wide variety of different formats – via electrical cables (standard keyboard), pulses of light (fiber optic cables), radio waves (wi-fi), microscopic indentations read by a laser (CD-ROM), magnetically (hard-drive) and more. Data (whether it is the letter A, a video, a document, a program or more) seems to be rather flexible.

So what are all these light pulses, radio waves and indentations doing? What is it that is being saved, transferred or manipulated? How do keyboards and computers 'talk'? And, of course, what does any of this have to do with DNA?

Paul Revere and Mutually Agreed Upon Codes

To answer this question we'll turn to Henry Wadsworth Longfellow's famous (albeit inaccurate) historical rendering of a famous event in US history – Paul Revere's midnight ride.

The story begins in April of 1775. Paul Revere and his fellow revolutionary colonists know that the British are planning an invasion of Lexington and Concord. They also know that they will attack via one of two routes, either by land or by sea. What they did not know was which route they would take – and this posed a serious problem for the rebel colonists.

This is where Henry Wadsworth Longfellow's famous line of 'one if by land, and two if by sea' comes to play. Before Paul Revere can start his famous midnight ride to warn the colonists of the impending British invasion he needed to know when the British were coming and via which route. But how could young Paul Revere know in time?

The solution was to be found in a simple lantern lit in a tall tower by a local parish. The parish provided the lookout and Paul Revere stood patiently on the other side of the river waiting for his signal. If the parish noted that the British were invading by land then he would light one lantern. If, on the other hand, they were coming by sea then he would light two lanterns.

With this simple, yet elegant and efficient code, Paul Revere was notified of the pending invasion by sea and set off in the middle of the night to warn the local townsmen.

Now, what interests us in this story is the use of the lanterns as a code for transferring information. It goes without saying that this simple code only works if the parish and Paul Revere know the code. If the parish rings a bell instead of lighting a lantern, Paul Revere won't ride. Similarly, if the parish thinks that one is by sea and two is by land, then he would have lit one lantern and the colonists would have prepared for the wrong invasion.

Of course, there is no reason why one could not represent the sea or two the land. There is nothing about lanterns, codes, invasions, land or sea that indicates which number should represent the land and which one the sea. It is arbitrary in the sense that either option is workable as a code. That just happens to be the numbers they chose. What is important is the mutual understanding of the code, not which number represents the land or the sea.

Similarly, if we ignore practical considerations, there is no reason why a bell rather than a lantern could not represent the code. One ring if by land, two rings by sea. In fact, one could also dispense with numbers altogether and assign different notes or songs to the land and the sea. Or one could use colored flags – blue if by land, red if by sea. Or full mast if by land, half-mast if by sea.

In other words, the code (as a code) if flexible. All that is required is that the parties sending and receiving the code understand the code in the same way. So long as there is intellectual agreement, they are free to select whichever code best serves there particular needs and circumstances (such as lanterns at night which don't make any noise or raise any suspicion).

Paul Revere and Mutually Agreed Upon Codes

To answer this question we'll turn to Henry Wadsworth Longfellow's famous (albeit inaccurate) historical rendering of a famous event in US history – Paul Revere's midnight ride.

The story begins in April of 1775. Paul Revere and his fellow revolutionary colonists know that the British are planning an invasion of Lexington and Concord. They also know that they will attack via one of two routes, either by land or by sea. What they did not know was which route they would take – and this posed a serious problem for the rebel colonists.

This is where Henry Wadsworth Longfellow's famous line of 'one if by land, and two if by sea' comes to play. Before Paul Revere can start his famous midnight ride to warn the colonists of the impending British invasion he needed to know when the British were coming and via which route. But how could young Paul Revere know in time?

The solution was to be found in a simple lantern lit in a tall tower by a local parish. The parish provided the lookout and Paul Revere stood patiently on the other side of the river waiting for his signal. If the parish noted that the British were invading by land then he would light one lantern. If, on the other hand, they were coming by sea then he would light two lanterns.

With this simple, yet elegant and efficient code, Paul Revere was notified of the pending invasion by sea and set off in the middle of the night to warn the local townsmen.

Now, what interests us in this story is the use of the lanterns as a code for transferring information. It goes without saying that this simple code only works if the parish and Paul Revere know the code. If the parish rings a bell instead of lighting a lantern, Paul Revere won't ride. Similarly, if the parish thinks that one is by sea and two is by land, then he would have lit one lantern and the colonists would have prepared for the wrong invasion.

Of course, there is no reason why one could not represent the sea or two the land. There is nothing about lanterns, codes, invasions, land or sea that indicates which number should represent the land and which one the sea. It is arbitrary in the sense that either option is workable as a code. That just happens to be the numbers they chose. What is important is the mutual understanding of the code, not which number represents the land or the sea.

Similarly, if we ignore practical considerations, there is no reason why a bell rather than a lantern could not represent the code. One ring if by land, two rings by sea. In fact, one could also dispense with numbers altogether and assign different notes or songs to the land and the sea. Or one could use colored flags – blue if by land, red if by sea. Or full mast if by land, half-mast if by sea.

In other words, the code (as a code) if flexible. All that is required is that the parties sending and receiving the code understand the code in the same way. So long as there is intellectual agreement, they are free to select whichever code best serves there particular needs and circumstances (such as lanterns at night which don't make any noise or raise any suspicion).

Bringing Paul Revere to the Digital Age

t is the flexibility of codes and their ability to transfer information that provides an answer to our earlier question concerning typing the letter A. For instance, take a look at the following image:

For those of you in the know, these are the first 8 letters of the alphabet in Morse code. Morse code symbolically represents letters (and numbers) using a sequence of dots and dashes. To communicate in Morse code one simply needs a means of both sending and receiving the proper sequence of dashes and dots. This could be done using clicks, flashes of lights or even pen and paper.

Computers work somewhat similarly, but it uses a different code, different symbols and different means of communicating. Instead of using Morse code it uses ASCII code. Instead of using dots and dashes it uses 1s and 0s. And instead of clicks it uses wide variety of mediums including (but not limited to) electricity, radio waves, magnetism, and more (as we mentioned above).

To get a sense of how this works (and it's worth taking the time to get this sense), here are the lower and upper case versions of the letters A and B in ASCII:

AaBb
0100 00010110 00010100 00100110 0010

As you can see, each letter is symbolically represented by a series of 1s and 0s (the binary alphabet that computers 'use' and 'understand'.

With this table in mind, we can now get a better understanding of what happens when I type a capital A on my computer keyboard. The keyboard produces a series of electrical volts which symbolically represent the number 0100 0001. For instance, 5 volts symbolically represents the number 1 and 0 volts the number 0.

As such, to symbolically represent the letter A using ASCII code, the keyboard sends the following sequence of electrical volts to the computer which then relays that sequence to the screen:

0 Volts – 5 Volts – 0 Volts – 0 Volts – 0 Volts – 0 Volts – 0 Volts – 5 Volts

Upon receiving this sequence of volts, the computer screen 'knows' to display a capital A for the simple reason that the screen's manufacture built it to respond in that way.

In fact, we now see that we can add a row to the above table using volts (0 or 5) in addition to 1s and 0s as follows:

AaBb
0100 00010110 00010100 00100110 0010
0500 00050550 00050500 00500550 0050

As you can see, there is a direct mapping between the letter A, the 1s and 0s of binary code and the pattern of 0 and 5 volt electrical charges. It is this mapping of meanings that enables the code to work.

In fact, if we wanted to we could keep adding rows in any medium that is able to symbolically represent the ASCII pattern of 1s and 0s. What is important is not the medium, but how we organize and utilize the medium. So long as we are able to represent patterns of 1s and 0s then we can represent any number, letter or character that is represented in ASCII code.

Similarly, so long as the various manufacturers of our keyboards, computers, screens, printers and more build their devices to send and receive these symbolic representations of ASCII code then these devices can communicate with one another, save files to memory and more. On the other hand, if the manufacturers refused to use an agreed upon code, then typing an A on our keyboards would either do nothing at all or something rather unexpected (like turn our computer off or print a letter Q). The chances of it actually typing a capital A would be rather slim.

In short, the ability for our computers to function properly depends upon all devices involved using the same code in the same way. And in order for all the devices involved to use the same code, the manufacturers of those devices have to first and foremost intellectually agree upon the meaning of the code and its implementation. Without that intellectual agreement, the code doesn't exist and the computer won't work.

This explains why it is possible to use so many different means of transferring and storing information. There is nothing unique or special about electricity, it is just one of numerous mediums that can be used to faithfully and practically send and receive ASCII code. That is why we can use magnets in hard drives, radio waves in wireless technology and grooves in CD-ROMs. All of these mediums are able to symbolically represent the 1s and 0s pattern of ASCII code.

A New Look at Amino Acids and Proteins

With that said, let us consider for a moment the relationship between Amino Acids and proteins. In some ways the relationship between amino acids and proteins is similar to the relationship between the letters of an alphabet and words and sentence. It is not the letters themselves that create meaning, but rather their logical organization into meaningful words and sentences. So too, amino acids on their own do not create function, but rather their logical organization into viable protein structures.

With such an analogy in mind, we can wonder – is it possible to symbolically represent amino acids in the same way that it is possible to symbolically represent letters of the alphabet? Can there be a Morse or ASCII code for amino acids.

The answer is a surprising yes. Not only is it possible, but it already exists. It is what we refer to as the genetic code. It is the genetic code which enables DNA to 'instruct' amino acids to form functioning proteins. To understand how, we first need to take a closer look at the DNA molecule itself. In other words, it's time to begin science class.

Wait, come back. It won't be hard, I promise.

Join The Conversation!

Share your thoughts, comments, & ideas below.