Let’s get whipped up into a frenzy over just one possible form of voter fraud! (And let’s take our eyes off the bigger issues facing this election!) It’s called “Fraction Magic,” and there’s a video—on YouTube, so it must be legitimate—that shows a guy changing tallies on vote tabulating software! What else could it be but true?!
Well, it could actually be bull, because the video depicts a contrived situation that tells us nothing we didn’t already know and that proves nothing about actual instances of election fraud.
Depicted in this video is a computer programmer and his program that he must load onto the computer that tabulates ballots. The programmer runs one set of reports, calls his program, then reruns the reports and shows that—presto!—the vote changed!
And yet there is so very, very much that the video fails to show.
First off, by slowing down the video and reading details on the screen, we can see that the tabulating software uses Microsoft Access databases to store the results of various races, and that the programmer and the video’s author have somehow pre-loaded several datasets from past elections around the country.
Access is a desktop database: You could run your home-based business through a Microsoft Access database, but you could not reasonably run an e-commerce website using an Access database. The process of counting ballots places a remarkably small load on a database; however, there are many other factors that should guide the choice of a database for a given application. When protecting the sanctity of the vote, security and encryption should be high on the list, and the Access database engine is very limited in the security and encryption features it offers. For that reason alone, it may not be a good selection for counting ballots, even though Access is computationally capable of the task. In other words, this tabulation software is an easy target for a programmer with minimal ability and a writer with a story to sell.
Having ferreted out the underlying database, we know something else: Microsoft Access is very easy for a programmer to use; it was designed to facilitate database and business application development even for small shops that couldn’t afford to hire a programmer. Therefore, Access offers multiple interfaces by which programmers can interact with its databases, and easily. The programmer in the video calls up his application and gives it the path to the database file for the election with which he wants to tamper, then runs his code.
And he offers no sample of his code or information on what his code does.
The programmer then reruns reports and shows that he has changed the final tally of the election to give one candidate a win by a very specific percentage of the vote, down to two decimal places. The author of the video wants us to believe that the database uses fractional people—say, a ballot counting for 0.49 votes, or a ballot counting for 1.02 votes—to reach that desired outcome. Both the programmer and the author make the claim that there is no reason the database should allow for a fraction of a ballot to be counted.
This poor guy must not be a very knowledgeable programmer, because that claim is unfounded and incorrect. A fractional ballot does not make sense when toting up an election, but the underlying database does not know that there cannot be fractional ballots. It is the explicit responsibility of the voting system programmer to ensure that none of the counting software can send a fractional ballot to the database, but the database could still store such a thing. And why? To store a number large enough for a statewide or a national election, a database will use a number format that can count fractions as well as whole numbers.
Computers store numbers in one of several binary formats. We count in base-10 (decimal), but computers count in base-2 (binary), so each digit has two possible values (0 or 1) instead of the ten we use (0-9). Also, while a student can write smaller and smaller when working on a math problem and squeeze more digits into the same space on a piece of paper, computers have no such luxury and can handle only a finite number of digits at a time. When defining a database, the programmer or database administrator (DBA) creating the database gives each data point (such as the count of ballots cast for a given candidate) a specific, fixed amount of storage.
The video appears to show the underlying database counting votes with a “double-precision floating-point decimal” number. This number can count from -1038 to 1038, making it possible to count an entire state’s elections, or the entire country’s. However, that numeric format, by its very definition and nature, also allows for fractional numbers, not just whole numbers.
The fact that the database underlying the tabulation system can track fractional votes—and that a programmer can abuse the underlying database to produce new results—is a side effect of the way computers store numbers and absolutely nothing more than that. Remember, it is the database behind the tabulating system that can handle fractions; the voting system itself should not ever pass a fractional ballot to the database.
The key to understanding the video is the fact that the programmer in the video bypassed the tabulation software and gave his program access to the underlying database directly.
The only thing this silly video proves, therefore, apart from the low level of skill needed to write code that impacts some vote tabulating software, is another fact well-known in the world of programming.
Last week, I spoke on-air with James T. Harris about a prediction we had made that was proven correct: the FBI could gain access to the San Bernardino terrorist’s iPhone using an attack against the actual memory chips in the phone. In discussing the iPhone in question and the hacking technique—and the security of what data we keep on our devices in general—I paraphrased the first of Microsoft’s Ten Immutable Laws of Security: “If a bad guy has unrestricted physical access to your computer, it’s not your computer anymore.”
Of course, anybody who can sit down to the master tabulating computer and run his or her own code on that computer can change vote counts, or change the name of a candidate to “Anthony Weiner”, or add a ballot question for favorite ice cream flavor and rig that vote for “dirty dishwater”. And this is the one and only fact the cockamamie “Fraction Magic” video proves: If a bad guy has unrestricted physical access to the vote counting computer, it’s not a valid election anymore.
The presentation of the video would have the viewer believe that this form of “fraud” is rampant and pernicious, and is an evil that will rob this republic of a valid election next week. A caller to the James T. Harris show on Monday was deeply concerned over this video. Don’t be fooled, and don’t take your eye off the real issues. First off, focus on the data dumps from WikiLeaks and keep telling people you know—especially independent voters looking for compelling reasons to cast specific votes—about the massive fraud and criminality exposed in those emails. Next, look more closely at the systematic problems that exist in vote gathering and tabulation everywhere: unlawful casting of ballots by non-citizens and illegal aliens, disenfranchisement and intimidation by lawless thugs, illegal ballot harvesting, an ignorant and overly-emotional electorate, and the votes of the deceased and the repeat-voter.
Tomorrow we will discuss a novel and improved approach that the United States should take to secure the vote counting process and imbue the entire practice with transparency sufficient to quell the conspiracy theory kooks who produce malarkey like “Fraction Magic”. Fantastical claims like that insult our intelligence.
Editor’s note: Originally, this column included an arithmetic error, as pointed out by a keen commenter below. That detail has been removed, but the author stand by his thesis that the problem with the system is not in the voting software itself or in the inescapable reality that a programmer who can access the underlying database can taint an election’s results; installment two will expand on this tomorrow.