Hi codic. Hopefully you get a chance to read this. First I'll comment on the C/C++ thing :-) I'll be the first to admit that I know C better than I know C++, but I feel that I am a fairly competent C++ coder and am comfortable writing from a C++-mindset (as opposed to a C-mindset). Feel free to quiz me about C++. I'm actually in the middle of a C++ project (the xbattle stuff that I mention in my diary). I could send you code if you are interested...
Concerning the rating system, one of the points that I tried to get across in my diary entry is that I don't think that Advogato's rating system is set up to handle a negative rating. EBay can deal with a negative rating because of the way in which people are allowed to rate each other.
I also feel that a rating system that allowed negative ratings would be most effective if everyone could rate users, but the weighting of a user's rating (I can't help but notice that that rhymes) should be proportional to their status (i.e., a rating coming from a Master should mean much more than a rating coming from an Outcast).
I would have to diagree. If I'm not mistaken, this was exactly the case when Advogato brought in the Dimwit rating. A Master could demote an Observer with one click, but a whole swarm of Observers couldn't touch a Master's rating.
By only allowing positive ratings, one encourages people to value their account---switching to a new account wouldn't do anything productive. If one wants to create a real "community," an important thing is to make people value their accounts. The "community" can become very artificial if people frequently change accounts to avoid negative ratings.