Algorithms for generating numbers according to a particular probability distribution. For example, the two most common problems are generating integers uniformly between 1 and n, and generating real numbers uniformly between 0 and 1. Other common distributions include Gaussian and Poisson. Because most random-number-generation algorithms have no influence from the outside environment, they are inherently pseudorandom: predictable, and following a pattern, also ideally not an apparent one. Thus the quote:
"Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin." - John von Neumann (1951)
A classic reference on this topic, and a good starting point, is Donald Knuth's Art of Computer Programming.
"Random number generators should not be chosen at random." - Donald Knuth (1986)
Another good reference, for nonuniform random number generation in particular, is Luc Devroye's Non-Uniform Random Variate Generation (Springer-Verlag); see also his page in this category. There are also some approaches that claim to be "truly random," based on outside data like radioactive decay and white noise from deep space. However, randomness is inherently a theoretical notion, and is difficult to exhibit perfectly in real life, unless perhaps we fully master quantum mechanics.
Appropriate topics include descriptions of algorithms for pseudorandom numbers, overviews of the relevant ideas, and services for "truly random" numbers.

## Hardware

Random number generators with approaches that claim to be "truly random," based on outside data like radioactive decay and white noise from deep space. However, randomness is inherently a theoretical notion, and is difficult to exhibit perfectly in real life, unless perhaps we fully master quantum mechanics.
Appropriate topics include devices and services for "truly random" numbers.