Jasperr's blog

By Jasperr, 5 weeks ago, In English,

Hi! After releasing CHelper Companion as an alternative to the original CHelper extension six months ago, development has been ongoing and CHelper Companion has "evolved" into Competitive Companion.

Competitive Companion is a browser extension for Chrome and Firefox that can parse problems and contests and extract the useful data. This includes things like time/memory constraints and sample test cases. While CHelper Companion was only capable of sending this data to CHelper, Competitive Companion works with pretty much all popular tools. Next to that, Competitive Companion is also capable of sending the data to your private tools, without requiring a complex setup.

Using it is very simple. Just install the extension, make sure you got one of the supported tools open, navigate to a problem page and click on the green plus icon in the top-left of your browser. On websites where Competitive Companion is able to parse contests, navigating to the page with all the problems and clicking on the green plus icon will download and parse all problems in the contest at once. You can also use the shortcut Ctrl+Shift+U instead of the green plus icon.

At the moment, Competitive Companion can send parsed problem data to the following tools:
- CHelper
- JHelper
- Hightail
- Mind Sport
- Any other tool that can parse the data that is being sent, read more about that in the README on GitHub, and have a look at the example project here.

Competitive Companion includes parsers for the following websites:

Website Problem parser Contest parser
A2OJ
AtCoder
CodeChef
Codeforces
COJ
CSAcademy
DevSkill
DMOJ
E-Olymp
Facebook Hacker Cup
HackerEarth
HackerRank
HDU Online Judge
Jutge
Kattis
LightOJ
Google Code Jam (old)
Google Code Jam (new)
omegaUp
Panda Online Judge
PEG Judge
POJ
SPOJ
Timus
Toph
URI Online Judge
USACO
USACO Training
Yandex

Competitive Companion's source code can be found on GitHub. Released are pushed to both the Chrome Web Store and Mozilla Add-Ons.

Feedback, bug reports and feature requests are all very welcome!

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

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

Feature Request I think adding a keyboard shortcut for parsing problem would be great.

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

    Great idea, I released an update which adds the keyboard shortcut Ctrl+Shift+U to parse problems/contests, it should be available in a few minutes. Whenever the green plus icon is visible, that shortcut will work too.

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

UPD: OK. I have found the reason, My CHelper plugin was not updated (it was 4.1.12)... After updating the plugin it is working properly. Thank you, You have done awesome job...

Is there any version dependency with the add-ons? It is not working for me, while parsing this problem. :(

I am using, Chrome (Version 67.0.3396.87 (Official Build) (64-bit)) and Intellij IDEA (2018.1).

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

Forgive my ignorance but I'm new to this tool.

What exactly happens when we click on the Green Button on a contest page? I can see a green bar sliding across the top, guessing this is the page being parsed? But what now? How do we use it now?

  • »
    »
    5 weeks ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    I'm assuming you are seeing a blue bar, not a green one (because if it's green, it's probably not from my extension).

    When you see that bar, it is retrieving all the problems and extracting the useful data out of all of them, after which it sends them to one of the supported tools.

    To make use of this extracted data, you need to do one of the following:
    - Use one of the supported tools (see the post to see which one are supported).
    - Add support for the extension to your tool, which requires quite a bit more work. Instructions on how to do that can be found here.

    If you need help with getting up and running using one of the supported tools, please tell me which one you are using so I can give more specific instructions.