Geek: random numbers are hard... I've discovered this the hard way (via subtle bugs) on a number of occasions over my career. The most recent time involved creating GUIDs. It wasn't my code, but it was my job to find the problem – and it was caused by a random number generator producing a (very) biased stream of (allegedly randomly distributed) numbers. Here's someone else discovering a similar problem, this time in C++.