7
\$\begingroup\$

You know it: keyboard or mouse input is just too mainstream to create Random Numbers through human behavior.

Create the most unique (Pseudo)Random Number Generator that create its numbers through human behavior.

Web-API's are not restricted! Anyone should use the code provided, so any special hardware is restricted. (I think we can assume that everyone has a smartphone) The number should be a 256 bit number.

Example: use the Google Map's API to get current traffic to create the Random Number.

This is a , so most votes wins!

\$\endgroup\$

closed as unclear what you're asking by steenbergh, John Dvorak, Emigna, Peter Taylor, Cows quack Feb 10 '17 at 11:05

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    \$\begingroup\$ Related, possibly duplicate? \$\endgroup\$ – Zgarb Feb 10 '17 at 9:13
  • \$\begingroup\$ Related but no Duplicate. It restrict to Internet Access and use any item laying around. The Point what here should use: anyone should use the code without special hardware. \$\endgroup\$ – Serverfrog Feb 10 '17 at 9:19
  • \$\begingroup\$ Can I use random on the data I gathered or it has to be purely independent of the in built random function of my language? \$\endgroup\$ – hashcode55 Feb 10 '17 at 9:51
  • 1
    \$\begingroup\$ So, should it be heavily biased toward red hammers? \$\endgroup\$ – Aaron Feb 10 '17 at 10:36
  • \$\begingroup\$ Aaron red hammers? hashcode55: you can, but it would be not so good for a human based random number generator ;) Qwerp-Derp: what is a reasonable length? End of February? \$\endgroup\$ – Serverfrog Feb 10 '17 at 15:56
7
\$\begingroup\$

Mathematica on Mac OS X

Mod[Tr /@ IntegerDigits[
  Floor[2^15 AudioData@SystemDialogInput@"RecordSound"]
, 2], 2]

Opens up a dialog box that lets you record a sound snippet through the computer's microphone, then converts the resulting digital audio data to a list of bits (roughly 50,000 bits per second of audio). Generate random numbers through white noise, singing your favorite tune, exclaiming "Serenity now!", or just yelling at the top of your lungs!

\$\endgroup\$
  • \$\begingroup\$ Will give +1 if you send a vid link of you running it and yelling really loud \$\endgroup\$ – Christopher Feb 11 '17 at 1:23
1
\$\begingroup\$

Python 3

import urllib.request
t=0
with urllib.request.urlopen("http://codegolf.stackexchange.com/questions/109658/hrng-human-random-number-generator#109658") as f:
    m = f.read().decode("utf8")
    for c in m:
        t+=ord(c)
print(t/len(m.split()))

This version takes each characters ordinals to take into account changing values such as votes.

Leaving the below in as it was my first attempt but as noted it is a little stale.

import urllib.request
with urllib.request.urlopen("http://codegolf.stackexchange.com/questions/109658/hrng-human-random-number-generator#109658") as f:
    m = f.read().decode("utf8")
print(len(m)/len(m.split()))

Takes this current page gets it's character count and word count divides and returns the number.

Not sure if it's great but first idea that came to mind.

\$\endgroup\$
  • \$\begingroup\$ +1 I really like this answer! Though, it won't update too often haha. A more frequently updating answer could be taking the hash of the page and converting it to numeric form (using modulo and others) because then you get all of the minor changes as well (changes that dont increase character count) such as any user here getting reputation. Any timestamp updating. etc \$\endgroup\$ – Albert Renshaw Feb 10 '17 at 9:38
  • 1
    \$\begingroup\$ @AlbertRenshaw - Thank you :D - That change of course would be a much better way for me to do it, I'll have a look at a changing it when I get back on a proper computer (using mobile atm). \$\endgroup\$ – Teal pelican Feb 10 '17 at 9:41
1
\$\begingroup\$

Bash

w|sha256sum|tr -d -

Outputs a hex-encoded 256 bit "random" number

w displays information about the users currently on the machine, and their processes. The header shows, in this order, the current time, how long the system has been running, how many users are currently logged on, and the system load averages for the past 1, 5, and 15 minutes.

Try It Online !

\$\endgroup\$
  • \$\begingroup\$ @FlipTack, yep, just a habit :) \$\endgroup\$ – zeppelin Feb 13 '17 at 15:41

Not the answer you're looking for? Browse other questions tagged or ask your own question.