Hacker Newsnew | past | comments | ask | show | jobs | submit | rectang's commentslogin

Ranked Choice Voting makes it easier to vote for “less bad” candidates.

RCV also tends to work against polarization, since it rewards candidates who are at least acceptable to a broad swath of the electorate.

It may not be the “answer” for all that ails the American political system, but it would help.

ETA: Unlike many other reforms it's also doable within the constraints of the current constitutional order and is hard for SCOTUS to torpedo (though I suppose I shouldn't underestimate SCOTUS).


100% -- RCV is a super important part of this equation in the long run.

Approval Voting would be an easier pill to swallow for most americans. It’s hard to explain “yeah Trump got the most #1 votes but still lost” and easy to explain “this other candidate got the most checkmarks”.

https://www.rangevoting.org/CompChart.html#votsysts


RCV completely solves the “spoiler candidate” problem, which is a huge issue limiting choice and innovation in the two-party-dominated US. Approval Voting remains susceptible to spoilers.

In the US there are already people who complain that any election they lose must been “rigged”, including the current occupant of the White House. Choosing Approval Voting over RCV is not going to bring such people around; it’s rhetorical advantages are inconsequential.


No, approval voting effectively solves spoilers. For example, the Green Party can't be a spoiler for the Democratic Party as people who like both will simply vote for both. RCV has its own novel form of spoiler: https://en.wikipedia.org/wiki/Center_squeeze

The 2022 Alaska special election is a great example of RCV failing where approval voting wouldn't. And FairVote had the nerve to say it showed Alaskans understood and could use the system.

> Choosing Approval Voting over RCV is not going to bring such people around

It's a lot easier to claim the system is rigged when the voting system is much more complex in a way that most voters will not understand.


We already have a system where the person with the most #1 votes can lose. A third party candidate that only got a couple states would be able to prevent a majority.

And that's electoral votes. Counting actual people has the most voted candidate lose all the time.

Approval voting would be an improvement over the status quo but it makes it a lot harder for me to influence the choice between candidates I like less. If I do check my third choice I risk helping them beat my top two. If I don't check my third choice then I risk them losing to even worse options.


> We already have a system where the person with the most #1 votes can lose. A third party candidate that only got a couple states would be able to prevent a majority.

And people complain about it. If you were trying to make a change from some other status quo to that, it would be a significant impediment.

> Approval voting would be an improvement over the status quo but it makes it a lot harder for me to influence the choice between candidates I like less. If I do check my third choice I risk helping them beat my top two.

Approval voting is the range compressed version of score voting. Instead of scoring each candidate on a scale of 1 to 10, it's score each candidate on a scale of 0 or 1. Use score voting and you can give your favorite candidate a different score than your second favorite without giving them the same score as your least favorite.

Both of them are still better than RCV.


> Approval voting is the range compressed version of score voting.

I'm not thrilled with score voting to begin with, and compressing it down doesn't change much.

> Use score voting and you can give your favorite candidate a different score than your second favorite without giving them the same score as your least favorite.

That doesn't solve my problem. Take exactly what I said before, but replace "check" with "give the maximum score to".

> Both of them are still better than RCV.

I don't see how.


> I'm not thrilled with score voting to begin with, and compressing it down doesn't change much.

Compressing it makes it slightly worse, but some people think it makes it easier to understand. I tend to think that's silly; people can understand "score each candidate on a scale of 1 to 10" perfectly well. But approval voting would still be a significant improvement over FPTP, and even over RCV.

> That doesn't solve my problem. Take exactly what I said before, but replace "check" with "give the maximum score to".

RCV doesn't solve that either, because it's subject to Arrow's Impossibility Theorem. It's actually even worse, because it makes you give a lower rank (rather than an equal one) to your most favored candidate to prevent an even worse candidate from winning.

Suppose your favorite candidate is the first choice of 20% of the population, your second favorite is 25% and the two candidates you hate are at 25% and 30% respectively. RCV makes you give your top pick to the second candidate so they can beat one of the two candidates you hate and ensure the runoff isn't between both of the candidates you hate.

Meanwhile with score voting your favorite candidate might have won, because they were the first choice of only 20% but the second choice of everyone else, and then end up with an average score of e.g. 6 when all the others are at 4 and 5.

RCV tends to do the opposite of that. If you have two opposite extremists and a moderate, the moderate can get knocked out in the initial round and then you get a coin flip between the two opposite extremes, even if the moderate would win one-on-one against either of the extremes. Or, in a district that skews to one side, give the district to the other side, because the minority party makes it to the runoff with 40% of the vote, the majority party splits between two candidates each at ~30%, but then if the majority party's extremist goes to the runoff instead of its moderate, they could lose the runoff to the minority party's moderate and give the district to the minority party.


> Suppose your favorite candidate is the first choice of 20% of the population, your second favorite is 25% and the two candidates you hate are at 25% and 30% respectively. RCV makes you give your top pick to the second candidate so they can beat one of the two candidates you hate and ensure the runoff isn't between both of the candidates you hate.

Let's call those candidates A B X Y.

I don't see the issue. I vote my actual ranking, A is eliminated. If this scenario isn't super weirdly convoluted, more of those votes shift to B than X, so X is eliminated next. Now it's B versus Y. If I vote for B instead, the same thing happens and we also get B versus Y.

And what happens here in score voting could be basically anything. Not enough specifics.

> If you have two opposite extremists and a moderate, the moderate can get knocked out in the initial round and then you get a coin flip between the two opposite extremes, even if the moderate would win one-on-one against either of the extremes.

Yeah that's a real issue, and I'd want to use condorcet methods to fix that.

> Or, in a district that skews to one side, give the district to the other side, because the minority party makes it to the runoff with 40% of the vote, the majority party splits between two candidates each at ~30%, but then if the majority party's extremist goes to the runoff instead of its moderate, they could lose the runoff to the minority party's moderate and give the district to the minority party.

Meanwhile with approval or score voting, a lot of people pretend not to like the other party's moderate because they're trying to get their side to win and it gets really messy. Is there a need to have multiple candidates per party? If there is, a two stage election that picks party first and then picks probably-the-moderate is probably better than anything.


> If this scenario isn't super weirdly convoluted, more of those votes shift to B than X, so X is eliminated next.

It doesn't have to be that convoluted, all it takes is for the eliminated candidate to be a moderate so their votes go in two different directions. But you're right that I messed up that example; the percentages are wrong.

The problem case is when your second most favored candidate would otherwise be eliminated first and you need to prevent that by causing your most favored candidate to be eliminated instead, because the second best candidate has a better chance in the next round.

Suppose the candidates you dislike, X and Y, are the first choice of 40% and 25% of people respectively, and then A and B split the remainder evenly. X and Y are the two extremists -- on opposite sides of each other, with the moderates A and B in the middle. You favor A but A leans in the direction of X and B leans in the direction of Y.

If B is eliminated first then half of B's support goes A but half goes to Y, Y is still ahead of A and then A is eliminated next. If A -- your preferred candidate -- is eliminated first, half their support goes to B and the other half to X but Y gets nothing. Y then loses to B and the final round is X vs. B rather than X vs. Y. And the elimination of Y puts all their support behind B since X is the opposite extreme. But only if you rank B above A even though that's not what you'd have preferred.

> Yeah that's a real issue, and I'd want to use condorcet methods to fix that.

But now you're no longer using RCV/IRV. Score voting is a Condorcet method.

> Meanwhile with approval or score voting, a lot of people pretend not to like the other party's moderate because they're trying to get their side to win and it gets really messy.

Except that doesn't really help them because doing that also makes it more likely that their least favorite candidate wins, which is a significant incentive not to do it. The only reason to do that is if you're confident your favored candidate could only lose to your second choice, in which case it was really a two candidate race to begin with.

> Is there a need to have multiple candidates per party? If there is, a two stage election that picks party first and then picks probably-the-moderate is probably better than anything.

It doesn't matter if they're in the same party or not. If you're using a voting system that allows more than two parties to be viable then you'll have similar candidates running from similar parties. "Force the election to be one candidate from each of two major parties" is FPTP and it's terrible.


That site promotes range voting, and rather superficially dismisses approval voting: "Why Range Voting is Better than Approval Voting": https://www.rangevoting.org/rangeVapp.html

We've got MMP here in New Zealand, which is a fantastic improvement over what we had. However the list vote does give politicians some weird power.

Comment moderation is voting too.


> Approval Voting would be an easier pill to swallow for most americans. It’s hard to explain “yeah Trump got the most #1 votes but still lost”

As a non-US-American, it is hard to understand for me why this is so hard to explain: the amount of #1 votes is rather a measure for the number of "ultra-fans" that the candidate has.

I think it should be rather easy to find an example in US-American pop culture of some C-list celebrity who has a respectable base of very devoted ultra-fans, but is hated by basically everybody else.

This example should make the fallacy obvious to most people.


Does anybody run a local agent on a Mac using an outboard GPU?

I run a second Mac for local llm use and access it remotely using ssh from the first mac

I am skeptical that developers who implement a non-compliant solution that gets a company in trouble get off scot-free.

If the company you work for actually had such a no-fault culture, I doubt you'd be criticizing programmers so aggressively for being sticklers, but would instead be trying to understand and account for the systemic factors (including human factors) behind their behavior.


>I am skeptical that developers who implement a non-compliant solution that gets a company in trouble get off scot-free.

I don't see why developers should be in trouble. Developers don't make unilateral decisions on non-trivial compliance matters. A finding of non-compliance at a financial institution would typically be the result of an investigation, a disagreement with the regulator or a court ruling. It would come years after the organisation as a whole decided to adopt the interpretation in question.


But here we're talking about developers being asked to implement decisions which they don't understand to be compliant.

Engineers are not shielded by their implementer role if they participate in illegal activity. James Robert Liang was a rank-and-file engineer for Volkswagen and he got jailed for his role the VW emissions scandal[1].

No matter how much an enterprise architect or compliance officer promises "it'll be fine" to the developer, the developer needs documented CYA. An enlightened organization would perhaps find ways to expedite that CYA documentation rather than demonizing programmers as a class.

[1] https://apnews.com/general-news-988ea2ae45694b37b320e68cefe3...


> "...don't understand to be compliant."

Liang got prison time because he _did understand_ that the engine wasn't compliant with regulations and chose to build the system to falsify the emissions output during tests anyway. He was not a scapegoat.

"On 9 September 2016, James Robert Liang, a Volkswagen engineer working at Volkswagen's testing facility in Oxnard, California, admitted as part of a plea deal with the US Department of Justice that the defeat device had been purposely installed in US vehicles with the knowledge of his engineering team: 'Liang admitted that beginning in about 2006, he and his co-conspirators started to design a new "EA 189" diesel engine for sale in the United States. ... When he and his co-conspirators realized that they could not design a diesel engine that would meet the stricter US emissions standards, they designed and implemented [the defeat device] software.'" from https://en.wikipedia.org/wiki/Volkswagen_emissions_scandal


Yes, and that demonstrates that developers are not immune. And so, developers who suspect they're being asked to do something illegal (but aren't sure) are going to act as sticklers who irritate enterprise architects until you take concrete action to reassure them.

Complain about them, denigrate them, upbraid them for performing analysis outside their primary expertise, fire and replace them.... none of that changes the incentive structure that shunts people in the implementation role towards conservatism out of a perceived need for self-preservation.


I think you misread the person you replied to.

"decisions which they don't understand to be compliant" = "decisions which they don't believe to be compliant"

In other words, they understand that the decisions are not compliant. There's no contradiction with what you said.


You're talking about two very different situations but your wording doesn't make that clear:

a) Engineers don't know and cannot be expected to know whether what they are being asked to implement complies with all regulations. This is completely normal.

b) Engineers know or can be expected to know based on their expertise that they are being asked to cheat. That's when they are on the hook.

VW was a case of (b). It was clear-cut criminal behaviour on a very technical level. But that's not what typically happens in financial services and many other domains.

But if your point is merely that engineers are not automatically in the clear just because someone higher up told them what to do then I agree with you.


In your world, do subordinates ever get scapegoated for bending the rules at a boss's behest?

Eventually there will be successful copyright lawsuits for derivative images produced by LLMs. Copyright laundering is an illusion.

Delulu take but lets say it goes to court, how would they be able to reproduce the entire process that was used to generate the image aka the training, hardware in the tens of millions, reverse engineering and finding their own training data enough to exactly match the output from the frontier models. How would you order them to reveal their proprietary and protected IP so you can then recreate the exact same model , produce the exact same pixel by pixel accurate image, over and over repeatedly enough to satisfy staticians and jury? How would you then rely on this carbon copy of the frontier model to argue the model isn't learning that it's not actually finding the style and applying it to the output, exactly like some art student flipping through other artists work to reproduce it by learning their style

The entire US economy wouldn't be banking on AI if they were just going to let some patreon furry pornographer win a landmark case against the top 5 biggest capitalized company don't you think?

I'll let you keep dreaming if it makes you happy.


Most legal tests to date have been on training data rather than generated works, though the number of instances in which training works emerge from prompts of AI LLM engines suggests the latter may also be problematic.

So far there's no binding precedent, but if a work can be shown to be in training data, then there's no need to trace it through the full generative chain as you outline.

See, e.g.: <https://astraea.law/insights/ai-training-data-copyright>.


There are lots of sites that provide images that somebody has claimed are public domain. But for significant use, you what you really need is provenance documentation.

These folks seem to be more up-front about the issue than many sites I’ve seen:

https://pdimagearchive.org/reusing-images/

> On each image page we communicate to the best of our knowledge the rights status of both the underlying work and the digital copy of this work. We provide this information based on a basic knowledge of copyright law and what is communicated by the source institution — it is strictly meant as a guideline and it should not be taken as legal advice. We admit no responsibility for any untoward consequences that may arise through reuse of material featured on our site. If you are requiring certainty as to usage allowed for an image, then you are encouraged to check with the source institution and make your own investigations.


Standard Ebooks has a database of public domain oil paintings for use as book covers. SE is strict about copyright clearance and requires either scans of a copyright‐expired publication containing the painting, or an explicit statement from a reputable museum that the work is CC0. Here’s an entry I contributed:

https://standardebooks.org/artworks/arthur-i-keller/calvin-c...


To be specific, this is US public domain only (which is globally non-standard).

Nothing is globally standard.

On the other hand they do allow search by century and very little from the 19th (and none earlier) century is still in copyright anywhere.

There is a possible problem with countries where a photographer can have copyright over their photograph of an earlier work. Again, there is not global standard.


>There is a possible problem with countries where a photographer can have copyright over their photograph of an earlier work.

To be specific, Germany is one of the few countries where this applies https://en.wikipedia.org/wiki/Threshold_of_originality

It's an absolutely stupid idea IMO.


A great opportunity for selective enforcement!

Also parallel construction. "We caught him due to reports from his bank." (That's not how they caught him but those reports did exist.)

About a week ago, I uninstalled Node from my laptop, which felt great. :)

I'm trying to do all work in dev containers (or other sandboxes), limiting the blast radius if I'm unlucky enough to be hit by an exploit. The attackers may get a Claude token, but they won't easily be able to escape the container and scan my home dir.

Cooldowns and allow-listing of installer scripts are good additions to layered security, especially for CI. However, I think the fundamental thing that needs to change is the OS permissions model. The default of trusting third-party software with everything your user has access is no longer workable.


Are you using something like Bubblewrap/Firejail/Flatpak, or what does such a setup look like? I've been entertaining a similar idea for a while but haven't gotten to it

I'm using VSCode dev containers, powered by Podman on a Mac. Most people would probably choose Docker over Podman but I'm weary of Docker and wanted to try something else. I would not consider myself an expert on containers but with the help of Claude I've been able to fight my way through various challenges:

* Persist a volume for Claude so that conversations don't get blown away with every container rebuild. An attacker may still be able to get a Claude token from me, which is something I'd like to tighten up in the future.

* Fix file permissions issues by running rootful inside the container. (The container process still runs on the host as an ordinary user. Since my threat model is "compromised dependency scanning for credentials in project dir and home dir" rather than "attacker escaping the container", I figured that was good enough to get started.)

* Work around architectural availability issues with precompiled PyPI libraries. This I punted on by choosing a different approach and eliminating the problematic dependency (by writing my hobbyist CAD 3d printing stuff using Blender extensions instead of CadQuery). I've gotten the impression that dependency compatibility with a container workflow is an ongoing challenge.

* Run a database in a docker-compose sidecar for integration testing.

For all the projects I'm containerizing I'm the solo dev with full control over the Git repo so I can make the call to add a `.devcontainer/devcontainer.json` config file. I haven't yet explored how to isolate projects I don't control.


From the perspective that a company is an amoral profit-seeking automaton, it's not a "terrible system", it's a successful initiative to reduce compensation.

Opponents of gun control surely feel the same way about the Onion’s story.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: