Skip to content
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

Open
AlexDaniel opened this issue Sep 21, 2017 · 19 comments
Open

Looking at Other Solutions #6

AlexDaniel opened this issue Sep 21, 2017 · 19 comments
Labels

Comments

@AlexDaniel
Copy link

@AlexDaniel AlexDaniel commented Sep 21, 2017

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

@JRaspass

This comment has been minimized.

Copy link
Collaborator

@JRaspass JRaspass commented Oct 31, 2017

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/

@AlexDaniel

This comment has been minimized.

Copy link
Author

@AlexDaniel AlexDaniel commented Oct 31, 2017

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)

@JRaspass

This comment has been minimized.

Copy link
Collaborator

@JRaspass JRaspass commented Oct 31, 2017

I hadn't thought about language (teach me to design things at 3am!), but yeah per language makes sense.

@thospel

This comment has been minimized.

Copy link

@thospel thospel commented Apr 2, 2018

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)
Since quite often you submit a few worse versions while working towards your best result. Other people with good scores (but not better than your best) would then be able to see these not yet fully optimized versions and also do the often simple final optimization. Simularly you should only be able to see solutions of a certain minimum age, otherwise you could catch a good method while the other user is still optimizing it.

@AlexDaniel

This comment has been minimized.

Copy link
Author

@AlexDaniel AlexDaniel commented Apr 2, 2018

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

@GolfingSuccess

This comment has been minimized.

Copy link

@GolfingSuccess GolfingSuccess commented Apr 7, 2018

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

@bforte

This comment has been minimized.

Copy link

@bforte bforte commented Dec 26, 2018

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

  1. Only allow to view strictly longer solutions.
  2. Keep a history of submissions and allow users to view longer/equal-length solutions within that history.
@GolfingSuccess

This comment has been minimized.

Copy link

@GolfingSuccess GolfingSuccess commented Dec 27, 2018

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

@bforte

This comment has been minimized.

Copy link

@bforte bforte commented Dec 27, 2018

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

@GolfingSuccess

This comment has been minimized.

Copy link

@GolfingSuccess GolfingSuccess commented Dec 27, 2018

@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".

@AlexDaniel

This comment has been minimized.

Copy link
Author

@AlexDaniel AlexDaniel commented Dec 27, 2018

What about a “Let others see my solutions” checkbox? It can be off by default.

@bforte

This comment has been minimized.

Copy link

@bforte bforte commented Dec 28, 2018

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

@primo-ppcg

This comment has been minimized.

Copy link
Contributor

@primo-ppcg primo-ppcg commented Dec 28, 2018

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.

@GolfingSuccess

This comment has been minimized.

Copy link

@GolfingSuccess GolfingSuccess commented Dec 28, 2018

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

@primo-ppcg

This comment has been minimized.

Copy link
Contributor

@primo-ppcg primo-ppcg commented Dec 28, 2018

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

@JRaspass

This comment has been minimized.

Copy link
Collaborator

@JRaspass JRaspass commented Jan 2, 2019

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?

@somebody1234

This comment has been minimized.

Copy link

@somebody1234 somebody1234 commented Jan 3, 2019

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.

@lizmat

This comment has been minimized.

Copy link

@lizmat lizmat commented Jan 3, 2019

@JRaspass

This comment has been minimized.

Copy link
Collaborator

@JRaspass JRaspass commented Jan 3, 2019

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

@JRaspass JRaspass changed the title Looking at other solutions Looking at Other Solutions Jul 17, 2019
@JRaspass JRaspass added the idea label Jul 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
8 participants
You can’t perform that action at this time.