Braille and Computer Science

Code is a book that I wish I had read in college. At one point, Charles Petzold explains the Braille system used by the blind and (beat this) how relevant it is to modern day computers! (Actually, I am not sure if that’s because computer science/communication ideas flowed back into Braille; or the other way around).

 

Louis Braille was French, went blind at the age of 3 in the year 1812 and “would have been doomed to a life of ignorance and poverty” (There was no system of reading for the blind back then). The closest system arose in 1819 via a captain of the French army, Charles Barbier. Called “night writing”, it was a pattern of raised dots and dashes meant for soldiers to communicate at night, without giving away their positions by lighting candles. But it was too complex a system for the blind to use, at best OK for short messages, but not scalable to entire books. Braille took that system and tailored it for the blind.

 

Now to the relevance of that code to modern day computers. Braille is a 3X2 (3 rows, 2 columns) grid of dots. Each combo of raised and lowered dots in that grid represents a different letter or number or whatever.


 

Notice the similarity to computer codes yet? Each dot can be raised or lowered: 1 or 0. Each dot of the 3X2 grid is a binary digit (bit) in other words. A combo of these bits represents a letter!

 

But if this was all there is to Braille, we could have just talked of Morse code (dashes and dots can be considered a form of binary too). If you do the maths, Braille allows for 2 X 2… X 2 (6 times since there are 6 slots) permutations, i.e., 64 possible characters.

 

English needed 26 + 10 = 36 characters. But the nearest power of 2 that supports 36 is 6 dots (5 dots would allow support 32 possibilities). Even if French has a few more letters, surely 64 is overkill. The rest must be unused, right?

 

Wrong. If you have the extra slots available beyond letters and digits, why not use them for other things? Like punctuation marks. Sure, but even after that, you’re left with many unused codes. The Braille code over time started assigning those unused codes to:

  1. Common words like, in English, “the”, “of”, “for”, “but”, “is” etc;
  2. Common letters that occur in succession e.g. “ch”, “th”, “ou”, “er” etc;

Makes sense, right?

 

But even after all of the above, we’re still left with several unused codes. Today, many are used as “precedence” or “shift” codes, i.e., “they “alter the meaning” of how to read the code(s) that follows. For example, one precedence code basically says “Consider every code that follows to be a capital letter”, until told otherwise. Which, of course, means that there’s a code for “End of precedence/shift” interpretation.

 

Obviously, different languages assign different codes for characters unique to their language. In other words, the same Braille code can stand for different things in different languages. See the parallel to how files on your computer, all with 1’s and 0’s, can be interpreted as a text file or a video file?

 

Like I said at the top, I don’t know how many of these ideas have flown back from computers/communication fields back to Braille over time. Regardless, the concepts today in both are the same on multiple fronts. And it’s a lot easier to understand it starting from Braille than it is to understand the same starting from the computer/communication end. Perhaps they should teach it from the Braille end at computer science and communication courses at college…

Comments

Popular posts from this blog

Student of the Year

Animal Senses #7: Touch and Remote Touch

The Retort of the "Luxury Person"