upd: Added a few platforms, also you can now flame me here: https://discord.com/invite/R66xRwH7N5
tl;dr cp-notes.com is a web application where you can maintain a profile of solved/unsolved problems from several different competitive programming platforms. You can write notes about each problem (with support for LaTeX and images!). If you think your notes for a particular problem are substantial/useful enough, you may choose to publish them so that they will be publicly visible. Public notes can be upvoted, searched for, and will have their own comment section. Receiving upvotes on your public notes will also raise your contribution, for which there is a leaderboard (lol)
Oh yeah, you can also link your CF account in your settings page, and have your username color displayed.
Screenshots
Motivation
- I think the primary purpose of my site is to be an improvement tool. In my opinion, in order to "become good," it's necessary to reflect on past problems and try to reuse their ideas. Even adding notes to your profile which you don't write anything about can be helpful in this regard, since they serve as some sort of personal reminder. Of course, I can't really personally attest to the success of this because I suck at CP myself, but I very highly suspect that it's true :^)
- Reading editorials has to be one of my least favorite parts of CP. It feels quite often that the most helpful insight into the problem is some random comment. This is quite annoying in of itself, since finding this comment usually requires a lot of needless scrolling. A solution to this could be posting such insights as published notes on my website. (On an unrelated note, it's completely understandable that editorials are usually quite informal for the sake of conciseness, writing that stuff is exhausting)
- This last point is definitely more speculative, but it seems that there's a good number of people who have some desire to share cool thoughts about cool problems! Talking/writing about this stuff is fun — I know I'm not completely alone in having a problems blog which nobody reads.
- I'm currently on a gap year, and making this site made me feel productive!
Kinda expecting this site to be a complete flop, so give me github stars to fill the void in my soul once it inevitably does!
The idea is absolutely wonderful. One suggestion: you could add something like folders. So if I have lets say dfs related problems, then I could make a dfs folder and place the notes of those problems in that particular folder.
Ayy, thanks! :D
That's a good suggestion, sounds quite tough to implement but I could definitely see that being useful.
instead of a folder, you can add labels similar to google keep notes.
The interface is really slick and this seems like a very cool thing that the community can contribute to. I love it!
Very nicely done, I think this will really help the CP community, though you might want to do something about topics like this :P
Thank you! and LOL, I thought about removing that but it feels kinda bad to "silence" people. idk, we'll see.
Also, unrelated but I realized that capital letters get converted into lowercase ones for some reason for usernames, so yours unfortunately looks a lot worse on my site. Not really sure why, but gonna look into it.
It's just a troll/shitposter lol, not the actual Codechef admin, you don't need to feel bad about it,
unleash your inner dictator.Thanks for the second bit :)
wow cool...and latex is the cherry on top!
Hey man! I REALLY love this website. Can't thank you enough for making this. A few questions:
If by any chance, this project fails, will u still keep this website active? Because if the website shuts down, then a lot of important notes people write for themselves or others will be lost.
Can you add an option to add tags in our notes? Our own tag, not the tags provided by default. Also, can we filter the notes by our custom made tags?
Can you add an option to add code snippets inside our notes? Also, there are no undo buttons or undo shortcut like ctrl + z. These would be a nice improvement in my opinion.
Thank you! And to answer your questions:
Here's my general list of priorities though:
Glad to know that the notes will stay safe. But I really hope you do not shut it down (even if it fails :p).
I wish you luck and will inbox you if any new idea for any usable feature pops in my mind. Happy coding!
omg there's a contribution feature? cracks knuckles
omg there's monogon's comment ? upvote
Good job and good luck!
As a beginner in web development, I'm interested in what front-end or back-end tools did you use for this project?
The frontend is written in pure React, and the backend is a bunch of AWS services, primarily API gateway + lambda :p
I would like to suggest to link also problems from https://open.kattis.com/problems
There are a lot of high quality problems and as of today editorials are hard to find.
Ah thanks, I'll add that to the list of platforms to be scraped (the only other one being USACO atm lol)
lol what is this default profile picture?
anyways, something along the lines of myanimelist but for programming is a pretty great idea and quite useful.
The website is awesome! I think it would be more convienient if users can open a post by clicking on the post heading instead of clicking the view button on the most liked notes page.
a friend mentioned this a while ago actually lol. sure, I'll change it next time I make a commit
Could you add an "Other" option and allow us to enter a custom name in the "Platform" list when we try to add a problem? For example, a lot of us might be using oj.uz to solve OI problems but that judge isn't there.
I disagree with this actually, I think populating problem tables with user data can be quite problematic for the following reasons:
I'd much rather write scrapers for each platform separately, it doesn't take much time. I'll consider adding oj.uz tho
I meant that you could add a user specific custom name feature (and people can't publicly post with custom name judges) instead of custom names appearing for everyone on the platform, but thanks!
ohh, gotcha
I've thought of "miscellaneous" notes before, but no guarantees on when that'll be done lol
Holy shit man...
Can you pls add these features too?
dear askd could you edit your infamous comment with Barack Obama pyramids?
Could you add yukicoder to the list of platforms?
sure!
Thanks for the awesome contribution. Can you tell how can we make our own notes?
Click on your username -> your profile -> '+' button in the bottom-right
It isn't possible yet to add problems from AtCoder Beginner Contest 200.
UPD: now it's possible. Btw the editor is a bit unstable (it crashed $$$3$$$ times on my browser, probably while hovering over both plain and formatted text at the same time; I use Firefox 82).
I'll make the problem-updater run more frequently (currently it's set to just once per day). As for the editor crashing, that's quite unfortunate :(
I think the issue is that up until very recently, Firefox didn't have support for the 'beforeinput' event, which I had to create an evidently buggy work-around for. Updating Firefox should help make it not crash at least, but there were still some selection issues when I was testing a while ago :/ Thanks for the feedback tho!
Update request :
1. auto detection of site and problem name from problem link than typing site name and problem name that would be more convenient.
askd how much time you put in to build it up and what tech did you used ?
around 7 months I think! and here's what I told someone else in terms of services:
"The frontend is written in pure React, and the backend is a bunch of AWS services, primarily API gateway + lambda :p"
Could you add DMOJ as a platform? Thanks!
sure! gimme like a few days
Auto comment: topic has been updated by askd (previous revision, new revision, compare).
I am not able to link my Code Forces name. It asks me to change my CF last name(English) but when I change my name and click verify I am getting the message that
last name isn't as requested.
Can you please check?Also one more doubt: Should the last name be
I am authorizing cp-notes to use my identity: DDD7B994NCFA7N4216N837ANE69F600981B1
or only theDDD7B994NCFA7N4216N837ANE69F600981B1
? Currently the first one gives length > 50 chars error on codeforces. The second one gives the formerlast name isn't as requested
error :(Ah sorry about that, the verification thing might be broken now, I'm not really sure :(
I don't really feel like fixing it since the site doesn't seem to be used much now, but I manually set your CF username to be correct for you