### polarity-'s blog

By polarity-, 2 months ago,

Hello Codeforces users.

Today I would like to introduce Arugo, which is a website that provides virtual rating while practicing on problemset.

On this website, you can practice problems that are suggested through a suggestion system or by your custom choice. Each problem has a window of 80 minutes to solve and if you manage to solve it in time, please validate and you will earn virtual rating. However, if you gave up early or time runs out, you will lose rating eventually. Rating progress will be displayed at the homepage through a graph like in Codeforces and through it, you can visualize your progress and stay motivated to keep going.

Rating progress preview
Challenge preview

This site is inspired by my past training days, which I always wanted to have something like this to aid my training. Hope that it will help a lot of you who are grinding the problemset and is obsessed with the problem solved count (like me) soon reach a new level. It is my first-year project so bugs are unavoidable. If you have any trouble with it please post an issue at the GitHub I linked on the page or just comment down in the blog.

Special thanks to Lyde, rainn511, Lucario387 and many more for testing and giving helpful ideas so that I can complete my website.

Have fun training .

Edit: Thank you very much for kind words . If you want to contribute to the site, feel free to reach out to me .

Edit 2: Much thanks to emorgan5289 for pointing out a vulnerability in the registration process. I had it patched for now.

• +547

 » 2 months ago, # |   +32 feature request: extension for chrome to integrate with cf
•  » » 2 months ago, # ^ |   +6 I will try to make one in the future, thank you for thea idea.
 » 2 months ago, # |   +8 This is really cool , Great Work !!
•  » » 2 months ago, # ^ |   +4 Thank you i'll fix it asap :love:
•  » » » 2 months ago, # ^ |   +29 Also, you should make sure that when you poll for the recent CE submission, you check that the submission time is after the registration process was started -- otherwise, I could attack it like this: suppose some user has gotten CE on problem X in the past, then I repeatedly attempt to register with that person's username and allow the timer to expire, until I get X as the one I am supposed to submit to. Then I would automatically pass and take that person's username.
•  » » » » 2 months ago, # ^ |   0 Yup, I will surely try to fix it. Probably just allow one verification per validation query so no one can reuse a submission. :blove: Much thanks for your comment.
 » 2 months ago, # |   +8 I love the idea! Great work.
 » 2 months ago, # |   0 khủng
 » 2 months ago, # |   +9 I've been wanting this for a while...glad it's finally out!
 » 2 months ago, # | ← Rev. 2 →   +8 The problems are overlapping here, hiding the rating change.I use Google Chrome (the same thing occurs in Opera) and the zoom is at 100%.Btw, thank you so much for this site.
•  » » 2 months ago, # ^ |   0 I will take a look into this. Thank you for the information.
•  » » 2 months ago, # ^ |   +13 Fixed, and less visually retarded (I hope).
•  » » » 2 months ago, # ^ |   0 It's ok now, thanks for fixing this.
 » 2 months ago, # |   +11 Thank you for the awesome website!Suggestion: the Reset Progress button should ask for confirmation
•  » » 2 months ago, # ^ |   0 Thank you, I'll be on it.
•  » » 2 months ago, # ^ |   +16 Confirmation added.
 » 2 months ago, # |   +2 loved the ingenious way of verifying cf handle via a compilation error on random problem.
 » 2 months ago, # | ← Rev. 3 →   +20 greatest codeforces related website till dateI have a suggestion.If someone solves faster than 80 minutes and with less wrong submissions he/she will get more points
•  » » 2 months ago, # ^ |   0 Thank you for the idea. I will try to come up with a formula to it.
 » 2 months ago, # |   +18 Amazing tool! I finally have the motivation to solve random problems now. One suggestion is adding a "Congratulations on solving" or "Accepted" in green text after we solve a problem. It feels good to see that.
•  » » 2 months ago, # ^ | ← Rev. 2 →   0 Thank you I will try to add it.Edit: Added.
 » 2 months ago, # |   +8 Great! This is really cool..
 » 2 months ago, # |   +18 Thanks for this incredible tool! A request from my side would be to add a "User History" page with the list of problems solved + time taken.
•  » » 2 months ago, # ^ |   0 Thank you I will consider adding it in the future.
 » 2 months ago, # |   +11 I was looking for something like that to come. Thanks, mate.Request: Can you please add a customizable time limit. I think for many problems 80 minutes is too much.
•  » » 2 months ago, # ^ |   0 I will try to add custom time limit soon.
 » 2 months ago, # |   +8 Great Website...Finally I have motivation to solve problems besides duelling on errichto's server and doing VC on my own.
 » 2 months ago, # |   +8 Not sure if this is a known error, but right now when I click on challenge I get shown this: I'm not a web developer so I have no clue what this means! Hopefully you might understand it. (https://i.ibb.co/Vq4P3cr/Screen-Shot-2021-11-12-at-8-54-30-AM.png)
•  » » 2 months ago, # ^ |   0 Sorry I will investigate into this >_<
•  » » » 2 months ago, # ^ |   +8 No worries! I love the site. Also the error seems to be gone now.
 » 2 months ago, # |   +8 How to handle this????This handle has not submitted a compile error to 1302I recently.
•  » » 2 months ago, # ^ |   0 You can submit a compile error to that problem, and also make sure that it is the last submission to codeforces by the time you register. I am trying to change the registration to a more secured way but for now that is how to register.
•  » » 2 months ago, # ^ |   0 You can change the password in the same way you register the account. Just type along with new password.
•  » » » 2 months ago, # ^ |   +8 Ok thanks. Just one more thing. When I open arugo on phone the top left three mark button isn't responding. So you might wanna check it out. Btw great work.
•  » » » » 2 months ago, # ^ |   0 Thank you. I will try to fix this.
 » 2 months ago, # |   +8 Thank you so much!
 » 2 months ago, # |   0 I have patched (maybe ?) the registration process with random problem and once validation per query. The time limit should be 2 minutes until it expires. Much thanks to emorgan5289 for pointing this out. Maybe can you guys give it a little test to it ?
•  » » 2 months ago, # ^ | ← Rev. 2 →   0 By the way I just saw a commit stating that you didn't encrypt passwords.... If I registered before that update, can I rest assured my password is safe now xD or should I reregister to update it.
•  » » » 2 months ago, # ^ | ← Rev. 3 →   +5 It was my mistake :( glad I found out in time. Sure you can register now. Actually maybe only 5 6 users were affected but if they query another change then it should begone.
 » 2 months ago, # |   +8 Great Website, Loving it!
 » 2 months ago, # |   +8 Thank you so much for this amazing website. Godspeed to you! I had a feature request: Can you please add a "user history" of solved problems? And beside each solved problem, can we see the rating of that problem? It would be nice if we could sort our solved problems by their rating. In that way, we can keep count of how many problems we solved from each level.
•  » » 2 months ago, # ^ | ← Rev. 2 →   +10 Thank you. User history added. Preview
 » 2 months ago, # |   0 Which approach is better for practicing problems in problemset: topic-wise or difficulty-wise?
•  » » 2 months ago, # ^ |   0 Half the battle is finding the type of problem. If there's a statement where a hidden graph solution is involved, you'll have lost that aspect if you know see the "graph" tag. Most of the time, you should practice difficulty wise. However, you should temporarily practice topic wise if you want to learn a new topic or you feel weak on a few topics.
 » 2 months ago, # |   +9 Suggestion — You can only see the rating change for the recommended problems. However, if you search for a problem, it just starts the timer. Could you add a feature where you can see the rating change and then validate? I understand if this is unnecessary because it could discourage people from solving problems if they don't want to lose rating.
 » 2 months ago, # | ← Rev. 2 →   0 Just got this error after writing a contest. I get this beauty every time I click on the "list" button. Not sure if it's related to writing the contest, but I mentioned it just in case, to make it easier for you to catch the error and figure out what's wrong.Anyway, thanks a lot for your awesome website!
•  » » 2 months ago, # ^ |   +5 sorry I will take a look at it
 » 2 months ago, # |   +9 great website, i love the idea!some suggestions: i'd like to have a verification after im done with a problem, e.g a message saying "you won\lost X points" consider adding vertices in the graph to separate problems — in your graph there's a continuous segment between problem 16 and problem 19. (like the codeforces rating graph) in the user history, when clicking on the delta button of problems, it scrolls the page to the graph, it would be nice if it could also highlight the relevant part of the graph. or, the vertices of the graph (idea #2) would be links to the problems. consider adding this question to the help & about: how do you calculate the rating change of problems? the tab is called "about/help" but the title is "help&about" (im running out of good ideas :) )
•  » » 2 months ago, # ^ |   +5 Much thanks for the suggestion. I will give it an update as soon as possible.
•  » » 2 months ago, # ^ |   +8 Being able to hover over graph vertices would be also really nice, I didn't realize that I used it so often on Codeforces. So I definitely suggest improving graphs to be your first priority. Thanks for such a cool website!
•  » » 2 months ago, # ^ | ← Rev. 3 →   +14 Graph updated. Preview
•  » » » 2 months ago, # ^ |   +8 looks good! another suggestion, i think reversing the user history would make more sense — usually the latest is on the top.
•  » » » » 2 months ago, # ^ |   +5 Fixed.
•  » » » » » 2 months ago, # ^ |   0 thank you!
•  » » 2 months ago, # ^ | ← Rev. 2 →   +5 Formula added. Spoiler
•  » » » 2 months ago, # ^ |   0 thank you!
•  » » » 2 months ago, # ^ |   0 and what about the magnitude? is it getting bigger when you solve a lot of problems in a row? i think mine is currently about 15.
•  » » » » 2 months ago, # ^ |   +6 Yes I changed it to 16 since I think the old magnitude is a bit small.
 » 2 months ago, # |   +7 Great Work!!
 » 2 months ago, # |   +14 How are the problems suggested? Is there any particular way or they are just random tasks with near ratings? Anyway, thanks it seems as a helpful tool <3.
•  » » 2 months ago, # ^ |   +5 For now, I am letting it pick random problems but prioritizing those without very few submissions.
 » 2 months ago, # |   +11 I've started challenge, but got AC only after about 2 hours from timer was started. After that I've clicked 'validation' button — I thought that it would check real duration, so my rating would decrease. But my rating increased: i think it is because i haven't reload page and timer on the page showed 5 minutes to the end.Is it bug or feature?
•  » » 2 months ago, # ^ |   +8 Thank you for reporting, I will fix it asap.
 » 2 months ago, # |   +11 This website is great. Please add the option to customize the time limit so that a person can set the time limit lesser than 80 minutes if they want.
 » 2 months ago, # |   -22 I'm a dragon and my fire is the worst.
 » 2 months ago, # |   +9 I'm about to lose rating because CF API is not working. This is like the 4th website built on the CF API that I'm breaking because of my huge submission count.pls help
•  » » 2 months ago, # ^ | ← Rev. 4 →   +11 I will try to come up with a cache solution for this >_
•  » » » 2 months ago, # ^ |   +9 Let's also ping MikeMirzayanov himself if he knows anything about why the user.status API sometimes randomly returns Internal Server Error, especially with a large number of submissions. Shouldn't it be just Call limit exceeded if we've reached the quota?
 » 2 months ago, # |   +12 Another suggestion.It is required to refresh every time to see how many minutes left.Can you make the clock dynamic?
•  » » 2 months ago, # ^ | ← Rev. 2 →   +1 Solved thanks to ssvb.
•  » » » 2 months ago, # ^ |   +8 I'm not a web developer, but isn't it basically just something as simple as adding something like https://www.w3schools.com/howto/howto_js_countdown.asp to https://github.com/polarity-cf/arugo/blob/main/templates/challenge.html
•  » » » » 2 months ago, # ^ |   +1 Thank you for your help, I think I overlooked it and got it solved now.
•  » » 2 months ago, # ^ |   +1 thanks ssvb and polarity-
 » 7 weeks ago, # |   +5 One suggestion ..plz discard the "discard challenge" . that's defeats the purpose of the site
 » 7 weeks ago, # |   +16 The colors feel a bit off. Otherwise breathtaking!
 » 7 weeks ago, # |   +18 Today the site suggested a problem that was already solved by me. I don't know if the repeat was intentional. Also, my previous submission was in div2 contest but the suggested problem was from div1 -> this might be the problem if repeat was not intentional.
 » 5 weeks ago, # |   +9 Suggestion: the Manual Challenge Choice should show the problem found and ask for confirmation. Sometimes I may enter a wrong problem ID that I don’t want.
•  » » 4 weeks ago, # ^ |   0 Updated, you can now have a confirmation before accepting that challenge.
 » 5 weeks ago, # |   +9 really thank you for this website, I have become addicted to it, I hope that you will add Atcoder support as well in future :), doomo arigato !
•  » » 3 weeks ago, # ^ |   +8 polarity- Are you planning to push the feature of atcoder support in near future ?
•  » » » 3 weeks ago, # ^ |   0 I am afraid that it won't be in the near future, but I will give it a try one day. For the time being, practicing on kenkoooo is still great I believe (even if I'm building one for atcoder, I will probably have to use kenkoooo's unofficial API too).
•  » » » » 3 weeks ago, # ^ |   0 np man, take your time.
 » 4 weeks ago, # |   +8 Thank you for the website. By the way I cannot login to the website after changing the username, hope you can fix it soon.
•  » » 4 weeks ago, # ^ |   0 Thank you for reporting this. Please login with your old handle and when you login it will update your new handle automatically.
 » 4 weeks ago, # |   +8 When I try to register it says "No such handle authorization query been made." I didn't change my handle btw.
•  » » 3 weeks ago, # ^ |   0 Thank you for letting me know, I've fixed it
•  » » » 3 weeks ago, # ^ |   0 Unfortunately I still have the same issue.
 » 3 weeks ago, # |   +8 A great project. Keeps one motivated to practice more and more questions by consistently pushing the limits.
 » 3 weeks ago, # |   +8 Thank you for such good tool, it's peaks problem exactly for user level, agree to previous comment, it's keeps motivated.
 » 3 weeks ago, # |   +9 Feature request: In user history show how much time it cost to solve problem
 » 3 weeks ago, # |   +8 Feature request: Add profile page that can be shared by link