I know that the following content might not be welcomed and I will lose lots of contribution, but I should write something about such a bunch of chaotic comments under there.
I may delete this tomorrow if I find my words useless.
What happened
Several months ago, Mike posted a blog about banning orzdevinwang's alt, zh0ukangyang, and more alts. Lots of participants, including myself, were angry because zh0ukangyang is such a talented coder and codeforces didn't treat the rule of single account seriously at that time. Then more and more alt accounts with high rating are reported, including mine.
After that I didn't use alts anymore, and most of high-rated Chinese participants(100% in my friends) discarded their alts and followed the rules. We might think that the rules are not that perfect, but rules are rules. I believe that no one will say "Banning zh0ukangyang is unacceptable".
But I know what you are thinking is how to detect the alts with lower rating. It's obvious that 10k alt accounts with 2100~2400 could be much more annoying. But detecting them is as hard as detecting cheaters!
So in the last round, Mike just banned some accounts. I heard that you will be banned if you login to both two accounts on the same computer and register for the last contest. Somebody complained that both of his accounts got banned, but he didn't participate with alt account anymore after the announcement!
Then the chaos appeared. Offensive comments are made. Meaningless comments are made. Mystifying comments(called Mo Zheng in Chinese, which I strongly hate) are made. In my opinion, those comments make no sense at all because they only scold Mike, without saying why they got angry. So that is why I want to write a blog about this.
Personally I agree with the current policy for alt accounts now. I want to write some points from people who are complaining(maybe including myself in the past).
Why participants use alts & my comments
In my investigation, there are 4 main usages of alt accounts.
- Create 2 accounts, always participate with the lower rating.
The advantage is that your maximum rating never decreases. I think that it is because codeforces has a huge jumping system: -100 for a blunder seems to be too much for me. When people are talking about rating, they always talk about the current rating, not the history maximum one. I think people are less willing to use alt in ATCoder because you lose less rating when having bad performance, and there is a Dan system(I messed up two contests in a row and losing ~50 rating) with the highest rating, which has more levels. I can still call myself a 6-Dan coder. So adjusting the rating system might be useful...?
- Create some new accounts and take the win of Div.2/3/4 easily.
Certainly, this should be banned.
- Create 1+1 accounts, one for participating and the other for hiding submissions/VCs.
I think this should not be banned. This could be the main point that people complain about.
- Create some new accounts for participating "unofficially".
This should be legalized. I hope that hacking phases will be removed soon and we can have "unrated register" option.
My thoughts
Codeforces is getting older and older. UI/Rules/Problems are changing year-by-year, so codeforces looked like an outdated website today. But currently it still has the most users, most contests, and the largest rating system. I think that holding traditions is OK, but removing the outdated modules can make the site better.
Cheaters, boosts and alts are impossible to detect. Indian cheating groups have made me upset for a long time. It must happen when the site is large and the rating is useful IRL(for jobs). What we can do is just follow the rules and protect our environment. I fell in love with coderforces 6 years ago, when I started doing CP. With so many ups and downs, codeforces is still a great online judge that I will suggest to every new comer. I hope everyone maintains a nice forum of competitive programming.
And for the Chinese coders, I hope that we should not write rude comments anymore... Discussing the rules is acceptable and may lead codeforces to a better platform of CP. Just shouting and attacking Mike makes you like a joker.
I've always thought that Codefores' rating change is a little too drastic and I'd prefer it to be like, halved. I'm not sure changing the other aspects of the system would work well though, because it can easily ruin the whole meaning of everyone's current rating and their history.
Rating is just a number, bro. No need to care about it.
Well, then the first 'usage' of alts mentioned in the blog is also useless :)
It's not, because people are stupid and continue caring about a number.
but color matters
Why, dude? How did you go from being a newbie to a master in just three months? Be honest—is this your alt?
Yes, it is
If it's not important , why does the number exist?
If you half all the rating changes, it will not change anything. It will just measure the same rating in different units. Like 50 "two-centimeters" instead of a 100 "centimeters".
But there will be no two measuring metrics here, we only have one rating system, and so people have to participate in more contests to go up to the same original color
This was a response to the blog's claim:
So if someone would lose less rating with same bad performance, they can fear less about it.
I don't think that's true. The ratings would converge to the same values, but slower. That would be better as your rating would fluctuate closer to your "actual rating". AtCoder is like that and it's great.
Here's the math of Elo ratings on wikipedia
I know Codeforces doesn't use Elo, but it's probably similar enough.
Speak for yourself...i am yet to feel like i have converged even once in my atcoder rating despite it being nearly 2 years now.
On the other hand, i think my skill and cf rating had approximately converged atleast 2 — 3 times (1800, 2200, 2600 and maybe now at 2800)
Here is my atcoder profile : https://atcoder.jp/users/raysh07
Maybe codefoces has high variance, but so what? I highly prefer high variance to taking several years to converge. Rating is an approximation anyways.
The total average rating will stay the same, since he said half the changes not the actual rating, so it will simply be slower but it shouldn't (if I'm not wrong) inflate or deflate rating
There seem to be 3 main parameters in ELO, one of which controls "how much better should some guy with x rating over another guy be" (for example in one extreme you could make tourist 1501 and the worst guy 1499), another that controls how volatile the rating updates should be, and lastly how initial rating is dealt with.
The 2nd parameter shouldn't affect the value of rating. You only get what you said if you halve all 3 of those things.
just buy new pc for every account
The rule is clear: do not make/use duplicate accounts. Your rationale why people do that is mostly invalid. If you don't like Codeforces, don't use it.
"if you don't like _____, don't ___ it".
It's not an argument.
It is general good advice.
I think a clear and complete rule should contain both restrictions and possible punishments, or the administrator has too much freedom to judge users according to his own emotion.
Let’s be honest here, if you look at the standings of any Div 2 round and open only the first page, you will find that more than half of them are grey. This happens in every round and even more in Div 3 rounds. While the experts or masters should be winning the rounds, instead you find some grey accounts who aced the whole round. And there are too many of them to be ignored. This makes the authors think: "Oh, there are 3,000 people who solved D, so it was an average problem," while actually 2,000 of them were just grandmasters' grey alt accounts.
There are only 630 active grandmasters on cf. It's very unlikely for 2000 grandmasters to be alting div2s. Sounds like cope to me
I think that was hyperbole. There are a lot of Masters+ alting. It really doesn't make sense for newbies to be solving 5 problems on their first try. You can make the argument that "oh, they came from another platform/they have experience", but it's not that many.
as a 'pupil',I think div.2 is easy to sovle 4-5 problem, maybe I came from another platform?
I think some 'newbie' can do it
How many contests did you participate? Is pupil your actual rating level?
Maybe,I think some users may dont have enough time to get more rating(because it's usually so late in china)
in fact,i want to say some newbie and pupil may only has so less contests.
i'm sorry to I can't explain clearly
What about creating multiple accounts for having multiple personalties?
that youre having a sunny pfp make this hit a bit different
Recently, many problems related to codeforces have been raised.
I found 2 alternatives.
First, each contestant prepares a presentation for the competition.
This will be a live coding from the start of the competition to the end, and the entire 2-hour process will be filmed and sent to Mike.
If the contestant feels camera-shy, he/she can totally wear a mask or send only the keyboard and screen. The reason why only the screen cannot be filmed is because he/she can use a alt account using a different screen. Only the contestant who submitted the video will be rated.
How to check the video? The presentation video will appear on the standing and anyone can see it by just clicking, But here’s the catch—if you want to stay at the top of the leaderboard, uploading a fake video is as tempting as coding in assembly language: sure, it might seem like a fun idea, but you’ll regret it the moment you hit compile! Since codeforces is a school platform for CPers, the real videos will be used for educational purposes.
Second, just enjoy it.
If you understand the meaning of the Internet and online, and if you do CP as a sport, just enjoy it. No need to complain, cheat or do alt. This is not ICPC.
Do you think your rating is lowered because of cheaters? Take it as a bigger challenge. Cheaters will have their limits. The cheater group will be eliminated by reaching the group's max rating. Challenge that max rating. Do you think it's unfair? If you think the first idea I brought up is valid, strongly recommend it, and if not, there is only the second. What will you do?
Recording the contest is not practical and also needs to be watched by someone.
Then, do second. I just emphasized the second one.
I agree, absolutely not practical. Codeforces should provide a certified catgirl for each participant instead.
Not sure you are serious writing this since it's non-practical and somewhat... stupid. With thousands of contestants each contest, it's impossible to check the videos manually. Not to mention the cost of database. And hey, what would happen if thousands of people upload... say 10GB of data simultaneously, would the server start to crack? And it would take days for those having weak internet connection to finish their upload.
Don't be serious. I hope you see the point.
The first one is non-practical and you can't call the second one an alternative since it's just your thought, not an actual solution. Anw, it's a constructive comment after all and I love that
Q: Why are alt accounts unacceptable currently?
A: In my opinion, it's because the current rating system is like a zero-sum game. The alt accounts actually "earn" ratings from those whose ranks are lower, which is unfair. For example, I may gain 80 rating on some contest, but since lots of grey and green are in front of me, I can only gain 60. So to some extent, using an alt account is as abominable as cheating.
Q: Can we allow alt accounts and avoid this problem?
A: An annoucement of Div. 3 or Div. 4 round reads that, Remember that only the trusted participants of the third division will be included in the official standings table. My thought is that this rule can also be utilized in the other contests. For example, one can declare if his account is an alt account, and if so it'll be excluded in the official standings table in any contest while his account can still be rated.
Q: What about not declared alt accounts or trusted alt accounts due to more than 3 participations?
It is indeed a gentleman's agreement, just like the action of cheating cannot be prohibited by cf itself. Nevertheless, it proves that Mike can detect alt accounts if he wants, so he can ban these undeclared alt account afterwards.
A: The declared alt account itself is weird. Prefer the unrated registration.
Several months ago, Mike posted a blog about banning zh0ukangyang and more alts. Lots of participants, including myself, were angry because zh0ukangyang is such a talented coder
. There is no need to be angry because his main account didnt get ban. Basically he didn't get punished for violating the rules at all. I think codeforces should ban not only alt accounts but main account too. In other game platforms (like faceit) main accounts get a 2-6 months ban for smurfing.Your maximum rating never decreases even if you have just 1 account. It's how maximum works.
If you mean that max of current ratings never decreases: also false, just fail a contest with one account and then with the other.
Interesting. Is that common in your culture (or in general)? What's the point of hiding those things? Feeling embarrassed for trying and failing to solve some problems? Not letting your rivals know you're putting in effort practicing?
I think you misread because this counterexample is wrong.
The contest that you failed would already be on the lowest-rated account and not tank the highest-rated account.
You always write the contest on the account with the lower rating, so the higher-rated one will not be affected and, thus, never decrease.
wow, that is a cool life hack
why this downvoted? for telling most evil use of alt?
This is quite common in China. People want to hide the fact that they are training or they just don't want the problems they solved known by others.(Or the others will solve this problem and catch up)
I understand and respect the privacy concern of not showing your submissions to others but the situation you are presenting sounds super f**ked up. It does not look like healthy competition. Shouldn't students help and encourage each other to boost the growth of all parties involved? I have never heard of anything like that before.
As far as I understand, doing well in informatics competitions can boost the chances or guarantee admission to top universities in China, but there are very few slots for that, while many people are competing for it, which might cause this.
It's just like 200~ IGM+ participants competing for 50 seats of National Training Team, which provides guarantee admission. During the season, some contests even have extra rule like the maximum participants from a school or province which make the situation worse.
I've suffered from this for so long. You can also say that students help and encourage each other to boost the growth by another way, but it is terrible for my mental health.
It's just the environment that make people act this way... I would call myself lucky for not hiding my own practice carefully like this yet...
China has a large number of competitions but few resources, so it's essential to protect what questions you've done
In China, some people do indeed behave this way. For example, when I'm working on problems and someone asks me what I'm doing, I might reply: "I'm playing Genshin Impact" (a video game).
The Chinese programming website "Luogu" has a feature called "completely hidden." Activating it means that your problem-solving records won’t be visible to others. Regardless of its original intent, as far as I know, my classmates usually turn it on to secretly work on problems (extra training).
To some extent, this situation stems from the competitive pressure in China, even though it's not rational.
That's a really strange culture. It sounds like it's on the verge of being humble yet deceptive.
Yeah, but some people just want to be stronger than others, and they will see other people's submissions to know what problems others have solved.
In fact that is a desperate move.
It's different from yours, that's all.
This comment is not directly related to this post
It is funny that I also never understand why some teams/individuals always prefer hiding their participation logs or submissions. There are many times that I was annoyed by this when I was trying to collect information. I'm not sure if I have commented about this, but I think one of the main things about building a good community is making it public since people can learn from each other.
I know many people specifically create mashups to hide their participation. And I know "Not letting your rivals know you're putting in effort practicing" is actually not a joke, but a 'serious' reason for many teams/individuals. This is frustrating. And I may feel embarrassed if this is actually a thing in MY culture.
Now I am trying to comment on things directed related to this post
I kind of agree that as the Codeforces community grows larger, some 'traditions' should be changed. However, sticking to the Codeforces-style (mainly referring to the current rating system and the hacking phase) is also important! And since it is not unfair right now, why change them instead of finding a way to defend it?
In my opinion, things like this My blog from 3 years ago should be taken care of, and they have much bigger potential risks as the community grows larger. However, nobody cares.
So why, Universal Cup provides an option to hide submission details (code visibility), while you, as a member of the Universal Cup Committee, think we shouldn’t hide these information? Will this be changed in Universal Cup?
It is a feature of the original QOJ platform. And maybe you have or haven’t noticed, there have been a number of discussions on this topic already. And both Qingyu and I have said that we plan on changing the default to ‘public’ and let everyone decide.
Now the second question is about why we still allow people to decide, instead of forcing everyone to obey.
First, as you can see, some people may still want to do so for some reasons, although I don’t agree, but I do respect and don’t want to force people to do things they don’t want.
Second, there are two types of information: 1.code;2.participate records; All codes are invisible to people while the window is open, and people can still hide their codes after the window. This is the current design. However, for the participation record, as a result it is totally public, we don’t even allow people to register with nickname or random organization.
Last, why we decide to set the default as ‘invisible’. This is because in the beginning of the Universal Cup program, there are concerns raised by some participants about some policy/terms regarding to their company, which is also why we have a term session on our official website. We then realize this is actually not a big issue and decide to change it.
So, as a result, me, or the Universal Cup, is at least trying to create such a community with more open information. And honestly, when I typed the previous comment, I already feel that people, especially some people may not actually participate in UCup actively will ask such question. I decide to not talk about it since I don’t want it to look like an advertisement. Thank you for asking this and give me this change to elaborate.
Sometimes, some personal training resources do not want others to see, so we create a new account.
Everyone's focus is different,someone about the using of alts, others about Mike's unfriendly 'joker' in his comment and the others only not satisfied with Mike's judgment method of the alts
Perhaps everyone has different views and opinions on alts, this caused a discuss. It's all ok if this discuss will have a better influence for CodeForces
but I think everyone who show their unfriendly and impolite should have done better. They turned a discussion into a verbal battle, which we all dislike
There is another reason that we get annoyed. Codeforces has an unclear and incomplete rule system. Though this does not mean we can violate it freely, I could not know what kind of behavior will get what punishment. The redline is totally unclear, In the help center I know alts are disallowed. However I cannot know either alts will be warned, skipped, disabled, or disabled along with the main account? Mike said that there will be administrative measure to deal with it. However, what the measure is seems to strongly depend on Mike himself rather than the rule system.
First, this post seems to be trying to justify breaking the rules, and now you're "annoyed" because you don't know what kind of punishment you'll receive for doing so. This, in turn, suggests that you're just trying to game the system and decide if it's worth the risk.
While I often disagree with Mike on various topics, I fully support his actions in this case. I hope those who break the rules face serious consequences.
This entire comment section is frustrating.
While I also fully support strict actions against alts, I also think that knowing what motivates these people to create alts is important. Also, rules can change if we find a way for them to demotivate creating alts. I don't want their 'justification', but I also see why they would ever want to make alts in the first place (other than simply winning low div contests, which is simply an evil mind). It's not a bad thing to discuss what we can do to eliminate such desire at all.
Again, they never can be excuses to making alts while the rule is still holding. I'm clear on that point.
I don't think you are right.
I can't understand.
I don't think so. Analyzing why people create alts helps us improve rules, and the best way to stop people from creating alts is to remove the motivation.
Sorry, I may used the word with overly strong tone. I myself am not against administrative measure. But I think heavy measure should be done with carefully consideration and explicit announcement, while Mike's comment seems quite emotional. Marking the redline explicitly never lets users "gaming the system", but helps users to better obey the rules.
Yes. I am not justifying this role-breaking behavior. Reasonable punishments ARE necessary.
Some users seem crazy and use impolite and unacceptable words in the comment section. I think their behavior is totally wrong, as shouting never helps with the situation.
I just want to say something about the account-disabling process, which seems not that reasonable, because of emotional decision and wrongly-banned accounts.
Rational expression of claims may be more effective than rude language. That's it.
Good. Lets upvote it!
Agreed with your blog. Also in a blog someone mentioned that codeforces' rating system excessively rewards the top rankers in the contest and severely punishes the bottom ones. I think having such extremes makes people fear participating using their own "main" accounts.
Or maybe we could introduce some kind of a set of options on the basis of which the final delta of that contest would be affected. Like a participant could make a choice of what "level" (idk how to phrase it tbh) he wishes to participate at, say levels are 1-3 where 1 is for the case when if I perform just too good then I still wont get as +ve delta and I would have gotten at level 3 but in case I perform badly, I do not get as much -ve either. basically 3 is a more high stake version of 1. (3>2>1) or something like that. Just a suggestion from my side but having such policy would be better imo.
It makes sense.
The fifth reason: Upvote your major's comments to farm contribution.
Claimer: I don't have alts.
Good!I think these words are very understanding.I fully agree with the author's analysis of different situations.
If you want to hide your submissions, just create mashups under the GYM tab. Then all submissions are hidden (with the added benefit of being able to change TL/ML if so desired).
Guys, if I use a different VPN for each competition, will my accounts be banned?
Thank you for describing the cause of the matter, and I really agree with part of your point. Yesterday when I saw those rude comments under that blog, I felt helpless and embarrassed as a Chinese coder.I'm glad that your blog have been noticed by so many people.
We should be kind to others.
What about the alts used for trolling?
As Um_nik said, troll from your main and be proud of your trolling.
Codeforces is getting older and older. UI/Rules/Problems are changing year-by-year, so codeforces looked like an outdated website today.
I love <3 codeforces UI and problems too.
But we can think about rules regarding alts ;)
For those comments — it's not us being rude, but only Mike calling strong participants "jokers" at the very beginning in an unfriendly manner.
He is absolutely correct
What this blog is saying is "Hi, it is fine to break the rules because (looks at blog point 1 again) i am trying to game the system". Only maybe privacy is a real concern but you should still follow the rules...
Anybody using alts after it has been so expressedly banned by the rules is a joker and nothing else regardless of his rating. I cannot even believe this blog exists. It is openly supporting breaking the rules
And dXqwq Mike did not ban zhoukangyang? Only his lower rated alt. Why do you write that he was banned? Do you want top 10 to be all tourists just to show he can?
"This blog is only trying to show why some users may be willing to break the rules"
Guess what? I am not interested. You can debate about whether the rule should be changed, sure thats fine. But you cant pretend its ok to break the rule while it is there.
Here are my opinions.
I don't think it's true. You can't summarize the whole blog just by a single sentence.
The writer didn't say whether he support participating with the lower or not clearly. Anyway I don't think it's fine to do this.
Anyone breaking certainly correct and reasonable rules is surely a joker.
This blog is not supporting breaking reasonable rules. It said some part of rules about alt is unreasonable and should be changed.
I can't agree more.
Unreasonable rules don't become reasonable just because they're there.
The blog is not pretending it's ok to just break the rules. It says the unreasonable rule should be changed so we don't have to worry about breaking it anymore. When reasonable rules are broke, there should be punishment; When unreasonable rules are broke, it should be changed.
Ok agreed, i was angry at people for complaining about perfectly reasonable bans, however this blog doesnt defend them (that much).
I dont think it is unreasonable. We agree point 1 and 2 are bad. I can understand Point 4 but it is not that big of an issue and I think it is unreasonable to break the rules due to such a minor reason instead of waiting a few hours. Either way, unrated registration is coming soon, so this should be a thing of the past.
Point 3 is the only potentially reasonable reason, however funnily, I have never seen a single person claiming to use alts like that (the other 3, especially 2 and 4 are quite common). Ultimately, I don't think we should modify rules due to this, because it promotes a secretive community rather than an open one.
So overall, I find the rule very reasonable.
Even if you don't agree that the alt rule is perfect, surely you can't believe any of the reasons are "bad enough" to break the rules right? I see the alt rule as only a slight inconvenience in some cases....maybe it is more inconvenient for you?
I agree with you. But I think the rule can be just changed a little to avoid the inconvenient cases, multiple accounts is allowed but you can only participate with the highest rating.
As far as I know, many people complain not just because they are banned, but because they get banned without doing anything unreasonable. I heard someone got their both main and alt accounts banned just because they logged both accounts in on the same computer, without participating in any contests.
I heard Point 3 is quite common in China. Some people in Luogu do hide their submissions to not let others know what problems they are solving. But they don't have to use alt since there is a feature to hide submissions.
I've never heard Codeforces gym has a feature to hide submissions until today, so maybe they don't know this; Also we usually submit problems through Luogu Remote Judge, so we can't use this feature.
I also heard some people don't even have alts, they just train in the same computer room, so they have same IP and get banned. Hope it's not true, this is horrible.
It's different. They are genuine coders IRL who do CP well and they contributed to the (especially Chinese) CP community a lot. Just because they violated rules doesn't mean that you should launch attacks at them in that manner.
On the counterpart, cheaters are stupid rocks that destroy everything and should be attacked. However they are only skipped and not banned for the first time. Once I called a cheater "retarded" and then got muted for 48h.
And the 2nd part of this blog is just suggesting that the rules should be changed. It's not supporting rule violation. This blog criticizes those who are getting banned and then raging in the comment section.
He only called them jokers....
1) Alt users are also cheaters, breaking the rules is cheating. It is a black and white situation
2) Alt users are not banned (to the best of my knowledge) only one of their accounts is.
3) I agree that we should have more severe consequences against cheaters.
Updated the blog. It's a big mistake for me not to say that most people just follow the rules and discuss them politely. Sorry for misunderstanding.
And something related to your comment:
I just want to write a neutral blog to discuss this event. I agree that breaking the rules on purpose and rude words are unacceptable.
And I feel great because this blog is useful! Everyone is sharing their own opinion and developing the forum.
Thanks, it was also my mistake. I was unnecessarily rude towards you due to bringing in tangential opinions of other people which you did not represent in the blog but i assumed.
Btw, i want to mention something about point 1.
You like atcoder rating system because of 2 reasons
you dont lose a lot of delta due to a bad performance : but conversely, it takes years to converge. Converging fast and stability are necessarily 2 things we cannot have at the same time in such rating systems. I agree that codeforces has slightly too much variance, but imo atcoder is more off from what I would consider optimal. Some people might draw the boundary differently, but usually they are people who have been participating since 5+ years, so it isnt completely fair for relatively newcomers like myself.
dan system wrt max rating : (i mean cf also has such a system, its just not widely used, you can call yourself a max lgm even when you drop) I find distinguishing people based on max rating to be worse than distinguishing my current rating. Going purely by expectation, your current rating is expected to be equal to your skill, while your max rating is always expected to be greater than your skill. Thus, even though max rating might have less variance due to changing few times, it doesnt even attempt to measure the correct parameter imo.
I just don't understand why people think all Chinese are cheaters when only a small part are. Our community is large, there's bound to be cheaters. Most of the Chinese get high ranks because we work harder than many people.
No one thinks all Chinese are cheaters.
75%
?
???
Nope, they don't think that Chinese are cheaters. They think Indians are, though only a small part are.
no, it's because Chinese have bigtime IQ
It's mainly because of the scoring system in CF. The strong players who open smurfs are actually stealing points from the weak players. A purple player scored blue performance points, but his account is actually gray. He should have lost points instead of adding points. This is unfriendly to new players and weak players. I'm from China, but I don't understand why so many Chinese accounts complained and even attacked Mike.
Well, his words are really offensive
Actually, I don't think the Rating itself is that important, it's the comparison of one's own Rating with that of others that matters, and cheaters will affect their comparison with others, but alts won't
There is also a practical aspect of having an alt with Master+ rating. If you train in gym, and sometimes want to look on something with coach mode, you have to do so on an alt, otherwise you run into this bug https://mirror.codeforces.com/blog/entry/51105. It does not always happen, but it does so enough to be a problem.
My man forgot that 3000+ users automatically get +1000 on every post