This is a non-deterministic random number generator which uses a combination of a pseudo-random number generator and different entropy sources (server entropy and internet traffic timings)
to produces a random number source that cannot practically be pre-determined. The generator has passed various tests and there are plans to test it against some of the
well-known tests for randomness.
The moving black and white stream of squares at the top provide a visual representation of the random data used to build the random numbers displayed. This sequence of blocks correspond to random bits,
where each bit can have two states of information (black/white in this case). If you click on the sequence it will instead display a sequence of 0's and 1's. When the speed of
the display of these bits exceeds a certain threshold, it is reduced via sampling.
Near the center of the page there are entry fields for determing the range of random values produced. It defaults to a minimum value of 1 and a maximum value of 100 with 0 decimal places.
You can vary this to produce random numbers in a different range. The random numbers produced appear in a moving string of numbers above these entry fields. The most current
value appears in a large font near the top of the page.
Bits are combined to produce random numbers in the range given by the entry fields. For example, if the minimum value selected is 0 and the maximum value selected is 1, then random numbers
between 0 and 1 inclusive are produced, where each random number requires one bit to generate. For a range of 0 to 3, this covers four values and this can be generated by two bits since
the combination of two bits creates four distinct values (00, 01, 10, 11). More bits are needed to cover larger ranges. Also, in general, larger ranges in random numbers will be slower to generate than smaller ranges.
The application starts by automatically producing random numbers. Clicking on the yellow "Pause" button will stop this until the green "Go" button is clicked. When clicking the "Pause"
button you may notice a delay before the random generation stops. This is by design so that the last random number displayed will not be the same one you see when you click the "Pause" button.
This facilitates using this application for games such as "pick a number between 1 and 10", etc since the person clicking on the "Pause" button cannot wait till they see a number they want.
NOTE: If you pause processing for long enough, the connection will time out and random number generation will stop. You will need to refresh or reopen the application to begin again in that case.
The "|<<", "<<", ">>", and ">>|" buttons just under the Pause/Go button control the speed of random number generation. These buttons correspond to "slowest",
"slower", "faster", and "fastest" respectively. The application defaults to 50% speed generation when first started.
The 'Advanced' checkbox displays some additional features. Just under the random number range entry fields you will see the following checkboxes:
- No Repeats Per Range Cycle... -- checking this causes all the random numbers in the given min to max range to display before starting over again fresh.
The Cycle Completion (as a percentage), Cycle count, and an option to pause after a given number of cycles have completed is displayed when clicked.
- Use seed (deterministic)... -- checking this allows you to create a reproducible sequence of random numbers that is deterministic. The sequence produced depends upon the
seed value entered. The same sequence will be produced for the same seed and a different sequence will be produced for different seeds.
- Pause when Rand Cardinality reaches... -- checking this will cause the application to pause once a certain number of random numbers have been generated, as specified in the entry field
that displays once this is checked.
- Enable Bit Bias... -- checking this allows you to specify what percentage of the time a bit generated will be a 0 and what percentage of the time it will be a 1 (percentage sums to 100%).
This will result in a slower generation of numbers. The default when this checkbox is not checked is to generate bits with a 50%/50% chance of generating 1's and 0's.