Unix Guru : Definition of the Art of Code Obfuscation
“In order to master coding, you must learn how to obfuscate your code,” Old Nick the Unix Guru (UnGuru for short) said to me the other day. We were meeting for our usual morning coffee and scones.
“Why so? Why obfuscate your code?” I asked. “Isn’t it better that everyone understands how your code works, so that it can be fixed by anyone … in case of bugs?”
Nick glared at me. “Bugs?” He said with a voice sharp as steel. I nearly choked on my blueberry scone. “There are no bugs,” Nick said. “Not in code that I write, no Siree!”
“I completely agree … about your code. But, coming back to obfuscation, why were you saying that everyone must learn how to obfuscate code?” I pursued.
“Obfuscating your code takes it to the level of art,” Nick said. “Coding can be art. He who does not understand this simple truth should not be a programmer. There are other jobs available for such people.”
“In my first job,” I said, “the Staff Engineer in the company pulled me aside and said: ‘No comments in code, you hear? In this company we do not comment our code. And you will not do so too. Forget what you learned in the university.’ ‘But why?’ The naive me asked him. ‘Its because of something very important called job security. You will learn more about it later in your life. Now do as I say,’ the Staff Engineer told me. That was my baptism into the world of obfuscation.”
“Ah! That's Mickey Mouse obfuscation!” sneered Nick, who was in the habit of labeling ‘Mickey Mouse’ anything he didn’t like. “The real obfuscation is sort of like one-way encryption, except that every time its a different algorithm. Thats why it is art.”
I stared long at the coffee while trying to internalize what Nick had said. Nick looked out of the window as he played with his beard. The silence grew.
“And, oh, one more reason why you must obfuscate your code,” Nick smiled that playful childish smile. “It puts those pesky managers completely off your trail.”
We both laughed to that. It was going to be a beautiful day.
Comments