

Programming error invalidates US Diversity Visa lottery results - troydavis
http://www.dvlottery.state.gov/

======
giberson
Q: Why was it necessary to invalidate the names that were selected?

U.S. law requires that Diversity Immigrant visas be made available through a
strictly random process. A computer programming error resulted in a selection
that was not truly random.

They maybe should be careful with their wording, since "not truly random"
would basically disqualify any code based random generator.

Overview of PRNG, TRNG for reading if you're unfamiliar:
<http://www.random.org/randomness/>

~~~
aramadia
I doubt PRNG is the issue. PRNGs satisfy the criteria for equal likelihood of
being selected which I believe is what they want. A truly stochastic process
is not necessary.

~~~
giberson
I wasn't suggesting that it was the issue. I was pointing out their QnA
section uses the phrase "truly random" to explain why that specific set wasn't
valid. Which semantically, "truly random" disqualifies all of their previous
sets and not just this one. Their QnA section probably should have been more
along the lines of "not appearing random enough".

------
troydavis
Posted results have been rescinded and the lottery is being redone. state.gov
site links to video with more info:
[http://link.brightcove.com/services/player/bcpid1857622883?b...](http://link.brightcove.com/services/player/bcpid1857622883?bckey=AQ~~,AAAAAGWqYgE~,KxHPzbPALrFGi6o0QhQY9IxyliWBJ3Vq&bctid=942119090001)

~~~
Groxx
Important bit that's in the video but not on the page:

>"...[a programming error had caused] more than 90% of the selectees to come
from the first two days of the registration period ..."

The registration period was 30 days, and had "many" entries each day.
That's... _shockingly_ bad.

------
hugh3
Would be much more interesting if we knew _how_ the results wound up
nonrandom.

~~~
cosgroveb
Maybe something like the following?

    
    
      randWinnerID = (int) Math.random();

~~~
rorrr
It was much worse, all the "winners" were the people who submitted their
applications in the first 2 or 3 days.

~~~
ez77
Do you have a reference? That would be really messed up...

~~~
inrev
It says that in the video message posted:
[http://link.brightcove.com/services/player/bcpid1857622883?b...](http://link.brightcove.com/services/player/bcpid1857622883?bckey=AQ~~,AAAAAGWqYgE~,KxHPzbPALrFGi6o0QhQY9IxyliWBJ3Vq&bctid=942119090001)

------
Groxx
> _The results were not valid because they did not represent a fair, random
> selection of entrants, as required by U.S. law._

How does one get so bad at using random numbers? Surely selecting random
entries from a list isn't hard. `entries[rand*entries.count]`

~~~
hvs
If "rand" is generated by a computer and not from a stochastic process, it's
not technically random.

~~~
Groxx
I'm fairly sure other, accepted government tasks have used PRNGs. So there
would be precedence for doing so.

If not, I'd roll a 10,000 sided die, and type it in by hand. (edit: or cow pie
bingo. That has a long tradition of unbiased results.)

~~~
SeoxyS
Rolling a die isn't truly random either. Given the same environmental
conditions and the same force vectors, you will always get the same result.

I think their definition of true randomness is flawed. It does not matter
whether it's truly random, rather it should about whether it's random to a
point where it's out of the operator's control and ability to predict.

~~~
Groxx
Given absolutely identical conditions, yes. Ignoring quantum effects. But
rolling a die is definitely in the realm of chaotic behavior, especially when
any reasonable force is applied, so _extremely minor_ changes cause massive,
unpredictable end results.

In practice, such precise conditions are _completely_ impossible, and the end
result is unpredictable as long as it tumbles enough times. Shake it around in
a cup to randomize the starting location, and you're as good as you can get.

------
SeoxyS
Good: I got rejected, I get a second shot.

Bad: How can the State Department be so incompetent as to fuck this up? Also,
why does it take months to generate this? I could do it with 15min and a
simple script. Granted, any code generator is never truly random (Newtonian
laws of physics pretty much forbid randomness,) but for all intents and
purposes they're more than capable of handling a simple lottery.

~~~
aramadia
Uhh, Newtonian laws have really nothing to do with this. Its more information
theory, you can't get more entropy from what you put in. Also, it is clear now
that the Newtonian model is not an accurate view of the universe, and that
there are fairly random events such as radioactive decay.

~~~
SeoxyS
There's an interesting article on random.org that talks about just that.
<http://www.random.org/randomness/>

This is dwelling into philosophy, but some argue that the universe is
deterministic. With absolute knowledge of every particle in the universe, you
could predict the entire course of everything that would happen in the future.

The key is not to find _true_ true randomness, which can reasonably be argued
not to exist, but rather to find a system that is chaotic enough to be beyond
control or predictability, and use that to generate random numbers. Weather
systems, radioactivity, etc. are examples of this.

Now I don't know much about quantum physics, and I hear that that might be an
alternative to that—but my point is that I don't think it matters. A generator
doesn't have to be truly random, it should just be random enough.

~~~
scott_s
_With absolute knowledge of every particle in the universe..._

That's not possible, as stated by the Heisenberg uncertainty principle. The
more you know about a particle's position, the less you know about its
momentum, and vice-versa. This property is largely agreed upon to be an
inherent property of the universe, and not just a technical limitation.

~~~
ComputerGuru
You need to look even deeper. Waaaay deeper, beyond the science, more into the
realm of philosophy. The Heisenberg uncertainty principle is about the here
and now, but when you go deeper, with more dimensions, then you're looking
past that.

At that point, you're seeing the mechanics that makes the HUP work, the
formulas that govern everything, the forumulas that make things un-
formulable... Basically, beyond comprehension :)

~~~
scott_s
I've read your comment several times, but each time I am unable to attribute
any meaning to your words.

~~~
Locke1689
It sounds like a very poor description of hidden variable theory[1]. Hidden
variable theory hasn't been in favor in a very long time, nor is it "beyond
comprehension." In fact, I really hate the phrase "beyond comprehension"
applied to almost anything because it has a tendency to mystify science, which
can always be comprehended and expressed in the language of mathematics.

[1] <http://en.wikipedia.org/wiki/Hidden_variable_theory>

------
Someone
According to dutch teletext, the error was a very simple one: not all
applicants were entered into the draw. It does not give further details.

------
jey
Why will it take two months to randomly select entries from a list?

~~~
guan
They probably want to make extra sure that there are no errors this time.

~~~
cypherpunks01
That's the problem with randomness, you can never be sure.

~~~
rbanffy
<http://www.dilbert.com/strips/comic/2001-10-25/>

------
ubasu
Have they used the same software in prior years also, or is this because of a
new software?

------
raymondh
My bet is that the problem was much worse and more subtle than the other
commenter's have noted. They posit a slight imbalance to due to rounding or
PRNG characteristics.

I suspect that is it like the problem of choosing values randomly from a
sparse hash table. Choosing a random slot and scanning forward to the next
empty slot results in a bias where closely spaced entries have a much lower
chance of selection than entries preceded by a wider gap.

It is easy to make that same mistake when trying to pick a random record
number when record numbers have been assigned in chunks (like social security
numbers).

------
ez77
I participated, and things looked bad enough when I saw that IE7 _or lower_
was requiered... The Vista boot option, which I never use, alas did not help.

------
etureiab
I was one of those picked and am really pissed. This is so screwed up! Does
your employer ask you to pay the extra monthly salary back when they made a
mistake in their system? "NO!". They should have made the exception to re-draw
"randomly(!)" among the non winners and give them another chance. But do not
take away what you promised because of your inaptitude!

------
vitalysh
uh, imagine if you are one of the winners :/

------
alvarosm
More importantly, for how many years has the selection process not been "truly
random"? if it was really fucked up it could even mean some people could never
be selected given their name and DoB.

------
nabaraj
They should have gave to those who were selected despite of non-random. Cmon
they must be freaking depressed now!

------
inrev
BTW, if you win, you have to pay the Diversity Visa Lottery fee $440/person

~~~
kooshball
If that's true, it would be a small price to pay for a green card.

------
rubashov
The Visa Lottery is infuriating. It's almost as stupid as the family
sponsorship driving our visa allocations.

The purpose of an immigration policy is to serve the citizenry. Only the most
useful and "profitable" people should be let in, period.

~~~
hudibras
So much for "All men are created equal," eh?

Over ten million people each year apply through this program for only 50,000
green cards. In a nation of 300 million people, I think we can manage this.

~~~
rubashov
Stop and think about how absurd this is. Ten million people apply and we pick
randomly, rather than take the cream.

Is this not plainly insane?

~~~
sukuriant
Given the values that the United States was founded on, in the purest sense,

Why?

~~~
rubashov
I'm not sure what founding values you're talking about. A cursory reading of
the founders plainly reveals they viewed America as a nation of and for
Europeans. Immigration policy for most of American history explicitly excluded
non-whites, and often sought to exclude southern and eastern europeans.

I'm not advocating a racist immigration policy, as the US was founded on, just
one that serves the people living here. After all the purpose of the
constitution is to "secure the blessings of Liberty to ourselves and our
posterity". That means the country is for citizens and their bloodlines, not
foreigners.

~~~
sukuriant
I suppose I more mean "all men created equal". And the "American Dream" of
coming to this country from nothing and making it big. A meritocratic process,
or a process that has a likelihood of being gamed/manipulated/bought, would
seem to detract from that possibility.

I suppose, technically, that's not what this country's Constitution has
written on it; but, perhaps I'm an idealist and would like to think that, in
the hearts and minds of the founders, they were intending to create a
confederacy of freedom, and of equal opportunity. Why would the bar for entry
into the country be any different?

[edit: finished my thought, then changed wording slightly]

