New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Looking at Other Solutions #6
Comments
Thinking about this a little more, after @lizmat went and name dropped the idea in the latest Perl 6 weekly! https://p6weekly.wordpress.com/2017/10/30/2017-44-nom-mastered/ What if I made it so you could only see solutions that are equal or greater to your own in length? You still might pick up ideas to help you advance, which would then let you see more solutions, but it would stop people just copying the top solution and calling it a day leading to a very boring and unfair leaderboard. What do you think @AlexDaniel? Shouldn't be that hard to implement, I was thinking of adding a clickable eye to the leaderboard for ones you can see, perhaps this icon - http://fontawesome.io/icon/eye/ |
I'm fine with that. That will be per language, right? (e.g. if I'm first with a perl 6 solution I wouldn't be able to view Ruby solutions) |
I hadn't thought about language (teach me to design things at 3am!), but yeah per language makes sense. |
If you do this you should only be able to see solutions of people whose best is worse than your best (within a single language) |
I agree with the minimum age restriction, and I even proposed 1 year in the OP (although in a different way). Maybe 1 year is too much though. As for allowing only the best players to do this, I don't know. It feels like this will only make it easier for those who already have great scores (and I guess this means that comparatively it will be harder for beginners to start out). |
@JRaspass: On top of the issues @thospel has mentioned, there's another reason to not be able to see other solutions at all: You may have submitted your solution as number 1 in your language, but some part of the number 2 solution might be able to be used to make yours even shorter. I suspect that could be the case for me too, if viewing others' longer-than-yours solutions gets implemented. |
@GolfingSuccess: Isn't that the whole point of allowing to view shorter/equal-length solutions of others? However there is a problem with allowing people of equal-length to view their solutions. It will then become a matter of who submits later and code-golf should be about code-size and not timing: Imagine Alice has a solution with N bytes, Eve comes and manages to get N bytes too with a different approach, sees a trick in Alices' submission and is able to beat Alice. Now even though Alice was faster, just because she wasn't around in the moment of the tie, she has a disadvantage. There are two solutions to that issue:
|
@bforte As I said, even a 55-byte solution might have a trick that can help your 44-byter become a 39-byter, for example, so I've proposed that the only solutions you can see should be yours. |
@GolfingSuccess Yes, that's why I actually think it's a good idea to implement that. For me, that would be the exact reason why this would be a good feature. Continuing your example, a problem I can see: If the 55-byte person gets theirs down to 44 bytes they should be able to look at the person's with (now) 39 bytes old 44-byter. So, the system would need to keep a history of incrementally better solutions to be fair. |
@bforte I feel like this would be too complicated to implement. Also, regarding your first paragraph, I think I disagree tangentially here. All efforts should be your own, not "oh my I just found hidden gem in long solution my solution now even shorter". |
What about a “Let others see my solutions” checkbox? It can be off by default. |
@GolfingSuccess I see, makes sense. However if both parties could actually do that, it would be nice. Though, it would require a different and more complicated system - yes. |
I'd like to be on the record having stated that I don't really like the idea. Primarily, because it gives an advantage to those who already have the upper hand, and doesn't seem to serve much other purpose, as far as I can tell. An alternative, long standing tradition in code golf is to post-mortem certain challenges after a specific time period, so that all solutions become visible to everyone at the same time. It keeps the leader boards from becoming stagnant, and allows people to learn new tricks from the top solutions. Sometimes post-mortem submissions are accepted, but generally only if they are strictly shorter than the previously shortest solution. If others' solutions are to be visible in any form, I would be much more in favor of this instead. Addendum: Certain "classic" code golfs, e.g. 99 Bottles of Beer, FizzBuzz, Pi, etc. probably shouldn't ever be post-mortemed, but that's purely my opinion. Maybe you could hold a poll to see which challenge the majority of people would like to see post-portemed before closing it. |
@primo-ppcg Regarding the poll, I'm not sure if that's possible. Challenges do get added over time, and I don't think James can open a poll for each and every one. |
@GolfingSuccess Let's say, for examle, that it became policy to close one challenge every 3 months. For the duration of those 3 months, a poll could be running asking users which challenge they would like to see post mortemed next. I don't believe that this is a complex task. |
If I may throw my $.02 into this hot topic, I'm leaning towards allowing people to "publish" their solution if they wish, hopefully enough people (but not too many people) will do this to make it interesting? |
But what would happen to the leaderboard if the shortest solution (or one of the shortest) was published? Wouldn't basically everyone copy the solution? It might be possible to only reveal certain parts of a solution without giving too much away though. |
FWIW, that’s simple to solve: don’t allow identical solutions if the solution is already published?
… On 3 Jan 2019, at 05:14, E-Hern Lee ***@***.***> wrote:
But what would happen to the leaderboard if the shortest solution (or one of the shortest) was published? Wouldn't basically everyone copy the solution?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
@lizmat The problem with that is people will just flip a variable name or two, right now getting there first guarantees you to be above any duplicates, but they will score identically. |
Seeing others' solutions on active puzzles doesn't seem like it would have good results, but after a puzzle has been mostly inactive for a long enough time, exposing the solutions would be very interesting. For active puzzles, I would like to be able to run the other solutions with custom input, to experiment on them. |
I agree with @primo-ppcg and I don't like the idea as stated on the about page: “a feature is in development to allow you to see any solution that you already beaten in score.” In an offline code golf competition, I compared my solution with the winners, after it was over. Although my solution was longer, I had an insight that the winner didn't have and combining the ideas in both of our solutions resulted in an even smaller solution. It was fun to write the shorter solution together, but it wouldn't have felt fair if only the winner had access to both solutions. I don't think it's fair to give more of an advantage to the people who are already ahead. I understand that it can be fun to show off your clever golfing solutions and I don't have any suggestions for that for this site. |
IMO not being able to look at other solutions is better (actually, I'm no longer sure), so I don't think there's a need to any dramatic changes. However, I still want to show off some of the perl 6 tricks, so maybe some solutions should become public under certain conditions?
For example, if some solution was 1st for 1 year, let's make it public? Maybe this way others will have a chance to beat it.
See also: https://irclog.perlgeek.de/perl6/2017-09-19#i_15187089
The text was updated successfully, but these errors were encountered: