http://en.literateprograms.org/Markov_algorithm_simulator_%28Python%29 random walk vs prng enigma quicksort knight's tour test_generators.py wsgi