A 1000% secure random number generator using Twitter as a source of entropy.
It has long been standard practice to seed random number generators using meaningless noise from the environment, and in this work we continue that tradition. Aimed squarely at the subset of developers who do not have access to measurements of the universal background radiation or radioactive decay, we provide an easy to use API that gets its randomness from a source of chaos that's accessible to all.
To start with, to ensure statistical validity, we search the Twitter streaming API for only the most statistically valid terms:
"random", "chance", "dice", "gaussian", "cauchy", "exponential", "gamma", "chi-squared", "wishart", "correlation", "implies", "causality", "stochastic", "bayes", "baes", "laplace", "unlikely", "million to one", "lottery", "las vegas", "roulette", "distribution", "monte carlo", "monty python", "MCMC", "astrology", "accidental", "heart of gold", "spork", "penguin of doom"
We then extract the first 9 of these tweets (a random number we determined by rolling a d20) and hash them. This hash is then passed though the Mersenne Twister before being used to seed Haskell's own random number generator, all to ensure that triple thick cryptographical goodness.
Visit http://www.totes-random.website/ in order to get a random number between 0 and 1, and also to see the tweets it came from.
If you want to use the number in an application then we also have an API:
http://www.totes-random.website/float Gives you a 32-bit float between 0 and 1 in plain text.
http://www.totes-random.website/int Gives you a 32-bit integer.
http://www.totes-random.website/bits Gives you exactly 140 random bits.
To see an example of this API in action, or to understand why we chose 140 as the number of bits to return, please direct your gaze to totes-random-bot.