Date post: | 28-Nov-2014 |
Category: |
Technology |
Upload: | christoph-matthies |
View: | 867 times |
Download: | 0 times |
Hacker News vs.
SlashdotReputation Systems in
Crowdsourced Technology News
Robert Lehmann, Christoph Matthies(@rlehmann) (@chrisma0)
Nov 2012
2011 2012
1000
2000
3000
Slashdot
●●●
●○
●●●
○
Slashdot users
alexa.com, Nov 25th 2012
$ $
+1, Insightful
Unfair
●
●
●
●
●
+1, Insightful
“■
■
Unfair
+1, Insightful
+1 / -1
Unfair
○○○○
-10 -1 0 12 25
Defaults in Slash CMS (slashcode/sql/mysql/defaults.sql)
●●
○●●●●
“
Hacker News
If you apply for YC and get rejected, pg [Paul Graham] may follow-up with an explanation just because you have a high score.
Hacker News users
alexa.com, Nov 25th 2012
“Anything that good hackers would find interesting.That includes more than hacking and startups.
If you had to reduce it to a sentence, the answer might be:anything that gratifies one's intellectual curiosity.
UpvotesUpvotes
no duplicate votesonce you have voted
kinda bookmarks
not only endorsements
scale
rewards
reportreply flag
inappropriate content
(spam or offtopic, for stories too)
pollsnew story type:
top color change(yay! \o/)
downvotes for comments only
comment score below zero
(def comment-color (c) (if (> c!score 0) black (grayrange c!score)))
Community Nature
Four design goals for distributed moderation systems
Four design goals for distributed moderation systems
Four design goals for distributed moderation systems
Four design goals for distributed moderation systems
Four design goals for distributed moderation systems
Effectiveness of metamoderation on Slashdot
Metamoderation's agreement with fairness of moderation
% of moderationsreversed
Other considerations
Other considerations
Other considerations
Other considerations
Other considerations
political discussion
●●
○
●○
●○
●
●●
buried treasures
Is this a problem?
Metamoderation's agreement with fairness of moderation
% of moderationsreversed
How? Attention Deficit
●○
30%29%25%
9%
●○
●○○
How? Attention Deficit
X II
●○
●○○
●○
X II
How? Attention Deficit
X II
⅕
⅕
How? Information Cascade Effect
explicitly visible comment scores
Information Cascade Effect
+3, Insightful
as applicable to Slashdot
Remember, though
All these effects don't have to be negative.
e.g. Information Cascade Effect can strengthen good comments and further demote bad ones.
Remember, though
Lampe’s Solution [1]
Adjust the damn comment filter.
most recent
visible
hidden
recently written recently moderated
afte
r
bef
ore
The four design goals in Lampe’s proposal
Lampe’s Solutionas applied to Hacker News
Power to the people M2
*
Encourage constant greatness
*
protection mechanisms
(def vote-for (user i (o dir 'up))
(unless (or ((votes user) i!id)
(and (~live i) (isnt user i!by)))
(withs (ip (logins* user)
vote (list (seconds) ip user dir i!score))
(unless (or (and (or (ignored user) (check-key user 'novote))
(isnt user i!by))
(and (is dir 'down)
(~editor user)
(or (check-key user 'nodowns)
(> (downvote-ratio user) downvote-ratio-limit*)
; prevention of karma-bombing
(just-downvoted user i!by)))
(and (~legit-user user)
(isnt user i!by)
(find [is (cadr _) ip] i!votes))
(and (isnt i!type 'pollopt)
(biased-voter i vote)))
(++ i!score (case dir up 1 down -1))
cheating, the secret sauce
● karma bombing prevention○ prevent cabal against individual users
● downvote ratio○ cannot cast too many downvotes
● sockpuppet protection
if ($constants->{comments_portscan} && ( $constants->{comments_portscan} == 2 || $constants->{comments_portscan} == 1 && $user->{is_anon} ) ) { my $is_trusted = $slashdb->checkAL2($user->{srcids}, 'trusted'); if (!$is_trusted) { my $is_proxy = $slashdb->checkForOpenProxy($user->{hostip}); if ($is_proxy) { $$error_message = getError('open proxy', { unencoded_ip => $ENV{REMOTE_ADDR}, port => $is_proxy, }); $form_success = 0; return; } } }
● HTTP Proxy● maximum number of posts per day● "trollishness"
○ half-lived amount of downvotes● compresses too well (with Zlib)
○ ASCII art"nobody should be using that many wide characters in the Standard English alphabet"
Anonymous Cowards punished harder.
and now a word from CmdrTacorigorous checks for legit posts
if ($constants->{comments_portscan} && ( $constants->{comments_portscan} == 2 || $constants->{comments_portscan} == 1 && $user->{is_anon} ) ) { my $is_trusted = $slashdb->checkAL2($user->{srcids}, 'trusted'); if (!$is_trusted) { my $is_proxy = $slashdb->checkForOpenProxy($user->{hostip}); if ($is_proxy) { $$error_message = getError('open proxy', { unencoded_ip => $ENV{REMOTE_ADDR}, port => $is_proxy, }); $form_success = 0; return; } } }
and now a word from CmdrTaco
● 7 whitespaces in the subjectlots of space in the subject ... lots of space in the head.
● more than one characterone character. Hmmm. Gee, might this be a troll?
● words longer than 80 lettersthat's an awful long string of letters there!
● 50% capsPLEASE DON'T USE SO MANY CAPS. USING CAPS IS LIKE YELLING!
● "feces", "goatse.cx"too smelly to submit
rigorous filters for legit posts
banhammer
● Karma: Terrible (-10)● default comment
score of -1● set all comment
scores to Offtopic (-1)
● Karma: Terrible (-10)● revoke all
moderation points
warning if a user has more than 10 KarmaUse -f to forcibly slap
nukeblast blastban the site+kill submission
ban user+
hellbanninghellbanning●
●
●
●
“a hellbanned user is likely to get bored or frustrated and leave [...]the silent treatment is the cruelest punishment of them all. [1]
— Jeff Atwood
Backup slides
●●●●●●
General cheating (this always works)
Gaming the System●
●
●
●
●
●
●
●
“
unless ($opts{'f'}) { die <<ERR if $user->{karma} > 10;User $_ has a karma of $user->{karma}. Slap aborted. Use -f to forcibly slap.ERR} print "Bitch Slapping #$_...\n";print "Karma Reduced\n";print "Default Score Reduced\n";$slashdb->setUser($_, { -karma => $constants->{badkarma}, -defaultpoints => -1,});
print "ALL live comments moderated down\n\n";$slashdb->sqlDo("UPDATE comments SET points=-1,reason=1 WHERE uid=$_");
Exhibit A — source of bitchslap (Slashdot)
Moderation adjectives
Tweaking options on Slashdot
Basic Social Media
Submit-Publish
Slashdot submission overview
Hacker News submission overview
Comment overview on Slashdot
Hacker News comment overview
Distribution of comment scores on Slashdot