Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Dominion Voting Systems

Dominion Voting Systems

Scheduled Pinned Locked Moved The Lounge
question
52 Posts 33 Posters 2 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R realJSOP

    How many of you - as developers - are taken aback by the revelations concerning the state of Dominion Voting Systems? Why would any self-respecting developer agree to write code in such a way as to allow subversion of its targeted purpose? What retard decided that storing vote counts as floating point numbers was a "good idea"? ANYBODY that's been a developer for any length of time knows damn well that when you do math with floating point numbers, the result is an *approximation*. and is therefore not accurate. Even more importantly, why would anyone use software that was demonstrably accuracy-challenged and so easily corrupted?

    ".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

    F Offline
    F Offline
    fd9750
    wrote on last edited by
    #26

    Knowing where the "revelations" come from: it is just another case of total b******t. Yes: floating point may cause a slight difference or rounding error here or there but they pale into insignificance. Only total ignorance and the wish to peddle that to those who don't have a clue either is the reason behind spreading this. Being a long time developer I know better, no way on earth do you lose "millions of votes" because of it, you only have yourself to thank for that.

    1 Reply Last reply
    0
    • R realJSOP

      How many of you - as developers - are taken aback by the revelations concerning the state of Dominion Voting Systems? Why would any self-respecting developer agree to write code in such a way as to allow subversion of its targeted purpose? What retard decided that storing vote counts as floating point numbers was a "good idea"? ANYBODY that's been a developer for any length of time knows damn well that when you do math with floating point numbers, the result is an *approximation*. and is therefore not accurate. Even more importantly, why would anyone use software that was demonstrably accuracy-challenged and so easily corrupted?

      ".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

      D Offline
      D Offline
      David ONeil
      wrote on last edited by
      #27

      #realJSOP wrote:

      What retard decided that storing vote counts as floating point numbers was a "good idea"?

      It's not a good idea, but it doesn't seem to be as bad as you are implying. You would have to do far more testing than this simple program, and on the specific hardware of the machines, but on my machine it doesn't change the count by a single vote, even when using almost three times more people than there are in the US.

      #include <iostream>

      int main() {
      __int64 test = 0;
      double d = 0;
      for (int i=0; i<16777216; ++i) {
      d = d + 1;
      }
      std::cout << d << std::endl;

      d = 0;
      for (__int64 i=0; i<1000000000; ++i) {
      d = d+1;
      }
      std::cout << d;
      return 0;
      }

      The forgotten roots of science | C++ Programming | DWinLib

      P 1 Reply Last reply
      0
      • 5 5teveH

        Fake news?

        R Offline
        R Offline
        Rage
        wrote on last edited by
        #28

        Not sure how accurate a source the New York times is, but it looks like it is indeed a fake news[^].

        Do not escape reality : improve reality !

        1 Reply Last reply
        0
        • R realJSOP

          How many of you - as developers - are taken aback by the revelations concerning the state of Dominion Voting Systems? Why would any self-respecting developer agree to write code in such a way as to allow subversion of its targeted purpose? What retard decided that storing vote counts as floating point numbers was a "good idea"? ANYBODY that's been a developer for any length of time knows damn well that when you do math with floating point numbers, the result is an *approximation*. and is therefore not accurate. Even more importantly, why would anyone use software that was demonstrably accuracy-challenged and so easily corrupted?

          ".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

          P Offline
          P Offline
          PIEBALDconsult
          wrote on last edited by
          #29

          Python developers maybe? :laugh: 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.)

          1 Reply Last reply
          0
          • D David ONeil

            #realJSOP wrote:

            What retard decided that storing vote counts as floating point numbers was a "good idea"?

            It's not a good idea, but it doesn't seem to be as bad as you are implying. You would have to do far more testing than this simple program, and on the specific hardware of the machines, but on my machine it doesn't change the count by a single vote, even when using almost three times more people than there are in the US.

            #include <iostream>

            int main() {
            __int64 test = 0;
            double d = 0;
            for (int i=0; i<16777216; ++i) {
            d = d + 1;
            }
            std::cout << d << std::endl;

            d = 0;
            for (__int64 i=0; i<1000000000; ++i) {
            d = d+1;
            }
            std::cout << d;
            return 0;
            }

            The forgotten roots of science | C++ Programming | DWinLib

            P Offline
            P Offline
            PIEBALDconsult
            wrote on last edited by
            #30

            What about with single-precision?

            D 1 Reply Last reply
            0
            • P PIEBALDconsult

              What about with single-precision?

              D Offline
              D Offline
              David ONeil
              wrote on last edited by
              #31

              Change the double to float and try. And change the 10 billion to 16777215. Still no votes changed on my system.

              The forgotten roots of science | C++ Programming | DWinLib

              1 Reply Last reply
              0
              • C Chris Maunder

                The world runs on Excel spreadsheets. No matter how complicated, finely crafted, or expensive the system is that's put in place, someone, somewhere falls back to managing it all on a spreadsheet.

                cheers Chris Maunder

                S Offline
                S Offline
                Slacker007
                wrote on last edited by
                #32

                I have read on occasion that here in America, both Democrat and Republican campaign strategists do most of their number crunching using spreadsheets. So yes, I agree completely with what you posted. In fact, most people I know that crunch numbers for a living use spreadsheets extensively.

                OriginalGriffO 1 Reply Last reply
                0
                • R realJSOP

                  How many of you - as developers - are taken aback by the revelations concerning the state of Dominion Voting Systems? Why would any self-respecting developer agree to write code in such a way as to allow subversion of its targeted purpose? What retard decided that storing vote counts as floating point numbers was a "good idea"? ANYBODY that's been a developer for any length of time knows damn well that when you do math with floating point numbers, the result is an *approximation*. and is therefore not accurate. Even more importantly, why would anyone use software that was demonstrably accuracy-challenged and so easily corrupted?

                  ".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

                  D Offline
                  D Offline
                  Dave Kreskowiak
                  wrote on last edited by
                  #33

                  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?

                  Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles.
                  Dave Kreskowiak

                  1 Reply Last reply
                  0
                  • S Slacker007

                    I have read on occasion that here in America, both Democrat and Republican campaign strategists do most of their number crunching using spreadsheets. So yes, I agree completely with what you posted. In fact, most people I know that crunch numbers for a living use spreadsheets extensively.

                    OriginalGriffO Offline
                    OriginalGriffO Offline
                    OriginalGriff
                    wrote on last edited by
                    #34

                    I do as well - they are powerful and really flexible. But ... once the data goes over a couple hundred rows, I move it to a DB and a C# app. 65K rows? Not nice, not at all. Mind you, I used to work for someone who did all his stores, manufacturing, accounts, personnel - the whole damn company in fact - on a single sheet spreadsheet. It took about 20 minutes to load, and when it recalculated prices you went for a coffee. Worked for years though!

                    "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!

                    "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
                    "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

                    S M 2 Replies Last reply
                    0
                    • F F ES Sitecore

                      BigInteger Struct (System.Numerics) | Microsoft Docs[^]

                      D Offline
                      D Offline
                      Daniel Pfeffer
                      wrote on last edited by
                      #35

                      Given that world population is much smaller than 264 (~1019), I would think that using a ulong (C#) or unsigned long long (C or C++) would be more than adequate. Even assuming that human population doubles every 35 years, this still gives room for ~30-31 doublings, which will take ~1050-1085 years. In 3070 I expect to be safely retired. :laugh:

                      Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

                      F 1 Reply Last reply
                      0
                      • R realJSOP

                        How many of you - as developers - are taken aback by the revelations concerning the state of Dominion Voting Systems? Why would any self-respecting developer agree to write code in such a way as to allow subversion of its targeted purpose? What retard decided that storing vote counts as floating point numbers was a "good idea"? ANYBODY that's been a developer for any length of time knows damn well that when you do math with floating point numbers, the result is an *approximation*. and is therefore not accurate. Even more importantly, why would anyone use software that was demonstrably accuracy-challenged and so easily corrupted?

                        ".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

                        Sander RosselS Offline
                        Sander RosselS Offline
                        Sander Rossel
                        wrote on last edited by
                        #36

                        For the floating voter of course! :rolleyes:

                        Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                        J 1 Reply Last reply
                        0
                        • Sander RosselS Sander Rossel

                          For the floating voter of course! :rolleyes:

                          Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                          J Offline
                          J Offline
                          jeron1
                          wrote on last edited by
                          #37

                          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

                          1 Reply Last reply
                          0
                          • OriginalGriffO OriginalGriff

                            I do as well - they are powerful and really flexible. But ... once the data goes over a couple hundred rows, I move it to a DB and a C# app. 65K rows? Not nice, not at all. Mind you, I used to work for someone who did all his stores, manufacturing, accounts, personnel - the whole damn company in fact - on a single sheet spreadsheet. It took about 20 minutes to load, and when it recalculated prices you went for a coffee. Worked for years though!

                            "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!

                            S Offline
                            S Offline
                            Slacker007
                            wrote on last edited by
                            #38

                            OriginalGriff wrote:

                            65K rows? Not nice, not at all.

                            :thumbsup: agreed.

                            1 Reply Last reply
                            0
                            • R realJSOP

                              A max int has been 2,147,483,647 since BEFORE dominion wrote their software. There are significantly fewer than 2 billion voters in the entire U.S.. There is *no excuse* for using a floating point value.

                              ".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

                              M Offline
                              M Offline
                              Mycroft Holmes
                              wrote on last edited by
                              #39

                              It may have depended on the outcome the developer wanted - a disputable result!

                              Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP

                              enhzflepE 1 Reply Last reply
                              0
                              • OriginalGriffO OriginalGriff

                                I do as well - they are powerful and really flexible. But ... once the data goes over a couple hundred rows, I move it to a DB and a C# app. 65K rows? Not nice, not at all. Mind you, I used to work for someone who did all his stores, manufacturing, accounts, personnel - the whole damn company in fact - on a single sheet spreadsheet. It took about 20 minutes to load, and when it recalculated prices you went for a coffee. Worked for years though!

                                "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!

                                M Offline
                                M Offline
                                Mycroft Holmes
                                wrote on last edited by
                                #40

                                I once wrote a cost analysis system for Hyundai that took 90 minutes to recalculate. I was disgusted with it as it only got within 1m of reality, the boss was ecstatic, he could only get within 10m using his system.

                                Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP

                                1 Reply Last reply
                                0
                                • R realJSOP

                                  How many of you - as developers - are taken aback by the revelations concerning the state of Dominion Voting Systems? Why would any self-respecting developer agree to write code in such a way as to allow subversion of its targeted purpose? What retard decided that storing vote counts as floating point numbers was a "good idea"? ANYBODY that's been a developer for any length of time knows damn well that when you do math with floating point numbers, the result is an *approximation*. and is therefore not accurate. Even more importantly, why would anyone use software that was demonstrably accuracy-challenged and so easily corrupted?

                                  ".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

                                  Richard Andrew x64R Offline
                                  Richard Andrew x64R Offline
                                  Richard Andrew x64
                                  wrote on last edited by
                                  #41

                                  #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.

                                  1 Reply Last reply
                                  0
                                  • R realJSOP

                                    How many of you - as developers - are taken aback by the revelations concerning the state of Dominion Voting Systems? Why would any self-respecting developer agree to write code in such a way as to allow subversion of its targeted purpose? What retard decided that storing vote counts as floating point numbers was a "good idea"? ANYBODY that's been a developer for any length of time knows damn well that when you do math with floating point numbers, the result is an *approximation*. and is therefore not accurate. Even more importantly, why would anyone use software that was demonstrably accuracy-challenged and so easily corrupted?

                                    ".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

                                    C Offline
                                    C Offline
                                    Chris Maunder
                                    wrote on last edited by
                                    #42

                                    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

                                    1 Reply Last reply
                                    0
                                    • M Mycroft Holmes

                                      It may have depended on the outcome the developer wanted - a disputable result!

                                      Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP

                                      enhzflepE Offline
                                      enhzflepE Offline
                                      enhzflep
                                      wrote on last edited by
                                      #43

                                      Errors can at times be the hardest thing to get right. Any fool can insert a bug accidentally.

                                      1 Reply Last reply
                                      0
                                      • R realJSOP

                                        How many of you - as developers - are taken aback by the revelations concerning the state of Dominion Voting Systems? Why would any self-respecting developer agree to write code in such a way as to allow subversion of its targeted purpose? What retard decided that storing vote counts as floating point numbers was a "good idea"? ANYBODY that's been a developer for any length of time knows damn well that when you do math with floating point numbers, the result is an *approximation*. and is therefore not accurate. Even more importantly, why would anyone use software that was demonstrably accuracy-challenged and so easily corrupted?

                                        ".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

                                        S Offline
                                        S Offline
                                        Stephen Gonzalez
                                        wrote on last edited by
                                        #44

                                        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. :laugh:

                                        The best way to make your dreams come true is to wake up. Paul Valery

                                        1 Reply Last reply
                                        0
                                        • R realJSOP

                                          How many of you - as developers - are taken aback by the revelations concerning the state of Dominion Voting Systems? Why would any self-respecting developer agree to write code in such a way as to allow subversion of its targeted purpose? What retard decided that storing vote counts as floating point numbers was a "good idea"? ANYBODY that's been a developer for any length of time knows damn well that when you do math with floating point numbers, the result is an *approximation*. and is therefore not accurate. Even more importantly, why would anyone use software that was demonstrably accuracy-challenged and so easily corrupted?

                                          ".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

                                          R Offline
                                          R Offline
                                          r_hyde
                                          wrote on last edited by
                                          #45

                                          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.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups