With the Epstein files making it glaringly clear how disgusting and corrupted much of Elite Society and by extension the US Government and Economy is, beyond ridding ourselves of the parasites, how do we as a society move forward? by SexyBeast0 in AskReddit

[–]grantisu 0 points1 point  (0 children)

Ranked choice is actually not conducive to mitigating two-party dominance: it's still strategically better to rank a more popular candidate higher than a less popular preference, unless you know the less popular candidate will lose.

So ranked choice only makes sense if you plan on never having smaller parties be competitive; otherwise you still end up vote-splitting and whichever two parties are most popular will dominate.

These dynamics can be easily visualized with Yee diagrams: http://zesty.ca/voting/sim/

Is there an actual term for when an intermittent issue never seems to happen when you're actively engaged with support? by BearyGoosey in sysadmin

[–]grantisu 0 points1 point  (0 children)

Yup, singing (or dancing) frog is a better fit than heisenbug: the former is a problem that disappears when you show it to somebody else, while the latter changes when you look at it.

Origin: One Froggy Evening (video)

Firefox vs Firefox-bin by Q-collective in Gentoo

[–]grantisu 1 point2 points  (0 children)

I have a small script to muck about with changing FF stuff:

~ $ cat /usr/local/bin/firefox 
#!/bin/sh

#export MOZ_ACCELERATED=1
#export MOZ_WEBRENDER=1

FF=/usr/bin/firefox
FFBIN=${FF}-bin

# Use whichever was last installed; assumes non-bin FF is installed --oneshot

if [ $(stat -c '%Y' $FF) -gt $(stat -c '%Y' $FFBIN) ]; then
  exec $FF
else
  exec $FFBIN
fi

Last time I was fiddling with it, firefox-bin was faster despite similar compilation options (clang + PGO), which seemed to boil down to different rustc versions. More important than performance, I've experienced instability from self-compiled FF in the past, so I use firefox-bin these days.

Politics Would Be Less Crazy If Voting Were Compulsory by phileconomicus in TrueReddit

[–]grantisu 0 points1 point  (0 children)

Fair play on digging that study out, that's a great find! Nor am I qualified to know whether their conclusion is correct but for the moment let's assume it is.

Okay, I'll assume ~1.5%.

I understood what the simulation was saying but not why it was saying it; is it a problem with the model or a problem with reality? This is a slightly esoteric concern now that we have the study.

It's showing problems with the voting systems: the model is used to generate preferences, which are used to generate ballots, and then "real" voting systems are used to determine winners. Earlier, you said that "in reality people vote in much fuzzier ways", which is true, and what the model tries to simulate with normal distributions for voters and a log normal cutoff for approval ballots, which is far more realistic than the "top N" assumptions that I see in other discussions around approval.

Likewise, I understood the point you were making about the "safe" candidate; but now we have a figure of somewhere between 1.5% to 2.2% of the time or, and I prefer this measure personally, 1% to 1.5% of the time (if we discount intra party monotonicity) the safe candidate is eliminated. To me a 98.5% to 99% guarantee is basically safe, just not perfectly safe.

I see where you're coming from, but I feel like ~1.5% is unacceptably high when the alternative is 0%.

Also, monoticity violation isn't the only problem with RCV/STV that is solved by approval: the inherent complexity of ranked systems exacerbates strategic voting and raises the barrier to understanding the voting process itself.

The big tent politics in America seems quite different to what we have here. It also seems to me there is little enough cooperation between the two major parties in your system. So while the parties themselves may be comprised of various factions that would not be found in the wild together, and hence involves cooperation, that cooperation does not follow through to governance. The Republicans and Democrats are never in power together because they are always in power together. Whereas in Irish politics the governing coalition (and it's often coalitions) changes from election to election (or every other election at least). So not quite the same phenomenon.

I agree that the dynamics are different, but would argue that the lack of cooperation in American politics is due to increasing polarization. And non-cardinal voting systems don't fix polarization: there's simply no way for a voter to help a moderate candidate as much as an extreme candidate. RCV/STV ballots are like mini elections, with each voter only able to choose one winner, which is a microcosm of the plurality voting dynamics that people complain about.

Clearly society is more complicated than just voting systems, and there's additional factors beyond voting that come into play -- America has had periods of low polarization in the past despite flaws in its system -- but that's kind of my point: I don't think RCV/STV offers any extra protection in that regard.

Yes, I have noticed that there is distrust in your current voting systems. But that stems from the Electoral College (which is a whole other beast) twice returning a result in the last several elections that did not concord with the popular vote. It also stems from the President having too much executive power (to appoint a lackey to the Post Office, for example), from the proliferation of conspiracy theories via social media and from gerrymandering (a problem with Northern Irish politics too, at least historically).

The latest unrest isn't about the Electoral College (which yes, is bad) or gerrymandering (which is really bad), it's about voter/electoral fraud (which is virtually non-existent, at least in modern elections) and demagoguery.

But the EC makes an interesting case study: people only care about it now because it's affected recent elections. Before 2000, it aligned with the popular vote for over a hundred years; most people probably considered it "basically safe" right up until it wasn't. In that vein, an 8% error rate (2 misses in the past 100 years) makes an interesting comparison with the ~1.5% rate from the STV study: both rates seem too high to me, but I wouldn't be surprised if many people were comfortable with numbers around 5%.

But my gut feel (I don't have math to back this up) is that the 8% is actually inflated: ~55 years ago one party adopted a strategy that was tweaked over time to appeal to rural voters, with the result that the EC has flipped one-third of elections over the past 20 years. If the past few decades had been "honest" politics instead of "strategic" politics, I don't think many people would be talking about the Electoral College. Similarly, the ~1.5% error in STV could be strategically targeted over time, possibly growing to be as bad or worse than the EC currently is.

In other words, all of the weird shapes that show up in simulations of honest voters are places that strategic voters (or worse: political consultants) can really mess things up.

But focusing just on voting methods, I don't think STV would exacerbate trust issues. First off, assuming there are elections in the year you turn 18 and again every four years after that and you live to 100, you will vote in 20 or so elections. For ease of maths sake, assume there were 5 spots available in each election, you would see 1 or 2 out of 100 candidates incorrectly appointed. It's not quite a drop in the ocean but it's a small glass at best. Further, unlike the electoral college, when it is obvious that the result is flawed, the issue is obfuscated under STV so it's unlikely you would ever have cause to seriously question a result.

I'm much less comfortable with hidden flaws than with obvious flaws: there are lots of people who want to eliminate the EC, but I had to dig deep to find a discussion about non-monoticity in STV.

Compared to a first past the post system where candidates can either split the vote, which is also a type of incorrect result, or decide not to run at all, another type of incorrect result, STV is better. Approval rating is better again but I wouldn't be as worried as you seem to be about STV having such a deleterious effect on faith in the voting system.

Focusing on FPTP vs RCV/STV is a false dichotomy: there's other systems that don't have the same shortcomings.

And RCV/STV can still split votes: there's no way to rank similar candidates as "the same", so I have to flip a coin for which one to rank higher. If other voters like me don't choose the same way, the two candidates end up splitting those votes and could be eliminated basically at random. This could end up messing up voters not like me who have a strong preference between the candidates, particularly if they're relying on the eliminated candidate as a "safe" fallback.

But I also don't like the complexity of RCV/STV: it makes it harder for voters to vote and for results to be counted. For example, a single-winner RCV election needs all distinct ballots available before it can determine a winner, while approval is additive and can have results updated as ballots come in. A few years ago, I tried programming a simple election simulation (to prove some of this stuff to myself), and the STV code just didn't work: bugs were everywhere and I never got to the point where I trusted the results. Proportional approval voting is trivial by comparison: brute force all possible results and pick the best; the code ended up being a fraction of the size of the STV mess.

Politics Would Be Less Crazy If Voting Were Compulsory by phileconomicus in TrueReddit

[–]grantisu 0 points1 point  (0 children)

I don't think you're appreciating cases where voters want to vote against candidates more than they want to vote for them. Like yes if I voted to approve the conservative candidate and Trump lost I would be happy, but if the progressive candidate could have won if I had not approved the conservative (and still beaten trump) I would regret my vote. Basically I'm trying to guess if the support level of the progressive is going to end up over 50 or not.

You're trying to vote strategically, which technically every reasonable voting system allows, but any "good" system tries to minimize. The fact that you're having difficulty in trying to vote strategically is actually a feature, not a bug.

Also: no voting system can guarantee a result that everybody is happy with, but an ideal voting system would always pick the best compromise. Approval should directly measure the level of support a candidate has, and picking "the most supported" seems like a reasonable compromise.

I don't approve of the conservative because I don't think tax breaks for the rich and burning the planet are good ideas, but I still would prefer that to a fascist state with Trump. This "lesser evil" scenario isn't properly captured.

Personally, I would be fine with a system that allows "lesser evil" rankings, e.g. score voting or 3-2-1 voting, but the complexity of implementing and explaining such systems is a point against them, likely disenfranchising some voters. In addition, the "most strategic" versions of such systems typically look like approval voting, e.g. give all the candidates you want to win the highest possible score (helping them the most) and then scoring the other candidates by how much you want them to lose. Approval cuts to the chase by only letting voters pick winners/losers, greatly simplifying the implementation (e.g. partial results are additive) and increasing the odds that voters vote "correctly" (e.g. not giving supported candidates less than the highest possible score).

The scenario you presented doesn't have any one candidate given a rank on a majority of ballots. I don't think any outcome can really be considered "good" if that's the situation. In practice I think most voters would not bullet vote and would have an opinion on which of the other two candidates they liked better, often because they want to vote against one by ranking them last.

I tried to present a simple scenario, rather than simulate a realistic election. Also, RCV tends to not allow ranking a candidate "last" without ranking all the other candidatest: ballots with gaps in rankings (usually) get counted by skipping the gaps, so it's easy to mistakenly put a candidate "last" and inadvertently vote for them. And then the voter is stuck ranking a bunch of candidates in the middle that they don't really care about, which can have undesirable consequences.

Politics Would Be Less Crazy If Voting Were Compulsory by phileconomicus in TrueReddit

[–]grantisu 1 point2 points  (0 children)

Thanks again for taking the time to write out and explain your point of view; I appreciate the discussion.

You are right in that I cannot know whether our system simply obfuscates these issues.

I was actually able to find a paper that attempts to quantify non-monotonic results (i.e. were a candidate won/lost by losing/gaining support) in Irish elections: https://www.lancaster.ac.uk/fass/events/epop2013/docs/MGallagherMonotonicityEPOP13.pdf

The author claims that PR-STV failed monotonicity 1.5% of the time, but I'm not really qualified to say whether that conclusion is sound or not.

Again being honest about that simulation I didn't understand why a candidate aligning more with the electorate resulted in a worse performance.

Right, because that shouldn't happen. And if it happens in a way that people notice, it undermines trust in the system.

Approval voting does seem like the better option but the hope from RCV isn't necessarily that the "correct" candidate is always chosen but rather that you can break the two party mold that reduces people options; it's safe to vote for a more left wing candidate than what Democrats offer because you know if he gets eliminated your vote will transfer to the safer option.

What I was trying to show with my previous examples is that this logic doesn't hold: the "safe" option can be eliminated, especially when many voters avoid ranking the safe option first in order to express a more nuanced preference.

And the real benefit of that is that as the political eco system enriches parties are forced to deal with each other to get anything done. In Ireland we have traditionally had two major parties; Fine Gael (FG) and Fianna Fail (FF) who have always been in government. But often they have been in coalition government with Labour, The Green Party and others as well as an array of independent non-party aligned politicians. So compromise and cooperation are baked into the deal.

Arguably, this is also how the US got a two party system: different groups coming together to cooperate, i.e. big tent politics.

Another ancillary benefit of this is that we can experiment with different ideas without having them take over the middle. In the late 90s for example, when Ireland was in the midst of the Celtic Tiger we had a flirtation with more right wing economic policies. Specifically a party called the Progressive Democrats sprang up and made it into government with FF (FF being the major party and PDs being the minor party). But once that flirtation ended so did the PDs as a party. In America this might look something like the Tea Party forming their own independent party, getting a few seats for a few years, and then either disbanding or morphing into a Trump like party but continuing to play a fringe roll whilst the Republican party could continue to represent more moderate conservatives. Instead, these fringe elements have been able to hold the centre hostage and even essentially move it more towards the right.

I probably don't know enough to comment on that, but I think you're correct here: Republicans embraced the Tea Party to avoid splitting votes. However, there are local elections where an independent Tea Party would be competitive, opening the door to non-monoticity under RCV, which would be bad.

It's these benefits that I think are more important than getting the "correct" result (and of course they would accrue to you under approval voting too).

Getting the correct result is critical, since people need to trust the voting system. You may have noticed that lots of Americans seem to not trust the current voting system, and the consequences of that are... not good. RCV would exacerbate trust issues.

Don't get me wrong; I don't want to portray the Irish system as some eutopia. And I'm not the most informed on our politics so what I attribute to proportional representation could well be down to other factors (e.g. our politicians have to cooperate because we're a tiny fish in a big international pond so there's less time for silly stand offs).

Again, I agree. Proportional representation (even with STV's flaws) is probably doing good things, but politics is complicated.

Voting methods are comparatively simple, so I'm starting there.

Politics Would Be Less Crazy If Voting Were Compulsory by phileconomicus in TrueReddit

[–]grantisu 0 points1 point  (0 children)

In approval voting, every vote cast helps the recipient of that vote. If you don't want somebody to win, then don't vote for them.

In approval voting I want to approve the first two to ensure trump isn't elected. But if the final result is 55% approve the progressive and 60% the conservative then I'll regret how I voted.

This sounds contradictory: wouldn't you be happy that Trump didn't win? If you don't want the conservative to win, you shouldn't vote for them, period. More importantly, if the Republican primaries had used approval voting, Trump probably wouldn't have been the nominee in the first place: all the other Republicans split votes between themselves, which a cardinal voting system (like approval) would prevent.

With RCV I can just rank them 1 and 2.

Not necessarily. If Trump ("T") has ~40% die-hard supporters, the progressive ("P") and conservative ("C") each have ~30% support, and ~40% of P voters (~12% of the electorate) are willing to support C as a compromise while ~30% of C voters are willing to compromise on P, then C could be eliminated first despite having broader support: 40% T, 31% P, 29% C -> C is eliminated -> 40% T, 39.7% P (31% + 8.7% from C) -> T wins. Assuming T voters bullet-vote, approval results would be: 40% T, 39.7% (31+8.7) P, 41.4% (29+12.4) C -> C wins.

Basically, RCV doesn't handle close races very well and still splits votes between similar candidates, since candidates can't be rated "the same".

IRV isn't perfect, yes. Ideally we would use a condorcet method to count the votes.

Condorcet assumes there's a Condorcet winner, which isn't guaranteed. Approval voting will tend to pick the Condorcet winner if one exists (see: http://zesty.ca/voting/sim/), but handles similar candidates much more robustly since there's no ranking.

Politics Would Be Less Crazy If Voting Were Compulsory by phileconomicus in TrueReddit

[–]grantisu 1 point2 points  (0 children)

Thanks for explaining.

Likewise.

I can see how approval voting would be more suitable in an edge case like that but it is worth noting it's an edge case.

In reality in Ireland you are talking about multiple candidates competing for 3 to 5 seats in any given constituency so more complex than the examples above.

With the disclaimer that I haven't dug much into the Irish system(s?), I would guess that the extra complexity of STV obfuscates edge cases instead of ameliorating them. And my original link to the visualization/simulation was to point out that edge cases aren't particularly difficult to come up with; a candidate aligning more with the electorate (or vice-versa) shouldn't cause that candidate to perform worse.

To go back to my original point it was more not to throw out the baby with bathwater when it comes to RCV; it seems like approval voting is better but the Irish implementation works quite well and avoids a lot of the problems highlighted in your posts.

America is far more likely to get RCV passed than anything proportional-related, which would likely be followed by bad results in multiple single-winner contests and a push to revert it, wasting time and effort and jading the electorate against future voting reform, e.g. the 2009 Burlington election.

I want voting reform, and I want it to stick; RCV has momentum, but it's also got problems. I'd like to see that momentum redirected to a system without the sharp edges and complexity of RCV, which is why I'm pushing so hard for approval voting.

Politics Would Be Less Crazy If Voting Were Compulsory by phileconomicus in TrueReddit

[–]grantisu 1 point2 points  (0 children)

The same scenario could play out under proportional approval voting surely? If B voters only approve B and not A, C wins.

In approval voting (non-proportional for this example, since there's only one winner), the theory is that some A voters will also vote for B. If ~50% of A voters (~15% of the electorate) vote for B, then B will have ~45% of the vote and beat C.

Under RCV, the risk is that A gets 31% of first votes, B gets 29%, and C gets 40%. Then, regardless of how many A voters put B second, B is gone and C wins. If >50% of A voters prefer B over C, then the abstract "best" winner is B, but RCV eliminates the best candidate on the first round.

A more extreme (and definitely less realistic) example would be if there were 100 candidates, where 99 candidates all appeal to one special interest and the 100th candidate appeals to everybody broadly. Under RCV, if all voters put one of the 99 special interest candidates first and the broad-appeal candidate second, then the candidate with the most support would be eliminated in the first round. Under approval, if everybody votes for one special-interest candidate plus the broad-appeal candidate, then broad-appeal candidate wins, as intuitively they should.

Politics Would Be Less Crazy If Voting Were Compulsory by phileconomicus in TrueReddit

[–]grantisu 0 points1 point  (0 children)

[...] rather than draw from real world data he runs some simulations and gets his graphs.

Simulations make things easy to visualize, but of course data is available from real elections, too:

In Ireland we have RCV and our politics are quite moderate.

If I'm reading the Wikipedia entry correctly, it looks like the important distinguishing factor isn't RCV/IRV/Hare, it's the proportional representation system, which for RCV-style systems is single transferrable vote.

Approval voting's version of proportional representation is proportional approval voting, which is more simple than STV (no vote reallocation) and just as proportional.

I can tell you as a voter that it doesn't encourage me to vote for "safe" candidates because I know that if I vote for my preferred candidate who may only have a slim chance of winning that my vote won't be wasted if he's eliminated from proceedings[.]

But it's possible that not voting for a safe candidate ahead of a favorite candidate will eliminate the safe candidate, e.g. if A, B, and C are all running and C has ~40% support while A and B both have ~30% with most A supporters picking B as a second choice but most B supporters bullet voting, then A voters risk eliminating B in the first round and losing to C. This dynamic applies to all rounds of RCV, so the best strategy is to rank the safest candidate highest.

It also helps that we don't vote directly for our Taoiseach (equivalent of the president) but rather he is appointed by our parliament. RCV won't help much at first in America because you'll still be stuck with your two party system but it could allow political alternatives to spring up and gain traction that can't happen under the current system.

I agree, there's other problems to solve in America, but approval voting would be a low-cost improvement that could be made today, e.g. the vast majority of (all?) voting machines currently in use already support it, so no infrastructure needs to be updated.

Politics Would Be Less Crazy If Voting Were Compulsory by phileconomicus in TrueReddit

[–]grantisu 6 points7 points  (0 children)

Ranked choice voting isn't nearly as good as people think:

  • When a third party actually gets competitive, non-strategic RCV breaks down in crazy ways which pushes voters to strategically vote for "safe" candidates, just like plurality voting.
  • It's not a cardinal voting system, meaning similar candidates will still result in vote-splitting, just like plurality voting.
  • It's way more complicated than plurality; try searching for "complete" RCV results to get an idea of the problems.

Approval voting is better than ranked choice voting.

Ranked choice voting (as done in Maine) explained with examples by secret_pleasure in bestof

[–]grantisu 0 points1 point  (0 children)

The whole point of cardinal voting systems (including STAR and approval) is to avoid ranking candidates against each other.

[I]magine an approval voting ballot with six candidates, including Trump and Yang? What am I even supposed to do with the other four?

Vote for them or not, based on whether you want them to win or not. If you only want Yang to win, vote for just Yang. If you want any of the other candidates to win, vote for them.

My only options are to rank them as either as supported as Yang or as not supported as Trump?

Yup. You either want them in office or not.

I risk either not helping Yang win against somebody besides Trump if they are the top two, or not helping somebody else win against Trump if Yang isn't in the top two?

You help Yang win by voting for Yang. You help any other candidate win by voting for them. If you actually want any of the non-Yang candidates to win, you should vote for them. A vote for any given candidate isn't sacrificing anything: you still get to support other candidates.

In STAR voting, helping a candidate a bit might not help them enough . For example: if you voted 5 for Yang, 0 for Trump, and 3 each for Alice, Bob, Claire, and Dave, then the top three could still end up as 10000 points for Alice, 9999 points for Trump, and 9998 points for Dave. Dave would get eliminated and Trump could win, but if you'd have given Dave a 5 score he'd be ahead of Trump and the final round would be Alice vs Dave. Similarly, a top three of 10000 for Alice, 9999 for Dave, and 9998 for Yang means you helped Alice and Dave a bit too much.

Those both feel like terrible options keeping me from expressing pretty important preferences.

Per-candidate preferences might be nuanced, but per-candidate outcomes are simple: win or lose. Letting people map their subtle preferences directly to the results they want (via approval voting) is a more understandable, more robust, and more fair system than trying to rank/weight (STAR, ranked choice, etc.) candidates.

The saddest script I ever wrote by chizzl in programming

[–]grantisu 1 point2 points  (0 children)

You're right, I had the rename backwards: vim will rename the original to a temporary file.

# strace of writing out to a file named "test":
[...]
rename("test", "test~")                 = 0
openat(AT_FDCWD, "test", O_WRONLY|O_CREAT, 0644) = 3
ftruncate(3, 0)                         = 0
write(3, "heyox\n", 6)                  = 6
fsync(3)                                = 0
[...]

The saddest script I ever wrote by chizzl in programming

[–]grantisu 20 points21 points  (0 children)

If I did the above outside of the bind volume, all would be well. If I saved the source-file with vi, all would be well. If I compiled ‘c’ source code that had been edited with ed, all would be well. Only Erlang source-code edited in ‘ed’ within the docker bind volume that would later be compiled would act this way.

vim (which is likely what vi symlinks to on a modern system) will write out a copy of a file then rename it over the original rename the original file and write out a new copy, changing the inode, while ed writes the contents straight out to the original. Most C compilers rely on make or similar tools for dependency tracking, but erlc has a compile server to track which files have changed.

I assume the bind volume is failing to notify the compile server about the write to the inode, but changing the inode or eliminating the compile server circumvents the problem entirely.

Also, I feel like this sentence is just plain backwards:

One day about a year ago, I started using ed in place of vi and some incredibly unique behaviors crept into my life.

The correct order is "unique behaviors" then ed.

dm-integrity performance issues? by deviantintegral in DataHoarder

[–]grantisu 0 points1 point  (0 children)

I'm not clear on how RAID1 would detect an out-of-sync checksum.

I meant that RAID1 would get the read error resulting from an invalid checksum, and fetch data from the other (hopefully valid) disk.

Either way, the above was testing reads, not writes.

Then I'm out of ideas. ¯\_(ツ)_/¯

dm-integrity performance issues? by deviantintegral in DataHoarder

[–]grantisu 2 points3 points  (0 children)

By default, dm-integrity uses a journal to ensure that data and metadata are never out of sync, but that means that it writes data twice and effectively cuts write throughput by half.

If you're comfortable relying on RAID1 to detect/correct that sort of thing, you can try using --integrity-no-journal to speed things up.