Remember this survey? https://link.webropolsurveys.com/S/94D53F822AB0FDD9
It’s all about how you use Beeminder and was made by researchers in Finland who, btw, would still be grateful if more of you took it. But you’ll have to do so out of the goodness of your hearts now because we’re picking the winner of our bribe from the list of 30 people who filled it out and included an email address.
The bribe was a $100 Amazon gift certificate. So we need to randomly pick one of these folks. Actually I checked how I announced this and I never promised to pick randomly. So I started thinking about ways we could pick based on merit (forum contributions?) or who pays us the most money. Then a little angel popped up on my shoulder who was not happy with that line of reasoning at all. I’ll spare you all his moralizing but, here’s the funny part: I acquiesced and started typing RandomInteger[{1,30}]
in Mathematica but then a meta-angel popped up on the first angel’s shoulder and pointed out that if the first angel was needed to convince me not to pick my BFF out of the list then why should anyone trust me to draw randomly?
Long story short (alright, short story needlessly drawn out by anthropomorphizing every intermediate thought I had along the way), I decided it would be interesting or fun or fair or whatever rationalization for my nerdery is handy, to not only randomize but to prove I was randomizing. How to do that? I got the idea from the xkcd about geohashing. I just commit to the ordering of people (below) and then use tomorrow’s Dow opening price to construct a random number from 1 to 30 like so:
Mod[Hash["19614.81", "MD5"], 30] + 1
That “19614.81” was today’s (2016-12-08) Dow opening so I’ll just replace that with tomorrow’s and we’ll have our winner! (Today that would’ve chosen #4, Doug.) [1] After all that build-up I presume someone will double-check me to make sure I don’t cheat.
PS: Oh hey, a little devil appeared on my other shoulder and suggests that the winner should have to read this and correctly determine that they are in fact the winner, with the procedure repeating every business day until someone succeeds. (With disqualification for wrong claims, of course.) Oh, whoops, the angel just slapped him and said “no techie favoritism!”. Never mind that then.
Here’s the list of candidates:
- Adam
- Scott
- Dan
- Doug
- Jay
- Nevan
- Jessie
- Robin
- Will
- Michele
- Stefan
- Josh H
- Josh P
- Clarissa
- Lawrence
- Vladimir
- Neil
- Anna
- Bryan
- Tom
- Allison
- Jason
- Nick
- Adrian
- Noah
- Israel
- Melissa
- Louis
- David
- Jen
Good luck!
[1] WolframAlpha will compute this if you ask, for example, “md5 hash of 19614.81” and then click the integer form to get a new query with that number and append “mod 30” and then add 1. I don’t know how to put parens around things in WolframAlpha to get it to nest different computations.