/dev/random will block while waiting to collect entropy from the system. /dev/urandom will be satisfied with pseudorandom numbers. That's fine for many applications (e.g. a file filled with garbage) but not acceptable for things like cryptography.
Does this mean that if I've got a server with no mouse/keyboard attached, /dev/random will block forever?
Logging into my slicehost server, and running cat /dev/random | hexdump -C seems to support this, more or less - only a few lines get output unless I start typing into the terminal - then it goes marginally faster.
http://www.idquantique.com/true-random-number-generator/prod...
http://www.gamesbyemail.com/dicegenerator
...among many others.