https://mamchenkov.net/wordpress/2003/06/12/random-bits-28/
Random bits