MikeMirzayanov's blog

By MikeMirzayanov, 8 years ago, translation, In English

Hello!

In 2015 we have not only engaged in the organization of rounds and championships. Every day we write the code, debug, test and explore a variety of tools and technologies to make Codeforces better. Even if in some periods you have not seen great changes on the website, it does not mean that the development was stopped — just some of the innovations relate solely to infrastructure, architecture or administrative interfaces and are not visible to the users.

I have collected in a list of all the innovations, which touch users in some sense. This faceless list includes results of many days of work of each member (sometimes with prefix ex-) of Codeforces technical team: MikeMirzayanov, MaximShipko, kuviman, fcspartakm, Avalanche. There are valuable helpers Edvard (helped with the introduction of educational rounds), stingray (constant help with the administration and configuration of servers is priceless), demlit and lthirteenthl (assistance with the administration and hardware). And I just listed those who assist in technical terms — there is an important list of all of those who contributed to the life of Codeforces in other aspects. Thank you!

Here is the promised list of completed (sometimes partially) cases in 2015, the year.  

Codeforces

  1. 250-points step in problem scores.
  2. Clever redirects from profile pages taking in account user handle changes.
  3. \href and \url in problem statements in HTML
  4. Notifications and better support of concurrent work of managers on answers for questions.
  5. Regional stage of ROI rules and flow via custom lite-website.
  6. Custom registration for Rockethon 2015, ZeptoLab CodeRush 2015 and AIM Fund Round.
  7. Improved popup by click in cell on standings page.
  8. Search in gyms/mashups by name.
  9. Fixed multiple question submissions during a round.
  10. More information on shadow judging + file names for managers of contests.
  11. Teams registration for VK Cup 2015, teams support for Codeforces-rounds.
  12. Individuals rating recalculation after participation in team.
  13. Implemented crowdfunding campaigns support.Many thanks to all supported us.
  14. Pagination for gym/mashups.
  15. Separate pages for rating changes (as tabs for a standing page).
  16. To start training preparation wizard in regular mode (instead of update mode) for empty contest by clicking "+".
  17. Allow to remove a comment in X minutes after publication.
  18. Disable user talks for non-trusted users.
  19. Links to the correct locale in comments notification emails.
  20. Row with statistics to ranklists (standing pages).
  21. Confirmation to publish a blog post.
  22. Attach hacker handle with test if hack pushed to Polygon.
  23. Actualized Google auth.
  24. Better support of blog post revisions: view diffs, view specified revisions, switch between them.
  25. Easy way to add images to blog post from a create/edit blog post page.
  26. Notifications via browser API during rounds/contests.
  27. User lists: management, support them on some pages.
  28. Preload images in posts/comments/problem statements.
  29. Determinism of generators verification for hacks.
  30. Syntax highlight on the hack form.
  31. Hide outdated users from rating pages (+ feature to show them).
  32. To reduce memory consumption and improve performance we implemented external in-memory C++ service to store contest data.
  33. Badges and diplomas printing (for VK Cup 2015 Finals).
  34. Printing of solutions and balloon notifications (for VK Cup 2015 Finals).
  35. Custom ratings in groups.
  36. Better support of logical problems and Call To Code rules (within the Google event)
  37. New rating, new titles.
  38. Show problem writers.
  39. The "Problemsetting" tab in a profile.
  40. Better ranklists/standings parsing in the training preparation wizard.
  41. Societies implemented for the program of Botan Investment to support regional universities.
  42. Open hacks phase after educational rounds (open hacks for ACM-ICPC-style contests).

Polygon

  1. Much better performance because of file changes monitoring in working copies.
  2. Localized stdin/stdout in problem.tex.
  3. Improved support for contest tutorials — you can now download PDF/HTML with all tutorials.
  4. Added per-problem olymp.sty and statements.ftl for better customization of a statement.
  5. Better performance of a problem packaging.
  6. Upload solutions from Codeforces to Polygon.
  7. Maximal testset by default.
  8. Review feature — to view on single page statements on all languages + validator.
  9. Added feature to upload checker/validator/interactor on its tab (now not only from the Files tab).
  10. New editor for sources.
  11. Support of testOverviewLog and features in validators.
  12. Supported verification of a problem (including when you build a package) — to make a mistake preparing a problem has become even more difficult.
  13. Supported multiple programming languages and the ability to choose a language when uploading source files.
  14. Display the status of problem on row of table with problems.

Maybe I missed something, I tired to read commit logs!

In addition, there are some small tasks completed on testlib and other small projects (for example, PBOX). In short, we do not stand and move forward. I hope you are with us :-)

Happy New Year!

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

| Write comment?
»
8 years ago, # |
  Vote: I like it +119 Vote: I do not like it

next year ..is it possible that you can provide txt files of test cases for the problems available for download

  • »
    »
    8 years ago, # ^ |
      Vote: I like it -28 Vote: I do not like it

    If they allow it, I'll solve every problem without reading the statements. Guess how ;)

»
8 years ago, # |
  Vote: I like it +46 Vote: I do not like it

Codeforces is always improving, one of the improves in the future could be giving access to large test cases :)

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

Happy New Year to Codeforces administrators and every coder in the world!!! ^^

»
8 years ago, # |
  Vote: I like it +30 Vote: I do not like it

Great Codeforces!

»
8 years ago, # |
  Vote: I like it +21 Vote: I do not like it

A little hope... Many people have talked about this...

It would be really great if there could be a place to hold all the educational blogs together so that novice could get started easily.

Thank Mike and Codeforces staff for this great platform!

»
8 years ago, # |
  Vote: I like it +42 Vote: I do not like it

You forgot the feature that shows you the time for events in your own timezone.

»
8 years ago, # |
  Vote: I like it +25 Vote: I do not like it

It would be very nice if you can add countrywise standings in every round. I know there are some API/browser extensions for this feature but if we get this here that would be great.

»
8 years ago, # |
  Vote: I like it +9 Vote: I do not like it

the educational rounds are the best thing happened in 2015...

»
8 years ago, # |
  Vote: I like it +17 Vote: I do not like it

Will I be able to change my handle/username at the beginning of new year?

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    You are already able to do that until January 10. Go to the profile Page->Settings->Handle

»
8 years ago, # |
  Vote: I like it -22 Vote: I do not like it

45 hour to Good Bye 2015

»
8 years ago, # |
  Vote: I like it -35 Vote: I do not like it

At the first look, I thought the blog post is about:


  • »
    »
    8 years ago, # ^ |
      Vote: I like it +4 Vote: I do not like it

    After this post, I realized that there should be a feature to auto-resize the images posted here.

»
8 years ago, # |
  Vote: I like it +5 Vote: I do not like it

"Determinism of generators verification for hacks."

How does that work? Is the generator simply ran multiple times to see if the output stays the same? If so, what if I put a 0.1% chance that the output will be different?

»
8 years ago, # |
  Vote: I like it +46 Vote: I do not like it

That was a great year wasn't it? Now what I hope for you to implement in the following year is to CLEAR, THE FREAKING, COUNTRY DATABASE!

GOD it's so darn PAINFUL TO LOOK AT!

               LOOK AT THIS! WHAT IS THIS???

Out of all those countries only 19 have been written correctly, or exist AT ALL! And look now:

Tunisia and Tunisie, Turkey and Turkiye... WHICH ONE IS THE REAL ONE????

Codeforces is growing and growing and given the option that you can set your country to the one you live in, it means that probably Codeforces is an international website right? Which would require them to be at least REMOTELY competent at adding countries and their ISO codes to their databse right? Well here's a shocker for ya, THEY DON'T!

If you didn't read the post above or didn't understand a single thing, let me explain how Codeforces' country system works right now. If you set yourself a country which's name haven't been added to the database yet (which is usually small countries or non-existing countries) you have to add it to the database yourself and give an ISO code.

Here comes the dumbest part: if, for some reason the ISO code of an existing country has been taken by a non existing county (Easiest example: Central African Republic, ISO Code: CF (no joke), obviously it will be taken by some smartass on a website which's abbreviation (is that a word?) are CF, because "hue-hue look at me i'm so funneh, my country's ISO code is this websites' abbreviation hue-hue look at me!") You won't be able to set it up for an actual existing country. Which is pretty sad for a minority of people (the ones that are from the countries that aren't even on the list yet).

Come on Mike, just clear the country database, it's not that hard. The website's growing every day, and lots and lots of people from various contries visit the website to practice programming. Let's make sure that everyone gets what they deserve and let us be competent at making people comfortable.

»
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Thank you, Codeforces was amazing in 2015 (like always). I've learned a lot from educational contests and your very good editorials.