Python-based Project Euler command line tool
github.com
github.com
The worst thing that could happen to Project Euler is people creating profiles and populating them with answers they didn't come up with, so they can pad their resume or other. Having PE be flooded with profiles that have hundreds of "solved" problems would ruin it for those of us who enjoy the challenge and take pride in their solved count.
When you are publishing large corpuses of answers to Github, your personal site, etc., you make it that much more likely for Project Euler to be ruined in the future.
I get the incentive behind including solutions in your tool, and there are definitely worse things in the world- but it's just not cool and disrespectful to the PE community.
[0]: http://projecteuler.net/about - see penultimate entry
Your project is going to have a meaningful, and measurably beneficial impact on my life, and I'd like to say thank you very much for the hard work you've put into this wonderful tool!
That would be quite a feat, considering:
"As of 27 June 2014, problems are now accessible again and their solutions can be checked. However registering and logging into accounts remains disabled, and no new problems are being added."
I was actually going to add a feature request to allow "solving" problems via the command line -- but I see the site itself (while it doesn't register profiles/solutions) uses a captcha -- So I guess the script would have to fetch that, display it, and ask for the captcha number as well :-/
(Or try to defeat the captcha which would of course be much more interesting, but perhaps less good for the euler project...)
One interesting potential mode would be to (as suggested below) encrypt the solutions and switch --verify to --attempt, then keep track of # of attempts for scorekeeping.
The worst thing that could happen to Project Euler is that it goes offline and doesn't make the questions available. The second worst thing is that it stays online, but doesn't let you know if you've solved the questions.
I was going to add the third worst thing would be for Project Euler to stay online, validate answers, but not add any questions - but, really - there are enough questions now to keep me going for a couple years.
Perhaps you and I look at PE differently, but, I do not care at all how many other people solve, or don't solve questions - beyond giving me some insight into how difficult some questions are, and whether I am missing something obvious.
Solving PE problems is a reward in and of itself - I would never be so douchey as to point to my PE Profile - For one, there is no way of determining how long I took to answer the questions, and, even a scripter of my incredible limited means, can answer most of the questions with enough time and effort.
I think PE is one of the great gifts on the Internet, and, while I think anyone who actually uses a "show answer" tool is being retarded, and both (A) completely missing the point of PE, and (B) robbing themselves of the experience of solving the problems - the only person who is being hurt by that tool, is the person using it, not me.
So - I perhaps agree with you that the feature is a Bad Idea(tm), that does not bring value to it's users, but, at the very least, does not impact me negatively.
* What would have been cool by the author, is that instead of giving answers, would have been to give hints pointing to various algorithm, or mathematical concepts. For example, there might be a question that is trivial to answer if you know (and can implement) Dijkstra's algorithm - and 90%+ of the value of the question can be reaped by reading up about Dijkstra's algorithm, seeing how it applies here, implementing it.
I'd still like to spend an hour or so on my own, but if I run into a wall, simply getting a hint that says, "Dijkstra's algorithm" or "Trémaux's algorithm" would still let me capture most of the value of the question.
Alternatively, if there is a generalized list of useful algorithms for Project Euler somewhere out there, it would be trivial to add it to a short "problem hints"-esque section in the readme.
Here's hoping we can get more than 202 questions from PE into EulerPy.
Potential Solution: store the solutions file in an obfuscated format that is easy to decrypt
Can't this be seen as a downside as well? I'd much rather have an option of first just seeing if I'm eg off by a magnitude, or an iteration -- rather than having my fun ruined by someone showing me the whole solution...
Edit: I just realized that implementing encryption with respect to the problem answers would imply removing the `--cheat` option. I've started a discussion [1] in the repository's issue tracker about this topic.
Some of the PE questions, will probably benefit from the actual images, particularly ones like:
Thanks, keep up the good work!
- Giancarlos
Not sure about the cheat option though, kinda goes against the ethos of the site?