12
\$\begingroup\$

Currently we have a policy that all answers must be serious contenders, or they are subject to deletion. This can be found in help/on-topic:

Be a serious contender for the winning criteria in use. For example, an entry to a code golf contest needs to be golfed, and an entry to a speed contest should make some attempt to be fast.

This policy to my knowledge, stems from this answer by Dennis discussing invalid answers. It's discussing a lot of stuff, and the bit about non-serious contenders is sort of tucked away in there without an discussion at length. Yet somehow this has become site policy to the extent it appears in our help center.

Well I would like to discuss it, because honestly I don't like it. I've outlined my perspective in an answer so that you can see where I'm coming from, but mostly I'd like to open this up to discussion. So then ...

Is this a good policy? What arguments are there in favor or against it?

\$\endgroup\$
4
  • 1
    \$\begingroup\$ I'm pretty sure there is a meta post about emo wolf somewhere too that would be relevant, but searching emo brings up 0 results. \$\endgroup\$
    – Grain Ghost Mod
    Oct 5 at 0:27
  • 2
    \$\begingroup\$ this one about std loopholes? \$\endgroup\$
    – hyper-neutrino Mod
    Oct 5 at 0:29
  • \$\begingroup\$ What do you think about code challenges with custom scoring? E.g. in "prediction" tasks where you have to balance between output accuracy and code length, someone rushes out a trivial solution that always produces constant "average" output. I find these highly controversial: yes, they are short and choose the "best" value to return (contenders?), and even sort of useful as a baseline score (if your solution is worse than this, it's clearly no good). But they collect way too many upvotes for negligible effort, so that I'd really prefer seeing them as CW, or even edited in the question... \$\endgroup\$
    – Kirill L.
    Oct 5 at 9:43
17
\$\begingroup\$

I dislike our current stance on "serious contenders"

TL;DR: we don't make it clear enough that answers with self-imposed restrictions are valid

From my conversations with moderators, from posts by former moderators and just from my own anecdotal experience, I've realised that our moderators spent a decent chunk of their time deleting "invalid" answers that have been flagged by users without the ability to vote to delete (and, often, those with). A lot of these answers are not "serious contenders", which, as we define in our help center, all answers must be.

In my opinion, this is a waste of our moderators, and an example of one of my personal biggest issues with this site. Answers shouldn't be deleted on a "technicality" that they aren't properly golfed, or don't make a proper effort to improve their score. Answers should be deleted if they clearly don't belong on the site.

For me, there are three types of answers that should be considered, mostly as I've seen all of them deleted under the excuse of "not a serious contender" before:

These are similar to WW's categories, especially the first two

  1. Answers where the code obviously makes no attempt to improve their score, and the answer isn't especially "impressive" or "high-effort". Most often, these are posted by new users who simply attempt to solve the task and don't understand that improving their score is just as central as actually solving the task.

    The appropriate course of action here is to inform the user that they should make an effort to improve their score, and, if nothing has changed after a certain amount of time, flag for deletion. This site is not a code sharing site, we specifically host coding challenges.

  2. Answers where the code makes no attempt to improve their score, but is a "high-effort" answer (often the first answer to a long-unanswered challenge). These are, most of the time, posted by users familiar with the site rules, and are aware of our current stances on serious contenders.

    I dislike these answers. Considering only for the moment, I absolutely believe that these answers should, at the very minimum, make an effort to golf their code (remove whitespace, shorten variable names, no comments etc.). To me, this is a form of quality control; we are, fundamentally, a site for competitive programming, not a forum where people can share any and all code they find interesting, and so answers must be somewhat competitive, even if that is removing whitespace and using l=1 instead of length_of_string = 1.

  3. Answers which impose some form of restriction on themselves - self-imposed, not by the challenge - and attempt to improve their score as much as possible, under this restriction. One such example is this answer, which was recently brought up in chat

    These answers are hurt the most by our current stance. They are valid answers that solve the task and make an effort to improve their score. By all readings of the rules, these should be valid. However, there are a few users who hold the belief that, unless an answer does everything within its power to improve its score, it doesn't count as a "serious contender". I strongly disagree with this. Both of the two answers about serious contenders loosely allude to these answers, with wording such as

    A serious contender is a submission which makes a serious effort towards optimizing the submission's score within the chosen language(s) and other choices (such as algorithm choice or optional restrictions/bonuses taken).

    Emphasis mine

    However, this isn't exactly clear, nor obvious.

    Additionally, this potentially opens the door to someone posting a non-golfed answer to a challenge and claiming they're imposing the restriction that their code must be readable (or have a minimum length of 200 or whatever). This is an obvious exploitation of our rules, and I'd expect our moderators to handle this appropriately. This isn't a concern.

I have no issue with 1. being deleted. Additionally, if the answer author to 2. fails to edit in a score improvement after a reasonable amount of time, I have no qualms about their answer being deleted. However, it's when 3. gets deleted that I take issue.


Therefore, I'd like the policy to change slightly. I believe that the two following changes would greatly improve how we handle these kind of answers:

  1. Making it clearer in the help center and meta answers that self-restricted answers can still be serious contenders, and
  2. Sticking to this; our moderators should decline flags that ask for these answers to be deleted, and make it clear to flaggers that these answers are perfectly acceptable per our rules.

Additionally, I realise that "impressive" or "high-effort" are, by no means, objectively definable terms. I have no issue with this, as this kind of "exception handling" is precisely what we elect our moderators for. I trust that our mods can distinguish between "low-effort" answers that should be deleted and "high-effort" answers that should be cultivated to make the answer a bit fit for the site.

\$\endgroup\$
3
  • 5
    \$\begingroup\$ For number 2, I think we should emphasize that posting your full, ungolfed code is perfectly fine, as long as you have a properly golfed version as part of your submission, which you use for scoring. \$\endgroup\$ Oct 5 at 2:15
  • 4
    \$\begingroup\$ Number 2, is at least for me already the case. If an answer is golfed with some restriction, regardless of what the restriction is, I'm denying flags to delete it. \$\endgroup\$
    – Grain Ghost Mod
    Oct 5 at 8:19
  • 1
    \$\begingroup\$ I think it's harsh, and not really in the spirit of this site, to go deleting such answers. There is a new label system coming out for answers. Could we not just label some answers and 'Non-Competing'? Thus we preserve gems of code and effort that obviously the world should see, and that reflect well on the skill sets of us here. And it's easy to sort/scroll to the competing answers. \$\endgroup\$
    – ouflak
    Oct 13 at 12:11
8
\$\begingroup\$

My Perspective

This is not a complete answer, it's just offering my perspective. It leans towards suggesting action, but I'd rather let other people speak before we are done here. I'm putting it here to not clutter up the post.

In my experience as moderator, of the non-serious contenders (which were flagged as such) there are broadly three categories:

  • Answers that are very high effort but not going towards the Scoring Criterion. These are commonly answers that choose a difficult or complex language or algorithm to tackle a problem. Sometimes they are the first answer to a long unanswered challenge.

Now I'd really prefer these to be golfed, and I probably won't upvote them until they do. An answer that solves the challenge in \$O(\log(n))\$ using a special algorithm and is well golfed considering is worth an upvote from me.

However at the same time I recognize that when you've spent hours working on something and it finally works, you just want to post it. Maybe take a nap and come back to it later, maybe someone will even spot an error before you start golfing it. And not everything that you plan on coming back to later always gets done.

As a moderator when I'm asked to delete these answers it pains me. Usually these languish in the inbox for a couple of days because none of us wants to delete something that clearly took hours of time. Only a small percentage of the answers we delete are ever undeleted. I don't feel like this motivates anyone to golf.

The second category is pretty similar to the first

  • Answers that are either clever, jokes or both. They were never really about golfing, and golfing would sort of defeat the point.

To be clear some jokes actually fall IMO into the first category as a joke can sometimes just be a strange restriction. For example writing an answer that when read aloud forms a limerick. It's a joke sure, but it's also a restriction just like choosing a funny esolang is. So to these what I've said in the first one applies, I'd like to see an effort put into the SC in addition to the effort put towards making it funny, but I'm loath to delete answers that don't.

With that aside this is probably actually the smallest category. However these answers get the most attention so I think they have an outsized influence. I don't really like being the fun police coming and telling people they are having fun wrong, but these answers are pretty rare so it's not a big issue for me.

The last type of answer is one I'm pretty apathetic about:

  • Answers made by new users who just don't seem to know what code-golf is and just solve the problem.

I just don't care about these answers, they can be deleted or kept. Doesn't matter to me. At most I think it's a little hostile to newcomers to delete their posts like this, but they don't seem to be interested in what our site is about anyway.


So these answers aren't great, I'm probably not upvoting any of them. However my view is that this isn't really enough to justify deleting them. I don't see them as a blight that needs to be excised, they're just not great, and I wonder if deleting them is doing more harm than good.


One last thought

and challenges are a little different from other types of challenges. In a normal challenge if someone posts a bad answer, at worst you have to look at it. But when someone posts an answer that scores poorly you are still forced to interact with it.

It is my impression that for certain KotHs there are sometimes answers that don't score very well but are designed to just mess with the game. My perspective here is that if this is possible that's probably indicative of a flaw in the challenge design. Other than answers specifically made to boost another answer KotHs should be resistant to some amount of stupidity.

However I get it can be annoying, and maybe we ought to have different rules specifically for challenges with inter-player interaction.

See also:

  • This standard loophole on suicidal submissions
  • ME's comment:

    I find that joke submissions in general are very important to get many KotHs going. For instance, if people had only ever posted serious submissions to RPSLV, there would have been no game, since nothing can beat a uniformly random strategy with anything but luck. Furthermore, KotHs need many submissions to be fun, and a bunch of less serious submissions in the beginning help a lot to explore the strategy space and gather some popularity.

\$\endgroup\$
3
  • 2
    \$\begingroup\$ A slightly different perspective for 1 and 2: You could sort of view those self imposed restrictions as implicitly creating a language which is just an identical version of JS/Python/whatever which just has a requirement that the source code must, e.g., be a limerick, which could be viewed as another reason they're fine. \$\endgroup\$ Oct 5 at 2:21
  • 1
    \$\begingroup\$ @RedwolfPrograms That is my view too. Here I'm talking about answers that have a self imposed restriction but don't do anything past make a valid answer. \$\endgroup\$
    – Grain Ghost Mod
    Oct 5 at 8:17
  • \$\begingroup\$ The problem with @RedwolfPrograms' proposed interpretation is that you would need an implementation for the language, which is impossible since whether something is a limerick or not is not an objective criterion and cannot be verified by a computer. \$\endgroup\$ Oct 9 at 4:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .