askd's blog

By askd, history, 6 weeks ago, In English

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!

Frontend: https://github.com/askdfjlas/askdfjlas.github.io

Backend: https://github.com/askdfjlas/cp-notes-lambda

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

»
6 weeks ago, # |
  Vote: I like it +8 Vote: I do not like it

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.

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

    Ayy, thanks! :D

    That's a good suggestion, sounds quite tough to implement but I could definitely see that being useful.

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

      instead of a folder, you can add labels similar to google keep notes.

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

The interface is really slick and this seems like a very cool thing that the community can contribute to. I love it!

»
6 weeks ago, # |
  Vote: I like it +8 Vote: I do not like 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

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

    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.

    • »
      »
      »
      6 weeks ago, # ^ |
        Vote: I like it 0 Vote: I do not like 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 :)

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

wow cool...and latex is the cherry on top!

»
6 weeks ago, # |
  Vote: I like it +11 Vote: I do not like it

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.

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

    Thank you! And to answer your questions:

    • Good question, I hadn't really thought of that. If I do decide to take it down, then I'll be sure to keep all notes, and share them with their authors, at least just the raw JSON strings :p
    • This kind of sounds like the "folders" idea that was mentioned earlier, I think it's a good idea but not my highest priority atm.
    • Code snippets, links, and an undo feature for the editor are pretty high up there though, I do agree that these are super important.

    Here's my general list of priorities though:

    1. Update CF ratings and colors each time there's a contest
    2. Make a notification system for comments
    3. Text editor stuff as you mentioned
    4. Other stuff
    • »
      »
      »
      6 weeks ago, # ^ |
        Vote: I like it +5 Vote: I do not like it

      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!

»
6 weeks ago, # |
  Vote: I like it +129 Vote: I do not like it

omg there's a contribution feature? cracks knuckles

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

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?

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

    The frontend is written in pure React, and the backend is a bunch of AWS services, primarily API gateway + lambda :p

»
6 weeks ago, # |
  Vote: I like it +9 Vote: I do not like it

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.

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

    Ah thanks, I'll add that to the list of platforms to be scraped (the only other one being USACO atm lol)

»
6 weeks ago, # |
  Vote: I like it +21 Vote: I do not like it

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.

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

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.

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

    a friend mentioned this a while ago actually lol. sure, I'll change it next time I make a commit

»
6 weeks ago, # |
Rev. 2   Vote: I like it +11 Vote: I do not like it

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.

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

    I disagree with this actually, I think populating problem tables with user data can be quite problematic for the following reasons:

    • there's a lot of room for typos and user error
    • people can abuse it to add false info
    • most importantly, there's going to be at least like 20 random judges nobody's ever heard of before when they click the platform dropdown

    I'd much rather write scrapers for each platform separately, it doesn't take much time. I'll consider adding oj.uz tho

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

      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!

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

        ohh, gotcha

        I've thought of "miscellaneous" notes before, but no guarantees on when that'll be done lol

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

          being able to enter a custom platform (or just misc notes) would be very cool! That way we could write notes about problems from many different places without you having to manually add the sites to the list of platforms.

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

Holy shit man...

Can you pls add these features too?

  1. Fork a note (for example op's note doesn't have an abridge statement, one might want to add, or any personal note even, and "forking" is for giving op their credit :D)
  2. Let users create their own sections, subsections, subsubsections.
  3. A dedicated page to list (on-demand) all the notes in their respective sections, subsections... And this page needs to be super concise -- just the problem link and one or two lines will be shown, if one clicks "expand", it will load the actual note.
  4. Grab and include someone else's published note in my own collection.
»
5 weeks ago, # |
  Vote: I like it +1 Vote: I do not like it

dear askd could you edit your infamous comment with Barack Obama pyramids?

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

Could you add yukicoder to the list of platforms?

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

Thanks for the awesome contribution. Can you tell how can we make our own notes?

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

    Click on your username -> your profile -> '+' button in the bottom-right

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

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).

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

    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!

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

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.

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

askd how much time you put in to build it up and what tech did you used ?

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

    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"

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

Could you add DMOJ as a platform? Thanks!

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

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