|
Python developers maybe?
However, I am reminded of when I was first learning to write programs in BASIC-PLUS on a PDP-11 in 1983, the book clearly states:
"floating point calculations are more accurate than integer calculations"
and
"integers have a range only from -32768% to +32767%"
We did everything in floating point and had no idea why anyone would ever use integers.
(OK, VAXBASIC uses 32-bit integers.)
|
|
|
|
|
Come on John. As someone who writes code for a living, you know better than this.
It really doesn't matter the type when dealing with integers.
In a float, 1.0 + 1.0 still equals 2.0. Even accounting for representation inaccuracies, which you know always happens on the fractional side, how many votes would you have to count by adding 1.0 before you get anywhere near an integer misrepresentation by addition?
How great would the error really be? A couple of votes in either direction?
|
|
|
|
|
For the floating voter of course!
|
|
|
|
|
Ghost voters! We've had them in Chicago for quite a while now.
GHOST VOTERS RAISE SPECTER OF SHADY ELECTION - Chicago Tribune[^]
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
|
|
|
|
|
#realJSOP wrote: Why would any self-respecting developer agree to write code in such a way as to allow subversion of its targeted purpose?
No, you misunderstand, the software did perform its purpose. It was originally developed in Venezuela to help Hugo Chavez win "elections."
#realJSOP wrote: Even more importantly, why would anyone use software that was demonstrably accuracy-challenged and so easily corrupted?
Could the fact that Nancy Pelosi's husband has an ownership stake in the company have anything to do with it?
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Lots of reasons I can think of for designs that seem to not make sense (and obviously not all of these apply to the system we're talking about)
- the person ultimately responsible for making the decision didn't know what questions to ask and/or didn't understand the technology
- the person responsible was pressured by a superior to make a bad call
- the product was chosen based on a relationship/favour, and not because it was the best/cheapest option
- the product was created by a consultancy service that had a bunch of devs on staff (eg COBOL) that it couldn't find work on so architected the project to use a technology that would allow it to bill the idle bodies (I'm looking at you, new Australian Taxation System)
- the decision was made due to security / technology / hardware / resource reasons that, once you understand the constraints, actually make sense for that application
- the system was based off a system that's based off a system that's based etc etc and has proven to be solid and reliable and hence reduced uncertainty. (Ask Boeing how well this strategy works over time)
I'm sure there's a bunch of reasons that made sense at the time. They may not make sense now, however. But who's going to invest the money to redo something when "it just works" (I should add some asterixis to that)
cheers
Chris Maunder
|
|
|
|
|
Who you want to be fired? The Dev who made the count variable to be 'float'? What makes you think it's Dev problem? What if it's intentionally done from upper management. IMHO, I think the Chief should be fired.
The best way to make your dreams come true is to wake up.
Paul Valery
|
|
|
|
|
I'm not taken aback at all, in fact I'll go as far as to say that it might be the best way to design such a system!
The idea that Dominion stores vote counts in a floating-point format seems to come from a NIST publication[^] describing a reporting standard. I don't think it's been proven that the Dominion software uses the described format, though I would not find it at all surprising if it did. This is an open standard, the creation of which involved the expertise of very smart, thoughtful, and experienced people, probably with strong knowledge of the problem domain. They are named as authors, if you question their work you may look them up and contact them to find out for yourself what their motivations were.
The standard specifies that aggregate vote counts are reported as double-precision floating-point numbers, which it says "can include a f[r]actional component in special cases" (though the nature of such special cases is not described). How individual votes are stored in the machines is not specified (as this is intended as a generalized rather than machine-specific standard), the document only addresses how counts are aggregated for the purpose of reporting. Even if individual votes were recorded by a voting machine as a floating-point whole number (again, a fact which is not in evidence), it would require astronomically more addition operations than there are voters (let alone people) in the U.S. in order to reach a rounding error of even a single vote.
In short, you can't possibly be certain that there's a problem here, but even your worst case scenario would result in effectively zero inaccuracy in the reported counts from the various Dominion systems in use.
|
|
|
|
|
Yep, it's nonsense.
I've tracked this down as best I could. The origin seems to be this (nearly 5 year old) article in Black Box Voting:
Fraction Magic — Part 2: Context, Background, Deeper, Worse – BlackBoxVoting.org
It seems that one person (a developer and poll worker) noticed that in his precinct, if you subtract the "number of people who didn't vote in this race" from the "total people who voted" (yielding the total who DID vote in that race), that number was one more than the number you get if you add up all the voted each candidate got. (since that race had 199 write-ins, it quite believable that one write-in wasn't readable and didn't make the counts, which would explain that -- but our guy doesn't like simple solutions). He figured it must be a floating-point round-off error!!
So, he read thru Diebold's (Yes, this is about Diebold -- not Dominion!) apparently public bugtrak database (from 2001!), and spotted a few bugs related to decimal places in their outputs --- and he concluded that the votes were being tabulated in floating point. In reality, they were actually talking about where they display the PERCENTAGE of the vote each candidate got, which, in these days of ever closer elections, must be given in multiple decimal place.
SO, to conclude: There is ZERO evidence that any voting system manufacture uses floating point to count votes.
Truth,
James
|
|
|
|
|
I'm taken aback.
Actually, I think that all election software should be entirely open source and verified by real programmers. Also, this technique of moving numbers from a scanner to an aggregator by little SD cards leaves too much room for sleight of hand. And ballots in Pennsylvania have bar codes. Whether or not they can be associated with an individual voter I don't know. There is one state using all mail in voting in which the voters themselves can login and verify that their vote has been recorded properly. Things can be so much improved. Having RCV and better candidates would help a lot.
|
|
|
|
|
Reminds me of a lottery programming scam.
On certain days of the year, it would use a different, predictable algorithm to generate the winning numbers. The authorities caught on after multiple relatives hit million dollar jackpots.
|
|
|
|
|
First, quick disclosure, my "expertise" with Roselyn and code generators is whooping whole hour just now!
(using Google as my all knowing tutor )
My verdict about them, right, it's good to have but... they are a bitch to use!
|
|
|
|
|
|
not quite what I had in mind!
|
|
|
|
|
Always try to keep an open mind!
|
|
|
|
|
Super Lloyd wrote: they are a bitch need a witch to use
Fixed that for you.
Wrong is evil and must be defeated. - Jeff Ello
Never stop dreaming - Freddie Kruger
|
|
|
|
|
Haha, I am sure she can! ^_^
|
|
|
|
|
i was summoned?
Real programmers use butterflies
|
|
|
|
|
Code generators? What are you talking about?
Back in the day, we were called programmers, not code generators.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
What are you talking about? I am simply a machine for converting coffee into software.
Real programmers use butterflies
|
|
|
|
|
|
agreed.
that also then implies that the quality of your code is entirely dependent on the quality of your coffee.
|
|
|
|
|
Slacker007 wrote: that the quality of your code is entirely dependent on the quality of your coffee. I wonder what would you say if the coffee was Kopi Luwak – Wikipedia[^]
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
That is just wrong on so many levels.
Can't believe that this cat turd coffee has "increased demand".
Well, yeah, sticking to my earlier comment, I would have no idea what code would look like after drinking this coffee. I have an idea, and it does not smell good.
|
|
|
|
|
Slacker007 wrote: Can't believe that this cat turd coffee has "increased demand". Not only that... you wouldn't believe the prices that people pay for an espresso of it in Munich...
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|