breno's blog

By breno, 15 months ago, In English

Hey everyone!

About a month ago, I started developing a Chrome and Firefox extension that could filter CF standings by country. For this to work, I developed a Python crawler that separates all Codeforces users by country and creates all the countries lists (since Codeforces lists have a limited size of 1000, I first sorted them by active users, then by rating).

After that, I developed a Chrome and a Firefox extension so anyone could filter their standings by any country! :)

Extension screenshot


It currently just supports normal Contests or Gyms, but I would love to hear any suggestions from you guys so I can improve it for everyone.

Also, it is an Open Source project! So if any of you like, you can open Pull Requests, Issues or Clone it!

Links: Github repository, Chrome extension, and Firefox extension

I'd like to thank brunomont for having the initial idea, rafaelgo2 for teaching me how to start creating a Chrome extension and Emaneru for encouraging me to write this post!

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

»
15 months ago, # |
  Vote: I like it +41 Vote: I do not like it

fmota, I guess this is what you were looking for?

  • »
    »
    15 months ago, # ^ |
      Vote: I like it +20 Vote: I do not like it

    Yeah, that's definitely what I was looking for

»
15 months ago, # |
Rev. 2   Vote: I like it -23 Vote: I do not like it

There are many contestants those who don't add their country to there profiles

  • »
    »
    15 months ago, # ^ |
    Rev. 2   Vote: I like it +30 Vote: I do not like it

    And there are lot more contestants who add their country to their profiles than those who don't.

  • »
    »
    15 months ago, # ^ |
      Vote: I like it +24 Vote: I do not like it

    Indeed, Sumanto! In those cases, I haven't thought of any better solution than adding them to the "Unknown" country list (although since there are many users in that list, the last one in it has a rating of 1930). But just like khulegu answered, many other users have their country in their profiles.

    What I believe we can do now is encourage users to add their country in their profiles! :)

»
15 months ago, # |
  Vote: I like it +31 Vote: I do not like it

I'm so glad you made this post. Since you launched the extension I’ve been using it in every contest. Thanks for helping us all :)

»
15 months ago, # |
  Vote: I like it 0 Vote: I do not like it

How to go back to all country standings after choosing a country standings?

  • »
    »
    15 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    u can open the problems and back to standings :)

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

    There are 2 simple ways to do that:

    1. Click on the X at the bottom-right of the page. You can see this on the screenshot that I added to the blog post. In the bottom-right, there is written Brazil (X). If you click that, it will return to normal standings;
    2. Just click at Common Standings or Friends Standings.
»
14 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Without registration and without sms extension available here and more here.

screenshot

P.S. Available only after end of the round.

»
13 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Are the lists kept updated? New people are joining daily and it seems like the lists are not updated.

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

    Hey, stefdasca!

    Yes! The lists are continuing to be updated. Although there was a week or so that I didn't update it (I just updated it. Can you please check if your case is solved?). This happens because it still is a manual process.

    I'm checking today if it is possible to create an Alexa routine that can run the script every day.

    PS: Just a reminder, that Codeforces lists are limited to 1000 users, so not all users are in the lists of their country.

    • »
      »
      »
      13 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Yeah, I think you fixed that.

      It's a shame CF can't have lists bigger than 1000 users, your idea is really great

»
13 months ago, # |
  Vote: I like it +3 Vote: I do not like it

Liked this one seems useful in educational rounds.Great work

»
13 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Can anyone suggest me a tools like this where i can get standing by institutions.

  • »
    »
    13 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Hey, ashkANOn!

    I do not know any application that does that. And I don't pretend to add this support to this extension since there are too many institutions. But I encourage you to clone the git repository and try to adapt it to create a clone of this extension with the institutions that you want to keep track of. I'm here to help with any need you may have. :)

»
13 months ago, # |
  Vote: I like it 0 Vote: I do not like it

breno i want to make extension which merge the graph of user who made their account more than one on codeforces ,if they wish

  • »
    »
    13 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Hey, pamho108!

    Sorry, I don't think I understood exactly what you want. Could you explain it better, please?

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

Awesome extension, thank you for the effort! There's any work around to make it work in private group standings?

  • »
    »
    7 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Hey, lclpsoz!

    I'm currently not doing any work on it, but if you want to contribute to it, it will be great and I'll make sure all the changes will be published.

    To support this, you only need to update this file:

    Background.js on GitHub

    On line 11, is where we display or not the "Select a country" card.
    And on line 30 is where we build the URL to redirect the user to the correct list.

    Although it is kind of simple, it requires some knowledge in Javascript programming. If you have any doubts, please let me know and I'll try to help you with this. :)

    But in general, you can just create a branch and I'll review it, merge on master and then publish it.

    Kind regards,
    Breno