LESSWRONG
LW

Site Meta
Personal Blog

9

Zero-based karma coming through

by Eliezer Yudkowsky
8th Apr 2009
1 min read
40

9

Site Meta
Personal Blog

9

Zero-based karma coming through
2wmoore
2SarahNibs
0wmoore
0Vladimir_Nesov
0wmoore
5Vladimir_Nesov
1mattnewport
5Vladimir_Nesov
0mattnewport
0Vladimir_Nesov
0wmoore
1Vladimir_Nesov
0MBlume
1Kaj_Sotala
1Pablo
2dclayh
1dfranke
1dfranke
1Eliezer Yudkowsky
0dfranke
1Eliezer Yudkowsky
0dfranke
0wmoore
1dfranke
1MBlume
0wmoore
0pangloss
1wmoore
5MBlume
4thomblake
0MBlume
0Vladimir_Nesov
3Paul Crowley
0thomblake
2Vladimir_Nesov
2pangloss
0outlawpoet
3MBlume
0wmoore
-4CannibalSmith
New Comment
40 comments, sorted by
top scoring
Click to highlight new comments since: Today at 6:03 PM
[-]wmoore16y20

We've just deployed another related change: Now you can only cast as many down votes as your karma value.

Reply
[-]SarahNibs16y20

I would assume you can only cast as many up votes as your karma value, too?

I'm not sure what the change accomplishes. Was there a thread on this I missed?

ETA: capping the up votes similarly will produce bad effects. :) But I'm still worried this tells legitimate lurkers "contribute written comments or we don't want to know when you think a comment/post is poor!"

Reply
[-]wmoore16y00

Up votes aren't capped but your point about lurkers is interesting. The primary motivation for the change is to stop it being easy to just register an account then down vote everything you can find.

Reply
[-]Vladimir_Nesov16y00

Then it should be possible to see how many down votes I've cast, to know how many are left. In practice, I expect that the number of downvotes is significantly less than the amount of Karma, but I'm not sure. If this is true, then the limitation is roughly equivalent to simply prohibiting people with Karma less than a threshold to downvote.

Reply
[-]wmoore16y00

You are notified when you reach the limit by a message stating how many down votes you've made and what your current karma is. Until then I imagine you should not let this limit influence you:

Note: It is possible to see this message and the down vote count be greater than the karma due its dynamic nature.

Reply
[-]Vladimir_Nesov16y50

You are notified when you reach the limit by a message stating how many down votes you've made and what your current karma is. Until then I imagine you should not let this limit influence you:

I disagree, I want to reserve that power for where I see fit to apply it. I would prefer to calibrate my behavior, so that I won't be left out unexpectedly.

Reply
[-]mattnewport16y10

If you reach the limit and encounter a post you really want to downvote you can always un-downvote a previous comment that you dislike less. That would be easier if the 'disliked' link showed comments as well as top level posts.

Reply
[-]Vladimir_Nesov16y50

Yes, that's an obvious solution, but placing yourself in that situation is unnecessary, and implementing the amendment you suggest is a waste of time where the situation could be avoided in the first place.

Reply
[-][anonymous]16y00

You seem to be thinking of things from the point of view of 'I don't want to suddenly find I can't downvote', where I'm thinking of it from the point of view of 'what is likely to lead to the most informative karma scores'. I don't think you're wrong given where you seem to be coming from but I'm not looking at it from the same perspective.

Reply
[-]Vladimir_Nesov16y00

Also interesting: how did you upload an image in the comment? Is it an admins-only hack?

Reply
[-]wmoore16y00

Just standard Markdown:

![Alt text](http://example.com/path/to/img.jpg)

Check your inbox.

Reply
[-]Vladimir_Nesov16y10

Well, that I know. The question was about uploading.

Reply
[-]MBlume16y00

I like this

Reply
[-]Kaj_Sotala16y10

This'll take getting some used to, mentally recalibrating myself to not consider 0 -point comments as bad ones. But a good change, nonetheless. :)

Reply
[-]Pablo16y10

Great. I really hope that, when time permits, the folks at Tricycle can apply this retroactively as well. There are a few users who, despite posting comments of low quality, manage to have high karmas due to sheer frequency of commenting.

Reply
[-]dclayh16y20

I don't know, maybe an early-adopter karma bonus is appropriate :)

Reply
[-]dfranke16y10

Reddit had one. In the very early days of Reddit, one upvote was one karma point. Now they have some fancy-pants weighting algorithm that translates to much less than one point per vote.

Reply
[-]dfranke16y10

I don't see why it would be at all complicated to do. Shouldn't it just be something like

UPDATE comments c SET c.score = c.score - 1 WHERE c.post_date < 'some time today'

UPDATE users u SET u.karma = u.karma - (SELECT COUNT(*) FROM comments c WHERE c.author = u.id AND c.post_date < 'some time today')?

Reply
[-]Eliezer Yudkowsky16y10

Some people were testing the system by deliberately not voting for themselves. Also, Reddit doesn't really run off a proper database. And there could be other consistency checks (I haven't looked at the code).

Reply
[-]dfranke16y00

Last I spoke with Steve Huffman, he told me they were running on top of PostgreSQL, but maybe they switched to something non-relational in the most recent rewrite. Now you've got me curious; I'll check the source.

Reply
[-]Eliezer Yudkowsky16y10

That's not the problem, apparently, it's that what Reddit built on top of the SQL is a huge list of key/value pairs or something like that - in any case it's not as simple as an SQL query.

Reply
[-]dfranke16y00

I just finished going through the source, and while it's still Postgres-based, the schema just uses five tables: type, rel_type, thing, data, rel. So yes, it's fundamentally just a key-value store. I bet I could still whip up some SQL that would do the trick, though it would be a good deal uglier than the above.

Reply
[-]wmoore16y00

This is pretty much right, it uses a big key value store. The issue with karma is that the Account record maintains the karma value but the vote is stored as a separate relationship between the Account and the Link (article). Generally is is not safe to update the database directly as it is necessary to keep the separate memcache coherent. Thus any changes must be done via Python code. Whilst such a change is possible and relatively straightforward I'm not sure its worth it. From what I've seen there are no truly obnoxious users on less wrong that need to be dealt with by such a change.

Reply
[-]dfranke16y10

Do we still get an immediate karma point for posting a comment?

(I'll have answered my own question by posting this, and will edit with the answer momentarily.)

Answer: no.

Reply
[-]MBlume16y10

testing

ETA: comment showed up with a zero score, and now displays without vote up/down links. Well done folks =)

Reply
[-]wmoore16y00

Due to some users being unexpectedly limited from down voting by the prior change. The threshold is now four times your karma.

Reply
[-]pangloss16y00

I thought the point was to limit people's ability to down vote. Wouldn't that be a reason not to change the threshold?

Reply
[-]wmoore16y10

The main driver for the limit was to prevent someone registering one or more accounts and being free to vote everything down.

Reply
[-]MBlume16y50

Well, in that case, we could just pick a threshhold and say anyone above that level gets the keys to the ammo closet.

ETA: Or the garden shed, to stick with the going metaphor.

Reply
[-]thomblake16y40

I agree with this, but with no limit on upvotes, the hypothetical spammer could just register more accounts to give each other lots of karma, then use that one to vote everything down. But then, that's a problem for this system too.

Are we just chasing ghosts?

Reply
[-]MBlume16y00

Are we just chasing ghosts?

For the moment, yes -- I don't see us being a high-enough priority target to be anticipating barbarians with torches and pitchforks. Still, if we go as far as we're hoping, it seems like a possibility.

Reply
[-]Vladimir_Nesov16y00

The right model would perform some kind of flow analysis, starting from the vote graph. I guess there must be standard techniques in web search (linking as voting) and the like, that oppose spam linking (page rank? I haven't studied what it is).

Reply
[-]Paul Crowley16y30

You are looking for "attack resistant trust metrics". Google's PageRank is one such; Raph Levien's Advogato algorithm is another; my TrustFlow is a third.

Reply
[-]thomblake16y00

I've wondered if it wouldn't be better to give relatively more weight to votes from people with high karma. I haven't proposed it because it seems counter-productive to escaping the dangers of an echo-chamber, and because it seems like a conflict of interest coming from someone with high karma.

Reply
[-]Vladimir_Nesov16y20

The rule should be stateless: users vote, and it's data. Then, there's an algorithm that computes karma of users and rating of comments, starting from that data. Giving more weight to high-Karma users (adjusted for inadequate voting=significantly different from what others value, and for balance of votes) is similar to electing moderators, and ultimately roots in the founders' conception of what's on-topic, what's valued on this particular forum.

Reply
[-]pangloss16y20

i agree. Have a karma based limit under a certain threshold, then, above that threshold, free reign.

Reply
[-]outlawpoet16y00

would that mean that on default settings, a post or comment would be invisible until someone voted for it? Should I set my filters for -1?

Reply
[-]MBlume16y30

As I recall, on default settings, you screen comments below -4

Reply
[-]wmoore16y00

Yes that's correct. So on default settings all content is still visible.

The changes Eliezer refers to have now been deployed.

Reply
[-]CannibalSmith16y-40

Now, set the default hiding threshold to 0 (hide comments with -1 karma and less).

Reply
Moderation Log
More from Eliezer Yudkowsky
View more
Curated and popular this week
40Comments

Our friends at Tricycle will push through a zero-based karma system (no self-voting possible) sometime this evening.  At present this will only cover future posts/comments - they may go back and revise history some time in the indefinite future (or not), but apparently that would be overly complicated for now.  We'll see how this works.