264 karma · joined October 29, 2013
Also, a human being that reproduces licensed code from memory - because they read that code - would constitute a license violation. The line between derivative work, and authentic new original creation is not a well defined one. This is why we still have human arbiters of these decisions and not formal differential definitions of it. This happens in music for example all the time.
Any formal system is going to be based upon some set of axioms. You can't apply reason without some foundational choices (ie. your axioms).
The bright line you are looking for is a lot fuzzier than it seems at first glance.
If you take as axiomatic that "the human race surviving is a good thing we should work towards". Having kids becomes an exceptionally rational thing for people to do.
The most basic kind of truths are facts. We at least need to agree on those as best we can first. And then apply critical thinking on the the squishier stuff on top.
Different threats require separate considerations for sure.
To be crystal clear. I'm still for secret voting, and being able to lie about your vote if you want to. But without an ability for the voter to verify their vote, you must trust the entities themselves that are holding the election. Both that they are acting in good faith. AND that they managed to secure the election against outside tampering. The very people that you are worried might compel you to declare your vote are the ones running the election systems themselves in many situations.
We need to be able to operate with less trust here, not more.
> If each one has a secret passphrase, nobody can verify that the total is calculated correctly.
It's possible we are misunderstanding each other. There would be a verifiable ledger. With opaque tokens for each vote. The total can be verified by counting. Just like normal. We could use our signature method of choice to sign and verify the integrity of each vote and all the votes. The body holding the election would be able to verify the total counts are correct and not tampered with.
For a specific vote, an opaque identifier that nobody except the voter can resolve, provides a mechanism for the voter to self verify their vote was counted in the way they expected.
A passphrase was just one idea to avoid printing the token on your vote receipt. But if we really want to go down the rabbit whole of having cover. There are many other ways to provide plausible deniability. You could opt to not get a print out of your token. And your deniability would be you don't have it, and you can simply lie about which vote is yours (even though you know the one that is yours).
> It was a long fight to get secret votes
I'm still saying we keep voting secret. What we are discussing is the ability for a voter to verify their vote was counted. But it's still meant to be secret. In fact, something analogous to the 5th amendment to the constitution could help enshrine the right to a private secret vote as a fundamental right.
> Just imagine that during McCarthyism people that were requested testify in the committee has to first say their national ID, token and passphrase to be sure that they didn't vote for the Communist party.
We make it a constitutional right to have your vote be secret. Make this clearly illegal. If you are worried about the central government not obeying laws, then nothing really helps you. The central government ultimately wields the final say in all matters here. They can put you to death if they like. A verifiable election system is meant to help ensure we never devolve to a government that does what you are worried about.
---
Ultimately all of your examples about being forced to declare things apply also to your credentials to your personal devices and online account. All of which contain more less enough information to both figure out what your vote was, and much more.
The way I think about this though is that we should view these concerns as needing tailored (sometimes orthogonal) solutions. There is an analog here to testimony in court. Defendants have the right to know the evidence against them. Including the identity of witnesses and the nature of their evidence and statements. This often puts witnesses at risk for retribution. It's a huge problem. But do we do away with requiring this kind of evidence disclosure? Not having it makes it easy for evidence to be fabricated without consequence. And for defendants to not know who or what is being used against them in court. This would potentially have even more dire repercussions. So currently, we find other ways to help ensure the safety of witnesses and accept this major issue.
In the same way we might find other solutions to the issue of Spousal pressure. Opt-in voting receipt print outs. Support programs for domestic abuse, etc...
This is for sure a problem. And maybe even a major one (like witness safety). But overall, the alternative of having insecure and unverifiable elections is increasingly seeming like the more important issue to address. Most complex systems are about balancing tradeoffs. And it should be unsurprising, that a stable election system is too.
> you can be "encouraged" to send an email to bigbrother@example.com with your national ID number and your token
Would the system providing some sort of plausible deniability token give enough cover for this? Is this a problem at scale?
Also... they can do this to you for your email, and social media logins too right?
> Or the day after the election, in each office at work everyone can just meet and show their token while cheering for the current government.
I don't understand why this is fundamentally different than todays world where people wear MAGA hats or drive around with Obama/Biden bumper stickers. Sure it's not cryptographically verifiable. But it's certainly "good enough" for all practical purposes.
> In traditional families women will effectively lose their vote.
People can lie. That's the only recourse they have today right? Would producing a "plausible deniability token" to show to adversaries suffice here to provide usable cover?
> Vote buying becomes possible.
This is already possible. Though you are right that it is not strictly verifiable today. But I would argue that we lack data on how many people would take money to vote X in todays system, and then vote Y instead and lie about it. If this set is tiny, then this problem doesn't grow much does it?
> fellow party or church members start to check the votes
This should simply be illegal. Bright line. Your vote is private and no-one or organization shall be allowed to force you to disclose it.
---
It seems again like the arguments here are sort of baby/bath water. There are outlier problems preventing this from being perfect. Yes. But the benefit of a truly verifiable election would inoculate us against mass election hacking. Which increasingly seems like a genuine threat we need to deal with. Are the outlier problems not worth the price of preserving democracy?
It would seem impossible to offer election confidence to the majority of people without a simple system that has this property.
If kidnapping and torture are on the table for your threat model. I think most people's voting record could be figured out with near 100% accuracy if they get access to your computer logins, emails, hacker news account, and all your social media accounts. Which according to your coercion model, they totally could. No need to go after your vote token specifically.
So unless the voting system singles you out in particular (which a random token wouldn't. Every vote would have one). Ruling it out as a solution because of a super low probability scenario seems like a misattribution of probability in the face of clear value (ie. easy and private verifiability by all parties).
Having secure elections is how we create a world where no one has to worry about coercers coming after them.
I think the 3900x is in a great position to provide the best of both gaming and productivity. Extremely aggressively priced at $500 for the horsepower it seems to give you.
I suspect there is going to be a 16 core 3950x later in the year. Maybe with slightly lower single core frequencies. But maybe 20-25% greater multicore performance.
I bet they are delaying that to keep something up their sleeves when Intel responds. And to not totally cannibalize TR prior to releasing TR3.
I think the 3900x might be a happy middle ground. I'm guessing we would probably see (with the increased IPC, core count, and core clock) like 70-80% increases over a 2700x in these kinds of multithreaded workloads. So probably slightly more than half way to a 2970x or 2990wx?
So if they can do something fancy with rendering frames to the network to sync with your monitor. We might see a minimal increase in actual overall latency.
UBI ought to replace things like food stamps and welfare. Not healthcare or retirement benefits!
I am a huge fan of UBI, and I would have voted "disagree" the way that question was framed.
A better formulation would be to frame UBI as an "automation dividend". Where we dip into increased efficiencies produced by automating labor to fund a basic income.
And of course having a design doc ahead of time that the team can review and comment on for a longer, more complicated change, is a great thing to do. And compliments the subsequent code review[s].
The existing command line Go tooling (while great) just don't do a good job at providing that kind of support to your IDE.
Your impact on the world isn't just what you directly build or finance. But also the impulses and ripples you leave through your interactions with other people.
As a sofware developer, I hope to make enough to one day to not worry about providing for myself and family. So I can more directly contribute to solving the world's issues. But until then, I can continue to try to be a good person and individual economic contributor. Donate what I can (time, brain power and money) to good causes. And to spread knowledge and ideas that, if they reach enough people, can make big differences.
Thinking that properly raising children and investing in bettering oneself doesn't tangibly generate revenue is a bit short sighted.
In 15 years when machines are cheaper and better at driving, manufacturing, and doing most unskilled labor (or even some knowledge worker type jobs). Would it have been a bad economic investment to have all the kids growing up today have parents with the financial freedom to go back to school or focus on giving their kids a proper childhood (so they can grow up and be productive citizens)?
Do you genuinely think that we are better off as a society sticking to "you have to work to live" when the machines are outperforming an entire class of people at their jobs? Not everyone can or wants to be an engineer. At some point our populations will stabilize, and technology will make it so that we have enough food and basic essentials for everyone.
We are all in it together.
The people who would benefit from it the most would have the freedom to invest their time and money raising their children, bettering themselves, or taking risks and starting businesses.
Also, money repeatedly changing hands itself generates tax revenue, as well as personal wealth. Again, not zero sum. Giving these people purchasing power can also spur innovation from businesses who would offer them services that otherwise wouldn't be easily monetizeable.
As more jobs get replaced with automation, basic income will become increasingly attractive.
I would have to think most people with a job and family might struggle to find 3-4 hours a week to game. No offense intended by the above. I'm quite envious :).
Agreed about idempotent processes in the "consumer" processes. But I generally prefer marking an end user session in a persistent store before propagating the request for payment (effectively acting as a sticky current transaction ID), and making synchronous requests down the chain versus generating a transaction ID and doing a bunch of async message queuing.
It's just easier to know when something didn't work and display the appropriate user feedback. But your point is valid.
But your point stands that it is certainly not what we want in the lions share of use cases. I guess that's why the default semantics are at least once. With at most once being a configurable option.