Anyone who has experience with programming will have probably used random numbers in their code. These random numbers aren't actually random though. They are actually generated using an algorithm that produces numbers that appear to be random, but the numbers actually follow a sequence. While these "pseudo-random" numbers are fine for some purposes, they just won't do for others. Cryptography is a case where the predictability of pseudo-random would allow someone to break codes with ease.
True random numbers on the other hand rely on quantum phenomena, or chaotic systems. Quantum systems include things like radioactive decay, and shot noise in electronic circuits, and are fundamentally random processes. Chaotic systems are things like atmospheric noise, which is so chaotic, that it can effectively be used as a source of randomness.
I wanted to build a true random number generator just for fun, and to see how well it would work considering that it is fairly cheap and easy to set up.
Step 1: Materials
MightyOhm geiger counter - $100 without case, $115 with acrylic case (or any geiger counter with a pulse out)
22 gauge solid core copper wire - $4 (for a whole roll. You can probably even use some multi-strand wire)
3 pin female header - found for free
salt substitute (optional) - $4