Jasperr's blog

By Jasperr, 6 years ago, In English

Update: the links in this post may or may not work anymore. Please go to the updated blog post for more information.

Hey there,

I recently switched from Chrome to Firefox (with the release of Firefox Quantum), and CHelper was one of the extensions which caused me to still use Chrome for some specific tasks. I always wanted to make a browser extension, and because the original CHelper extension got a few broken problem parsers, I decided to make my own.

There are a few differences between the original extension and this one:
- I fixed (most of?) the broken problem parsers
- I added contest parsers which can parse an entire contest at once (just like how you would parse a normal problem)
- It's available for both Chrome and Firefox (even though the original extension works fine on Firefox, but it is not published on Mozilla's AMO making it a bit harder to install)

Problem parsers are available for the following websites: - Atcoder
- Bayan
- CodeChef
- Codeforces
- CSAcademy
- DevSkill
- DMOJ
- E-Olymp
- Facebook Hacker Cup
- Google Code Jam (new)
- HackerEarth
- HackerRank
- Kattis
- LightOJ
- Panda Online Judge
- SPOJ
- Timus
- URI Online Judge
- USACO
- USACO Training
- Yandex

Contest parsers are available for the following websites: - AtCoder
- CodeChef
- Codeforces
- DevSkill
- DMOJ
- E-Olymp
- Google Code Jam (old)
- HackerEarth
- HackerRank
- Kattis
- LightOJ
- Timus
- URI Online Judge

The reason not to update the original extension is that the original extension is centered around the idea that the Java plugin parses the problem page, while I think JavaScript is a better tool for that job.

Available for Chrome and Firefox. The source code is available on GitHub.

Any feedback is greatly appreciated.

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

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

Auto comment: topic has been updated by Jasperr (previous revision, new revision, compare).

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

Hey there, great job on the extension. Any chance we'll see support for the new Google Code Jam layout?

  • »
    »
    6 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Do you have a link to a page where it's not working? If I go to https://code.google.com/codejam/contest/6314486/dashboard it seems to work just fine.

    • »
      »
      »
      6 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      They have a new contest platform for now. Check it out.

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

        I updated the extension to support the new platform. The only downside is that you have to manually rename the output class name from "Main" to "Solution", but you'll see that yourself by the notification that appears when parsing a problem on the new website.

        • »
          »
          »
          »
          »
          6 years ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          Thanks for the prompt update. On a similar note, the parser doesn't seem to be working on USACO. It doesn't light up on this problem. I'm on the newest Chrome and permissions are on for usaco.org and all of the defaults. Can you check that out?

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

Can anyone tell me what additional thing I will have to do to make this work?

The original parser has been troubling me for days now. I uninstalled it. But even after installing your new parser, whenever I click, nothing happens.

What extra settings (apart from downloading it) I will have to do to make it work?

Please help.

  • »
    »
    6 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    You need to have a CHelper project open in IntelliJ IDEA (with CHelper installed, obviously). In some cases you'll also have to refresh the webpage before the little plus icon becomes available (this issue happens quite a bit on HackerRank due to the way how they load the pages).

    If it still doesn't work, please send me a link to the problem page so I can look into it.

    • »
      »
      »
      6 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      The project is open. Check this. Is that wrong?

    • »
      »
      »
      6 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      and see this, your extension turns green but on clicking it, nothing is happening. :(

      • »
        »
        »
        »
        6 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        Hmm, that's odd, it works fine for me:

        There was someone with a similar problem some time ago, could you try uninstalling the extension and then re-installing it?

        • »
          »
          »
          »
          »
          6 years ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          Nope its still not working.

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

          The strange thing or probably not so strange thing is that my normal parser works in Intellij.

          See this.

          Is there any problem with my chrome? Though, I believe that it's quite unlikely.

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

This is a great fix for the old buggy CHelper extension. One question though, is it able to parse USACO problems in analysis mode? Whenever I try to do that the icon is grayed out. I have my IntelliJ application open, and the extension works on everything but USACO. Ex:

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

    At the moment it is only able to parse problem pages. I'll see if I can add support for analysis mode and train.usaco.org problems later this week.

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

    I just released an update with support for USACO Analysis mode and USACO Training (among some other new parsers). It's currently in the reviewing stage in both Mozilla's AMO and Chrome's Web Store, so it should be available in a few hours.

    • »
      »
      »
      6 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Works now, thanks!

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

      The codeforces parser seems to be bugged currently, doesn't read in the input into the tester. Works for contest parser though, so that's kind of strange. Also, the task class doesn't have the problem name in the task name anymore, which is something I liked about this parser over the other one. Great job on your plugin so far though.

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

        If someone else happens to have the same issue with the extension not reading the input and output: make sure you have the latest version of the CHelper plugin installed, and make sure you are not using CHelper Beta (the non-beta version is newer than the beta version).

        As for the issue with the names, I just released an update that fixes this. It's currently in the reviewing stage, so it should be available in a few hours.

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

Great job! However it doesn't work for authenticated proxies. Can you please fix it?

  • »
    »
    6 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I'm not entirely sure what you mean. Does the plus icon not become green (clickable), or does it not parse the problem/contest when it's active and you click on it?

    If it's the first case, please send the link to the problem so I can look into it.

    If it's the latter and you're sure it has to do with your proxy, you'll have to look into your browser's settings. My extension simply tells the browser to make some post requests to a few localhost links, where-as the browser handles the proxy configuration.

    • »
      »
      »
      6 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      You're right, my bad. Its the 2nd case. Thanks!