Democratic Underground Latest Greatest Lobby Journals Search Options Help Login
Google

Hey All Computer Science/Programmer Dudes - Check This Out!

Printer-friendly format Printer-friendly format
Printer-friendly format Email this thread to a friend
Printer-friendly format Bookmark this thread
This topic is archived.
Home » Discuss » Topic Forums » Election Reform Donate to DU
 
sabra Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 09:41 AM
Original message
Hey All Computer Science/Programmer Dudes - Check This Out!
I too have several years experience in the industry, and when I saw this posted in another thread, I thought Bingo, the poster may have hit it right on the button. I thought I would start a new thread, to give it the exposure it deserves.

Check it out!

<<
This was a reply in an Ohio forum thread posted by DU newcomer WhiteKnight1.
It's very interesting, and I want to give it its' own thread here so more people are aware of it.


About me:I have a graduate degree in computer science, and more than 15 years of experience as a
software engineer working with highly reliable systems.I have a knack for looking at the results
of software failures and figuring out what's wrong with the code.
For now, I prefer to remain anonymous and will go by
the handle: WhiteKnight(email: whiteknightfordemocracy@yahoo.com ).

About the bizzare vote counts in one Ohio Precinct:After seeing the Associated Press story
titled "Machine Error Gives Bush Extra Ohio Votes",
I started thinking about the numbers reported in the story,
whichare:Votes for Bush: 4258Votes for Kerry: 260 Total number of voters: 638
It also says that Bush "actually received 365 votes".
That means there must have been 13 votes for other candidates (638-260-365 = 13).
I wondered how this result could have been produced. They called it a "failure",
but I know a lot about how systems can fail, and this sounded fishy.
Why were Kerry's vote totals recorded properly, but not Bush's?
It's much more likely that a system failure would cause either no vote totals to be recorded at all,
or that both totals would be corrupted.I suppose it could have been a hardware failure
that occurred right after Kerry's vote total had been written to storage, and just as
Bush's was being written. But that's likely to be a very narrow time window.
It's possible, but sounds like a very rare failure mode. It just seems odd that out of the whole
universe of possible failures, we get a failure that records Kerry's votes correctly,
and corrupts Bush's total.Think of it this way: In basketball you know there are many ways a
shot can fail to go in. It can go off the glass and miss, it can bounce off the front of the rim,
rattle out, airball etc... etc... But there is one particular failed shot that's very rare:
when the ball comes in at just the right trajectory with just the right speed, and it lodges
between the rim and the backboard - just sticks there. I've seen it happen maybe a couple of
times in years of watching the NBA.So think of the odds of a failure that records Kerry's
votes correctly, but corrupts Bush's as analogous to the ball jamming there between the rim and
backboard. Pretty rare failure huh? Well, it gets even worse:Why was the number off by
only several thousand?If the votes are added up using a 4 byte unsigned integer, then
the possible values range from 0 to 4,294,967,296 (over 4 Billion).
If a random bit error or hardware storage error occurred, then why didn't Bush
get say 3,239,568 extra votes in this particular "failure"? Most true failures
would result in some wild number that you would immediately recognize as garbage.
The analogy here is: not only did the basketball lodge between rim and glass,
but the Spalding logo ended up perfectly horizontal, aligned front and center.

Given all of this, I decided to explore ways that vote counting software could end up
with these particular results. Was someone adding a percentage to the Bush votes?
Was there some multiplier involved? After thinking about it for an hour or so,
I decided to take a different tack: think like the person who is trying to rig the election.
What would you do? You wouldn't really want to change the total number of voters.
That might be too easy to detect given people being checked off on voter roles.
Instead you would want to shift votes from one candidate to another. Maybe every 10th vote for kerry,
you'd instead give to Bush.OK, that's pretty easy to program, but it
wouldn't expain the bizzare results in this one precinct in Ohio. But...
what if the evil programmer made a mistake? Maybe one line of code had an error they didn't catch.
I decided to write a small vote counting program, and add in a function to steal every 10th vote.
Once that was working I'd introduce a small error and see if the results came close the Ohio results
reported by AP.The program below is the result. As you will see, there is one line of code that is
supposed to add a stolen vote to Bush's total, and should be written as:b = b + 1;
but (I theorize) it was mis-typed as:b = b + k; So instead of adding one stolen vote to Bush's total,
it adds the running total of Kerry votes to Bush's total.
Whoops! The output from the program with the typo in place is:
starting electionElection results: b: 4258 k: 260 o: 13(the actual votes: b: 336 k: 288 o: 14)

The output from the program with the typo corrected is:starting election
Election results: b: 365 k: 260 o: 13 (the actual votes: b: 336 k: 288 o: 14)
So the intent was to shift 29 votes from other candidates to Bush,
but the one-line programming mistake gives him an extra 3922 votes.
I'm not saying this proves that this is what happened, but it does indeed prove that a small,
one-line programming error by an evildoer programmer could produce the results seen in this one
Ohio precinct.-WhiteKnightp.s. Please circulate this as far and wide as possible. Thanks!

*/#include <stdio.h>
#include <string.h>

// Vote totals for b=Bush k=Kery o=Otherint b=0, k=0, o=0;
// The set of "real" books:int breal=0, kreal=0, oreal=0;

//// Here's the hypothetical "patch" that the evildoer programmer
// might have written://

void robOhio(int creal, int* c) {// Look for every 10th vote from this candidate:

if ((creal % 10)==0)
{// OK, here's the bug. Should have been//
b = b + 1;// Give the vote to bb = b + k;
// Take it away from other candidate c = *c - 1;
}
}
int main()
{char votes<1000>;
//// Here are the votes in a hypothetical order that I made up.
// So in this example, the first two votes went to Kerry, the
// next two to Bush, then one for Kery, one for Bush, one for
// Other, and so on.//
// The order of the votes does affect the final numbers but,
// even if you change the order, the rough order of magnetude
// of the bogus results stays about the same.

////0 1 2 3 4 5//12345678901234567890123456789012345678901234567890

strcpy(votes,"KKBBKBOKBBKKBBKBBKBBKKBBKBBKBBKKBBKBBKBBKKBBKBBKBB");
// 50strcat
(votes,"KKBBKBKKOBKKBBKBBKBBKKBBKBBKOBKKBKKBKKBBKKBBKBBKBB");
// 100strcat(votes,"KKBBKBBKBKKKBBKBBKBBKKBOKBBKBBKKBKKBBKBBKKBBKBBKBB");
// 150strcat(votes,"KKBKKBBKKBKKBKKBBKBBKKBBKBBKBOKKBKKKBKBBKKBBKBBKBB");
// 200strcat(votes,"KKBKBBBKBBKKBKKBBKBBKKKBKBBKBOKKKBKBBKBBKKBBKBBKBB");
// 250strcat(votes,"KKBBKBBKBBKKBKKBBKBBKKBBKBOKBBKKBKKBBKBBKKBBKBBKBB");
// 300strcat(votes,"KKKBKBBKBBKKKBKBKKBBKKBKKOKKBKKKBBKBBKBBKKBBKBBKBB");
// 350strcat(votes,"KKBKKBBKBBKKBBKKBKBOKKBKKBBKBBKKBBKBBKBBKKBBKBBKBB");
// 400strcat(votes,"KKBKKBBKBBKKBBKBBKBBKBBKKBBKBBKKBBKBBKBBKKBBKBBKBB");
// 450strcat(votes,"BKKBKBBKBBKKBBKBBKBBKKBKKBBKBBKKBKKBBKBBKKBBKBBKBB");
// 500strcat(votes,"KKKBKBBKBBKKBBKBBKBBKKBBKBBKBBKKBKKBBKBBKKBBKBBKBB");
// 550strcat(votes,"KKBBKBBKBBKKBBKBBKBBKKKKKBBKBKKKBOKBBKBBKKBBKBBKBB");
// 600strcat(votes,"KKBBKBBKBBKKBBKBBKOBKOBKKBOKBOKKBBKBBK");
// 638printf("starting election\n");

// Start counting votes:

for (int i=0; i<strlen(votes); i++)
{char v = votes;if (v=='B')
{b = b + 1;breal = breal + 1;}
else if (v=='K')
{k = k + 1;kreal = kreal + 1;
// This is not a vote for b, so steal some votes:
robOhio(kreal, &k);}
else if (v=='O')
{o = o + 1;oreal = oreal + 1;
// This is not a vote for b, so steal some votes:
robOhio(oreal, &o);}
}printf("Election results: b: %d k: %d o: %d\n",b,k,o);
printf("(the actual votes: b: %d k: %d o: %d)\n",breal,kreal,oreal);}


>>
Printer Friendly | Permalink |  | Top
demnan Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 09:44 AM
Response to Original message
1. Very interesting
Mind if I pass this on?
Printer Friendly | Permalink |  | Top
 
sabra Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 09:46 AM
Response to Reply #1
2. Go for it!
From the original poster: "Please circulate this as far and wide as possible. Thanks!"
Printer Friendly | Permalink |  | Top
 
LisaLynne Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 09:47 AM
Response to Original message
3. Oooo! Good work!
Everybody here is so brilliant. I say it all the time, but I just have to say it again.

It's very easy for people with limited computer experience to accept the fact that these errors were just honest "computer glitches". Hey, their computers crash all the time, so what's the big deal, right? But, those with programming experience can look deeper. Even with my limited programming experience, I knew the "failures" weren't that simple.

This is a really good theory, though, and highly, in my opinion, probable. I could totally see an evil programmer making just such a mistake. After all, they probably wouldn't have done a lot of testing of the code. I don't know why I think that ... I just do. :)
Printer Friendly | Permalink |  | Top
 
sabra Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 09:52 AM
Response to Reply #3
4. Indeed.
In addition, the precinct never really gave any detail to the failure. There for the ambiguity resulted in suspicion. This post shows how a simple code change, can alter the results in this manner. I think there's some thing here. IMOP.
Printer Friendly | Permalink |  | Top
 
CheshireCat Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 09:54 AM
Response to Original message
5. As a programmer with 15+ years experience
I applaud your logic. The ease with which an election can be stolen with e-voting is obvious to most with programming experience. There are so many ways to hide stolen votes in the code.

Unfortunately, so many people that have no understanding of computer programming, still think that these "magic machines" can do no wrong.
Printer Friendly | Permalink |  | Top
 
IAMREALITY Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 09:55 AM
Response to Original message
6. This is actually way old and there was a huge discussion on it
A few weeks ago. Can't find the link right now though. My take on it is that though it is a great coding example, we could come on here and give you a million other coding examples off the top of our heads that would accomplish the same thing. The odds of one of them actually being even remotely close to the actual fraud code is monumentally improbable. TruthIsAll might be able to figure out those odds, but they'd probably be bigger then any of his exit poll ones.
Printer Friendly | Permalink |  | Top
 
sabra Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 09:59 AM
Response to Reply #6
8. I agree.
I hadn't seen the earlier post, so I apologize for the dupe. "The odds of one of them actually being even remotely close to the actual fraud code is monumentally improbable. " That could be true, but it does illustrate that the problem be labeled as a failure is suspicious, and shows how code can be easily manipulated to change results.
Printer Friendly | Permalink |  | Top
 
LisaLynne Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 10:03 AM
Response to Reply #8
10. I think your work was worthwhile.
The more examples we have, the better, and people do miss threads, so since this was your own work, there was no problem in posting it, as far as I'm concerned. The point isn't if this was exactly the way it was done, but that this is one way that would produce the anomalies seen. It's a concrete example and is very useful. Again, thanks.
Printer Friendly | Permalink |  | Top
 
sabra Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 10:17 AM
Response to Reply #10
11. Missed Threads...
Happened to me, so it may be beneficial to bring this one up again...

Thanks!
Printer Friendly | Permalink |  | Top
 
Eloriel Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 06:23 PM
Response to Reply #11
39. Here's a way to miss less threads -- easy, simple, fast
tho I don't make any claim that they're all-inclusive, alas:

VOTE FRAUD LINKS - A DU Compendium - Thread #3
http://www.democraticunderground.com/discuss/duboard.php?az=view_all&address=201x4927

VOTE FRAUD Links Compendium - Thread #2
http://www.democraticunderground.com/discuss/duboard.php?az=view_all&address=201x3223

VOTE FRAUD Links - a DU Compendium
http://www.democraticunderground.com/discuss/duboard.php?az=show_topic&forum=201&topic_id=1984#
Printer Friendly | Permalink |  | Top
 
sabra Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 07:47 PM
Response to Reply #39
43. Excellent, thanks for pointing that out... n/t
Printer Friendly | Permalink |  | Top
 
IAMREALITY Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 10:27 AM
Response to Reply #10
12. My Point Is
Sure, It's one way it could've been done, but so is this:

dim b
dim b1

b1 = sum(b) + 3893

b=b1

My point is there are a billion coding examples. The chance that this one, or the one in the original post for that matter, are indicative in any way as to what really happened is nill. Sure it looks impressive, there are a lot of mathlike looking numbers, but if this was ever released to the media, investigators, or professors, they would laugh at it.

I also don't understand why it matters to see 1 of a billion examples, as I don't think anyone questioned in the first place that code could in fact be changed to alter a result. Did any of us actually believe (before this post) that code couldn't be changed? Or that it wouldn't be that easy to alter? I don't know, everybody is entitlted to enjoy whatever posts they want, and if it helped you to see the issue better then that's great. My take on it is simply that WhiteKnight's post, though good, was just a way to show off that he knows how to program. Of course you all may see it differently and are entitled, but I was entitled to that take on it. Any programmer could come up with a similar code example quite quickly, and there is really no genius to it. I will give WK credit though that it was well thought out and a good code example. But convince me as you may I still don't in any way see it as relevant in the slightest to the overall investigations of the Fraud of 2004.

But that's just my take on it :)


:hi:
Printer Friendly | Permalink |  | Top
 
sabra Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 10:39 AM
Response to Reply #12
13. I see you are a VB guy...
Maybe you are just frustrated that the poster was able to illustrate in using C? (j/k) :-)

But seriously, I guess my reasoning was to show how simple it is. And it easy to write code (whether it's intentional or not) that can have dire effects. You are correct, we could bring up millions of examples to show how things could be altered. It can be code on the application level, database level, hardware level, device level, server, etc... I guess this post just further convinced me of that fact.

"But convince me as you may I still don't in any way see it as relevant in the slightest to the overall investigations of the Fraud of 2004."

I guess only time will tell, as you indicated, I don't have access to the code, I could only rely on what I know right now...
Printer Friendly | Permalink |  | Top
 
IAMREALITY Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 10:44 AM
Response to Reply #13
14. Fair Enough Sabra!
See? I love that Sabra. Two DU'rs able to disagree in a civil manner LOL

I'm not a programmer though, but I dabble in it a little for database queries I run for data analysis. I've learned VB quite well on my own, but it isn't really my profession. My bro-in-law is, however, a programmer, with all of it. C,VB,SQL, etc.. but he is heavy repub. He looked at the example and said "that's the best you guys came up with?" He was quite amused at it and spouted out like ten different other equally complex looking ways it could've been done.

That's the only reason why I respond to it as I do, is cause I know it is just a code example that any programmer could come up with in a heartbeat. Nothin really special IMHO.

Regardless though, you have my respect, and now even more of it that you can maintain civility with opposing opinions during these trying times. Shows great sense of character!

:pals:
Printer Friendly | Permalink |  | Top
 
tbuddha Donating Member (453 posts) Send PM | Profile | Ignore Tue Nov-30-04 10:52 AM
Response to Reply #12
15. No, I've written code and he makes a good point....
I like this point because it explains a problem with logic the MSM and many repukes have. Irregularities like the one in Gahanna don't happen on accident in computer code. It took a specific line of code that was meant to alter votes, like the one he gave as an example that, quite frankly, is probably close to the mark if not dead on.

I can't visualize honest code that would make a mistake like that and I'd love to see a Repuke or a blackbox official come up with an explanation.

Trust me, they won't.
Printer Friendly | Permalink |  | Top
 
IAMREALITY Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 10:58 AM
Response to Reply #15
16. On that point I agree Completely
On the flip side of my post above, I also asked my bro in law, since I do know something about coding, how that glitch could've possibly happened, i.e. is there any logical explanation he could come up with, with all his knowledge of coding/programming, to explain how bushie could get 3893 more votes due to the glitch while all other tallies remain unharmed? He said no, it just didn't seem probable. Coming out of a Die Hard Repubs mouth that was good enough for me.
Printer Friendly | Permalink |  | Top
 
Cadence Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 04:47 PM
Response to Reply #15
36. I agree.
I have ten years in the computer science field and that's the point that I keep wishing someone would stress to the MSM.
Printer Friendly | Permalink |  | Top
 
mikeylove Donating Member (29 posts) Send PM | Profile | Ignore Tue Nov-30-04 03:17 PM
Response to Reply #12
31. There was one really good point though...
I liked the Basketball analogy. I've caused plenty of bugs in all of the coding I've done, and I can't say that I've ever seen an error quite like this - as the original poster said, the numbers that result from hardware (or other serious failure) are most often insanely off.

Makes me wonder if the story of that machine was intentional and part of the "big" plan. Yaknow, something like "We know our machines aren't perfect, but look here, we find the problems when they come up! Just like this machine over here..."

It amazes me that so many people accept that that machine had that large of a problem, yet reject the idea that there are many of those machines out there and it's likely that we didn't catch all of the "mistakes."
Printer Friendly | Permalink |  | Top
 
seaclyr Donating Member (182 posts) Send PM | Profile | Ignore Tue Nov-30-04 09:56 AM
Response to Original message
7. kick!
:kick: kick!
Printer Friendly | Permalink |  | Top
 
bmoney07 Donating Member (304 posts) Send PM | Profile | Ignore Tue Nov-30-04 10:00 AM
Response to Original message
9. Yes this is old
but it still is worth mentioning to keep it on the ever heaping pile of fraud that we are uncovering!!
Printer Friendly | Permalink |  | Top
 
Chimpanzee Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 11:04 AM
Response to Original message
17. The code doesn't work
"// The order of the votes does affect the final numbers but,
// even if you change the order, the rough order of magnetude
// of the bogus results stays about the same."

What are the chances that the vote came in conveniently in the patern required to make this work?
Printer Friendly | Permalink |  | Top
 
keepthemhonest Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 11:21 AM
Response to Reply #17
18. I am not a computer programmer but
I think it is very relevant to the 2004 fraud investigation.

The hacker obviously made a noticeable mistake,but it was not supposed to go down that way, he was supposed to just have switched the votes from Kerry to bush(less noticeable and harder to prove.)So just imagine all the other places where he did it right(undetected,)that is very relevant. It coinsides with the exit polls seemingly being reversed with the actual votes

Just put it in the pile along with all the other incriminating stuff we have on them.
Printer Friendly | Permalink |  | Top
 
Chimpanzee Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 11:27 AM
Response to Reply #18
19. Now its coming back to me!
Printer Friendly | Permalink |  | Top
 
Chimpanzee Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 02:07 PM
Response to Reply #19
25. I guess what I meant is his theory of the b=b+k bug
would only fit if the data was entered exactly as in his example. If people were in line differently from his example (which is probably a very high probability) then his example doesn't work.
Printer Friendly | Permalink |  | Top
 
madozone Donating Member (20 posts) Send PM | Profile | Ignore Tue Nov-30-04 04:38 PM
Response to Reply #25
35. Random sample
If the order of voters is random, and you run his code for various distributions of voters, the final results will fluctuate. So what would be interesting is to see a scatter plot of B vs K for random distributions of the set of voters.
Printer Friendly | Permalink |  | Top
 
sabra Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 11:32 AM
Response to Reply #17
20. How drastic is the difference if we change the pattern?
Plus, I wasn't taking this example is the true example of what happened. But more of a simple representation of how easy these things can be manipulated...
Printer Friendly | Permalink |  | Top
 
Chimpanzee Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 04:05 PM
Response to Reply #20
32. Yes, they can be manipulated VERY easily
Printer Friendly | Permalink |  | Top
 
donkeyotay Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 12:28 PM
Response to Original message
21. "glitches" "errors" "failures" "oopsies"... or fraud
I have a short attention span, so I abbreviated this story in case there are others with the same problem:

<<
This was a reply in an Ohio forum thread posted by DU newcomer WhiteKnight1:

About the bizzare vote counts in one Ohio Precinct:After seeing the Associated Press story titled "Machine Error Gives Bush Extra Ohio Votes", I started thinking about the numbers reported in the story,
... I wondered how this result could have been produced. They called it a "failure", but I know a lot about how systems can fail, and this sounded fishy. Why were Kerry's vote totals recorded properly, but not Bush's? ...

I decided to write a small vote counting program, and add in a function to steal every 10th vote. Once that was working I'd introduce a small error and see if the results came close the Ohio results reported by AP.The program below is the result. As you will see, there is one line of code that is supposed to add a stolen vote to Bush's total, and should be written as:b = b + 1;
but (I theorize) it was mis-typed as:b = b + k; So instead of adding one stolen vote to Bush's total, it adds the running total of Kerry votes to Bush's total. Whoops! The output from the program with the typo in place is: starting electionElection results: b: 4258 k: 260 o: 13(the actual votes: b: 336 k: 288 o: 14)...

So the intent was to shift 29 votes from other candidates to Bush, but the one-line programming mistake gives him an extra 3922 votes. I'm not saying this proves that this is what happened, but it does indeed prove that a small, one-line programming error by an evildoer programmer could produce the results seen in this one>>





Printer Friendly | Permalink |  | Top
 
mackdaddy Donating Member (177 posts) Send PM | Profile | Ignore Tue Nov-30-04 12:35 PM
Response to Original message
22. This is a better explanation than normal hardware failure
One of the problems that always bother me was the unusual number for the error. If you have a hardware occurrence such as plugging or un plugging a memory card under power, you would most often see an error which was one of the "power of two" numbers as a particular bit was erroneously affected by the occurrence. (decimal number equivalents for each binary bit such as 1,2,4,8,16,32,64,128,256,512,1024,2048,4096 are typical).

If an error were equal to exactly one of this sequence, or the sum of two of these numbers simple memory hardware failure would be believable. This error does not fit this pattern and does require a more elaborate explanation such as multiple internal failures, or intentional malicious code as laied out here.

Printer Friendly | Permalink |  | Top
 
yourout Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 12:37 PM
Response to Reply #22
23. Wonder if they are stored in floating point or...
long integers? I am unsure of a results of a bit change in a 48 bit floating point register.
Printer Friendly | Permalink |  | Top
 
masaka___ Donating Member (181 posts) Send PM | Profile | Ignore Tue Nov-30-04 02:33 PM
Response to Reply #23
26. Using floating point makes no sense.
It's not like votes are fractional.
Printer Friendly | Permalink |  | Top
 
yourout Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 04:29 PM
Response to Reply #26
34. I agree floating point makes no sense....
but in some systems all variables are floats by default.
Printer Friendly | Permalink |  | Top
 
proudtobeadem Donating Member (665 posts) Send PM | Profile | Ignore Tue Nov-30-04 01:52 PM
Response to Original message
24. kick
Printer Friendly | Permalink |  | Top
 
darthdemocrat Donating Member (57 posts) Send PM | Profile | Ignore Tue Nov-30-04 02:47 PM
Response to Original message
27. Experiences with software and counting
I've deployed a lot of applications (yes, as a paid professional) dealing with simple counting and such. I have never -EVER- had one make that type of error due to anything but a simple coding error no matter how crap the hardware it ran on was or how awful a disaster it was put through.

I've done work with machines that attach to a computer to count coins retrieved from vending machines, and this kind of error never happens. Never. If it could, the company that provides the system would go out of business FAST.

A crash that wipes data that was stored in memory? Maybe on beta version .0001a because I haven't gotten up to committing to storage. A crash that wipes or corrupts data that was stored to disk? Yeah, maybe if it lost power in the middle of writing. A hardware problem that increases the count of the algorithm and exhibits no other symptoms? Next.

Is it possible that it was actually a hardware problem of some type? Yes. Likely? No way.

I'll believe it when monkeys start flying out of my butt too.
Printer Friendly | Permalink |  | Top
 
chrisclub Donating Member (73 posts) Send PM | Profile | Ignore Tue Nov-30-04 03:02 PM
Response to Original message
28. Get me the source code!
I do know about software, especially this embedded code in the voting and vote counting machines.

If the source code is available, we will find how it was rigged, and I know some of the source code is available... Diebold left their FTP server open a few months ago, and we have some of the source code.

It may take awhile, but if we do indeed have the "special" code, we will find the smoking gun.

This Ohio machine apparently did not have the latest software with the bug fix installed.

hmm,.. remember the Diebold memos to the election officials in Ohio telling them to make sure they installed latest code?

Somebody didn't get the memo, or couldn't figure out how to upgrade the software.

What we would really like is the actual software that was in the voting, and more importantly, the vote counting machines during the election.

Or just the machines themselves. we could feed in 5000 known votes and see what they actually record and count.

However, it might be enough to find this b=b+k bug that explains the 3900 extra votes for Bush in the Diebold source code from their server.

Also, the only reason for Diebold to protect this source code is to prevent people like me from exposing their handiwork. This code has no pratical use unless you also make and sell the machine it is used in.

BTW, This is more fun than removing keys from video games by single-stepping through the assembly code and "revising" it.

...on to the hunt...
Printer Friendly | Permalink |  | Top
 
sabra Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 04:24 PM
Response to Reply #28
33. Follow Up Thread
Printer Friendly | Permalink |  | Top
 
renate Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 06:38 PM
Response to Reply #28
40. I thought the Diebold source code was hacked by college students
a while ago, and posted on the Web.
I could be wrong, of course. I don't remember the details, not even the month it happened.

BTW, I just sent Keith (I guess we're on a first-name basis with him now) an e-mail about the original message on this thread. I realize it's only an example of what might have happened, but I'm like the other non-computer-literate folks who've suddenly realized that a "computer glitch" wouldn't have had the results this tweaking did--it was news to me that the numbers themselves were a giveaway that it wasn't just a human-error oopsie-daisy.
Printer Friendly | Permalink |  | Top
 
mmiixx Donating Member (12 posts) Send PM | Profile | Ignore Tue Nov-30-04 07:36 PM
Response to Reply #40
42. monkeys are smart enough
BBV trained a money to do it i think
Printer Friendly | Permalink |  | Top
 
newyawker99 Donating Member (1000+ posts) Send PM | Profile | Ignore Wed Dec-01-04 07:08 PM
Response to Reply #42
50. Hi mmiixx!!
Welcome to DU!! :toast:
Printer Friendly | Permalink |  | Top
 
Dancing_Dave Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 03:03 PM
Response to Original message
29. Great work!
Now could we seize some of those machines used in the election to investigate further...
Printer Friendly | Permalink |  | Top
 
GetTheRightVote Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 03:06 PM
Response to Reply #29
30. I would not be surprised at all, I am a programmer
and I would like the source code too.

It would prove the fraud happened if they have not replaced it yet after all this time.
Printer Friendly | Permalink |  | Top
 
unpossibles Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 04:52 PM
Response to Reply #30
37. yeah
"It would prove the fraud happened if they have not replaced it yet after all this time."

this is what scares me. In the time it's taken for the MSM to notice, they could have 'fixed' all of the 'problems' pretty easily. Of course, I am not sure how the machines are stored, so maybe I am wrong.

I don't think this machine was a decoy however. I think it was human error that points to the fraud. They would not want to purposefully have an error that large because it makes the machine makers look bad, and if they did, they could put in an error that makes more sense.
Printer Friendly | Permalink |  | Top
 
mmiixx Donating Member (12 posts) Send PM | Profile | Ignore Tue Nov-30-04 06:04 PM
Response to Reply #37
38. "KEEP IT SIMPLE , STUPID"
I think the point of is example of "Bush Friendly" code on any of the voting systems is "KEEP IT SIMPLE , STUPID" .I have worked with computers since the 80's ,it would be simple to have lines of code that activate at a certain time and date then perform their function ,update the results then delete all lines of code involved in the operation.

There a thing called "oscams razor" used in science , which means in essence "KEEP IT SIMPLE , STUPID"


I'm no Rocket Scientist but padding the vote in Bush states would be very simple using is method , and almost undetectable and obviously helpful in battleground states.

Maybe somebody could look for similar patterns in other tallies.

Add this to the stories coming from Wayne Madsen and who knows !
MOTIVE, METHOD, MEANS.

Side note:If my understanding of this administration is correct wait for the INTERNET to be targeted as subversive and for attempts to restrict its use .Call me a "tin foil hatter"
mickmcc747@hotmail.com
Printer Friendly | Permalink |  | Top
 
k8conant Donating Member (1000+ posts) Send PM | Profile | Ignore Tue Nov-30-04 07:08 PM
Response to Reply #30
41. Why are the bad results from Franklin County still posted?
Franklin County also added the absentee ballots twice!
I went to:
http://www.franklincountyohio.gov/boe/content/electionAbstract.htm

2004 - November 2nd - General Election Unofficial Results

Unofficial Abstract Index (PDF)
Unofficial Abstract of Votes (PDF) (NOTE: This is a large file and may take some time to download.)

I downloaded both. The Abstract of Votes still shows the bad Gahanna precinct data on Page 23. On page 34 there are listed ABSENTEE 1 and ABSENTEE 2.
By the totals these appear to be 2 counts of the same ballots., BUT both counts are added to the grand totals which also appear in the Unofficial Abstract Index..

After subtracting the 1st absentee count and correcting the Gahanna totals,
I calculate these county-wide totals for Franklin County:

Bush 220,145 Kerry 265,548

The Secretary of State site at
http://www.sos.state.oh.us/sos//results/11-02-04.htm
lists for Franklin County:

Bush 234,196 Kerry 275,573

(This matches the original bad data at Franklin County)

If all this has even been in the MSM as a "computer glitch", why haven't the totals been corrected? Have the absentee ballots been added twice elsewhere?


Printer Friendly | Permalink |  | Top
 
chrisclub Donating Member (73 posts) Send PM | Profile | Ignore Wed Dec-01-04 01:38 AM
Response to Original message
44. Moved votes to 3rd party instead of to Bush?
"In the 4th Ward on Cleveland's East Side, for example, two fringe presidential candidates did surprisingly well.

In precinct 4F, located at Benedictine High School on Martin Luther King Jr. Drive, Kerry received 290 votes, Bush 21 and Michael Peroutka, candidate of the ultra-conservative anti-immigrant Constitutional Party, an amazing 215 votes!"
Printer Friendly | Permalink |  | Top
 
sabra Donating Member (1000+ posts) Send PM | Profile | Ignore Wed Dec-01-04 02:25 PM
Response to Reply #44
48. How did they vote in Cleveland?
Meaning did they use DRE, Optiscan, etc... ?
Printer Friendly | Permalink |  | Top
 
thedutch Donating Member (37 posts) Send PM | Profile | Ignore Wed Dec-01-04 04:10 AM
Response to Original message
45. and now in Python!!
from random import randint

class RobOhio:

    def __init__ (self):
        self.votes = []
        self.candidates = [ 'B', 'K', 'O' ]
        self.totals = []

    def makeVotes(self):
        for i in range(1000):
            x = randint(0, 2)
            self.votes[:0] = [self.candidates[x]]

    def countVotes(self):
        self.totals = [0, 0, 0]
        for i in range(len(self.votes)):
            for j in range(len(self.candidates)):
                if (self.candidates[j] == self.votes[i]):
                    self.totals[j] += 1
                    break
                else:
                    continue
        print self.totals

    def screwVotes (self):
        self.counter = 0
        for i in range(len(self.votes)):

            if (self.votes[i] == 'K'): self.counter += 1

            if (self.counter == 10):
                self.votes[i] = 'B'
                self.counter = 0

Im so bored...
Printer Friendly | Permalink |  | Top
 
ClintCooper2003 Donating Member (629 posts) Send PM | Profile | Ignore Wed Dec-01-04 05:49 AM
Response to Original message
46. Brilliant work.
I will email this to others.
Printer Friendly | Permalink |  | Top
 
americanwhothinks Donating Member (98 posts) Send PM | Profile | Ignore Wed Dec-01-04 06:15 AM
Response to Original message
47. VERY COMPELLING!! SEND THIS TO JACKSON, KERRY, GLIBS!!! N/T
Printer Friendly | Permalink |  | Top
 
pauldp Donating Member (1000+ posts) Send PM | Profile | Ignore Wed Dec-01-04 02:33 PM
Response to Original message
49. Kick!
Printer Friendly | Permalink |  | Top
 
DU AdBot (1000+ posts) Click to send private message to this author Click to view 
this author's profile Click to add 
this author to your buddy list Click to add 
this author to your Ignore list Tue Apr 23rd 2024, 09:32 PM
Response to Original message
Advertisements [?]
 Top

Home » Discuss » Topic Forums » Election Reform Donate to DU

Powered by DCForum+ Version 1.1 Copyright 1997-2002 DCScripts.com
Software has been extensively modified by the DU administrators


Important Notices: By participating on this discussion board, visitors agree to abide by the rules outlined on our Rules page. Messages posted on the Democratic Underground Discussion Forums are the opinions of the individuals who post them, and do not necessarily represent the opinions of Democratic Underground, LLC.

Home  |  Discussion Forums  |  Journals |  Store  |  Donate

About DU  |  Contact Us  |  Privacy Policy

Got a message for Democratic Underground? Click here to send us a message.

© 2001 - 2011 Democratic Underground, LLC