https://mamchenkov.net/wordpress/2003/06/13/random-bits-29/
Random bits