If you ask a normal person to pick a random number, they’ll usually just blurt out a number. But if you ask a math-savvy person for a random number, you’ll probably get a lecture about how hard it is to pick a truly random number. But if you ask [Valerio Nappi], you might just get a banana.
His post, which is in two parts, details how what computers generate are actually pseudo-random numbers. You can easily make sure that every number has the same probability of selection as any other number. The problem is that you have to start with something — usually called a seed. For the purposes of playing games, for example, you can grab some source of entropy like how many microseconds since a hardware timer last rolled over, the number of input pulses you’ve received from a mouse lately, or how long you had to wait for the enter key to depress after asking the user to press it. But if you know that seed and the algorithm you can perfectly predict what number the computer will generate next so it isn’t truly random.
The best random number generators use things like thermal resistor noise or the decay of radioactive materials. Ah, you might see where this is going, then. Bananas have potassium and a small percentage of potassium is radioactive. Turns out the hardware for this project has been on Hackaday.io but the blog posts were only recently translated to English. If you visit that page, you can see how a banana can even compute pi! With a little help, of course.