Understanding Your Enigma Machine

November 22, 2013

This morning I continued to work on my own Rails app and was successfully able to get password authentication to work. I learned about the rails method has_secure_password which does a lot for you.

I’ve been reading The Man Who Knew Too Much: Alan Turing and the Invention of the Computer and I’m at the section where Turing is working on cracking the codes that come from the Enigma machines. The problem is that the Enigma machines keep getting more and more sophisticated and so Turing keeps having to invent more and more creative ways to figure out how to decipher the encrypted German messages. The book talks about how Turing had to create a whole new framework to crack these new codes by the latest Enigma machines and that he had books of notes over a hundred pages long. While I’m in no way putting myself on the same level as Turing or the complexity of his work with my legacy code challenges it hit me yesterday that I essentially need to do the same thing as Turing did to crack the Enigma codes as I need to do in order to get the 8 year old legacy PHP code base that I’m now in charge of under control.

What this will entail, I’m not quite sure yet, but I bet if I had a hundred pages of notes on how my app is supposed to work I’d be a lot closer to taming the beast. My goal is to turn it into a Ruby on Rails Application, but that’s not so simple when you have lots of users and clients paying for enhancements every month. We can’t just put everything on hold and rewrite it from scratch.