I was in my last year of high-school when I began to develop delusions of grandeur. I was a modest programmer at best, with some very good instincts on hiding things (especially computer games) from the eyes of my teachers – not a hard thing to do, all in all, since the only ones I had to worry about were fellow students. Some of them were employed around the labs, since winning the gold in programming Olympics surely meant they outclassed every single IT teacher we had there at that particular time. It was they who discovered my passion for this new field and it was their sometimes not so subtle guidance that steered my curiosity – I was walking a rather thin line, half a step from being expelled. Between crafting various algorithms and software to bring up my grades (I had no interest in chemistry, physics, math or any other discipline outside of programming) by making the teachers forget their own rhetoric with stunning (for that time) graphics to illustrate the binding of molecules, graphing equations and particle collisions, my fellow students told me to help them with some projects – chief among them was getting rid of computer viruses. I still have some pretty fond memories of ASM from that time, even before Windows began climbing to version 95 – hell of a way to count, I’d say.
I was an idiot, back then, of a higher degree than my current appreciation of my own skills, for not pursuing that path. Some of those tutors I mentioned now work for Google, Microsoft and other quite famous registered trademarks across an ocean or two. I do have a bit of regret pounding my subconscious self, I might have done things a bit different though not necessarily better. No siree. Which brings me to my other favorite topic, math. At that time, I hit a brick wall called polymorphic encryption some viruses had adopted as a way of hiding from detection. Naturally, I gave up. My slap-dash antivirus couldn’t handle them and I wasn’t good enough to make it better. But this particular kick in the arse defined my life from then on, I became obsessed with cryptography. My first encryption engine was a monster, but not because it was that good – the programming spanned a few thousand lines of Pascal, juggling transpositions and several encryption functions bound together by polymorphic key-related block substitutions to achieve what I thought to be the perfect command line cipher. Sounds important, innit? It wasn’t. It was an OTP cipher with the perfect weakness – the random number generator used for the key was software implemented, even if the encryption itself was perfect – which it wasn’t. It had no math in it, it relied on the 512 bytes weakness I now have trouble calling “a key”. Among other things. Do you know what etaonirsh stands for? Yeah, that one. I had worked on instinct, without books or other sources of information, believing I was on the verge of greatness. Bummer.
There is a common mistake everybody makes but nobody mentions, so I’ll make it my own – we tend to forget things are not static and luck isn’t a game of chance. We might look at a picture and imagine an entire universe that’s centered on it, forgetting cause and effect. You see, I tend to believe everything happens for a reason. No, I haven’t found religion. What I believe has nothing to do with the supernatural or any other bullshit. What that sentence should tell you, instead, is that nothing ever just goes poof!, blinking into existence. Every event has a cause. Everything is connected. Just like graphing a mathematical function. World lines they’re called, something Einstein’s teacher Minkowsky pioneered and Feinmann made popular. Every decision I make has an impact on my future. Algebra. Hari Seldon was correct, imagine my surprise, even if his math will only probably happen during Cleon’s reign.
It isn’t enough to dream. It isn’t enough to set for the stars. We need to find our own equation that brings us there. If every decision we make, if every choice we choose is something like an operand in the equation of life, what are the operators and variables? What if we treat it like a self-syncronising stream cipher? Each operand depends on the previous one. What is the weakness there? The operand. The way we decide. Our choice of behavior. Our minds. The weakness is in our minds. Improve them and you improve the whole equation. Think of random events as scalars, only amplifying the trend – never creating the trend. Which brings me to my other favourite quote: “Shit doesn’t matter, what you decide to do with that shit matters”. Bring it on.