Well, it happened again. Someone asks a perfectly innocent question, and the next thing I know I'm in touch with a deep vein of hostility and several paragraphs into a jeremiad on the evils of Tcl's expr command. It isn't Tcl's problem, really, that I hate writing code that uses expr. It's my problem. So here's my problem and here's my solution.
Good random numbers are hard to find. It's nice to have a random number generator that continues to be random even when you take the modulus by a small integer to pick cards from a deck or simply test for odd or even to simulate a coin flip. This one is that good.