Hi Christopher -
Thanks for sharing - this is an interesting approach.  One thing you might 
consider is to add Karma aging to the model  e.g. the Karma of people is aging 
over a certain period of time.
Also you might be interested  how we calculate  Karma in Community Equity (we 
call Karma *Equity) - an open source social value systems (see intro paper),
And last but not least you can check-out the demo site where we calculate 
Community Equity for a status.net microblog ..

Regards
Peter


On Nov 26, 2009, at 1:39 AM, Christopher Vollick wrote:

> ** This email gets kind of long, rambley, and a little bit technical. Read as 
> much of it as you like, and feel free to ignore the rest **
> 
> So, today I woke up and felt like writing a User Karma thing.
> So, I did: 
> http://gitorious.org/~cvollick/statusnet/cvollicks-clone/commits/karma
> 
> It's intended to be for Spam Things.
> 
> The way it currently works is this:
> When User A subscribes to User B, User B's Karma increases by 1/10th of User 
> A's (Assuming it's positive), by default.
> When they unsubscribe again those points are by default removed.
> 
> The same when one of their notices gets faved.
> 
> When a user gets blocked their Karma goes down by 1/10th of User A's.
> 
> When a user gets blocked by a group it's 1/50th the blocking user's karma.
> I did this because I figured that people are more likely to be blocked by a 
> group for legitimate reasons that to be blocked by people.
> 
> This required adding some more Events.
> Having added 4 or so of then in occasionally questionable ways, I feel like 
> there might be a better way.
> 
> I've capped Karma at -1000 and 1000.
> This was so that popular people like Evan and BUGabundo don't end up with, 
> like, 1 500 000 000 karma.
> Then, with a single fave one of you Titans would descend from Heaven and give 
> but a taste of your power to mortals who amuse you.
> Or, I feel bad for the person who one of the Titans decides to block, and 
> completely destroys their account.
> Anyway....
> 
> 
> So, the "Karma" plugin is just infrastructure, it only maintains Karma, but 
> doesn't do anything with it.
> So, I wrote "KarmaModerator" to demonstrate my vision for Karma.
> KarmaModerator is a second plugin that emulates sandboxing a user when their 
> karma drops below 0 and emulates silencing a user when their karma drops 
> below -500.
> At no point does it autodelete their account, but it would put them out of 
> commission until they can be dealt with.
> I could have used normal silence and sandbox, but I didn't want to interfere 
> with the other methods of sandboxing and silencing.
> That could have been the wrong thing to do, time (And Evan) will tell.
> 
> 
> I tried to make a system that was not gameable.
> As a result, there isn't really any boot strapping.
> There is nothing that you should be able to do that generates Karma out of 
> nowhere. It's all currently dependent on existing karma.
> This was so that newly created accounts aren't capable of wrecking things.
> In this system, I'll admit, if a spammer were ever able to get a significant 
> amount of power somehow, he could do some damage to the lesser mortals.
> It would take a concerted effort of might to bring down one of the Titans, 
> though.
> With the 1000 cap, it would take 10 people all with 1000 points blocking 
> someone with 1000 points to even get them blacklisted.
> Currently nothing costs.
> It's possible that something like blocking requires spending Karma.
> I decided against that for now.
> 
> Back to bootstrapping:
> So, I'm planning on writing a script that takes the existing system and 
> generates a rough Karma for existing accounts based on a few initial values.
> For example, it's probably be like "Take the top 10 most popular accounts and 
> give them each max karma. Now, pretend that they all just started following 
> all the people they're following. Then pretend that they all just started 
> blocking everyone they've blocked. Pretend they've all just faved all the 
> things they've faved."
> That'd probably generate some fairly fair scores off the bat, and the system 
> can take over from there with everyone else.
> 
> Also, there are currently ways to game the system kind.
> Of course, two people could fave all of each other's notices in turn gaining 
> popularity slowly. (This is only possible once they have over 10 karma)
> A lot of the gaming I've considered involves a chain of following and 
> unfollowing.
> I considered writing another Plugin that would implement a history for this, 
> so once I follow someone my Karma will be snapshot and any time I follow or 
> unfollow them it will be that value.
> This is to fix an issue I considered where I start an account and follow 
> someone, giving them 0/10, or 0 points.
> Then I become popular, and then when I decide to unfollow them, perhaps with 
> no ill intentions, it reduces their karma by 1000/10, or 100.
> 
> Currently it's my feeling that only Moderators should be able to even see 
> Karma.
> Other than that it's just a hidden value that most people don't even really 
> know about.
> This makes it harder to game, because you can't see your progress.
> 
> Anyway, this is just the first iteration.
> I mostly just wanted to write it, so I did.
> 
> There are probably far better ways of doing most of the things I did, but 
> it's always easier to augment then to create.
> 
> So, what do you think?
> _______________________________________________
> StatusNet-dev mailing list
> [email protected]
> http://lists.status.net/mailman/listinfo/statusnet-dev

_______________________________________________
StatusNet-dev mailing list
[email protected]
http://lists.status.net/mailman/listinfo/statusnet-dev

Reply via email to