Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming Software

Why Can We Write Software To Get To the Moon, But Not To Count Votes (infoworld.com) 325

minstrelmike shares a report. From the article: The best way to get a feel for what NASA's job was like is to read some of the code, now immortalized in a GitHub repository. Choose a file at random. GROUND_TRACKING_DETERMINATION_PROGRAM.agc, for instance, has 204 lines and more than 85 of them are comments. Each of the lines consists of only one operation, unlike modern languages, which can pack dozens of operations with multiple options into one line. The simplicity becomes obvious .... The Apollo Guidance Computer had only 36k of ROM to hold the compiled version."

You didn't need security, function was the only thing that counted, and you only had to do one thing. A Go app compiled with version 1.7 that only prints "Hello World" is 1.6 megabytes alone, and the Go world was totally thrilled with this news because it was 2.3 megabytes before." And you didn't need to deal with lawyers. There are 22 thousand words in the basic Terms of Service for renting a machine in Amazon's cloud. There is also an entirely different TOS for using the website to rent the machine. Then each individual product often has its own TOS, like this one for Activate. Add them up and they're much longer than the 36 thousand instruction words in the ROM in the Lunar Lander's computer.

This discussion has been archived. No new comments can be posted.

Why Can We Write Software To Get To the Moon, But Not To Count Votes

Comments Filter:
  • by AmiMoJo ( 196126 ) on Monday February 10, 2020 @11:29AM (#59710818) Homepage Journal

    NASA spent a huge amount of money developing this software and it took many years.

    The failed voting app was slapped together in a few weeks using low cost app developers.

    • by AlanObject ( 3603453 ) on Monday February 10, 2020 @11:43AM (#59710878)

      And written by a company that named itself "Shadow."

      Exactly how many red flags do you need anyway?

    • by DontBeAMoran ( 4843879 ) on Monday February 10, 2020 @11:45AM (#59710880)

      Low cost app developers who barely know how to code and mostly know how to glue dozens of questionable libraries together.

    • Re: (Score:3, Insightful)

      It was also driven by people with an agenda. This story isn't about "ineptitude" as much as it is about people wanting to make it one.

      • Because blackeyers actually buy that!
        Hanlon's razor^Wfallacy and all.

    • by jythie ( 914043 ) on Monday February 10, 2020 @11:49AM (#59710910)
      This.

      In one of my classes we did a case study on NASA's software development process. It had the highest cost per line of code of any example we were given, and might have been the highest cost ratio at the time.

      That being said, besides the time, practices, and process that went into its development,.. the type of stuff the piece is kinda ignoring, I think there is value in looking at how domain/mechanical/legal differences can also impact the difficulty in writing stable software. All the things the summary mentions are real issues that introduce complexity, some of it mutually exclusive, which makes software harder to develop and test.
    • Comment removed based on user account deletion
      • Surely you don't expect a startup company CEO to forgo his company Lamborghini, hookers and blow in favor of spending more of the venture capital on hiring competent people. That's just not how it's done!

      • by kenh ( 9056 ) on Monday February 10, 2020 @12:16PM (#59711082) Homepage Journal

        Iowa Democrats paid $60K for the app, according to reports.

        This app would have a useful life of about 3-4 hours, and would see about 1,600 submissions over those 3-4 hours, mostly clustered around the time the caucuses finished.

        This was a very manageable project, there's no technical reason it should have flamed out so badly.

        • by doom ( 14564 ) <doom@kzsu.stanford.edu> on Monday February 10, 2020 @12:46PM (#59711272) Homepage Journal

          Iowa Democrats paid $60K for the app, according to reports.

          Presuming an overhead factor of 2, that's $30K for salaries, which presuming $100K per employee is enough for three months of developer time. If you figure a team of 3 (including QA/testing) you've got about a month. For a highly visible application that requires excellent security and transparency or it will attract suspicions of having been hacked/gamed/rigged.

      • Re: (Score:3, Insightful)

        by gtall ( 79522 )

        "2-3 sprints"? Hardly, using Agile would produce exactly the kind of app that was produced. Whack something together, oh it almost works. Fix bugs you can see. Send app over the wall to users and breathlessly await their reports so the app can be modified to "include stakeholders' comments". Repeat as needed until nomination process proceeds without screwups but the app still includes the security vulnerabilities because the reports from the crackers (the old sense of the word that the word hacker has sort

    • First all the software for getting to lunar orbit could be run and checked over long times. It could be monolithic not networked. It did not need a GUI.

      But the software for landing the lander did have real time requirements. It had multiple tasks to perform. It was designed so it could be power cycled and the lander would not crash. Imagine waiting for the windows boot screen to finish and then having to re-input the new coordinates where you were while your retro rockets were firing uncontrollably or no

      • by kenh ( 9056 ) on Monday February 10, 2020 @12:20PM (#59711108) Homepage Journal

        This is not voting software, it is an app to submit totals into a central database.

        In Iowa there are 99 counties and 1,680 precincts. Each precinct had exactly one user that would submit a set of numbers representing the counts for each candidate in each round of the caucus - that's it.

        They failed to train the users or test the app, that was their problem.

        • by Touvan ( 868256 )

          They say there was a technical error on the outputs (the reports), which was skewing the results. That's what they say - but it's politics, and I don't believe them. A fool would.

        • This is not voting software, it is an app to submit totals into a central database

          Submitting totals to a central database is voting software.

    • by hey! ( 33014 ) on Monday February 10, 2020 @12:07PM (#59711026) Homepage Journal

      It was also written to run on a computer you could build with wire-wrapping (which rocks, by the way) arrays of discrete transistors. This limits the system's complexity and puts the system engineers on a strict feature budget.

      You also had the luxury of designing a user interface that had to be usable for someone who'd spend thousands of hours practicing with it, and who could qualify to be a frickin' astronaut. If on July 16, 1969 they shoved some random 80 year-old volunteer into the Command Module and expected them to figure the software the first time they used it, the results would have been about what they had in Iowa.

      The human factor isn't a legitimate excuse for a software project's failure. It just means the project failure occurred in the requirements phase.

      • The binary program of the Lunar Module's computer was literally woven by women to form banks of core memory. The weave directed wires in specific ways through and around magnetic cores to generate the required logical 0 and logical 1 bit values of the program. This method was very robust.

        • by hey! ( 33014 ) on Monday February 10, 2020 @01:10PM (#59711372) Homepage Journal

          What you're specifically talking about is something called "core rope memory". It uses the same basic building blocks as read/write magnetic core memory, but instead of having erase and write wires, nimble-fingered ladies wove wires through an array of permanently magnetized cores to make high a density ROM. By using the same physical building blocks they ended up with a higher density read-only memory that had the same electrical interface as their RAM.

    • by Roger W Moore ( 538166 ) on Monday February 10, 2020 @12:08PM (#59711038) Journal
      It's not just that though. Despite Murphy's law (or engineering's Sod's law) the Laws of Physics are not actually deliberately out to get you and you can rely on them to continue to behave in understandable and predictable ways. Similarly, your rockets are not deliberately trying to find away around your software so they can explode or misfire.

      When it comes to voting though you have to protect the result against people who cannot be trusted to always do the "right thing" and some of whom may well be out to try and deliberately skew the result in their direction. Trying to defend against intelligent actors deliberately trying to break your code is a lot harder than trying to defend against accidental breakdowns and failures.
      • by Solandri ( 704621 ) on Monday February 10, 2020 @02:49PM (#59711942)
        That got us to the moon? It was very much a seat of your pants effort [nasa.gov]. Not because the programmers were bad, but because the computer was so limited.

        102:38:26 Armstrong: (With the slightest touch of urgency) Program Alarm.
        102:38:28 Duke: It's looking good to us. Over.
        102:38:30 Armstrong: (To Houston) It's a 1202.
        102:38:32 Aldrin: 1202. (Pause)

        Armstrong and Aldrin are looking at each other asking "WTF is a 1202 alarm? I don't remember that from our simulator training."

        102:38:42 Armstrong (onboard): (To Buzz) What is it? Let's incorporate (the landing radar data). (To Houston) Give us a reading on the 1202 Program Alarm.

        He's basically asking "Houston, what's a 1202 alarm? We don't know WTF it is. Is it a show-stopper?"

        102:38:53 Duke: Roger. We got you...(With some urgency in his voice) We're Go on that alarm.
        102:38:59 Armstrong: Roger. (To Buzz) 330.

        Note the 11 second time gap before the reply. Duke frantically asks around Mission Control to see if anyone knows what a 1202 alarm is. Someone in the room who knows speaks up (it just means the computer is overloaded), and says it's not a show-stopper. They're good to continue. Duke relays that back to Apollo 11.

        The computer [wikipedia.org] was extremely limited (only about 4kB of RAM, 73kB of ROM, with limited input and output [wikipedia.org]. They spent a year training with it in a simulator, having all sorts of possible errors and malfunctions thrown at them. Despite all this training and preparation, they still had something unexpected occur during the actual mission. They got out of it because they thought of everything that could go wrong and prepared for it, even the unexpected. They had someone who helped build the computer in the room, who could answer within 10 seconds any questions that cropped up about it which hadn't been covered in the training.

        Do you think they had a hotline set up in Iowa, where people confused about how to use the app could call in and get further instructions in real-time? The key difference was preparation. Someone assumed there wouldn't be any problems using the app, so they didn't prepare for that potential failure mode. (Granted a failure on Apollo 11 would've meant three dead astronauts and national public humiliation, while a failure in the Iowa caucus would've only meant national public humiliation. So NASA had a bigger incentive to get things right.)

    • NASA spent a huge amount of money developing this software and it took many years.

      The failed voting app was slapped together in a few weeks using low cost app developers.

      Folks seem to forget that the NASA systems still had bugs... Look up "1201 and 1202 alarms", which nearly ended our first landing attempt. Nobody had expected this set of alarms and had never seen them before in the simulations or previous tests. The controller let them land anyway, even though they where flying into the unknown, literally... It wasn't just one errant alarm either, each of these alarms happened repeatedly. These guys where brave... Solid Stainless Steal you know whats

      • by Octorian ( 14086 )

        And the AGC software went through many revisions as well. I don't think it was "final" until the last couple of Apollo missions.

      • The "1201 and 1202 alarms" were run-time warnings that the executive part of the scheduler was getting overloaded due to being too busy. However, the computer was behaving as designed and was coping well. The computer had an unexpected amount of extra work to do because accidentally the radar that tracked the Command Module had been left on at the same time as the radar that measured the height above the lunar surface was being used.

        These alarm scenarios were known to an engineer in Mission Control who very

    • by kenh ( 9056 )

      The issues involved in the Iowa app:

      1) Complex Rules
      2) Short development window
      3) minimal testing by developers, no load testing, no end-user acceptance testing
      4) No user training
      5) Holding back on app until the day of the caucus
      6) Failure to get end-user buy-in
      7) Failure to plan/staff for alternative submission method

      This is NOT how a typical software project is developed.

  • Another argument (missing in the summary, but mentioned in TFA itself): The Apollo computer interfaced the outside world only with a DSKY (for display and keyboard) [arstechnica.com], whereas nowadays even a color LED light bulb needs to be internet enabled.

  • by AmazingRuss ( 555076 ) on Monday February 10, 2020 @11:41AM (#59710866)
    ...you get monkeys.
  • Why Can We Write Software To Get To the Moon, But Not To Count Votes?

    Because you are corrupt just like those governments or nations you blame...

  • JavaScript (Score:5, Funny)

    by CubicleZombie ( 2590497 ) on Monday February 10, 2020 @11:42AM (#59710874)

    If they'd written the software for Apollo in JavaScript, it would have exploded on the launchpad.

    If somebody had told me 20 years ago that I'd be writing server side JS, I'd have changed careers.

  • TL;DR (Score:2, Informative)

    Modern computers are a mess because people [theatlantic.com] (SFW).

  • I bet if there were interested parties trying to shoot down, blind, disorient or otherwise pwn the Apollo missions, it would not have been hard. On launch, they're moving slower than a passenger jet, and we sadly know how easy it is to down them.

    There's a fundamental difference between writing software that has to work in the face of stupidity, lack of proper definition and all the other ails of industrial control software and one that has to work in the face of actual malicious intent. Go to any mid-sized

    • by kenh ( 9056 )

      On launch, they're moving slower than a passenger jet, and we sadly know how easy it is to down them.

      WTF? How would you bring down a Saturn V rocket? RPG? Embed a suicidal terrorist in the astronaut program? Send passengers on the rocket with box cutters?

      The Iowa Democrats never tested the app or trained their 1,680 users - that's the failure.

  • How about they get the same people who designed the lottery machines. Manage to keep a full irrevocable record and provide the end user with a paper ticket. Twice weekly!
    • by kenh ( 9056 )

      The app was not a voting app, it was a GUI interface to a spreadsheet,nothing more.

  • And science, and physics, and simple control signals are far more logical and understandable than anything political.

  • First, we probably could not write software to get us to the moon anymore.

    Second, that software could do math calculations and was backed up by an army of (human) "computers" back at NASA to develop the math beforehand and on standby during the mission.

    And third, back then, you would find some daredevils brave enough to bet their lives on an overgrown pocket calculator. (by todays standards)

    • by twms2h ( 473383 )

      First, we probably could not write software to get us to the moon anymore.

      Why do you think so?

      We might no longer be able to build a Saturn V rocket from scratch, because nobody knows how to do that any more and the engineers might even have been lucky that it worked at all, but that's different from writing software to control it.

    • First, we probably could not write software to get us to the moon anymore.

      I think that's lame. Of course we could, but the whole system we'd use for this today would be hugely more complex. Apollo had hundreds of thousands of lines of code, today this would be tens of millions. It would be multiple orders of magnitude larger and more complex, but we could do it. We do stuff more complex than this all the time.

      Second, that software could do math calculations and was backed up by an army of (human) "computers" back at NASA to develop the math beforehand and on standby during the mission.

      And today, we routinely do the same thing with things like satellites and deep space probes, where they launch without the necessary code to complete the mission, just t

    • by Octorian ( 14086 )

      First, we probably could not write software to get us to the moon anymore.

      Today we routinely write and deploy spacecraft control software that's orders of magnitude more sophisticated than anything we did during Apollo, and its even capable of completing its mission without any humans in the loop. (And yes, that includes sending probes to the moon. But it also includes sending probes and landers to other parts of the solar system.)

      What makes the Apollo AGC code so notable is that its really the first time we tried to do something like that.

  • by chipperdog ( 169552 ) on Monday February 10, 2020 @11:55AM (#59710936) Homepage
    Trouble is we've accepted $#!++y software development over the last 25 years or so...What should have just been a few KB of html forms (using encrypted transport and 2FA of course) posting to a server application ended up being an app that was likely written in a bloated framework ending up being many MB, using "rapid" development tools (i.e. lots of "reference" code) and little testing....
    The Apollo engineers wrote the software with the hardware limitations in mind...Today's developers assume unlimited resources, whether its CPU, memory, storage, bandwidth...

    A "hello world" client side application written in modern frameworks requires 100KBs or even a few MBs of transfer to a fresh machine and many CPU cycles, not to mention the MBs and CPU resources required on the server side. The same server generated HTML would only be a few KB transfer, not require nearly the CPU resources and done in a few lines of PHP or Perl or a BASH script on the server...Modern programmers don't appear to have a clue on how the hardware works or how to optimize code...Not every application needs a fully interactive framework. I shake my head every time I see a mostly static site start to load 100s of KB of JS, just so it can load the page content that is non-interactive...Happens more and more often

    I think programmers should all start learning by writing applications using basic logic gates (AND, OR, NAND, NOR, XOR, FLIP-FLOP, etc) since that is essentially what code is compiled to in the end. Then they should write applications in assembly to get a feel for the basic instructions a processor can deal with and how memory, storage and peripheral communication occurs..
    • I think programmers should all start learning by writing applications using basic logic gates (AND, OR, NAND, NOR, XOR, FLIP-FLOP, etc) since that is essentially what code is compiled to in the end. Then they should write applications in assembly to get a feel for the basic instructions a processor can deal with and how memory, storage and peripheral communication occurs..

      I absolutely agree. I learned assembly early on, though I'd started with C. It took me years to understand why anyone would ever call C a low level language...Then I learned Java and C#, then Python...

      I STILL can't shake the ever-present thought of how long my line of code will take to execute. In assembly, I had to count cycles, and I'm still aware that I'm asking for a LOT of cycles when I do a strcmp...

  • Function is a collection of software features. Security is also a collection of software features. So both function and security require software features. So, how did NASA do it? You won't find out by reading the code, because the ruggedness of the code is a result of the rigorous process that created that code. The answer is not in the code, the answer is in the process used to create that code.
  • by grumpy-cowboy ( 4342983 ) on Monday February 10, 2020 @11:56AM (#59710942)

    ...abstraction of abstraction of .. useless abstraction! Layers of layers of layers of layers of... abstractions! Everything must be "web-scale" mentality. A lot of "Just In Case we have to change part X in the system" architecture/programming (ex: hiding database native SQL behind a shit load of junk abstraction code...).

    The more code you have, the more likely you will have bugs/security hole/... The more layers of code you didn't have controls on (ex: frameworks like Spring!), the more... ok you understand my point :)

  • by BAReFO0t ( 6240524 ) on Monday February 10, 2020 @11:56AM (#59710944)

    Translated this way, I'm sure you agree that the answer is obvious. :-D

    - - - -

    To elaborate:

    I think politics *should* be scientific. Aka based on actual (and if possible reproducible) obervation and clean logical reasoning.
    Not that I see it happening, given that nobody seems to *actually* want that enough to put is above the daily grind.(Anyone ...? Who here lobbied for it this month? And I mean face-to-face.)

    • Politics is not based on science because it's about balancing the preferences and desires of different people. Group A wants to spend taxes on a new building downtown, whereas group B wants to spend it on a new park. Which group wins?

      There is no "right" answer, just preferences.
      • And Group C doesn't think it should be their responsibility to pay for either.

        Science has a lot to say about what is and why it is. It can't tell you much about what ought to be. You need to apply your own personal values there.

        For example:

        One group believes that environmental issues are paramount for the long term prosperity and survival of the human race.
        Another group believes that the long term prosperity of the human race comes secondary to the immediate needs of real people living in the here and now.

        W

  • by jellomizer ( 103300 ) on Monday February 10, 2020 @11:58AM (#59710962)

    I make my living writing small programs meant to be "disposable" where they do their job, use them for a few years, then dump that program and make something new. I can write these programs fast (under a day normally, under 2 weeks for a big program), they work extremely well and rarely have problems, that those big applications that took years to build has.

    I have worked on big projects for these bigger "enterprise" applications and what happends with them is the following:
    1. Too many competing priorities the 4F. It needs to be Fast, Flexible, Functional, Feature Rich. Being these projects have a long time frame, the one more thing is going to get dropped, because a competitor had released something to the market, that wasn't part of the project plan. Which often will hinder one of the F's
    2. Too many cooks. You have a large development team, their skills are going to differ. You will encounter the guy who spends too much time on the UI, and not enough on the underlining engine. You have the guy struggling to get some code to work, so they cut corners, vs asking for help. You also have the person who seems useless in the project and you wast too much time debating the architecture then doing what they are told.
    3. Soul crushing work: As part of 2, development is largely a form of art then just straight engineering. Having the Manger shoot down the architects design, then the architect trying to make a compromise to prevent failure, then to telling the dev team to stop whining about how it is going to be done and debating why it is like that and not the better way. At the end no one is happy, and everyone is trying to maintain whatever power they have, which puts pressure on everyone from every side.

    This creates a lot of bad code with problems some are hard to diagnose.

    Building a flight computer to the moon, is a single purpose computer it was probably created rather quickly, with a lot of checks and process behind it.
    Voting systems, have to deal with a lot of situations, it is more than just counting the votes.
    Every 10 miles or so, the ballets will be different, as their are different people running for local elections, their will be some 3rd party parties that are not available else where. The hardware needs to be nearly indestructible. It needs to be easy enough for polling officials (that 80 year old lady) to manage, yet difficult to hack. They need to be scaled from a 100 sq foot polling location stuffed in a fire department storage closet. To dozens of systems to handle thousands of people an hour.

    Then politicians and news sources have a wish list of real time results. But if you put it on the internet then you can get hacked. Also they are often the development own political assumptions Eg if picked="democat" then Democrat++ else Republican++ end This is based on a binary view of the polling, and may cause Republicans extra votes when someone else is picked or no vote casted. This may not have been intentional but just a poor thinking of the scope.

    I could write a wonderful polling program for my district and I could guarantee that it would would wonderfully. However I wouldn't be able to make that same claim for the whole state.

    • by kenh ( 9056 )

      This was a app designed to send data from 1,680 users (each precinct) into a central database over the course of a couple hours.

      The issues were a failure to test the app under load, and a failure to test the app before it was needed.

  • by account_deleted ( 4530225 ) on Monday February 10, 2020 @11:58AM (#59710964)
    Comment removed based on user account deletion
  • Sounds about right.

  • Obvious answer: not the same people.
    • Going further: writing software always requires to some levels a scientific background / mind, even if the program is about rabbits. NASA being a scientific entity, scientist based programmers write scientific stuff, that is carefully tested. When it comes to politics, the requester and/or project manager might not even have the necessary IT knowledge to model the initial requirements into a general algorithm, let alone test it correctly.
  • Paper ballots with receipts for each voter, sealed containers, and verified chain of custody for every lot of votes.

    You can count them by hand. Much more importantly, you can count them again and again and get the same numbers.

    Trust matters a lot. Efficiency hardly matters at all.

    • I can break every electoral system in which that kind of counting is possible. They tend to break on their own. You don't get proper representation: most voters's votes have zero impact on the election.

      I've had to design new processes to provide better integrity than hand-counted paper ballots so as to make implementation of proper electoral systems even possible (an election with no integrity is no election at all).

    • by lenski ( 96498 )

      The counting process (optical scanner, for example) must also count the voter-verifiable presentation, not a translation of it.

      My county's voting systems generate what appear at first glance to be voter-readable ballots. Trouble is that they also contain machine-readable bar codes that are used for the counting. So we the voters have no way to verify that the counting mechanism matches our human-readable selections.

      As with many local government functions, our county's board of elections is understaffed and

    • by kenh ( 9056 )

      They had paper ballots, I saw them on tv.

  • From what I read, the app worked fine, but the backend didn't. They switched from a testing backend controlled by the devs that worked to one controlled by the DNC which rejected data sent to it.
    So the problem came with the interfacing of the two : it wasn't tested enough. The stories I read didn't say which side generated wrong data or failed to parse valid data.

    Also, it's not a voting app, it's just a tool supposed to help count the votes, no? The real question to push would be why the counting system and

  • When so many opportunities exist in a voting system, human nature seizes an opportunity to fuck the vote. It is why the PARTY wants to own the software, control the system and direct the opportunity stream.

    The first investors interested in funding our voting software development were Republicans in 1996. They demanded majority equity. So we shut our voting development down. Look what Democrats investment in software wrought in IOWA in 2020 and that wasn't even voting - only a caucus poll.

    There is too muc

  • From TFS:

    Each of the lines consists of only one operation, unlike modern languages, which can pack dozens of operations with multiple options into one line...

    Of course each line was one operation. The Apollo Guidance Computer [wikipedia.org] was programmed in assembly!

    The summary seems to be saying that the code was good because they wrote in assembly is better than high level languages! Wrong. And, some drivel about how compact the output binary program is vs the size of the human readable source. Even more incorrect. As others have noted, the code for the Apollo project was good because of the processes used.

  • The AGC code was written opcode by opcode.

    https://github.com/virtualagc/... [github.com]

  • Yes, I guess that writing software where one doesn't need more than about a dozen lines of code to program the algorithm and one doesn't have to worry about security is simpler than writing code that has to run in a hostile security environment and whose UI alone has more functionality than was ever dreamed of by the spacecraft engineers. Thank you, Captain Obvious.

    Maybe we can limit you to a few wheel switches and buttons and 36K words and you'll be perfectly comfortable with the resulting system. I doubt

  • by cjonslashdot ( 904508 ) on Monday February 10, 2020 @12:17PM (#59711086)
    Because NASA put people from MIT with PhDs in charge of making sure that the software was robust and designed so that it could handle error conditions. In contrast, today people think that "anyone can code" and they just throw programmers at a job and expect that it will be solid, but most programmers don't know how to create robust _systems_.
  • First and foremost, it's money. The people who created the code for the lunar lander were highly trained experts in mathematics, physics and computer science. In other words, they not only knew what they had to deal with, they also knew how to translate those problems into something the computer could then comprehend. Such people tend to be expensive. Because they are rare. Now, of course if you have near unlimited funds and a population that is very interested in working on a prestigious project like a moo

  • by mark_reh ( 2015546 ) on Monday February 10, 2020 @12:21PM (#59711120) Journal

    NASA software is used by a few technically competent people, vote counting software is used by a lot of technically incompetent people.
    NASA probably has user interfaces designed to minimize input errors. Voting software was probably written by people who know nothing about user interface design.

  • Comment removed based on user account deletion
  • how they got paid!!! All of my clients insist on acceptance testing and such. Not like this, you roll the app out, take your cash and your gone! well like a Shadow.

    Notice: no one is getting sued here for failure to complete. The project was done BY dnc insiders. Almost like they wanted the fail? Odd.

    If I had a project like this, I can not image being in business the next day. OH wait is Shadow still in business.

    Just my 2 cents ;)
  • but elections are gamed all the time. There's literally trillions of dollars at stake in the next election. Expect all sorts of shenanigans.
  • Frankly, it's a personnel issue, not a software issue.

    writing software to go the moon is easy because you have a tiny number of users, who are all extremely intelligent and extraordinarily well trained.

    writing software to count votes is hard because the user base is a large number of untrained volunteers in their twilight years who received practically no training.

    this wasn't a software failure, it was an organizational failure.

  • Why Can We Write Software To Get To the Moon, But Not To Count Votes?

    Because one of those is a relatively straightforward problem, and the other one involves a form of electronic voting.

    Seriously though, going to the moon was a straightforward issue comparatively, at least from a software development perspective. They were able to design it for a single, specific use case, rather than needing to design it for use in a variety of different situations; the surface area for attack by bad actors was incredibly small, to the point of almost not existing; subsystems were designed

  • by bill_mcgonigle ( 4333 ) * on Monday February 10, 2020 @12:40PM (#59711242) Homepage Journal

    Of course we can write software to count votes. Don't be fatuous, Jeffrey.

    We can also create a situation where the Caucus vote outcome is so chaotic that humans have to interpret the results and then magically in one county Duval Patrick and Tom Steyer get 10x as many votes as Andrew Yang and Bernie has more than a thousand votes missing (according to the Caucus Chair), transferring his lead to Pete, the ex-CIA contractor.

    It's like ... we know the app was written by staffers from Hillary's campaign and we know for a fact that her staffers conspired with the DNC against Bernie last time, but this time we're supposed to trust them to be operating with pure intention? And the DNC wants to come in to conduct an Iowa recount? Give me a break, who's stupid enough to fall for that? The Mockingbird Media doesn't count

    "In a Democracy the People get the government they deserve."

    • Power concedes nothing without a demand. It never did and it never will. Find out just what any people will quietly submit to and you have found out the exact measure of injustice and wrong which will be imposed upon them, and these will continue till they are resisted with either words or blows, or with both. The limits of tyrants are prescribed by the endurance of those whom they oppress.

      -Frederick Douglass on Donald Trump.

  • by account_deleted ( 4530225 ) on Monday February 10, 2020 @02:28PM (#59711862)
    Comment removed based on user account deletion
  • by twocows ( 1216842 ) on Monday February 10, 2020 @03:26PM (#59712192)
    The moon doesn't have a vested interest in trying to manipulate our attempts to reach it.
  • by Joe_Dragon ( 2206452 ) on Monday February 10, 2020 @05:30PM (#59713022)

    the vote does not need to be online. Hell dialup can work at the end of the day and no ISP needed.

As long as we're going to reinvent the wheel again, we might as well try making it round this time. - Mike Dennison

Working...