How Sirius and cumanity ruined the biggest Russian olympiad

Revision en2, by nshkaruba, 2022-10-28 00:28:46

Hello, Codeforces! Yesterday there was an important precedent for the competitive programming: the school stage of the Russian National Olympics in Informatics (I will call it ROI) has completely failed. The testing system could not select the language, it did not test or save packages during the whole contest, and the organizers had to rewrite the rules right during the Olympiad...

The reason for this is not new to our country — cumanity and incompetence. I was a volunteer at one of the schools where the stage was held, and I can tell you how it all happened.

The problem with online judges

Previously, the school stage was decentralized: each region came up with its own problems and selected the testing system that was convenient for it. Sometimes this caused "screw-ups", sometimes there were complaints about the unequal complexity of the problems, but in general the system worked.

At some point, Moscow experts decided that this would not work, and last year switched over 80% of the Russian regions to the **new testing system from the Sirius Educational Center.

It's worth making a small digression here and saying that a stable testing system is an extremely difficult product to develop, which takes years to polish. Almost all Olympiads in RF use ejudge (remember this system), Yandex. Contest or Codeforces — these projects are not new (all more than 10 years old) and not perfect, but at least they are time-tested and developed by competent authors.

Of the attempts to create a new TC, only Sort Me can be mentioned, but in general it is considered an impossible and unnecessary task. Sirius wanted to solve it on his own, and we will soon find out why.

What happened in the past year

So, instead of a ready-made solution, Sirius announced a new testing system, Sirius.Courses. Last year it was used for a test run of the ROI, and all of its problems became immediately apparent.

I know five programming teachers from five different regions. Each of them complained to me that Sirius.Courses is completely unprepared for the load: "Huge queues for testing", "impossible to enter", "constant drops" — these are direct quotes. Separately is the reason "no control over cheating" — Sirius.Courses took away even the basic ability to analyze solutions for similarity.

Last year I also volunteered at the school stage in Moscow, and I would have been happy to give my feedback about Sirius.Courses... If only Moscow itself used what it created! :) Apparently, having seen that the system was not ready, the stage was quietly moved to a locally raised ejudge.

How did the organizers explain it?

The official reason — "some not very convenient scoring logic". Competition organizer Denis Kirienko quite openly talks about this in his post (only russian), for some reason throwing in fakes like "Sirius can hold the right load". Let's do a little fact check.

It [the Sirius system] was specifically designed for events like this

Insider's leak: originally Sirius.Courses was conceived as an analogue of Stepik platform and was intended for olympiads in mathematics, chemistry and other subjects, where participants had to solve a problem on a piece of paper and type the text answer. Support for programming tasks came last — they say that in those tasks we just compare the answer, and in these will run people's programs. Any programmer understands that a system designed in this way can't work properly.

The standard algorithms [anti-cheat], which are used in such competitions (involving pairwise comparison of suspicious solutions by a jury member), will not work here, because there are so many solutions and cheats, there is no way to compare solutions in pairs.

Denis says that anti-plagiarism is not needed at all, because there are too many participants! But it is possible to compare solutions in pairs. — and it is decentralized, as it was for many years before that. People wrote rounds on their problems by small region, and local teachers ran their small set of solutions through anti-plagiarism.

There were no problems with the testing system, but unfortunately we could not fight off DDOS attacks without losses. [...] According to my estimates, **30% of the Olympiad participants had difficulties accessing the testing system [...].

Denis, if you deployed a testing system with your own hands, but your server was destroyed by schoolchildren — this is also a problem with the testing system! In particular, the problem is that you did not want to use cloud solutions and overestimated your server configuration skills.

In his article, Denis also "hopes that in the future he will be able to use Sirius.Courses". I morally forgave the organizers for this fiasco — mistakes in implementing new systems are not excluded, but next year everything will be fixed and centralized. Isn't it true?

What happened this year

On October 25, 2022, I came to my home school in Moscow to help with the organization of the contest. The participants opened Sirius.Courses, were given disposable codes, and the Olympics began. I was sure that this year Sirius.Courses would do better, and now they would definitely handle the load. I've never been so wrong.

Russian schoolchildren's outrage and indignation in thematic chats

Surprisingly, over the year, Sirius.Courses has been made even worse, it has become completely unsuitable for competition! Point by point:

  • Submissions judging are not working at all I don't know what Sirius is about, but the queue is so packed that almost NOT ONE solution was tested during the round.
  • You can't change the programming language. If you send a solution in, say, Python, you can't send a solution in C++ anymore. Even if you accidentally chosen the wrong language in the first submission. As the organizers later admitted, this is a bug, not an idea.
  • Solutions are not saved. No hope for testing anymore, you've separated everything locally and handed it in? Then pray that the solution is saved in the system at all. Just to be safe, take a screenshot of what you handed in.

The icing on the cake is a message from Denis Kirienko, which he began in a hurry to send out to participants:

Translation

In general, there are many testing systems, but we will make our own. Someone has to be the worst. Stupid regions do not know how to conduct the Olympics, better give everything to the Moscow group of experts, they will conduct everything even without a testing system.

The root of the problem

Why did Sirius undertake to develop a new system if their solution fails? The answer is surprising: Sirius didn't develop a new system. They corrupted the old one.

As it turns out from the leaked messages, Sirius.Courses — is just a shell over the old system ejudge.

So the whole story was a flop. Sirius didn't offer any alternative — they just:

  1. Hid the old open-source solution under his logo
  2. Couldn't customize it, but decided it would do just fine
  3. Didn't do anything for a year to improve the system
  4. With the help of administrative resources, imposed their platform on all the regions
  5. Disrupted the school stage of the most important Olympiad in the country

When the system works poorly — it is incompetence. When incompetence appears in education, which assumes the principle of meritocracy, it is usually called cumocracy. They say that corruption and cumocracy are afraid of publicity — that's why I'm writing this post.

Instead of a conclusion

I fell in love with programming when I first came to the school stage of the ROI. I liked solving the problems, my eyes lit up. But today I saw only disappointment, resentment, and lowered arms in the eyes of schoolchildren.

Dear Denis Kirienko and Sirius, if your goal — so that our schoolchildren and students stop being the best programmers in the world and stop taking gold medals at world championships, then you are doing everything right.

Tags roi, sirius

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en4 English nshkaruba 2022-10-28 15:41:42 378 Translation fixes
en3 English nshkaruba 2022-10-28 00:33:10 27 Tiny change: 'ption and cumocracy are afrai' -> 'ption and nepotism are afrai'
en2 English nshkaruba 2022-10-28 00:28:46 174 Mistranslation fix
en1 English nshkaruba 2022-10-27 23:10:09 9100 Initial revision for English translation
ru2 Russian nshkaruba 2022-10-26 18:56:59 0 (опубликовано)
ru1 Russian nshkaruba 2022-10-26 18:56:15 7784 Первая редакция (сохранено в черновиках)