But why not!
Many people here seem to know me. Or maybe not quite? I am ready to answer your questions. Ask me anything! I plan to spend no more than 3 hours on answers. Sorry if I can't answer all the questions.
Let's more or less follow the rules from here https://www.reddit.com/r/IAmA/wiki/index
Below is actually a quote from the rules.
The interviewee begins the process by starting a post, describing who they are and what they do. Then commenters from across the internet leave questions and can vote on other questions according to which they would like to see answered.
The interviewee can go through and reply to the questions they find interesting and easily see those questions the internet is dying to have the answer to.
Because the internet is asking the questions, they're going to be a mix of serious and lighthearted, and you'll find yourself sharing all kinds of things you won't find in a normal interview.
Comments will be removed under a few circumstances:
- Abusive or harassing comments.
- Requests for personal favors from the OP (For example, "OP, can you send me a signed autograph").
- Top-level comments must ask a question.
- Comments where there would be no possibility of a real answer, especially where it is deliberately creepy or offensive.
- "I bet OP won't answer this"-type responses, which usually come after the OP has finished responding to questions.
- "Fluff," non-contributing responses from users, responding to all of the OP's comments for karma/attention.
- Repeatedly asking the same question.
Please, don't attempt to bypass the rules by adding a ? to a nonquestion.
Questions must be directed toward the individual(s) doing the IAMA.
Under our policies, astroturfing is the practice of an individual or group of individuals who plant questions in an IAmA post for a particular purpose. This kind of behavior is forbidden.
UPD 1: Oh, I'm kind of tired of doing this. Please keep asking questions. Tomorrow I will answer again. Don't forget to vote for the most interesting ones. I will not have time to answer everything, I will choose something. Thanks!
UPD 2:
As a top contributor, do you enjoy my blogs?
As someone who was not on CF during Monogon's contribution crusades, did you upvote?
What are your views on anime?
Do you play any video games?
Only partially. I like more the posts that develop our community in terms of CP domain. But as an entertaining contest, it's quite funny. I didn't read everything, but some of the pictures amused me. I think that I have upvoted some of your posts.
Honestly, I did not understand what your "who was not on CF" means. But yes, he has a lot of cool posts. And I upvoted them a lot. I am grateful to him for his contribution to the community!
This is not my genre. Maybe for now? I haven't even watched classic anime films. A year ago, I was in a movie with my daughter watching https://en.wikipedia.org/wiki/Weathering_with_You It was good, I didn't fall asleep!
Ah, Weathering with You! Really a nice film! :)
Yes, its lovely :)
No, but years ago I loved this thing. The last thing I remember, about 20 years ago, I played Diablo 2 in between solving programming problems. I allowed myself to play after solving the problem. It seems that I quickly realized that I like programming more.
How do you check if two codes match??Are they checked manually??
As a top contributor how do you feel being ratioed
Could you please explain why so many dislikes on this guy's comment?
I think that they are angry with Mike didn't answer their question?
I don't think that you have contributed anything except garbage entertainment to the community of which the community has grown bored. Focus on your life and not on entertaining everyone and if you want to then maybe this is not the correct place.
how exactly does this comment contribute to the community
Any thoughts on a new CF rank?
Also do you prefer cereal before milk or milk before cereal?
It seems to me that I would rather adjust the boundaries of the ranks than introduce a new one. I don't think we need to increase their number. But I wasn't thinking strongly in this direction.
Since we have your attention on this topic, have you considered implementing something like "hysteresis" feature for rank promotion/demotion? Right now some people reach their new top rank and stop competing, presumably because they are afraid of losing their new shiny title right after the next contest. Some of these people even start creating alt accounts to have a risk-free fun. This behaviour is probably undesired.
I think that a simple fix would be to require an account to stay in the new rank zone for 2 contests in a row before the new title is locked in. And in the same way, don't demote someone until they stay in the lower rank zone for 2 contests in a row.
I like a lot the idea of stabilizing in the new rating zone before receiving the title, but I think just two contests in a row is probably too little. Also I don’t think that a title should be ever taken back unless cheating is exposed. In chess titles are given for life, but it is not enough to achive a certain rating to get one.
.
Adjusting the boundaries is actually better. I dont understand why blue has 300 rating range but green, cyan, purple and master have 200. Then IM has only 100 and IGM has 400. This is a suggestion:
Newbie: < 1000, Pupil: 1000-1300, Specialist: 1300-1600, Expert: 1600-1900, CM: 1900-2200
Master: 2200-2400, IM: 2400-2600, GM: 2600-2900, IGM: 2900-3200, LGM: > 3200
UPD: After years of pondering on this topic, I've come to the conclusion that this suggestion is in fact, a stupid one.
300 gap is too huge
Just remove IM and add +100 to everything below it. Also, there is no hard limit that everything should be 200 rating points wide just because they look good. Boundaries should be based on rating distribution and skill set rather than some fancy figures.
Expert is 300 because there is not much difference in skills between 1650 and 1850.
When these titles were introduced Master and IM was 100 rating points wide. Just revert to that and it's fine.
Hi there, it's me from the future, especially 2024 and Tourist seems to've exceeded All these rank boundaries.
I remembered everything that I had eaten lately and do not remember the cereal there. But I would rather add milk to the cereal than vice versa.
Hi! I always had this question, Where did you learn to create websites like codeforces or polygon? And also do/did you participate in any competitive programming contest?
I love programming contests and have participated in them a lot around 1999-2006. Probably, my main achievements can be found at the link https://cphof.org/profile/topcoder:Mike%20Mirzayanov It seems there is no information there, but as part of the team we won twice at IPSC https://ipsc.ksp.sk/
I was also always interested in inventing, organizing and creating something. Around 2000, I was involved (and did most of the work) in building the site acm.sgu.ru
How did you learn? Somehow I didn't think that I studied especially. I perceived all this as an implementation problem at the contest. Well, you need to write something, you write it. Yes, before that it is worth reading how smart people do this.
But I've always had an interest in technology. Around the 2010s, it was my favorite pastime — to take some new framework and make a minimal project on it with my own hands. I've tried a lot of things and figured out how it works.
would you ever add the feature to see the people who friended me?
No, I think these are the basics of privacy. Do not wait for such a feature. It is possible that I will rename friendship as subscribers or similar, idk.
I think something like watchlist (idk) might be more appropriate, since "subscriber" implies that we are subscribing to something.
Or maybe you can "favorite" users instead. Or even if we want to stay similar to what we have now, maybe to be able to "star" a user.
Any chance to also implement custom tags for this list? Right now my codeforces friend list includes different categories of people, such as "rival with a similar rank", "rust language user", "famous frequently reported cheater", etc. People are added there for very different reasons and surely not all of them are "friends".
There is a "lists" feature on cf
Do you mean that the friend standings in a contest should have all of these multiple categories? This feature is there in Codechef, but I find it a bit complicated.
Follower is a better term than subscriber I think
Follower is what I was thinking of too.
What work in cf you find to be most tedious and uninteresting ? And what do you find the most interesting?
It's boring and tedious to deal with cheaters. It takes a lot of time and effort. I also do not like the bureaucracy (documents, etc.), which sometimes have to be done.
My favorite thing is to go into a flow state and write something valuable and complex. It happened that I was in this state for weeks — I ate and slept little, but I wrote a huge amount of complex code. Unfortunately, nowadays it is so rare.
It is also nice to solve some complex technical problem that didn't allow the system to work correctly for a long time.
Of course, it's interesting to come up with something new and implement it. Here, for example, diagnostics for C ++ on the website — it seems like no one in our community has done this. It's a funny thing.
Do you secretly compete in codeforces rounds for which you haven't tested or set problems?
No, sometimes I read problems and come up with solutions. But rarely. More often than not, I just monitor different metrics and just how it goes. Sometimes I suggest something to coordinators or even help something if something goes wrong. But this is rare (and the less often the better). More often than not, I do some other work in parallel.
Do you know which rounds I think are the best for me? There were several rounds that I completely forgot about. There was a contest recently Educational Codeforces Round 120 (Rated for Div. 2). At this time, I was getting a massage, and somewhere at the end of the massage (and the round) I remembered about it. I went to Codeforces and saw that everything went well. Wonderful feeling!
Your favourite contributor
apart fromafter Monogon.I believe that Nikolay KAN Kalinin makes a huge contribution. He has a slightly invisible job to you, but he's just a monster. Many thanks to him!
In general, the greatest contribution in my eyes is work of problem writers and coordinators. Many here underestimate the complexity and importance of this work.
a typo to be sure, but a welcome one
Common, it was a typo or incorrect translation of Google translate service. Most answers I preliminary translate in it, and do some manual fixes after it.
Oh, sorry! I actually didn't even realize it was a typo, since you do personally contribute a lot to problem-writing and coordination (at least that's my impression).
When can we see you participating in a cf contest? Do you participate in the contests of other platforms?
I do not exclude that someday I will start taking part in the rounds. But in that case, I will not make it secret. I'll let you know about it.
Now it is rare, but sometimes I participate. This year I took part in several stages of Code Jam and FHC. It was fun! I'm surprised that for my standards I did something well.
Sometimes, in a team, I helped with testing some contests. It was fun too.
Will you add codeforces dark theme any day? Or would you please change codeforces's UI?
Do you read all DMs you receive?
No. Sometimes I can get tens of messages a day. But I somehow look through almost everything. And I respond to the most important ones. Sorry if you wrote to me, but I did not answer.
For administrators, in order for the message to be marked as read, we must either reply to it or explicitly click the "read" button. Therefore, sometimes there are, as it were, unread messages that I actually looked through.
If you did contests, what would be your rating?
It seems to me that I have already answered this question somehow. It will be funny if the new answer is very different.
It seems to me that I will start with a high purple rating and if I put in the effort, I will quickly remember how to solve problems and become a low red.
How can one join codeforces headquarters?What's the procedure??I am asking this because in this cruel world it will be a blessing for someone if he gets a chance to work for the things he loves for life
One way: come to St. Petersburg, start studying at ITMO. It will also be a plus to study well and get significant success in the competition. We have the practice to involve students in development. If you are interested and you succeed, then a long road together can await us.
Top 3 competitive programmers according to you?
For now, I will name two.
tourist Нe is a living genius. Go to any top CP platform right now and look at the first line in the ranking. You will most likely see him there. But that's not all. I was fortunate enough to discuss problems and not only with him. I really like it. And I listen to Gennady's opinion not only on problems, but it is also important for me to hear his thoughts on various aspects of the system.
Petr Peter. He was a legend when I competed. He sparkled brightly and for me, he is a model of the ideal top participant. He was top 1. He looks like a person who sees a lot of interesting things in life. He is successful at work. I was delighted to meet his child. He loves sports. In another life, I would like to be like Petr.
Mike the way you looked at Petr is the same way that many of us look at you today. Even though you aren't top of the leaderboards like tourist or Petr are, you are still going down in the history books as one of the most influential and important figures of competitive programming to ever exist. Many thousands of people including myself are genuinely happy for this platform to exist and thank you for this website. We thank you for dedicating your work to bettering the contests and website altogether. If you are ever sad, please remember this. I aspire to one day have the same profound impact on a community like you do.
Is the Codeforces stuff large (excluding coordinators)?
What was the hardest feature to deploy?
What is your views on other CP sites? Have some of them inspired you?
No, now it is about ~4 people: me, KAN, Una_Shem, geranazavr555. Help a lot for a long time kuviman, stingray and some others.
I do not know exactly. Perhaps organizing VK Cup 2012 was the most difficult for me. Then I put a lot of effort into making it go well.
But in general, I often felt too tired. Excessively. In the first 5 years of the project's life, I worked 12-16 hours a day and often slept very little. I had no other interests (well, maybe, except for a little participation in my daughter's life). Well, I also worked at Saratov University and was engaged as a head of the programming competition center and coach. I guess I have never neglected my duties.
Nowadays it is rare. But I am following the development of other platforms and am happy about their success.
I can't say that any platform inspired me exactly. Sorry, I got the most inspiration from Topcoder when I was active there as a participant and problem writer. It was about 15-18 years ago.
Why does CF have Befunge and Arnoldc installed?
ArnoldC was used in one of the 1st April's contests.
They was used on surprise language rounds and April Fools Day Contests. Hi, Nickolas! And thank you :-)
Will you delete profiles that have been inactive for a long time?
There are no such plans now, I see no reason.
Thanks for having no such plans. One of my best friends was a regular contestant and we lost him a few months ago. Now, sometimes I visit his profile. It's like a souvenir.
I'm sorry for your loss
sometimes I visit his profile. It's like a souvenir.
Gave my goosebumps.
I'm sorry for your loss.
What is your favorite number? color? ice cream flavor?
Honestly, I find these kinds of questions pretty silly. Please do not be offended. It seems to me that they do not say anything about a person.
Perhaps I cannot answer about the number and color. Ice cream I like, it is simple: good white sundae. I like to sprinkle it with chocolate, nuts, or eat it with berries. But I'm hardly a sweet tooth or a fan of any food at all.
I expected you to say "vanilla icecream" :(
How You Will Overcome Cheaters And When ?
Every round I clean out hundreds of cheaters. After each round, I ban dozens of accounts. I believe that most of cheaters are punished.
What if cheaters share their ideas and solutions elsewhere?
That's the neat part — you don't.
Cheaters who don't go to the length of copy-pasting solutions don't get caught. How do you tell them from normal participants, anyways? If they shared their ideas and re-implement it from scratch or near-scratch, then there would be no similarity at all with other solutions beyond the core idea, which is both extremely harder to check if they're similar (as in, I'm unsure if it's even theoretically possible), and have an extremely high rate of false positives.
In general, any open competition without authority to monitor their participants and have some sort of reward must always expect rampant and pervasive cheating (this applies with even highly prestigious competitions with the ability to exercise heavy punishment on cheaters, actually). We can only prevent it's worst excesses, to hope to deal with every cheater is just childishly naive.
Do you still do this? If not, would you accept help from the community in doing this?
Any plans of conducting long contests for educational purposes?
Views about keeping an intermediate level contest between Div1 and Div2 (maybe some sort of Div3/2 XD )
There are no specific plans. But! Imagine, a well-known authoritative writer will come to me and say "I want to hold such a long educational contest." I will help and we will do it.
There are no specific plans. But! So far it seems to me that the div2 rounds are already complex enough to be interesting for many, who would you call div 1.5.
If we start doing this, then most likely it will go to the detriment of the current schedule. It will say that there will be only 2 div2 and 2 div1 rounds per month (on average). Do you think it will be better?
On the other hand, we will probably do it somehow. Or already? Well, it can out that the round is slightly easier as Div1, and there is no good difficult problem. It can be Div 1.5.
In this question, I will strongly listen to the opinions of other coordinators, especially to KAN.
There was a long-time contest in the Gym last week Abakoda 2021 Long Contest, organized by NOI.PHI, The National Olympiad in Informatics, Philippines. It was aimed for beginners and novice competitive programming contestants.
I would definitely vote for organizing more yearly long-time contests and/or monthly long-time contests in Codeforces, even if they would be unrated contests.
At what age you started doing cp?
I became interested in such problems at the age of 15, but only at the age of 17, I was able to intensively develop in this direction. Until the age of 17, I did not have a computer and did not have constant access to someone else's. It was a different time, my friend.
how do you earn money?
The only programming contests Web 3.0 platform when?
Do you think to make CodeForces a startup company and become a full time CEO? :)
When can I get my picture with you?
Top 5 CF milestones according to you and your feeling on achieving them?
Any memory or experience directly related to CodeForces you would like to share?
What was/is the goal of codeforces according to you?
What's the future of codeforeces? what's your vision? are you planning to spread this platform across other areas as well like topcoder did?
What happened to div. 4? Any plans for upcoming contests?
Has anyone ever tried to buy Codeforces? What kind of companies were those?
Any plans on offering money to testers like codechef?
Isn't free contribution enough ;) ?
What are your other interests apart from competitive programming?
Also what is the funniest DM that you've ever received (or anyone thats stuck in your memory)?
What are the most interesting users that you have encountered on this website? I mean interesting like rainboy, who participates in contests going through problems in the unusual order from hardest to easiest, or I_love_Tanya_Romanova, who has a poem commented in every submission (and it is a different poem every time)
How much does it cost to run CF?
Will we ever see another div4 contest?
Do you remember about this?
Oh sure. And this post motivated me to do this session. It turned out badly that time. We tried to record something, but to be honest, my English is too bad for such an activity. It's hard for me to speak freely on general topics so that it still looks normal in the recording. In short, I did not like what happened.
What's the one thing you tell yourself that helps you if you are ever demotivated? :(
any plans on div1.5 contests which are rated for < 2800 ? (like atcoder)
I’ve always wondered, what is the best way to get better, I find myself progressing very slowly.
What's a good advice that would like to share? Anything that you feel that would help others.
How you had get the idea to developed this plateform ?
Also want to know a personal experience when did you 1st time met tourist what's you have thinked about that child 12 Years ago.
Do you intend to implement features to improve the comment section?
Sorted by upvotes would be nice. In this comment section it can help you to find out the questions the internet is dying to have the answer to.
I thought about such a thing. Perhaps it makes sense to hide uninteresting comments and comment threads in old posts by default (sort of like archiving). Of course, we must leave the opportunity to see everything. But in fact, there are a lot of comments that become uninteresting and even trash in terms of meaningful discussion.
Sorting functionality sounds interesting, but this is a comment tree, not everything is so simple.
How many hours in a day you spend on this website?
I read almost all meaningful posts. But sometimes I miss something. Recently there was a post about a survey, I skipped it. I read about it only in the report.
It seems to me that I spend about an hour a day on reading posts and comments in total. But I still do a lot on Codeforces besides this, so much more. For example, yesterday I spent a significant amount of time launching testing of the upcoming div3 round and working with problems, writers and testers.
Can you add trueRating to the API so we can fix our tools?
We can also support this field. This requires some effort, if it were quite simple, then I would have done it already.
But the current API provides all the information (history of rating changes) so that the tools can be fixed. But that hasn't been implemented, has it? If so, then the authors or the community (if it is open source) did not make an effort to fix it.
Predicting rating changes after a contest is at the moment almost impossible since that calculation needs the (hidden) true rating.
Rating prediction used to work flawlessly, but with the true rating being hidden, every rating prediction tool out there that I know of is currently broken. Maybe in theory it is possible to find the true rating by going over the entire history of rating changes of all participants, but the sensible solution would be for CF to have
trueRating
in its API.What you are suggesting is infeasible. For a browser add-on to provide a rating prediction it would have to spend around 11 hours querying the API, history of one user per 2 seconds for 20k users. This is too long, since we want live predictions.
Think wider: it can access it's own backend, not just Codeforces API. It will make many things much easier, faster and more reliable. And this backend can easily maintain number of rated events per year. Also such approach will significantly reduce load on Codeforces. As I know some plugins use similar approach. I don't see a reason why it is not a case here.
Again, infeasible. Codeforces has hundreds of thousands of users and rating changes are unpredictably rolled back. With great effort we can make something that would work semi-reliably but we want to do it properly, which we cannot.
In any case we have to employ a heuristic to decide whether someone's rating is real or not. For example I thought maybe check is first rating above or below 1000 but look at qazsxdew!
Sorry, it seems I was wrong: I was sure there is a method to get rating history for a group of users (not only one). I confused user.info (which supports it) with user.rating (which doesn't support it). In this case I think I'll find a way to support something like trueRating in the nearest future.
BTW, are you the author of the rating predictor plugin? I don't like it uses user.ratedList aggressively. Is it enough to return only users from a contest: I mean you pass extra parameter like
?contestId=1234
and we return only participants of this contest instead of all users? Does it work for this plugin?I am a co-author of TLE (the discord bot). There are multiple rating predictor plugins. One of them is carrot, written by my fellow TLE co-author meooow. It hits user.ratedList only once.
What you are suggesting can sort of be done already by querying contest.standings and then repeatedly querying user.info.
Can you please create either a dedicated blog post or an issue tracker for codeforces API? Plugin developers have had many grievances over the years and while you have addressed some of them after a DM, we understand that you are drowning in DMs and consequently some of them were lost.
Hi, I've tried to make sure my plugin (which is not the only one of its kind) does not use the API frequently, but I'm happy to discuss the details and adjust things if need be.
I agree with mblazev that a reliable means of communication between the Codeforces team and plugin developers would be really helpful.
I could be wrong, but the API feels like the most neglected part of Codeforces today.
Have you ever participated in a codeforces round using a second account?
No https://codeforces.me/blog/entry/98770?#comment-875404
What is the criterion by which a person gets a certain number of points after the contest?
Where Do you see yourself 5 years down the line ? XD
This question should be included in top 5 troll questions of all time.
Hey, Mike do you think Chess and Competetive Programming match in many aspects? and also do you like to play chess?
Do you ever want to participate in contests on codeforces, or to at least re-start participating on other platforms?
Why have many rounds not had a Russian tutorials lately? If the conditions are being translated, why not also translate them for Russian-speaking participants?
I always asks the question "why CF have not rated IOI-style contests?". And I waited for this moment :)
Why CF have not rated IOI-style contests?
Or how soon this will be available?
[Deleted]
Which parts (process or feature) of codeforcess were hardest to implement?
Is it rated?
Is Codeforces your full-time job or do you have other responsibilities (at ITMO?)
Since you work (?) in an university, have you done academic research? If so, in what direction?
After moving from Saratov to St. Petersburg (ITMO), I now have the opportunity to work on Codeforces almost full-time! I am only slightly involved in teaching at the university and am grateful that the authorities support my work on Codeforces. I don't do any research. I think I tend to be more practical than research.
Why did you ban my friend? :'(
Do you have spare time to teach some students? Where do you teach them?
Will there be a donation campaign again in the future?
What would you choose, that you would be given a throne or your house? Provided that you play for a living.
How much hours do you sleep, on average?
Since hacking became rare in non-educational CF rounds, have you thought to make a special round devoted to hacking? Or had you other ideas how to revive hacking during contest?
As I understand the usual problem with hacking in CodeForces was (is?) overloaded platform during a contest. Often it was very slow to open others solutions even to read them. In my opinion, another reason why hacking became rare is that more folks don't like to be hacked and they prefer stronger pretests instead of weaker pretests.
Why is the size of the IM range so much smaller than other rating ranges?
So that it's easier to see a GM SecondThread!
Hi! In this comment, you said you will investigate it tomorrow ten days ago, but until now I don't receive any messages.
Could you investigate soon?
Have you considered adding support for socket-style interactions to CF's API (instead of repeated GET requests) to decrease the number of requests sent to CF's servers by things checking to see for new submissions, verdict results, et cetera?
Do you have any plan to adjust hacking system for div1 / non-edu div2s / combined rounds? I think the current one has some issues.
As you know, some people are locking earlier problems, copy the code from someone else, then submitting from their alt, which might flag the other person for plagiarism.
I think being able to see others' code during live contest even for the problems you've already solved is problematic by itself, as one might forget to erase the accepted code of other problem in the problemset.
Also, current hacking system is pretty pointless for later problems with very few solves, as it's almost impossible for solvers to be in the same room.
I think edu / div3 hacking system is better in these aspects.
Seconding the question--that said, I'm not a huge fan of the Edu/Div. 3 hacking system because I don't like waiting 12+ hours to see if I FSTed. I find it frustrating to discover that my solution to a problem is wrong long after I originally submitted my solution.
Another issue I have with the current hacking system is that in the case where pretests are intentionally made weak (hacking is generally irrelevant when pretests are strong), it penalizes FSTs far more severely than failing pretests, when intuitively there's no reason one is a worse offense than the other. Secondarily, in order to determine your contest strategy (e.g. whether to attempt to find hacks, whether to stress test solutions that passed pretests, etc), you must essentially guess whether pretests are strong. In contrast, my understanding is that TopCoder's hacking system avoids these issues by making all pretests into sample tests. This means that FSTing is clearly distinguished from failing pretests (pretests are given to you as samples, system tests are not), and you can tell for yourself how strong pretests are (since you know exactly what cases were covered by the pretests).
Unfortunately, I don't like TopCoder's approach either: FSTs generally introduce more variance than I'm comfortable with, and I find that TopCoder's system forces me to debug code to make absolutely certain there are no errors before submitting it, whereas on CF, once I'm reasonably confident my solution is correct, I can submit it and hope for the best, debugging only if it's wrong. This means that on CF, assuming pretests are strong, I can spend more time thinking about problems and less time debugging.
For context, my preferred solution is to consistently make pretests as strong as possible, limiting them only as much as is necessary to prevent queue issues. Then, either eliminate hacks altogether or shift them to a short phase after each contest (much like TopCoder), in order to prevent users from viewing each other's code during the contest.
Assuming this doesn't happen, though, I especially think that authors who do not intend to write strong pretests (i.e., those who are intentionally leaving edge cases, maximal cases, etc out of pretests) should say so in their contest announcements. At this point, the default assumption is that pretests will be as strong as possible, so contestants should know in advance that their strategy will need to change for these rounds. This is especially important because not giving everyone this information advantages anyone who does know in advance that pretests will be weak--for example, if I know an author personally and know that they like hacks and try to write weak pretests, then that information would give me an unfair advantage over other contestants in choosing my strategy (i.e., I'll know that I should debug my solutions particularly carefully, then lock them and look for hacks).
Edu hacking system is good if you want a break after the contest has ended.
I usually assume that the pretests are weak.
To be precise, even sample cases are not tested on TC
Thanks for clarifying!
However there is a "batch test" option in Arena which is notoriously known for having a first line result called "Success" which could be either "OK" or something negative, which actually doesn't tell you a thing about whether your output is correct! It just tells you whether your code executed properly (i.e. no RTE or TLE). To check the output correctness you need to look deeper, there is some other line telling you that in the middle of ten other ones. There have been multiple cases of people submitting their solution thinking that's ok on sample even though it wasn't cause they were deceived by this
It seems to me that here it is impossible to say that something is strictly better or worse. There are pros and cons. It is possible that the rules will change.
Are there one-year or longer-term plans? For example, are there specific targets for how many (div1/div2/div3/edu/sponsored) contests in a year, introduce some feature or concept in this year, or any other targets?
Usually, we try to have 3 div1 and 3 div2 rounds per month. Sometimes it turns out more, sometimes less. But on average, we manage to follow this schedule. I glad if we manage to conduct two Div3 rounds a month. Regarding sponsorship rounds, this is not the main goal for us. It is an important source of income, an indicator of business interest in the community, but nothing more. It's more important for me to understand that the platform contributes to the life of the community and the community is alive. Rounds, posts, trainings, championships and camps are all part of our community life. I plan to continue developing Codeforces so that it is useful, convenient, and irreplaceable for the community.
Do you need help in codeforces duties?
When are you going to send me the tshirt I won over a year ago in Global round 11? I would pay for it
Hi! It's not about money! It's a delivery issue. Since the start of the pandemic, there have been huge delivery problems. Many countries (including Brazil) don't accept parcels from Russia. A lot of packages are lost in the process or are returned to us after 4 (or more) months. In addition, the customs rules of the countries began to change a lot. The same problems affect manufacturers. This all complicates and slows down the work. :( We sincerely apologize for the delays and are working hard to remedy the situation. This is very frustrating for us too.
And I’m sorry I answered instead of Mike. But it’s kind of more my thing. :)
Could you create an official discord channel of codeforces someday or the other?
Will more content be added in the "EDU" section ?
Hi Mike, thank you for your amazing work on this platform.
What sorts of considerations do you make in regards to international accessibility? For example, language, time zones, etc. I personally often have trouble participating in contests due to my time zone.
Is there anything that goes unnoticed on codeforces that you are particularly proud of? e.g. some small feature that you are very happy with. Is there anything that you feel goes unappreciated?
How do you think competitive programming will grow in the future? Do you have a certain vision you wish to fulfill/achieve?
Do you follow or participate in sports? If so, do you have a certain team you cheer for?
How are you Mike ?
Not asking for any personal life details, just asking how he is doing today
No questions. Just Thanks for this wonderful platform. Codeforces was a major part of my life for the last 3 years and i love it. So, THANKS :)
When will the next edu course release? And what topics are going to be there.
Do you plan on opensourcing CF codebase some day?
What did you study in college?
Will tourist get a new rank if/when he reaches 4000 rating? :P
Rather yes than no.
Let's wait. But the value 4000 is really very symbolic. It seems to me that such a success will really deserve something special!
It is time!
dang mike took it quite seriously;) "Tourist"
maybe
What inspired you to make CF like platform ?
In long test cases, the full i/p, o/p and the verdict isn't visible, can you please give the intention behind that, and are you planning to change that in future ?
How do you think a typical cf round problems have evolved in their style throughout the years? Which rounds have the best problems?
Yes, of course, the type of problems changes over time. This reflects the mood in the community. Both from the side of the participants and from the side of the writers.
Personally, I am not so thrilled with the large number of math puzzles in our rounds. I am absolutely sure that sports programming helped (was crucial) what kind of developer I became.
You know, in fact, in the 2000s, the type of problems was more biased towards implementation. And I loved it. For some reason, I knew how to enjoy the fact that again I quickly wrote non-trivial logic of some kind of modeling. Or implemented some parser again. Each time I did it a little differently. I wrote faster and more reliably. And it brought joy. Maybe it even looks a little like a dance: the music is the same, the movements are the same, but it's cool again and again!
It is important to understand that fluency in coding is one of the most important things you can learn from our contests.
On the other hand, coordinators have a much better understanding of today's problem needs than I do. I trust them. They can handle it!
Are there any plans of developing API? Is there a way to have right for making an API request more often than 1 per 2 second? Though downloading information of almost of 400 000 users one by one practices my patience :-)
With a small team, we can't just develop the API, invest a lot of effort into it without a strong reason. Let's say there are some specific successful tools that help the community and are objectively is popular. And these tools need some API improvements. I think then their developers should try to discuss this idea in the form of a post here. Most likely, in this case, the post will have a lot of support. This can be an argument for investing efforts in this direction.
Did the covid pandemic change your attitude to life? Have you start thinking who would inherit Codeforces after your death? )
Perhaps it is in vain that you downvote this question.
Fortunately, it was the pandemic that did not affect my attitude towards life so much. Although I was ill with covid. It would be better if this did not happen to me. Anyway, I cannot boast of excellent health. Unfortunately, in recent years this has been especially noticeable to me.
Well, that was an important milestone for me when I realized that my creation was probably able to outlive me. This is amazing! If I suddenly get hit by a bus, then a group of activists will have the opportunity to save everything and continue development. It seems to me that there are no secrets (passwords and keys) that I will take with me in case of an unexpected bus.
MikeMirzayanov, how old were you when you created Codeforces and Polygon ?
At about 25 years old I started to think about them.
Wow it's amasing
Will there be some official changes to make the comment sections only visible for at most 32 messages per page to reduce lag? (The reply of the 32th's message will be temporarily hidden)
Will there be some official changes to make the blogs less lag by only previewing the first 16 lines unless we click it? (Maybe also on the user's blog section not only the topic section ?)
Will there be some official changes so that we can compare the rating from many users at once?
Will there be some official changes so that we can see the heat map progress of a range of dates instead of a single selected year?
Will there be some official themes for codeforces that allow users to choose, as the current Christmas theme, or like some dark theme people usually requested for?
What would the rating $$$\geq 4000$$$ be like, is it something different like the well-known Rainbow "color" ?
What is ur opinion about contest without any pretests and reveal the result after the contest ends.
How is Mike Mirzayanov?
Why is Mike Mirzayanov?
When will you change the UI of Codeforces ???
Why do you think UI has to be changed? :)
honestly, it looks old (especially icons) and may cause rejection of new users
I can tolerate replacing the icons with newer ones but other than that, I don't want to see a redesign. I have seen very few UIs designed in the fashion of 2015+ that are even remotely usable.
What I have observed is that usually freshmen of my cllg say "We don't code at CF because its UI is old, CC is good compared to it". After a year they realize what CF is. I think UI does make an impact but yeah at the end it depends on person to person. Personally, UI should have been upgraded.
We don't code at CF because its UI is old, CC is good compared to it"
It's the other way around me . Watching a weird looking chef staring at my soul endlessly distracts me and ruins my contest experience. That's one of the reasons I suck at codechef.
Having used both Codeforces and CodeChef UI recently, I think that Codeforces is superior in every aspect. Fewer clicks are needed for almost any action, all important information is presented in a clean, compact and very readable way. If something isn't broken, don't fix it.
That said, I'm browsing the Codeforces website from a desktop computer and this probably makes a big difference. Modern trend is to optimize website UI to be browsable from mobile phones with small screens and touchscreens. This happens at the expense of PC browsing experience, which becomes worse.
CodeChef UI looks UGLY AF, Codeforces is so much advanced compared to codechef.
Look what happened to TopCoder. They fell into a loop of constant improvements of UI and every single update made it even more unusable than we have ever thought it is remotely possible
I don't think there is a need for this. Indeed, the UI is outdated and just not very good. For example, icons, maybe I'll sit down and change them to more modern ones. But in the conditions of a small team, lack of strong expertise in this, and just the amount of work — I don't think it's right to drop everything and focus on this.
I've witnessed a lot of redesigns that only made things worse in the end. It is challenging and deep work to redesign the look and feel of a working system with a large user base, history, and formed behavior patterns without breaking the UX. Big companies with world-class experts have failed this task.
Rather, I would make a series of some incremental changes like updating icons, changing the font size, and unifying some of the non-uniform controls.
Please don't make any changes . I love it the way it is . Simple and elegant .
Do you think the question containing only greedy algorithm will become the last question of a div1 competition?
How do you make money
When did you start doing competitive programming and how was it different back then compared to today?
Will you consider holding a rated codeforces round with team participation?
Do you have any plan for cheaters? Like ban them for 5 contests or something like this.
I know we celebrate your daughters birthday on 11/9 each year. When do you celebrate your birthday. If you do what kind of party you throw(coding?).
MikeMirzayanov Have you worked in any Hollywood movie because you look like a Hollywood actor who play serious roles.
Of course not, but thanks. In this photo, I recently cut my hair. I need to get a good haircut more often!
Do you make money from CF?
Will there be codeforces hackathon one day ? I believe to promote those who came from CP background to contribute back to the community in the real development work would be great.
Hey Mike! If you don't mind the abrupt question, how much of codeforces' budget comes out of your pocket?
Hi Mike.
Is there a way you could implement something so only top rated (maybe top rated blogs of the day) show up in a separate tab beside the recent actions? Sometimes I miss good blogs because of bad ones.
Same for comments. When we click on a blog, can we see only top comments or comments replied by the original poster (similar to youtube and reddit comments). Thanks!
Is the top tab in the main menu exactly what you ask? It should top recent blogs (excluding which were published on the main page).
Any thoughts of adding a feature to delete account permanently?
EU individuals should be able to request GDPR-based "right to be forgotten" although idk how well this is enforced
Is there anything in any other CP platform which you like/liked and want to implement in Codeforces or have already implemented?
What about adding some official tutorials for complex topics in CP?
What kind of music do you listen?
Why is the codeforces server on windows?
I think it is because of Microsoft Visual C++.
Why? If I recall correctly Codeforces is written in Java.
EDIT: and supporting MSVC++ as a compiler isn't that useful, it's just strictly worse than GCC for competitive programmers.
CF has a lot of features which only become available as you get more rating(adding contests to gym, making public groups, streams, trusting users, calendar & catalog editing etc...).
This makes me wonder, what kinds of superpowers do headquarters users have?
Yes, the website is slightly different for administrators. For example, there are moderation and administration tools. If I see that some trash in recent actions has appeared, then I can send a writer to read-only mode (and remove the trash). I also do most of the work on removing cheaters through the website. And administrators are shown some additional information (logs) in order to notice the degradation of the performance of some functions.
What's the most awkward encounter with a fan you've ever had?
But by the way, I don't remember the awkward ones. I remember lucky. Once I met a girl, we walked around the sights of St. Petersburg. And the guys came up, recognized me. They asked for a photo together. We had a great conversation. Then I found out that the girl for several years thought that I had specially set up the meeting in order to impress her :-)
Legend
Its Bruh Moment + Fan Moment at the same time. haha !
Are you planning on adding a feature that contains information about shared problems between divisions/rounds on cf api? CF already can identify shared problems internally it would be helpful if you add that to api as we can fix our tools.
How is untrusted contestant code executed in an isolated fashion so as to avoid compromising the contest platform? I'd like to hear the technical side of it. In industry, running untrusted code is avoided at all costs due to possible exploits, yet in CodeForces it's central to the platform. Do you spin up a separate VM for each submission? Or do you reuse VMs across submissions?
Why not put more contests on weekends so that more people can participate?
Are there any contests or problems over the past few months (maybe all of 2021!) that have caught your eye as particularly cool/special?
Would you consider open sourcing the Codeforces website codebase and accepting community code changes, at one point?
For now, I have no plans to open the Polygon or Codeforces source code yet. I don't think it will change anything for the better. It is wrong to think that as soon as you open it, millions of experienced programmers will immediately begin to make high-quality changes and improvements. Unfortunately, it doesn't work like that. Both projects are no longer so small (in total, they are ~20 megabytes of code). This is complex code that requires a lot of immersion to make edits in it. And I'm not just talking about the fact that it is very easy to break something (not only in terms of functionality but also performance). But in order for it not to turn into an unsupported mess, it is necessary to adhere to the laid down principles and share them. Implementing the development process in a mature open source project is a world of its own with a lot of work and effort. Most of the improvements to large open-source systems are not done by enthusiasts, but by employees of companies who are paid for it.
And of course, it's a myth that open source itself improves quality or reliability. Heard about the log4j2 issue? Heartbleed? There are more such examples.
It’s even more important to understand that you don’t need to fix what works. Polygon and Codeforces have been constantly developed for 13 years. They are getting better. We have a sustainable model for how to do this. Other projects may use a different model, but for me personally, the classic in-door development is closer to me.
By the way, for example, the testlib code is open source: https://github.com/MikeMirzayanov/testlib This is an example of a simple project with microscopic code size. It is written in simple C ++ that almost everyone in the community knows. He is 17 years old and of course, there is a lot to improve now. Even so, the number of community improvements is minimal, and all commits require my careful review. In practice, any review took more time than fixing something yourself.
By the way, I have contributed several times to improved open-source projects. I really love Far Manager. And this checkbox was implemented by me (it is a separate interesting story about how it all happened).
Do you have any plans to add Swift on codeforces?
Since now after a very long time , I got an opportunity to ask anything , I have below points to ask from you : — How would you like to spend the morning and evening time? — Do you still keep learning new technology/Frameworks? — What were your initial motivation to build such a robust site for CP? — Do you follow spiritual practices , such as meditation and mindfulness? — Do you spend time with the Social media in general ? Could you please also suggest how many hours? — Did you meet any CP programmer in-person? — What are future feature implementation that you want to add in the Codeforces? — How were you as a child ? your most memorable moments of life? — What do you miss very much? — What is your final goal of life?
Thanks a lot in advance for your kind answers. :)
How much do you bench?
Any strategies to handle troll problem on this platform?
I may sound resentful, but I want to assure you I don't want to make this about me.
I have faced instances in the blogs feed where people downvote honest efforts,
and upvote useless and irrelevant comments and blog posts.
I think that's very unfair, given that most of these honest efforts come from
this community's leading contributors (again, not talking about myself nor am I one of those).
Are there any plans to update the "Favorite blog" system?
The ones currently show every favorite blog in detail and it takes a lot of time to load the page on the computer and can sometimes even crashes my phone when you have ~100 favorite blogs.
Maybe, only showing the title for each blog will be a better choice?
Thanks for the suggestion. Definitely, this page needs to be fixed.
I added a pagination. Please, check it.
To be honest, pagination makes little sense. Now I have not one but a few very long pages with different blogs and I still need to scroll them. What's worse, now there is pagination, so I need to check all the pages in order to find the blog (earlier I could just ctrl+F for it and now I can't, can I?).
Ideally, each blog should contain good
[cut]
. But the great majority of blog writers skip it. I like the option "only showing the title for each blog" much more. Or probably showing only two first paragraphs, if there are more. However, this sounds like very weird compromise, I don't think it's good.Wow, I like it now!
As the manager of CodeForces, do you have any idea or suggestion for an Iranian high-school student -who loves to study cs- to skip his school lessons such as "Arabic" and other general lessons and pay his time for sth that he loves? This is a serious problem for high-school students in Iran, especially students of ES (experimental sciences) and mathematics. And ... hmm ... Did you have these kinds of problems when you where at high-school?
What were your thoughts when you started CodeForces? Did you dream it to be this big? Did you thought it would be the one of the top platforms for CP? What would be some things in general that you learned (like things that entrepreneurs do) while building this product?
Any thoughts on div4?
What are some of your other hobbies outside work?
1) Можете добавить Питоновскую SortedList [1] библиотеку на ваши сервера? Это подобие set на с++. Иначе питон почти юзелесс на каких либо сложных задачах.
2) Можно ли как то настроить Python на ваших серверах чтобы он не выдавал runtime error когда пишется рекурсивный dfs на больших n ~ 10^5.
[1] http://www.grantjenks.com/docs/sortedcontainers/sortedlist.html
P.S. Я понимаю что основной язык с++, но было классно если бы на питоне можно было бы решать более широкий класс задач на CF. К примеру на Leetcode SortedList класс есть и dfs не падает на больших n.
Will you ever make an official codeforces dark theme?
Сделаете ли вы так чтобы мы смогли видеть кто добавил нас в друзья?
Hello Sir I am amber_042003, I am trying to login in the site but it is saying "User is disabled by Administrator". why it is so ?
When does life get better?
THANKS THANKS THANKS THANKS A LOT
What new rank will tourist get because he reached 4000?
Heaven
Well it seems he finally achieved his own rank now
How long has the title tourist been in the system?