Блог пользователя MikeMirzayanov

Автор MikeMirzayanov, 3 недели назад, По-русски,

С Новым годом, Codeforces!

Спешу пожелать всей аудитории (и мне в том числе) работающих программ, внезапных озарений, красивых идей и интересных задач!

Я надеюсь, что вы встретили новый год так же весело, как и я. Успели выспаться после новогодней ночи? В этом году традиционный пост подведения итогов прошедшего года я сел писать только 1-го января 2018-го. Надеюсь, мне не придется теперь весь год подводить итоги.

Этот пост важен для меня, так как он подводит черту всей работе, которая проделана командой Codeforces и всем сообществом в 2017-м году. Огромное спасибо команде: все перечисленные ниже достижения — результат общих трудов и усилий. Мы отлично поработали! Сообщество должно знать своих героев. В 2017-м году в развитии проекта принимали участие: MikeMirzayanov, KAN (координатор задач), gritukan (второй координатор задач), netman (экс-второй координатор задач), kuviman (разработчик), fcspartakm (разработчик), SladeThe (разработчик) и gKseni (менеджер). Большой вклад оказали студенты СГУ BledDest, PikMike, Vovuh и Perforator — образовательные раунды, тренировки и помощь в разработке. Я посылаю лучи благодарности авторам задач и тестерам — вы создаете интереснейший контент для многих тысяч любителей программирования со всего мира. Огромное спасибо всем тем, кто помогал со спецпроектами, писал интересные посты и дельные комментарии. Все вместе мы смогли сделать Codeforces лучше!

Итак, перейдем к итогам. Мне кажется, в этом году опять есть чем похвастаться.

Партнёрские мероприятия

Мы всегда рады, когда компании обращают внимание на соревнования по программированию — будь то с целью нанять талантливых ярких (да, вы такие!) сотрудников, будь то с целью поддержать наше сообщество и просто показать себя вам. Очень приятно, что в этом году список наших партнеров длинный и разнообразный. Многие приходят повторно, и это вдохновляет. Вот список компаний, с кем или для кого мы провели соревнования: ВКонтакте, Harbour.Space University, 8VC, Mail.Ru, MemSQL, Playrix, Тинькофф Банк и AIM Tech. В этом списке я не учитывал компании, для кого мы просто провели зеркало их основного мероприятия.

Вот и список основных партнёров 2017-го года:

  • Telegram и лично Павел Дуров уже много лет поддерживают деятельность Codeforces, каждый регулярный раунд проводится с их помощью, спасибо!
  • ВКонтакте — VK Cup 2017,
  • Harbour.Space University — несколько совместных с BootCamp раундов и совместное проведение линейки Educational Rounds,
  • Фонд 8VC — совместный мини-чемпионат 8VC Venture Cup 2017,
  • Mail.Ru — Технокубок 2017 и Russian AI Cup 2017,
  • MemSQL — MemSQL Start[c]UP 3.0,
  • Playrix — Playrix Codescapes Cup,
  • Тинькофф Банк — мини-чемпионат Tinkoff Challenge,
  • AIM Tech — AIM Tech Round 4.

Основные нововведения

Мы проделали большую работу по улучшению Codeforces и Polygon. Значительная часть работы по улучшению инфраструктуры, стабильности, производительности не бросается в глаза. Список ниже перечисляет основные пункты по заметным улучшениям.

Polygon: https://polygon.codeforces.com — система разработки задач по программированию
  1. Управление тест-группами на странице со списком тестов, автодополнение тест-групп по названию, сортировка по ним.
  2. Список контестов, которым принадлежит задача, доступный из интерфейса её редактирования.
  3. Улучшен интерфейс создания стресс-тестов: чекбоксы для решений, наследование списка решений при копировании стресс-теста.
  4. Предупреждения по задачам вынесены на страницу контеста.
  5. Отсылка писем об изменении прав на задачу/контест.
  6. Улучшено отображение причины падения верификации чекера.
  7. Поиск по автору задачи.
  8. Предупреждения на использование readXXX без имени параметра в валидаторе.
  9. Отображение лога изменений в веб-интерфейсе.
  10. Улучшена поддержка задач с одинаковыми названиями в одном контесте.
  11. Стресс-тесты для интерактивных задач.
  12. Поддержка тест-групп в тестах валидатора.
  13. Отображение описания задачи в результатах поиска.
  14. Сортировка контестов по времени изменения.
  15. Улучшена поддержка отображения ввода теста в условии для интерактивных задач.
  16. Тесты валидатора больше не требуют установленного чекера.
  17. В интерфейс добавлены примеры генераторов, валидаторов, чекеров и интеракторов.
  18. Обновлен olymp.sty.
  19. Исправлен XSS при добавлении тегов задач.
  20. Исправлен поиск задачи с нулевой ревизией.
  21. По умолчанию ограничение по памяти теперь 256МБ.
  22. Добавление нескольких тестов из файлов без ZIP-архива.
  23. Улучшена поддержка украинского языка в условиях.
  24. Поддержка черновиков для свойств контеста.
  25. Переработан предпросмотр тестов, значительно улучшена его работа.
  26. Отображение последних коммитов на странице контеста.
  27. Поддержка роли «переводчик» для задачи.
  28. Автоперенумерация тестов, чтобы примеры точно шли первыми.
  29. Улучшена перенумерация тестов с выделением и перемещением выделенных тестов.
  30. Предупреждение, если тестсет содержит одинаковые тесты.
  31. Добавление контестов по UID, а не по номеру.
  32. URL задачи теперь содержит UID.
  33. Добавление в пакет условия отдельно по секциям (легенда, ввод, вывод и т. п.).
  34. Переименовывание файлов на вкладке Files.
  35. Дополнительный адрес для отсылки писем об изменениях в задаче.
Codeforces
  1. Интерфейс и менеджемент подачи заявок на проведение контестов.
  2. Уведомления (колокольчик в верхней части сайта).
  3. Автоматическое выпиливание читеров из виртуальных контестов.
  4. Улучшение интерфейса ответа на вопросы для авторов.
  5. Вход по Facebook и улучшенное связывание с внешними аккаунтами.
  6. Навели порядок с городами и странами — теперь выбирать можно из базы по геоданным.
  7. Домены для групп.
  8. Разборы задач прямиком из Полигона.
  9. Добавление тестов из взломов пачками.
  10. Кастомизированное лого на странице списка контестов.
  11. Информация о специальных правилах в сайдбаре страниц контеста.
  12. Улучшено управление тренировками для тренеров (поддержка заморозки и др.).
  13. Тег о нетипичной задаче (*special).
  14. Отображение истории переписки с пользователем при ответе на его сообщение.
  15. Улучшена поддержка сообществ в рамках грантовой программы Botan Investments.
  16. Улучшен поиск по тренировкам.
  17. Автовылогинивание всех сессий кроме текущей при смене пароля.
  18. Поддержка печати для контестов в доменных группах.
  19. Календарь контестов.
  20. Поддержка встроенных в сайт настраиваемых форм для специальных регистраций и опросов.
  21. Личные сообщения о нарушениях правил.
  22. Множественные улучшения производительности системы.
  23. Наследование (копирование) мэшапа от другого контеста.
  24. Диагностика решений на С++.
Статистика

Я уже писал год назад, что каждый год с волнением подвожу цифры очередного года в сравнении с предыдущим. Я очень рад сообщить о росте Codeforces по всем основным метрикам! Для меня эти числа и графики многое значат. В первую очередь, что все усилия находят отклик среди тех, кому интересно решать задачи и учиться программировать. Это вдохновляет!


Рост количества зарегистрированных пользователей. Перевалили за 600 тысяч регистраций!




Учитываются только те, кто принимал участие в рейтинговых раундах за июль-декабрь. Более 35000 активных участников соревнований!





Миллион отосланных решений за 2017-й год!




Все посты с положительным результатом голосов, имеющие не менее +5 голосов, имеющие не менее +20 голосов, имеющие не менее +100 голосов. Общее количество постов считать неинтересно, так как много мусора, который сразу скрывается и результат сильно зависит от того, как мы защищаемся от ботов и неадекватов. Чуток просели от прошлого года. Пишите больше!




Положительные комментарии, имеющие не менее +5 голосов, имеющие не менее +20 голосов. Рост небольшой, но есть.




Бразилия ворвалась в топ! Наибольший относительный прирост в Индии, Китае, Бангладеше, Вьетнаме, Бразилии, Польше и Индонезии.




Число просмотров страниц, сделали почти +25% в 2017-м году!




Число браузерных сессий, сделали более +20% в 2017-м году!




Число посетителей, сделали почти +20% в 2017-м году!



Это не вошло в графики, но есть рост по:

  • количеству проведенных раундов,
  • количеству новых задач,
  • количеству новых тренировок.

Подытоживая, 2017-й год удался! Я с энтузиазмом смотрю в следующий.

Здравствуй, 2018-й.

MikeMirzayanov

 
 
 
 
  • Проголосовать: нравится  
  • +1314
  • Проголосовать: не нравится  

»
3 недели назад, # |
  Проголосовать: нравится +30 Проголосовать: не нравится

MikeMirzayanov С новым годом!

»
3 недели назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

MikeMirzayanov Если пофиксите багу с загрузкой фотографий профиля, начало 2018 года тоже будет прекрасным :)

  • »
    »
    3 недели назад, # ^ |
      Проголосовать: нравится +16 Проголосовать: не нравится

    Получите и распишитесь. С новым годом!

    • »
      »
      »
      3 недели назад, # ^ |
      Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

      Я вообще имел в виду то, что при попытке загрузить .png выскакивает ошибка Invalid argument to native writeImage.

      С новым годом :)

      За фикс старой баги спасибо!

      • »
        »
        »
        »
        3 недели назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Тоже была такая проблема, но с jpeg. Фото не показывали, но пофиксили

»
3 недели назад, # |
  Проголосовать: нравится -8 Проголосовать: не нравится

Желаю успехов в дальнейших годах

»
3 недели назад, # |
  Проголосовать: нравится -7 Проголосовать: не нравится

С наступившим! Ура!)

»
3 недели назад, # |
  Проголосовать: нравится +93 Проголосовать: не нравится

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 недели назад, # |
Rev. 2   Проголосовать: нравится +16 Проголосовать: не нравится

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 недели назад, # |
  Проголосовать: нравится +156 Проголосовать: не нравится

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

  • »
    »
    3 недели назад, # ^ |
      Проголосовать: нравится +94 Проголосовать: не нравится

    who knows if u were trying to downvote..xD

  • »
    »
    3 недели назад, # ^ |
    Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

    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 недели назад, # |
  Проголосовать: нравится +119 Проголосовать: не нравится

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

»
3 недели назад, # |
  Проголосовать: нравится +103 Проголосовать: не нравится

where is the unrated contests chart ?

»
3 недели назад, # |
  Проголосовать: нравится +48 Проголосовать: не нравится

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 недели назад, # |
Rev. 2   Проголосовать: нравится +4 Проголосовать: не нравится

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

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

»
3 недели назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

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 недели назад, # |
  Проголосовать: нравится +22 Проголосовать: не нравится

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 недели назад, # |
Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

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 недели назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

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

    • »
      »
      »
      3 недели назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

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

»
3 недели назад, # |
Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

Happy New Year!!!

»
3 недели назад, # |
Rev. 3   Проголосовать: нравится +3 Проголосовать: не нравится

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 недели назад, # ^ |
      Проголосовать: нравится +7 Проголосовать: не нравится

    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 недели назад, # |
  Проголосовать: нравится +12 Проголосовать: не нравится

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

»
3 недели назад, # |
  Проголосовать: нравится -16 Проголосовать: не нравится

фуууууу

»
3 недели назад, # |
  Проголосовать: нравится +12 Проголосовать: не нравится

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 недели назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

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

»
3 недели назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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

  • »
    »
    3 недели назад, # ^ |
      Проголосовать: нравится +60 Проголосовать: не нравится

    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 недели назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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

  • »
    »
    3 недели назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    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.

»
3 недели назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

Спасибо за еще один плодотворный год команде Codeforces и лично MikeMirzayanov)) Продолжайте радовать нас улучшениями и хорошими раундами)) участникам — хороших выступлений в 2018 году!!! )))

»
3 недели назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

Падение количества постов при росте числа пользователей немного огорчает. Все-таки CF давно стал большим, чем площадкой для СП, и именно социальная часть играет большую роль.

»
3 недели назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

интересно а делает ли CF иногда специально трудные раунды чтобы рейтинг у людей упал и чтобы они остовались дольше в див2 веть основной поток участников с див 2 ??

  • »
    »
    2 недели назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    сложность раунда практически не влияет на переход в див 1:) Абсолютные результаты при рассчете рейтинга никак не учитываются, важно только положение одного участника относильно другого в таблице результатов.

»
3 недели назад, # |
Rev. 2   Проголосовать: нравится +4 Проголосовать: не нравится

За 2017 год была проделана огромная работа и это повод для гордости, но не стоит расслабляться, ведь работа для команды codeforces всегда найдётся.

Ещё раз поздравляю MikeMirzayanov'a и других пользователей codeforces с наступившим новым годом и желаю всем удачи во время контестов и с тестирующей системой!

P.S. подозреваю, что такое было у каждого :)

»
3 недели назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

ВКонтакте — VK Cup 2017

Mail.Ru — Технокубок 2017 и Russian AI Cup 2017

Зачем писать по отдельности, если Mail.ru купил Вконтакте

  • »
    »
    2 недели назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    Хоть и купили, но набирают они себе программистов по отдельности, независимо от друг друга. Часто бывает, что одни переманивают лучших разработчиков из другой.

    ВКонтакте и сидит у Mail.Ru, но старается выглядеть самостоятельной.

»
2 недели назад, # |
  Проголосовать: нравится +35 Проголосовать: не нравится

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 недели назад, # |
  Проголосовать: нравится +18 Проголосовать: не нравится

А что насчёт зелёненькой адресной строки? 2018-й это заслуживает.

»
2 недели назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Рискую показаться занудой, но нельзя не отметить, что достижение в плане отосланных решений носит совсем другой порядок: за 2017 год отослано целых 10 миллионов, а не миллион решений! (если верить картинке)

P.S. Всех с Наступившим!

»
2 недели назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Fixed XSS when adding problem tags.

I wonder, did someone ever attempt to exploit this?

»
2 недели назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

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