Uniform Random Numbers: Theory and Practice