5 ms·
I know this is mostly over how important it is not to have anything voting/democracy related fail horribly, but going after the comment in the fourth panel what
by tomatotomato37 8y ago
I know this is mostly over how important it is not to have anything voting/democracy related fail horribly, but going after the comment in the fourth panel what exactly happened to our field that we can't generally be trusted to make something that works? Is it just "Move fast and break things" in action?
- timr 8y agoIt's because this field doesn't value experience, and instead values youth and rewriting things in Javascript. It's maddening how preventable a lot of this stuff is, but you can't convince anyone to listen to you because rules and processes aren't fun.
- lotyrin 8y agoConversely, a lot of the incentives on these teams are perverse -- like the conversation in another thread about not being able to sell to stakeholders the idea of "remove junk" but being able to sell them the idea of "add AMP". So even if you are the sort of software developer to consider the lifecycle and long-term utility of the products you produce -- good luck with that.
- timr 8y agoTrue. However, one thing I'll say about that: the older and more experienced you are, the easier it becomes to push back on stupid things.
- tabtab 8y agoRe: doesn't value experience, and instead values youth and rewriting things in Javascript. JavaScript is so yesterday, PyChainGo is the newest and best. Get with the times!
- yifanl 8y agoIn this specific case, we have an essentially static system that's exposed to the public that you need to protect from an unknown number of attackers with substantially more resources than you do. To use the analogy of the plane designer, it'd be equivalent to building a consumer airliner that can handle flying through a warzone.
- sacado2 8y agoHere, the problem is we can't trust users to not try to break the system. When I buy a plane, I don't want the plane to crash. When I buy a voting machine, I'll do everything I can to break it so as to earn more votes than I deserve. It's a rare case of a system its main customer does want to be able to break. Now, of course we can make things that work. Airplanes and elevators are computing devices too, after all. But a working software is as expensive as a working airplane. People don't want their word processor to cost millions of dollars. OpenOffice is free, MS word is a few bucks, what do you expect?
- lev99 8y ago> It's a rare case of a system its main customer does want to be able to break. Many people would be happy to break ATMs or banking software.
- Arubis 8y agoAnd indeed, they're happy to do just that. https://www.wired.com/2016/05/insane-81m-bangladesh-bank-heist-heres-know/ https://www.wired.com/2016/05/insane-81m-bangladesh-bank-hei...
- sacado2 8y agoThe main customer of an ATM is the bank owning it. Not sure if "customer" is the correct word, let's say "owner", as opposed to "end user".
- timr 8y ago"Now, of course we can make things that work. Airplanes and elevators are computing devices too, after all." Funny you should say that. Yesterday, the buttons for our elevators crashed. Nobody could hail elevators on the touch-screen thing. Because software. Name the last time an actual elevator crashed.
- dragonwriter 8y ago> Name the last time an actual elevator crashed. They do it like every day, if, as is the case for software, you use “crash” to mean “experience a sudden and complete cessation of operation.” They also do crash in the rather more extreme physical sense occasionally, e.g., https://www.thehindu.com/news/cities/Delhi/3-injured-in-elevator-crash/article24028343.ece https://www.thehindu.com/news/cities/Delhi/3-injured-in-elev...
- maxander 8y agoArchitects and mechanical engineers not only know about blueprints and design procedure, they also have a solid understanding of the physics that make their designs work. Programmers, by and large, just know how to code. There exists a formidable body of study describing the practices and theory required to write knowably-correct software, but the software engineering industry treats these ideas with utter derision. Even lighter-weight methods for knowably preventing broad classes of errors(e.g. Haskell-like type systems) are considered niche and pretentious. These opinions are mirrored by many CS programs, so most engineers wouldn’t have the slightest clue how to apply these methods, or even know that they exist, should they decide they were necessary. With that kind of culture, what can we expect?
- beisner 8y agoOne major issue in electronic voting is the notion that it might enable an adversary to compromise a much larger number of votes than they would in a paper ballot system. If every state contracts a handful (some may even contract a single one) of suppliers to crude the voting software, a bad actor that could compromise only one of those systems would have an enormous impact on an election. Contrast that with paper ballots, where an adversary would have to compromise dozens or hundreds of precincts, in-person, in order to have the same effect. In terms of economics, having each precinct implement its own voting software (or contract uniquely) is not cost effective, nor would I trust small municipalities to be able to judge security. It’s just too risky all around. Maybe one day when our software systems are better understood, or there are different security mechanisms, electronic voting might work. But not today. Why is this different for software than for civil engineering? Fundamentally it’s not, except that people are willing to spend money on a new design for every bridge, and generally there is a collective awareness of threat models for bridges.
- Scarblac 8y agoHere's a list of commercial jet airliners: https://en.wikipedia.org/wiki/List_of_jet_airliners https://en.wikipedia.org/wiki/List_of_jet_airliners . About 68 have been developed, by less than 30 companies, over 70 years. In the meantime, a junior programmer on my team just got an assignment (while I was on holiday) to add a feature to an old project she'd never worked on. The feature was described in three sentences, with a budget of "at most two days" as that is what the work was sold to the customer for. I mean, it's rather hubristic to compare ourselves to those industries, we're closer to the handyman you hire to create a new door in some wall without telling him where exactly, all that matters is that it's done fast.