News for hackers. Stuff that matters.
Re:Understanding the Enigma machine from “The Imitation Game... by charypar on Friday February 27, 2015 @05:04AM (#9118076)
That property is caused by the reflector, rotors themselves can shuffle randomly. The way the reflector is built in the implementation is from pairs of consecutive (unique) letters of the shuffled alphabet (getting a half of the reflector) and then merging the inversion.

IMHO it's correct.

Re:Understanding the Enigma machine from “The Imitation Game... by jgrahamc on Friday February 27, 2015 @06:19AM (#9118274)
Hmm. Rereading the code I believe you are correct. I'm not strong in Ruby and had misunderstood what this was doing:

    Reflector = Hash[*('A'..'Z').to_a.shuffle]
    Reflector.merge!(Reflector.invert)