MikeMirzayanov's blog

By MikeMirzayanov, 3 weeks ago, translation, In English,

Happy New Year, Codeforces!

I hasten to wish the whole community (and including me) correct programs, sudden insights, beautiful ideas and interesting problems!

I hope that you have met the new year at least as fun as I am. Have you had enough sleep after New Year's Eve? This year, the traditional post summarizing the past year, I sat down to write only on January 1, 2018. I hope that I will not have to sum up the whole year.

This post is important to me, since it draws a line to all the work done by the Codeforces team and the entire community in 2017. Many thanks to the team: all of the achievements listed below are the result of joint efforts. We did an excellent job! The community must know its heroes. In 2017, MikeMirzayanov, KAN (problem coordinator), gritukan (second problem coordinator), netman (ex-second problem coordinator), kuviman (developer), fcspartakm (developer), SladeThe (developer) and gKseni (manager). Great contributions were provided by the students of the Saratov University: BledDest, PikMike, Vovuh, and Perforator — educational rounds, trainings in Codeforces::Gym and help in the development. I radiate the rays of gratitude to problem writers and testers: you create interesting content for many thousands of programmers from all over the world. Many thanks to all those who helped with the special projects, wrote interesting posts and good comments. All together, we were able to make Codeforces better!

So, let's move on to the results. It seems to me, this year again has something to brag about.

Clients and Partners

We are always pleased when companies pay attention to the programming contest whether in order to find the brightest talent (yes, you are!) candidates, whether it is to support our community and just show themselves to you. Very pleased that this year the list of our partners long and varied. Many come again, and it’s inspiring. Here is a list of companies with whom or for whom we hosted competitions: VK, Harbour.Space University, 8VC, Mail.Ru, MemSQL, Playrix, Tinkoff Bank and AIM Tech. In this list, I did not consider the company to whom we just hosted a mirror of their main event.

Here is the list of key partners of 2017:

  • Telegram and personally Pavel Durov is supporting Codeforces activities for many years, every regular round is conducted with their help, thank you!
  • VK — VK Cup 2017,
  • Harbor.Space University — several joint with BootCamp rounds and Educational Rounds,
  • 8VC — a joint mini-championship 8VC Venture Cup 2017,
  • Mail.Ru — Technocup 2017 and Russian AI Cup 2017,
  • MemSQL — MemSQL Start [c] UP 3.0,
  • Playrix — Playrix Codescapes Cup,
  • Tinkoff Bank — mini-championship Tinkoff Challenge,
  • AIM Tech — AIM Tech Round 4.
Major innovations

We have done a lot of work to improve Codeforces and Polygon. Much of the work to improve infrastructure, stability, performance is not visible to everyone. The list below contains the main improvements.

Polygon: https://polygon.codeforces.com – platform to prepare programming problems
  1. Management of test groups on the page with the list of tests, autocompletion of test groups by name, sorting by them.
  2. List of the contests to which a problem belongs, accessible from the interface of its editing.
  3. Improved interface for creating stress tests: checkboxes for solutions, inheritance of a list of solutions when copying a stress test.
  4. Warnings on problems are reflected on the contest page.
  5. Send letters about changing an access to a problem/contest.
  6. Show the reason for the failure checker verification.
  7. Search by problem author.
  8. Warnings to use readXXX without a parameter name in a validator.
  9. Show the change log in the web interface.
  10. Improved support for problems with the same name in a single contest.
  11. Stress tests for interactive problems.
  12. Test groups supported in validator tests.
  13. Show the problem description in search results.
  14. Sort contests by modification time.
  15. Improved support for test input in a statement for interactive problems.
  16. Validator tests no longer require a checker.
  17. Add examples of generators, validators, checkers and interactors in the problem edit interface.
  18. Updated olymp.sty.
  19. Fixed XSS when adding problem tags.
  20. Fixed a zero-revision problem search.
  21. By default, the memory limit is 256MB now.
  22. Add multiple tests from files without ZIP-archive.
  23. Improved support of the Ukrainian language in the statements.
  24. Support for drafts in contest properties textarea.
  25. The preview of the tests has been redesigned, its work has been significantly improved.
  26. Display the last commits on the contest page.
  27. Support for the role of "translator" for a problem.
  28. Tests autorenumeration so that the examples go exactly first.
  29. Improved renumeration of tests with selection and moving of the selected tests.
  30. Warning if the testset contains the same tests.
  31. Add contests by UID, not by id.
  32. A problem URL now contains a UID.
  33. Add statements to a package separately by sections (legend, input, output, etc.).
  34. Rename files on the Files tab.
  35. Additional address to send emails about changes in a problem.
Codeforces
  1. Problem/contest proposals interface and management.
  2. Notifications (bell at the top of the site).
  3. Automatic removing of cheaters from virtual contests.
  4. Improved interface for answers to questions for writers.
  5. Log on via Facebook and improved linking to external accounts.
  6. Cities/countries have been reworked, now you can choose them from a list generated from geodatabase.
  7. Domains for groups.
  8. Integration with Polygon to show tutorials in blog posts.
  9. Improved the way to add tests from hacks.
  10. Customized logo on the contests list page.
  11. Information about special rules in the sidebar of contest pages.
  12. Improved training management for coaches (support for freezing, etc.).
  13. A tag about an atypical problem (*special).
  14. Show the history of communication with a user when answering on her/his message.
  15. Improved community support in the framework of Botan Investments grant program.
  16. Search has been improved in Codeforces::Gym.
  17. Autologout of all sessions except the current one when changing the password.
  18. Print support for contests in domain groups.
  19. Calendar of contests.
  20. Support for built-in website custom forms for special registrations and surveys.
  21. Personal private messages of rule violations.
  22. Multiple system performance improvements.
  23. Inheriting (copying) a mashup from another contest.
  24. Diagnosis of solutions in C++.
Statistics

I already wrote a year ago that every year I’m very excited to summarize statistics. I'm very pleased to report the growth of Codeforces for all major metrics! For me, these numbers and charts mean a lot. First of all, that all efforts find a response among those who are interested in solving problems and programming contests. It's inspiring!


The growth in the number of registered users. More than 600 thousand registrations!




Counted only participated in rated events in period July-December. More than 35000 active contest participants!





You’ve sent more than million solutions in 2017!




Blog posts with positive score, having at least +5 votes, having at least +20 votes, having at least +100 votes. The total number of posts is not interesting, because a lot of trash/spam, which immediately disappears and the result much depends on how we protect against bots and inadequate. A bit less than in the last year. Write more!




All positive scored comments, having at least +5 votes, having at least +20 votes. The growth is small, but it exists.




Brazil broke into the top! The greatest relative increase in India, China, Bangladesh, Vietnam, Brazil, Poland and Indonesia.




Pageviews, about +25% in 2017!




Visits, more than +20% in 2017!




Visitors, about +20% in 2017!



This is not included in the charts, but there is an increase in:

  • number of hosted rounds,
  • number of new problems,
  • number of new trainings in Codeforces::Gym.

Summing up, the year 2017 was a success! I look with enthusiasm at the next.

Hello, 2018!

MikeMirzayanov

 
 
 
 
  • Vote: I like it  
  • +1314
  • Vote: I do not like it  

»
3 weeks ago, # |
  Vote: I like it +93 Vote: I do not like it

Very happy to see myself in rapid-growing organization which I really enjoy it. Thanks guys for making Codeforces, it is like part of my life now and I will never forget it :)

»
3 weeks ago, # |
Rev. 2   Vote: I like it +16 Vote: I do not like it

One hell of a year. Thanks MikeMirzayanov for this hub,a hub of coders.This place makes me feel like home, i dunno why i am new here but still i feel awesome. The enthusiasm here is extraordinary.

A very happy new year to everyone.

Adios.

»
3 weeks ago, # |
  Vote: I like it +156 Vote: I do not like it

Come on! What if I'm just really happy for Codeforces?

  • »
    »
    3 weeks ago, # ^ |
      Vote: I like it +94 Vote: I do not like it

    who knows if u were trying to downvote..xD

  • »
    »
    3 weeks ago, # ^ |
    Rev. 2   Vote: I like it +1 Vote: I do not like it

    Maybe next year year we will get Mike's present such as " You can vote twice if you really like it, and it doesn't matter whether you have already voted for this topic before or not."

»
3 weeks ago, # |
  Vote: I like it +119 Vote: I do not like it

" Brazil broke into the top! ... ". In this moment, I realized that I visited too much codeforces .

  • »
    »
    3 weeks ago, # ^ |
      Vote: I like it -32 Vote: I do not like it

    Aren't you the dude who won the HackerEarth Jan 18 Easy? Congratulations!

»
3 weeks ago, # |
  Vote: I like it +103 Vote: I do not like it

where is the unrated contests chart ?

»
3 weeks ago, # |
  Vote: I like it +48 Vote: I do not like it

This post made me really happy. Codeforces has become part of my daily life. There is always atleast one Codeforces tab open in my laptop. Just like facebook or youtube.

»
3 weeks ago, # |
Rev. 2   Vote: I like it +4 Vote: I do not like it

Woot! USA is the #5 country (0-based).

With Brasil, we now have two Face Hemisphere countries on the top list.

»
3 weeks ago, # |
  Vote: I like it +4 Vote: I do not like it

I bet there's no chart for "The number of users based on their rating" because it will be messed up by "Magic" tab in each year.

Best of luck for Codeforces

»
3 weeks ago, # |
  Vote: I like it +22 Vote: I do not like it

Thanks MikeMirzayanov for this awesome plateform :) codeforces is best among all it's competitors . I've never seen more enthusiastic and helpful community elsewhere . We are so fortunate to have brilliant problem setters and testers who do their job perfectly. Kudos to them . Last but not the least , thanks to the coordinators and team codeforces. Happy coding :)

Have a good day.

»
3 weeks ago, # |
Rev. 2   Vote: I like it +3 Vote: I do not like it

What's with the weird handle colouring though? Is this a New Year Easter prank? I can see highly rated people as "Pupil" or even "Unrated" and vice-versa. Did I miss some announcement?

EDIT: Never mind, found it!

  • »
    »
    3 weeks ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    What is it?, even vice-versa is true, some pupils are suddenly legendary grandmasters!

    • »
      »
      »
      3 weeks ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      You can change your "ranking" (basically handle colour) from the "Magic" tab in your account settings... only till Jan 10, of course! :D

»
3 weeks ago, # |
Rev. 3   Vote: I like it 0 Vote: I do not like it

Happy New Year!!!

»
3 weeks ago, # |
Rev. 3   Vote: I like it +3 Vote: I do not like it

include love

const long long int maxn=8000000000;

wish fate[maxn];

int main() { fate[0]=me; for (long long int i=1;i<=all_of_people) fate[i]=Happiness; fate[0]=Happiness; return Happy_New_year; }

  • »
    »
    3 weeks ago, # ^ |
      Vote: I like it +7 Vote: I do not like it

    Just fixed your code's formatting (you can select the snippet and select on "block" in the second drop-down from the right). :-)

    #include <love>
    
    const long long int maxn=8000000000;
    
    wish fate[maxn];
    
    int main() 
    { 
      fate[0]=me; 
    
       for (long long int i=1; i <= all_of_people) {
           fate[i]=Happiness; 
           fate[0]=Happiness; 
       }
       
       return Happy_New_year; 
    }
    
»
3 weeks ago, # |
  Vote: I like it +12 Vote: I do not like it

I'm happy to be a part of this website :).

»
3 weeks ago, # |
  Vote: I like it +12 Vote: I do not like it

Thanks MikeMirzayanov and Codeforces team for this great Codeforces and Polygon system which I love and it is a hub of the best programming techique all around the world :). Wish you and all of members of Codeforces a sucessful and high rating year!

P/s: Codeforces and Polygon system is the first worldwide judging platform I have seen that run on Windows

»
3 weeks ago, # |
  Vote: I like it +1 Vote: I do not like it

Codeforces ...... My only love :)
Happy New Year !!

»
3 weeks ago, # |
  Vote: I like it 0 Vote: I do not like it

Only Ukraine visits less :(
Does it relate on economics and war? Most of competitive programmers are school-university age men.

  • »
    »
    3 weeks ago, # ^ |
      Vote: I like it +60 Vote: I do not like it

    Only Ukraine among countries in top12 :)

    I don't know if overall popularity of competitive programming in Ukraine increases or decreases in general. I have an impression that situation in the country is different from what you can see in some countries with rapid growth: while they have reasoning like "We need to do competitive programming to get a job!", in Ukraine it is more like "Wait, why would I waste my time on competitive programming if I can do some real job instead and get money and useful experience from it?..". At least overall perception looks this way to me, from what I heard from other people around.

    Political situation affects Codeforces popularity as well. I know quite a few people who weren't really into using Codeforces even 4-5 years ago ("I'd better solve problems on some other site, not on the Russian one"), and with recent events (Wiki link) number of such people could've increased. I don't know if it has much effect — these political events are happening for several years already, and you can see there was still growth in 2015.

    For 2017, I see a reason which looks much more important :) Several Russian sites have been banned this year, and it affected CF directly (you can check this CF post in Russian: link). I don't know exact situation at this point: for me CF wasn't working properly in September when I returned to Ukraine from internship — but it works fine now; for a friend of mine it wasn't working at all till late October and works now; at the same time, I know CF user from Russia who was in Ukraine a week ago and discovered that he can't participate in CF round simply because provider doesn't allow him to open Codeforces :) It is not like there is no way to visit the site, but if you need to put additional effort in order to make it — that may decrease popularity. Also — I'm not a huge expert in it, but I believe that some of the ways which can be used to reach Codeforces will look like access from a country different from Ukraine.

»
3 weeks ago, # |
  Vote: I like it 0 Vote: I do not like it

Is there any chance codeforces going full feedback in near future ?

  • »
    »
    3 weeks ago, # ^ |
      Vote: I like it +3 Vote: I do not like it

    I don't think so because part of cf popularity is from hacks abd there won't be any hacks if there is full feedback. Personally i think it would be amazing if cf will become like cs academy or atcoder from this perspectiva cause there is a lot of inflation in the rating on cf which can't be seen on at and cs.

»
2 weeks ago, # |
  Vote: I like it +35 Vote: I do not like it

So happy to become a contest proposer and work with Teacher quailty!

And thanks to gritukan and KAN that I can be a tester for many times!

Although not performing very well in CNOI 2017, but I will still work hard and go on and on in 2018!

Looking forward to becoming greater and greater and proposing another contest next time! (Well, let's wait and see..)

Really thanks to MikeMirzayanov and the wonderful Codeforces!

Finally, I do wish you happy new year!

»
2 weeks ago, # |
  Vote: I like it 0 Vote: I do not like it

Fixed XSS when adding problem tags.

I wonder, did someone ever attempt to exploit this?

»
2 weeks ago, # |
  Vote: I like it +8 Vote: I do not like it

Where is the semi rated round? If I'm not mistaken it's the first time in 2017 to host such rounds :P