Skip to content
This repository has been archived by the owner on Oct 1, 2019. It is now read-only.

Please don't create a database of inputs (and other issues) #6

Closed
topaz opened this issue Nov 27, 2018 · 5 comments
Closed

Please don't create a database of inputs (and other issues) #6

topaz opened this issue Nov 27, 2018 · 5 comments
Assignees

Comments

@topaz
Copy link

topaz commented Nov 27, 2018

I'm the creator of Advent of Code. A system similar to this one was recently proposed on Reddit; it makes me nervous for a few reasons which I listed in a reply:

https://www.reddit.com/r/adventofcode/comments/9yylms/advent_of_code_where_submitted_code_is_tested_on/ea5ck28/?context=3

Please don't create a database of inputs. Doing this would make it easy for someone to rip and re-host my work.

Doing a beauty contest, size comparison, etc don't require a common runtime; you can already compare the code of many solutions on the megathreads or even GitHub.

Some puzzles (intentionally) use a lot of CPU or memory, which could make hosting this service expensive.

Without having a human check the submitted source code, there's not a good way to verify that the program doesn't simply print the answer and immediately exit.

Do not duplicate the puzzle descriptions on such a site. Doing so could remove adventofcode.com entirely from users' workflows and effectively steal my work and use it to also steal my traffic. (In fact, I'm already nervous about this even without duplicating puzzle descriptions.)

Basically: I spend hundreds and hundreds of hours building this stuff. Please be careful not to ruin it.

@borkdude borkdude self-assigned this Nov 27, 2018
@borkdude
Copy link
Owner

borkdude commented Nov 27, 2018

@topaz

Why would copying one of those repo's input here make you more nervous?
If you'd like I could encrypt the input + outputs using a secret key, so ripping them is pointless, but since the source repos do not do this, the problem isn't fundamentally solved?

  • about CPU + human check: I've thought about this and want to mark some tests as CPU-intensive, so they are skipped on CI. I'm the one accepting PRs so the solutions here are manually curated.
  • this repo will not have puzzle descriptions, only code that was already public in other repos.

@topaz
Copy link
Author

topaz commented Nov 27, 2018

From the readme: "This excludes the possibility that your solution only works for your specific input." - I might be misunderstanding, then, but it sounds here like you're collecting many inputs. There are many, but only finitely so, and having many different inputs is one of the ways I try to protect AoC from copying. Single inputs is fine and already happens in many places, as you've pointed out.

Your other comments alleviate the corresponding concerns.

@borkdude
Copy link
Owner

@topaz Let me also address that concern: I will not collect many inputs, only one per day, from my personal Advent of Code login.

I detected that some 2017 solutions didn't work with my input, while others did. So I could confirm those other solutions weren't generally correct, only for their specific input. I changed the README to:

  • Your Advent of Code solutions will be checked against the same input as others. This diminishes the possibility that your solution only works for your specific input.

I hope all of your concerns are alleviated. If not, please let me know and I would be happy to work it out.

@topaz
Copy link
Author

topaz commented Nov 27, 2018

All of my concerns have been alleviated. Thank you for taking the time to work through them with me.

@topaz topaz closed this as completed Nov 27, 2018
@borkdude
Copy link
Owner

@topaz No problem at all and thanks for creating Advent of Code!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants