True random numbers cannot be generated by a computer, but there are devices that can be connected to a computer that will generate true random numbers. Since not everyone has one of these devices, there are services that make these random numbers available through the internet.

Try random.org for random integers, sequences, and strings derived from atmostpheric noise. I have a simple class that uses the new IDLnetURL to access the website. It can be used like:

IDL> rnd = obj_new('MGrndRandom')
IDL> result = rnd->getIntegers(5, min=0, max=99, error=error)
IDL> help, error
ERROR           LONG      =            0
IDL> help, result
RESULT          LONG      = Array[5]
IDL> print, result
63          63          88          62          53


The class is available in my library (source, docs).

The QRBG (Quantum Random Bit Generator) Service generates the random numbers and transmits them to you. There are command line, C++, and Matlab interfaces, but no IDL interface (yet). The limits are 1 GB per session and a maximum of 10 concurrent connections, but has no hard limit to how many random numbers can be obtained in a given time period.

By the way, the (free) registration for the QRBG Service required solving the world’s best CAPTCHA: