ranks: 1: ace 2~9: 2~9 0: 10 -: jack =: queen ]: king suits: Q: spades W: clubs E: hearts R: diamonds .: command confirm: space commands: 1~10: undo 1~10 card additions jack: toggle handedness [unimportant data] queen: toggle side w/ top of deck [unimportant data] king: stop how to use: 1. sort a deck of cards by suit and rank in the following order from bottom to top: A2345 ... of spades A2345 ... of clubs A2345 ... of hearts A2345 ... of diamonds (i.e. the bottom card should be the ace of spades) 2. riffle shuffle the deck as feels natural, but don't fully push the deck back together. 3. enter handedness and which hand took the top half of the deck. 4. turn the deck upside down and enter the front faceup card in each "packet." 5. use ]. to stop and record the data as follows: handedness string "," top hand (which hand held the top half of the deck) string "," position of cut (# of cards from the bottom -- larger number means the cut was higher in the deck) string "," number of packets string "," which half each card in the deck came from, ordered from bottom to top (binary string -- '0' = bottom half, '1' = top half) expected distributions assuming Gilbert–Shannon–Reeds model: - cards below cut: binomially distributed with n = 52 trials and success probability p = 0.5 (mean 26.0, stddev 3.606) - packets: 1 + X, where X is binomially distributed with n = 51 trials and success probability p = 0.5 (mean 26.5, stddev 3.571) - each card should have exactly a 0.5 probability of coming from the bottom half of the pack, completely independent of position within pack & origin of other cards. especially worth looking into are the bottom & top card probabilities, but it could also be interesting to see if there's some correlation here (e.g. cards towards the top of the shuffled pack are more likely to come from the top)