26
\$\begingroup\$

I had a small programming problem, Checking a file contains only null bytes. Having chanced on PPCG a few days before, I thought this could be an interesting place to see various ways someone might go about it, since answers look pretty imaginative.

I did not realize how tightly the problems have to be stated, how constrained, in order to make it an undisputable competition. I am more interested in ideas, and never dreamed of constraining so much problem statements. Creativity sometimes comes from finding the right constraint to lift.

I also see from some solutions that PPCG ideas are often less than practical. I did get several warnings on that, but only after my question had been posted.

Whatever my motivations, I feel there has been a real misunderstanding. I have been actively contributing to many SE sites, and I was taken by surprise as this site works very differently from all others I visited.

It could be wise to warn very strongly, with precise procedure to follow (sandbox), newcomers to this site, telling them it has a very different way of doing things. I had come to rely on my knowledge of SE. I did get a warning from Rushabh Mehta, but pretty much what I expect anywhere. The specificity of PPCG in the way it works (not in topic) is not emphasized.

Well, there is not much more that I can say, other than thanking all the decent people who tried to help me. It turns out that I cannot afford the time to do more on my question, and that was why I offered/suggested to have it removed. Actually, writing this note is my only way to try making a constructive contribution. I hope it is seen positively.

\$\endgroup\$
  • 4
    \$\begingroup\$ An interesting read might be this Meta discussion. It may give you some insight in the peculiarities of PPCG, and the efforts to deal with this from the community. \$\endgroup\$ – Sanchises Aug 22 '18 at 14:38
  • 6
    \$\begingroup\$ Thank you for posting this, really. You've come at a critical time not just for us but for all SEs, since the community is trying to figure out how to improve new user policies. \$\endgroup\$ – a spaghetto Aug 22 '18 at 14:52
  • 3
    \$\begingroup\$ @quartata The company. \$\endgroup\$ – user202729 Aug 22 '18 at 14:53
  • 2
    \$\begingroup\$ @user202729 The community has been very much involved in the process too... \$\endgroup\$ – trichoplax Aug 23 '18 at 21:32
  • 1
    \$\begingroup\$ @babou answering your final sentence, yes this is absolutely seen positively (as can be seen from all the upvotes). An outside perspective is very useful, and also provides more evidence for the changes to the site that we have requested in the post Sanchises links to. Thank you very much for taking the time to write this. \$\endgroup\$ – trichoplax Aug 23 '18 at 21:38
  • \$\begingroup\$ Although the main site needs rigorous specification to keep the competition interesting and fair, we do still have informal discussions too - you're very welcome to drop into Code Golf Chat \$\endgroup\$ – trichoplax Aug 23 '18 at 21:42
  • \$\begingroup\$ @trichoplax Whatever. Having a question closed as off-topic doesn't have anything to do with being welcoming. \$\endgroup\$ – user202729 Aug 24 '18 at 15:31
  • 4
    \$\begingroup\$ @user202729 I have no idea what that is a reply to or why you think I might disagree with it. \$\endgroup\$ – trichoplax Aug 24 '18 at 19:05
18
\$\begingroup\$

Hello and Welcome to PPCG!

Indeed, while PPCG is somewhat different from the main Stack Overflow site, there is a lot of information about questions that can be found in the Help pages, specifically the on-topic page and the pages this links to.

the on-topic page states:

All challenge questions on this site should have:

  • A clear specification of what constitutes a correct submission, so that it is possible to indisputably decide whether an entry is valid or not. Test cases are highly encouraged.
  • An objective primary winning criterion, so that it is possible to indisputably decide which entry should win.

These questions are surprisingly hard to write well. It is advisable to follow a standard template and to post them first and get feedback in the meta Sandbox so that flaws can be fixed before someone posts an answer which exploits them.

And then has links to a standard template found at Template For Challenges, as well as a sandbox where you can propose your challenge in a controlled environment and get feedback on it so it can be perfected.

The on-topic page also states:

However, if you have a general programming question, it should be asked on Stack Overflow or a different Stack Exchange site.

A lot of users on this site would consider your challenge, and especially the extra details you give, to be a general programming question and as such off-topic for this site, and I respectfully tend to agree with it. That is not to say that it is a poor challenge to propose. The challenge itself is something with clear definitions (given an input of a file name, return a truthy value if the file has only nullbytes, falsey otherwise), which lends itself well to this stack.

However, the intent of this site is for theoretical answers to theoretical challenges. It is not recommended to use any answer to any question on this site unless you understand what it does, and more importantly what it does not do. A lot of these answers sacrifice usability, performance, readability, security, portability or a combination of all these factors in return for minor improvements in their score. They can have a solution which takes 3 hours to complete for nontrivial results, or a solution that only works on a certain version of their language, or a solution that allows for remote code execution, or a solution that crashes your PC if the input is of the wrong type,... A solution can have any number of problems that are not apparent from a quick read.

In the end, this site is a series of competitions. And as with any competition, users will attempt to do any number of things within the rules of the challenge to win it. That's why it is important to fill the bigger loopholes before posting something.

I think in your situation, you chose the wrong site to ask this question on. A better solution would have been to choose a language yourself, write something that works, and then ask for advice on Code Review on how to improve it.

If you still want to participate in this community after these remarks and the ones you got on your question, you are welcome to post your challenge in the sandbox linked above. You should remove the elements where you say you want to use it yourself and try to adhere to the template in the other link. You can mention the part about the origin of the files (the dd copies) in the introduction to give some more clarity on the scope of the topic.

Lastly, don't be discouraged by this early setback. PPCG is the hardest ICT-related site on the entire network to create good questions for, and one of the hardest in general along with Worldbuilding, Puzzles and Skeptics. It is why existing users strongly urge new users to first post their question in the sandbox. We can indeed be a bit strict about our scope, but it is necessary to ensure a fair competition.

\$\endgroup\$
  • 2
    \$\begingroup\$ @Nzall Excellent answer! Couldn't have said it better myself \$\endgroup\$ – Don Thousand Aug 22 '18 at 15:27
  • 5
    \$\begingroup\$ To clarify one point: I did go to the help page, and it looks pretty much like all help pages, so that I had no idea what might be important , among the listed topics, and different from all the help pages I had seen before. Maybe you should emphasize not so much the help page as the section "What topics can I ask about here?", or some special section: "What is really different here". I do not know whether the logic of the site can make it a required reading, before posting anything. \$\endgroup\$ – babou Aug 22 '18 at 17:02
  • 2
    \$\begingroup\$ @babou If only Stack Exchange implements that for us... Most features on the site is not customized to this site. \$\endgroup\$ – user202729 Aug 23 '18 at 7:11
  • 5
    \$\begingroup\$ @babou, the on-topic page is the only one which a stack's community moderators can edit. The rest of the help pages are the same on all stacks, so you only need to read them on one, but it's always worth reading the on-topic page when joining a new stack. It's a shame that this isn't more obvious within the help centre itself. \$\endgroup\$ – Peter Taylor Aug 23 '18 at 8:17
  • \$\begingroup\$ @PeterTaylor It seems indeed that emphasizing the "on topic" page is the first thing that should be done. But still, since it is likely to be pretty much the same on most sites, up to the name of the site, people may tend to overlook it after a while, with no ill-effect in general. So there should be a way to insist when really critical. \$\endgroup\$ – babou Aug 23 '18 at 8:59

You must log in to answer this question.

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