MABALACAT CITY – As the Commission on Elections (Comelec) recently brushed aside allegations that the legality and credibility of the May 13 polls would be questioned because of the absence of a source code, people are asking: What is a source code?
IT experts say the “source code” is the set of instructions translated into “binary code” for the Precinct Count Optical Scan (PCOS) machine hardware that scan the ballots of the voters during the elections.
Accordingly, the source code is for humans while the binary code is for the computer. A human cannot read the binary code, only a computer can read this, the expert said.
Normally, a computer programmer is needed to write the source code before it is translated into a binary code. This is done in order to verify what the programmer commands the computer to do.
If upon verification the source code is okay, it is converted or translated into binary code which commands the computer what to do. The converter is called “compiler” or “interpreter.”
If the computer that is now running the binary code comes up with a doubtful result, it can be verified if the binary code has not been altered from the original converted source code.
Therefore, the expert said, the absence of a source code would greatly undermine the credibility of the results which is now the cause of the controversy in the Comelec.
In converting the source code into binary code, the computer computes a “hash code” of that program. The hash code is a number that is inconsequential but is very important, the expert said.
If the hash code is acquired, it is compared to the hash code that is being used in running the binary code of the same hash code procedure. If the hash code that came from the binary code is the same hash code that was used in converting it from the source code, it means the binary code that commands the machine is the original and true source code.
But if the hash codes are not the same, it means that there was tampering of the original in the converted binary code.
The hash code is published by the Comelec in their website, the expert said.
Meanwhile, another expert said a binary code is simply 1’s and 0’s or On & Off, ergo BI-meaning two (2) when put together in an array of four or eight binary digits is called a bit (a.k.a. bits). Its combination formulates into characters from A to Z and 0 to 9 which when compounded into larger compilation leads to instruction sets such as open-close, read-write, edit-delete, add-subtract, etc.
He added that its early history dates back in 300 BC but was used and later re-discovered for mathematical expression and formulation between 18th and 19th century from Eugene Paul Curtis to George Boole (of the Boolean Algebra).
A simple interpretation for binary code, machine-readable language and source code, human-readable language, is likened to a multiple wheeled carriage, i.e. “machine”, drawn by horses (binary code) as compared to the horseless carriage or automobiles (source code). In both cases, they pull or run the multi-wheeled carriage, the “machine”.
In the early days, the first generation human-readable languages where Assembler, FORTRAN, Pascal, followed by the 2nd and 3rd generation like C, C++, COBOL, BASIC, RPG, and later in the years thereafter came DBASE, INFORMIX, and now there’s JAVA, PHP, HTML, etc.
So the first generation would be likened to the first Ford Model T and eventually technology improved and now you see thousands of horsepower engines running these modern day multi-wheeled carriages from cars, trucks, buses to haulers.
Take out the source code, i.e. engines, and use the binary code is like getting hundreds, if not thousands of horses, to pull or run any of these multi-wheeled vehicles from cars to haulers at the speed and strength they were made or designed to run, he explained.