Блог пользователя askd

Автор askd, история, 4 года назад, По-английски

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

  • Проголосовать: нравится
  • +314
  • Проголосовать: не нравится

»
4 года назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

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.

  • »
    »
    4 года назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    Ayy, thanks! :D

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

»
4 года назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

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

»
4 года назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

Very nicely done, I think this will really help the CP community, though you might want to do something about topics like this :P

  • »
    »
    4 года назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    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.

    • »
      »
      »
      4 года назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

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

»
4 года назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

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

»
4 года назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится

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.

  • »
    »
    4 года назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

    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
    • »
      »
      »
      4 года назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится

      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!

»
4 года назад, # |
  Проголосовать: нравится +129 Проголосовать: не нравится

omg there's a contribution feature? cracks knuckles

»
4 года назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

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?

  • »
    »
    4 года назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится

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

»
4 года назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

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.

  • »
    »
    4 года назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

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

»
4 года назад, # |
  Проголосовать: нравится +21 Проголосовать: не нравится

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.

»
4 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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.

  • »
    »
    4 года назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

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

»
4 года назад, # |
Rev. 2   Проголосовать: нравится +11 Проголосовать: не нравится

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.

  • »
    »
    4 года назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    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

    • »
      »
      »
      4 года назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      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!

      • »
        »
        »
        »
        4 года назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        ohh, gotcha

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

»
4 года назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

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.
»
4 года назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

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

»
4 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Could you add yukicoder to the list of platforms?

»
4 года назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

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

  • »
    »
    4 года назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

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

»
4 года назад, # |
Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

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

  • »
    »
    4 года назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    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!

»
4 года назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

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.

»
4 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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

  • »
    »
    4 года назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    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"

»
4 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Could you add DMOJ as a platform? Thanks!

»
3 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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

»
21 месяц назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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 the DDD7B994NCFA7N4216N837ANE69F600981B1? Currently the first one gives length > 50 chars error on codeforces. The second one gives the former last name isn't as requested error :(

  • »
    »
    21 месяц назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

    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