Don was looking through these web page on Patterns, and found the discussion of the LinearShuffle algorithm. He remarked ...
It is not hard to write a linear shuffle which produces every possible ordering with an equal probability (assuming a good random number generator).and went on to offer the C code to do it.
Don, by the way, is the son of DaveDodson, my mentor.