DEV Community

Cover image for SPO600 W1
Gustavo Tavares
Gustavo Tavares

Posted on

SPO600 W1

Hi There,

Long time no see. This time instead of talking about my adventures in open source I will talk about binary Data representation as I am learning more about it on SPO600 at Seneca College.

SPO is about portability and optimization of software, and to enter this world there is some terminology that we should make clear first and then let’s talk a little about binaries, in a way a normal human being would understand it.

Basic Terminology list:

  • Portability and Porting:

Portability is the act of making a software work on different operational systems.

Porting is the act of making a software working from one operational system to another.

  • Benchmarking:

Benchmarking is the act of measuring the software performance in a controlled ambient so it can be compared with other software.

  • Optimization:

Optimization is the action evaluating ways to make the software perform better.

Optimization can be related to different aspects as speed, storage, power and others.


Now, lets talk about Binary?

Basically, it is the language that the computer uses to communicate. Of course, there is a very deep and advanced explanation to this but for now we just need to understand that if we type “Hello World!” it will be converted to:

01001000 01100101 01101100 01101100 01101111 00101100 00100000 01010111 01101111 01110010 01101100 01100100 00100001
Enter fullscreen mode Exit fullscreen mode

In the “computer world”.

Maybe it makes no sense for us right now, but this is how the computer understands it.

How can we represent different types of Data?

Now that we know how the computer read and write, another question maybe comes to mind:

How can we translate things like Characters, Audio and Images to binary so computer can understand and reproduce it?

  • For Characters:

They first are encoded as integers, where each integer represents a character in an ASCII table for example.

ASCII

  • For Audio: As we learned, audio is just vibration in the air. These vibrations can be measured and converted in numbers; a process called Pulse Coded Modulation. Because raw audio consumes a lot of storage, it is usually compressed.

PCM

  • For Images: Colors are converted on RGB values using metamerism.

metamerism

Finally

I know this was a very superficial explanation of very deep topics, but my goal here is not to give you a lecture, just give you an update on what I am learning now.
Our perception on how the computer works is a illusion, behind the screen everything is ones and zeroes. And to think how we could convert sound and image into numbers is an interesting topic.

Thank you for reading this,
And see you next time!

Discussion (0)