meooow25 / carrot Goto Github PK
View Code? Open in Web Editor NEWA browser extension for Codeforces rating prediction
License: MIT License
A browser extension for Codeforces rating prediction
License: MIT License
To start, I want to say thank you for this amazing extension!!
But for some reason I am not getting predictions for today's contest. Can somebody tell me the reason or point me towards an explaination as to why predictions are not showing up for today's contest?
p.s. my profile is https://codeforces.com/profile/creamyCockroach
Carrot uses some arrows from the Miscellaneous Symbols and Arrows Unicode block.
These are currently ⮭, ⭜ and ⭝.
If you do not see three arrows above, your browser could not display them properly.
Windows users should already have the font Segoe UI Symbol, which can display these characters. On other platforms, if the arrows are not shown properly consider installing a font which can display them. I'm told a font called Symbola works, it's free for personal, non-commercial use, available here.
Carrot shows N/A for finished contests after you've changed your handle.
the error is here and the extension is not working any more
console.error('[Carrot] Predict error: %o', er);
fix please
It displays performance and final rating changes after the contest has finished, but not predicted deltas before rating changes are out.
Currently hard because of the number of API calls it would need (2 x number of contests).
Might be doable with some caching.
I know that the extension has not been updated for a long time, but still.
I think it's a good idea to add the user's performance to each round in the rating graph
Codeforces has added an includeRetired
param to user.ratedList
(quite some time ago) with an undocumented default of true
. This means that any user who hasn't been online in the last month but participates in a contest after Carrot has cached ratings (which within 1hr of a contest start by default) will appear to Carrot as a new user.
It's understandable that they might want to add a filter since the number of users on CF has grown rapidly and every request would a huge amount of data if all users were returned. I wish they wouldn't change things silently without any announcement or changelog, but that's a different matter.
I do not want to set includeRetired
to true in Carrot because, as mentioned, it would be a huge amount of data. But keeping it false means worse predictions (perfect prediction is impossible due to fake ratings anyway).
An endpoint that can used instead of user.ratedList
is user.info
. It can be argued to be more suitable for this use case than user.ratedList
. When this extension was written, however, it was unusable. But CF has added support for POST requests so it is usable now. This would mean more number of requests as opposed to one large request upfront. But it would only be the user info of the participants, so amount of data should be smaller.
Hello! Extremely helpful extension. You have my utmost appreciation for it.
Currently, the extension shows performance ratings only for the official contestants. I was wondering if it would be possible to include the unofficial contestants too during the performance rating calculation. It'll be very useful for the higher-rated contestants participating in Div2 rounds for practice to have an estimation of their performance.
My guess about the reason why it's not already included in the extension yet is that there's no way to distinguish between the unofficial contestants from the virtual contestants in Codeforces API. This surely is a problem, and there seems to be no easy workaround for it. But at least for the higher-rated contestants who participate in a contest on time as it happens, being able to view the combined performance rating in real-time or shortly after the contest ends could still be perfectly useful. So maybe there could be an option to view the combined performance ratings (for the higher-rated contestants) or only the official performance ratings?
Looking forward to learning your thoughts on this. Thanks!
carrot/carrot/src/content/content.js
Line 7 in 3befcc9
This Unicode escape character doesn't work on my local. Maybe change it? Also in that entire section adding words to explain what the symbols mean might be helpful.
Carrot adds 3 columns and people may not want them all.
I do not know about live prediction calculations but at least for performance calculations after the contest is done, unrated users count as having rating 0 instead of the default rating of 1400.
I believe this is because the ratingChange api response returns rating 0 but the default rating is only used if the rating is null.
One possible fix would be to also use default rating if the rating is zero. There may be some false positives who actually have rating zero but they should be negligible, as there currently is no active user who has that rating. I tested this and it seems more accurate than before.
Add explanation of these on chrome store.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.