When I got my first Mac 5 years ago, my programmer friends almost disowned me for being such a disgrace to the local nerd community. At that time, there was a prevailing sentiment that real coders used Windows or Linux. Macs were for the fuzzy, the uninitiated, the sparkling nincompoop in the realm of marketing.
When I first studied graphics programming, I was traumatized that the coordinate system on a computer’s screen is upside down. The positive x-axis starts on the far left and points to the right as normal coordinates should do, but the y-axis has its 0 at the top of the screen and nosedives straight down to hell from there. Imagine that you have all your graphics worked out beautifully on paper, and then when you try to program it in a computer, you have to flip all the figures and re-calculate all the coordinates. Why can’t computer scientists be normal for once and respect the centuries-old Math? Cartesian coordinates were invented in the 17th century, while the first electronic general-purpose computer (ENIAC) didn’t come out until 1946.
I learned about Evil Hangman a while ago when I was reading my professor’s blog (Don’t judge me. I’m sure you googled your professors too. The Onion wrote about it.). I never got around to write this game until today when I woke up and decided that I should do something with my life.
Evil Hangman is like normal Hangman — players try to guess a secret word by entering different letters. But in Evil Hangman, players are (almost) guaranteed to lose. I said “almost” because Evil Hangman is a program with a deterministic algorithm. If a player knows how it works, they can guess the letters in a way to maximize their chance of winning.
As a low level research assistant in a lab, I have recently been assigned the task of translating a chunk of MATLAB code to C. When I contacted my brother for guidance, he looked at me blankly: “Why? Who does that?” I never thought code translation was a thing. Why don’t people just write their programs in their desired language from the beginning? Why must they come up with new ways to torture these poor research assistants? Warning: this post contains some nerdy information that you shouldn’t be concerning yourself with unless you unfortunately have to.