Tuesday, 14 February 2017

The Efficacy of the Binary System - The Yoruba Perspective

Èjì Ogbè says…
Èjèèji ni mo gbè
N ò gbe ọ̀kan ṣoṣo mọ́
Translation…
I will only support two
I will no longer support one
This is a profound declaration by Èjì Ogbè - the principal desciple of Ọ̀rúnmìlà - the greatest philosopher who ever lived in Yoruba land.
The power of the Binary system has been harnessed in the computing industry since the dawn of the Information age because of its simplicity and efficiency. All digital equipments use “On” and “Off” i.e 1 and 0 to represent information.
Below is a computer machine code that adds the numbers from 1 to 10 together and prints out the result:
i.e. 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55
0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0
0 1 0 1 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0
0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0
0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
In Ifa, the patterns of bits above translate to...
owonrin-osa eji-ogbe eji-ogbe
owonrin-osa ogbe-osa ogbe-osa
owonrin-meji ogbe-osa ogbe-otura
ofun-osa ogbe-oturupon ogbe-otura
otura-meji ogbe-otura ogbe-ogunda
irete-owonrin ogbe-osa eji-ogbe
irete-osa ogbe-osa ogbe-osa
osa-ogbe ogbe-otura eji-ogbe
edi-otura eji-ogbe eji-ogbe
This was how programmers used to write computer programs before high level programming languages like Fortran and Lisp were created in 1957 and 1958 respectively.
For programmers, entering these patterns manually was a laborious, tedious and error-prone task. Even for a seasoned programmer, it could get dizzy and nauseating after assembling a couple of these patterns.
However, a competent Ifa priest can commit to memory 256 of these patterns without breaking
a sweat and able to recite close to 4,000 Ifa verses by heart!
Effectively, the meaning of the 1s and 0s in the code above is as follows:
1. Store the number 0 in memory location 0.
2. Store the number 1 in memory location 1.
3. Store the value of memory location 1 in memory location 2.
4. Subtract the number 11 from the value in memory location 2.
5. If the value in memory location 2 is the number 0 continue with instruction 9.
6. Add the value of memory location 1 to memory location 0.
7. Add the number 1 to the value of memory location 1.
8. Continue with instruction 3.
9. Output the value of memory location 0.
Using names in place of numbers for memory and instruction locations, we can do the following:
Set the value of "total" to 0.
Set the value of "count" to 1.
[loop]
Set the value of "compare" to the "count" value.
Subtract 11 from the value of "compare" .
If "compare" is zero, continue at [end].
Add "count" to the value of "total".
Add 1 to the value of "count".
Continue at [loop].
[end]
Output "total".
In a modern programming language like Python, we can write the following:
total = 0
count = 1
while count <= 10:
total = total + count
count = count + 1
print total

No comments:

Post a Comment