We should not judge people by their peak of excellence; but by the distance they have traveled from the point where they started.

Tuesday, September 13, 2011

Computing, Encoding and Decoding

Computers were invented for the sole purpose of doing computations, i.e. number crunching. Because number crunching was a repetitive, yet hugely important task and any errors in it could mean disastrous effects. So this boring task needed to be automated and done by a machine, which would keep on doing it until it was provided by sufficient power to be able to do it.

However, soon computer became a general purpose tool for doing lots of real life tasks. For example. Gaming, document editing and storage, managing virtual infrastructure etc. Why was this possible? One simple aspect of encoding decoding enabled this transformation. Computers used a format called binary representation, to store, and compute its work. The work itself was converted to this format, and when the work was done, the work was re-converted to human understandable representation again.

This is in crux what is termed as encoding (converting one format to another format) and decoding (converting back the new format to original / another format). One important aspect here is, the input format was variable, however the format in which computer works was always fixed, termed the binary representation. For example. If I say, Mrunal is represented by - 0 and Ninad is represented by - 1, then in a coded language I can use many such combinations of 0s and 1s to represent different words and form a meaningful sentence. If I am able to form a meaningful sentence, I can go one more step ahead and use more such representations and build a complete full-fledged language out of just different combinations of 0s and 1s.

If encoding / decoding is the crux of doing things, I can literally encode (convert) any thing present on this earth to binary representation ( or for that matter any other representation), do some processing on it and convert it back to some another form / original form. For example. Lets assume I want to transfer smell of a rose to a person in America from India. I can use sensors which detect smell (Think how our nose works to detect thousands of smells it encounters daily. Our nose is a super sensor, it senses converts it to appropriate format which is understandable by our brain (processor) and brain works on how to use that smell to stimulate further action, like smell of a perfume might make you recall some fond person you were associate with and trigger those memories to come back etc.), so lets assume if we have such a artificial nose sensor, whose input is smell and output is a binary format (different combinations of 0s and 1s), then as long as we have corresponding decoder, which is able to reproduce such smell at the other end in American by using this binary representation as input, we have transported smell from your home to another country. Hurray.

Entire computer systems work on this magic of encoding /decoding. Thus you can apply this logic to any thing around you and if you are able to design such an encoder, decoder, you will be able to do amazing things with it. This need not be limited to physical things, abstract things such as emotions could also be encoded, decoded and transferred to the correct fine grained details.

This is the art of computing and its secret of success. As technology proceeds, and scientist are able to build better encoders/ decoders we will see plenty of such new utilities. Some day, by advances of Physics you will be encode a human being in entirely at source and send him to another place by decoding him.

Science is beautiful because it thrives on such ideas and helps humanity prosper in better ways. Only hitch is science should be made affordable to all types of people and not stay limited to only a certain section of society, who can afford it. Personal computers were an item of super luxury for middle class individuals a decade ago. Now, it has become a necessity. Mobile phones were also a luxury however, now your maid has a mobile phone. Thus, mobile phones will carry the sole onus of spreading technology to different strata of society. Because, for encoding / decoding you need an access to a device and mobiles will provide that access in coming time.

Bill Gates wanted his Windows OS to be a part of people's home computer, and he did it. I want our low end section of society to own a mobile and be able to afford access to information, which would empower them to be more knowledgeable, and help build a better India.

No comments:

Post a Comment