10
\$\begingroup\$

I've been lurking on this site long before I made my account, and I've seen many cases where people are downvoted simply because they post an answer in the same language as someone else and it happens to be a few bytes longer because it uses a different approach. From my understanding, this is supposed to be a recreational programming site - why are some people so unfriendly that they don't want you to post your work if it's not shorter than an answer from someone who's probably been golfing several years longer than a lot of us?

I've also noticed sometimes people don't read entire questions before trying to find ways to nitpick them. People who post questions are just trying to make fun challenges for everyone, why must we pick their questions to pieces? Don't get me wrong - I understand a lot of questions are hot garbage or just don't belong here. If you don't want to do someone's question because of a certain constraint but other people seem to be answering it fine, am I mistaken in thinking the polite thing to do is to leave it alone and let people have their fun instead of trying to ruin it for everyone else? (an example of this can be found in this recent question - to me, those requirements look fair. I'm bringing this specific example up because I spent two hours golfing this challenge only to find out people closed it because of its constraint, and now I can't even share my answer with anyone.

In short, the question I want answered is - why is our community so quick to jump on bandwagons, or to downvote answers that might be a few bytes longer, or in general just not be friendly like a recreational programming website should be?

| |
\$\endgroup\$
  • 8
    \$\begingroup\$ Could you link some examples of the first paragraph? I've been on this site for a while and don't actually remember examples of answers being downvoted for being longer. \$\endgroup\$ – xnor Jun 19 at 23:50
  • 3
    \$\begingroup\$ "I've also noticed sometimes people don't read entire questions before trying to find ways to nitpick them." Could you please explain what you'd like to see happen instead? Is the issue that the nitpick is something that's actually explained if the reader were to read further? Would you want further issues collected in a cohesive single comment rather than posted piecemeal? Or it mostly just the nitpicking itself you take issue with? \$\endgroup\$ – xnor Jun 19 at 23:53
  • 1
    \$\begingroup\$ @xnor my issue with nitpicking stems both from not carefully reading question requirements and also with people using Things to avoid when writing challenges in a way that seems wrong. One example of something that seems like a bit of a misuse of the above link would be in this challenge where the original intent was to just print a long string, where banning built-ins that make this challenge 1/2 \$\endgroup\$ – AdamS Jun 20 at 1:15
  • 1
    \$\begingroup\$ 2/2 trivial (such as built-ins specifically made for compressing DNA sequences or that might actually contain the string that needs to be printed) only makes the challenge better by disallowing answers that use incredibly cheap solutions and are not in the spirit of the challenge, but due to pressure built-ins for these purposes became allowed \$\endgroup\$ – AdamS Jun 20 at 1:16
  • \$\begingroup\$ @xnor I'll try to find examples to support my first paragraph, give me a little bit..... \$\endgroup\$ – AdamS Jun 20 at 1:18
  • 1
    \$\begingroup\$ FYI You aren't the only one to whom those requirements look fair, because the question you linked to has 3 (out of the 5 that would be needed to reopen it) reopen votes, one of which comes from me. I personally think that it there is a sitewide policy that "banning built-ins makes a challenge unclear", that should be decided in a separate dedicated meta post, not buried in the answer to a mostly unrelated question. \$\endgroup\$ – pppery Jun 20 at 2:22
  • 3
    \$\begingroup\$ I was one of the close-voters of that Dates challenge, and not due to ban of built-ins, but for fuzzy wording in general (which is always better to resolve before the answers start incoming). Now I actually voted to reopen it, but I still don't really like the challenge, especially the requirement of outputting textual month names... As for the genome compression - here I fully agree that built-ins absolutely don't belong to the spirit of the challenge \$\endgroup\$ – Kirill L. Jun 20 at 7:31
  • 4
    \$\begingroup\$ As the OP on the DNA compression challenge, I removed the prohibition of built-ins that yielded genomic data, since it seemed that the only things it applied to were built-ins that retrieved data from the Internet, and getting data from the Internet is already forbidden as a standard loophole. \$\endgroup\$ – Mitchell Spector Jun 21 at 19:29
18
\$\begingroup\$

Conservation of nitpicking

I want to give a pragmatic answer on the need for nitpicking. By nitpicks, I mean tedious-seeming inquiries on minor points like "Can the list be empty?" or "Exactly how can a month be written in the input?".

Basically, nits left unpicked on the challenge will be picked in the answers. I've seen multiple answers get independent comments raising the same issue, questioning whether the answer is valid or a golf would be legal. Or, answers that each post two versions of the code, with one labelled like "If the month can be taken as a number".

The worst is when I have to delete my answer because I understood something to be allowed that wasn't. And I feel icky whenever I outgolf someone using an improvement that was only clarified to be legal after they submitted. Or, they might disagree if the issue is still unclear. We tend to be pretty non-competitive and non-confrontational here, but I do feel some tension when this happens, sometimes even avoiding it by not posting an answer I've written.

But now you might ask, why do we need to nitpick answers either? Can't we just let them be -- this is a recreational programming site? Well, it comes with the territory of golfing. We optimize relentlessly, which means we need to know exactly what the requirements are. It's no fun when a Do X without Y challenge devolves into rules-lawyering whether answers doing Y' are actually doing Y.

Many times an obscure corner case for which I ask for clarification actually came up while golfing a bizarre byte-save. Other times I ask right when I see the just-posted challenge and recognize an ambiguity that may come up in someone's golf. And sometimes, is bound to come up with so many answers doing so many weird things. These nitpicks aren't to hound the asker but to alert them to a potential issue they can then clarify before it impacts answerers.

I'll also add, we have reduced the need to nitpick by making defaults for inputs and outputs that are liberal yet well-specified, avoiding nitpicking on, say, exactly what can denote a list of numbers. And I think that's gone great, and would like to see more minor questions have standard answers to avoid them being asked again and again.

| |
\$\endgroup\$
  • \$\begingroup\$ “We tend to be pretty non-competitive here” *looks at site name* \$\endgroup\$ – caird coinheringaahing Jun 23 at 23:55
  • 2
    \$\begingroup\$ @cairdcoinheringaahing And I was even for "contest" in the name... \$\endgroup\$ – xnor Jun 24 at 0:27
7
\$\begingroup\$

I can only speak to the nitpicking point since I haven't seen any examples of the first point that I can remember. About this second point I have two things to say:

Nitpicking

First off nit picking is a rather loaded term. I can call pretty much any issue raised with a challenge as a nitpick and I can't really be proven wrong except in the most obvious of issues (e.g. the challenge is missing entirely). And it is easy enough to believe that the people who you see as nitpicking do not see it that way themselves.

So I think the question better asked is not "Why do people nitpick?" but more:

Why do these people care about issues that I don't see as significant?

and

Why does this site have a pattern of people caring about issues I don't see as significant?

I think the important factors here are site history and personal experience. I don't mean to talk down or condescend, but you are a new user to the site, and the users that are "nitpicking" at least in your example, have been here at least a bit longer than you. As you see more and more questions you get a sense of what is really an issue and what is not. People still disagree but a larger site culture does develop.

Now this can make things hostile to newcomers, that is true. Your experience is not unique or even very rare. A lot of people perceive certain issues being raised as nitpicking, and no one likes nitpicking.

This puts us in a balancing act of trying to keep a site culture that promotes healthy questions, and keeps returning users interested and a site culture that doesn't seem arbitrary and nitpicky to newcomers.

The best tool we have for this is the Meta, where we can explain the issues and summarize debates that have occurred over years or months into a clear couple of paragraphs.

And it is the case that in your example the "nitpickers" linked to the meta in their comments. At least in the example you linked users were operating with an established consensus behind them. That doesn't always make them right, but it does make it a little hard for me to call it nitpicking.

Bandwagon

This is also a rather loaded term. It seems to ascribe a certain arbitrariness to the motives of the people involved.

The likely explanation for me is that some blocks of users largely agree on what they want to see in the site, and for that reason vote together. I don't really see a lot of users voting for something just because other users have. It just doesn't seem very plausible.

But it can feel like there are gangs when the sites culture has reached an opinion. And there are divisive policy issues among code-golf users that can lead to factionalism. I see how this can be perceived as unfriendly.

| |
\$\endgroup\$
  • 3
    \$\begingroup\$ Great answer but I'd like to, as site tradition mandates, nitpick one thing. For bandwagoning, I see an effect in activity, where votes draw more attention and more votes, or people are more comfortable downvoting when they're not the first. As you say, people won't change their opinion from they see others do. I can see though the sway from not acting to acting looking like a bandwagon. \$\endgroup\$ – xnor Jun 20 at 2:09
6
\$\begingroup\$

Why do users nitpick questions?

Because it makes the challenges better (and hence, more fun for everyone), and evens the playing field.

I'm bringing this specific example up because I spent two hours golfing this challenge only to find out people closed it because of its constraint, and now I can't even share my answer with anyone.

Yep. That's why people try to quickly "nitpick" challenges to find problems and avoid this situation.

Why do users jump on bandwagons?

I have never seen anything like this. "Jumping on the bandwagon" means, doing something just because everyone else is doing it, even if it's of questionable value. You'd need some evidence for this.

| |
\$\endgroup\$
5
\$\begingroup\$

I can't comment on the "bandwagon", as doing so would include making assumptions about people's motivations for voting, while these cannot easily be determined.

Regarding nitpicking, note that challenges must have an objective scoring criterion, and thus, if a challenge isn't fully specified, it doesn't abide by the rules. Unobservable restrictions, like banning an underspecified class of built-ins, makes it impossible to even judge whether a particular answer is valid. A fortiori scoring it!

Furthermore, it is highly recommended to first post proposed challenges in the Sandbox so experienced users can review. This lessens the chance of disappointment from criticism upon launch. I personally recommend visiting The Nineteenth Byte chat room to request further review of a sandboxed challenge.

Considering the above, I find it very appropriate that the site carries the following warning on all main pages:

Code Golf Stack Exchange is a site for recreational programming competitions, not general programming questions. Challenges must have an objective scoring criterion, and it is highly recommended to first post proposed challenges in the Sandbox.

| |
\$\endgroup\$
  • \$\begingroup\$ I fixed two typos. If you disagree, please roll back. \$\endgroup\$ – Jonathan Frech Jun 25 at 8:28
  • \$\begingroup\$ @JonathanFrech No, that's perfect. Thanks! \$\endgroup\$ – Adám Jun 25 at 8:29
4
\$\begingroup\$

There are several questions in one; I'll share my perspective on some of them.


people are downvoted simply because ... it uses a different approach

We try to downvote content, not people. I can imagine that if you post a worse answer when a better answer already exists, you add clutter, so this is bad content. Unless it uses a different approach, of course! "Different approach" is a subjective term; I can only guess that for some people, approach doesn't matter at all - they judge answers by length alone. Especially if it's in a language which they don't understand.


I've also noticed sometimes people don't read entire questions ...

On this site, timing is very important. Sometimes, if you think 1 minute before doing some action, it's too late. For example, if the question is vague, you should close it before anyone posts an answer - then you can edit and reopen without the need to be careful not to invalidate existing answers. As a consequence, people try to do moderation (= nitpick) before reading the whole question! The thinking is:

This user is not one of the established users who post good challenges, so there must be a problem here somewhere. Let's find the first possible problem in the post and comment on it fast, before people try to solve the challenge! No need to read the whole post, because certainly the user doesn't clarify it later in the post!

(I may have exaggerated here)

| |
\$\endgroup\$

You must log in to answer this question.

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