Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
This module contains the raw RealDice random data gathered from human interaction with physical media
Synopsis
- rawBoolPrime :: [Bool]
- rawBoolFull :: [Bool]
- rawBinPrime :: String
- rawBinFull :: String
Documentation
rawBoolPrime :: [Bool] Source #
This is raw random data from human interaction with the physical world, truncated to have a prime number of elements, and converted to a list of Bools
rawBoolFull :: [Bool] Source #
This is raw random data from human interaction with the physical world, converted to a list of Bools
rawBinPrime :: String Source #
This is raw random data from human interaction with the physical world, truncated to have a prime number of elements
We provide a subset of the full data with a prime number of elements so that it's less likely that a pattern will emerge when repeatedly using a predictable algorithm to loop over the data
For example, suppose we have this random list of 12 elements: "011010010011"
And suppose we repeatedly use a function that always references the randomized list 4 times, each time using the element at the current index and then incrementing the index by 1
In this scenario, the elements the function uses would start repeating after running the function only three times
In contrast, if we use a subset of the list 11 items long ("01101001001"), we can run the function 11 times before the elements start repeating
rawBinFull :: String Source #
This is raw random data gathered from human interaction with the physical world
The data is gathered by rolling dice as well as drawing poker chips out of a bag, stacking them up (without looking at them), and using a heads/tails schema to get the values
I'm using a string of "1"s and "0"s to represent the binary data because it's easy to manually type in while I'm collecting data and it's easy to parse into other data
How did I get binary data from the dice? Does Heads equal "1" or does Tails? What do Heads and Tails mean on a poker chip anyway?
Who knows? I'm willfully not being too precious with that information between sessions of collecting data, in order to maximize entropy =)
Okay, I'll reveal some of the dice part. Mostly I've been using multiple sets of 7 polyhedral dice (1d4, 1d6, 1d8, 2d10 (AKA percentage dice), 1d12, 1d20) and recording their results in a specific order (I think the first time it was smallest (i.e. fewest sides) dice to largest, lightest color to darkest, maybe?). I have used an even/odd schema to get the binary values, but there's more than one way to do this and I may vary any of of this methodology. I will endeavor to keep it as truly random as possible