This started as a simulation of the enigma machine in javascript. I recently rewrote the Enigma simulation in Ruby, and also made a simulation of the Bombe machine, which was developed at Bletchley Park to crack Enigma ciphertext. My Bombe isn't quite polished off yet, but it does work. (might require a bit of fiddling.)