Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.

I do agree that the question could have been much better stated. However, I can't see any request for a book, library, etc., in the question: The provided reason for putting this on hold seems strange.

It is true that the question doesn't provide a clear question in the form "How do I ...". Still, the question does say "am not sure how to go forward with it" which is almost the same.

I have seen so many worse homework questions being answered (even by high-rep users), but for some reason a majority finds this question particularly bad.

There is no decent way to vote "This question is not good enough, it does not belong here". So SO users just pick anything from the close dialog. Like "unclear" even when it is quite obvious what he wants or "too broad" even when it is too localized. Or anything else, the color of the garbage bag doesn't matter when you put out the trash.
– Hans PassantFeb 29 '16 at 18:44

4

@HansPassant - I see your point but in that case wouldn't it be better to add such a vote possibility instead of having meaningless "closed-because" descriptions.
– 4386427Feb 29 '16 at 18:51

1

@4386427 To ask too broad questions and asking for resources have some significant overlaps from definition. That might be how it came out like that. I'd probably chosen too broad probably.
– πάντα ῥεῖFeb 29 '16 at 18:52

31

Of course, and such possibilities existed. But they were removed, SE claimed they were being abused. They weren't, they just generated too many complaints. The community has no say about the content of the dialog.
– Hans PassantFeb 29 '16 at 18:54

@Hans arguably any question can be put on hold as "unclear": "it's hard to tell exactly what is being asked". The problem statement may be clear; the starting point for neither the OP nor answerers is. In this case that would also be "Too Broad", as there are a brazillion ways to do what the OP is asking. Both close reasons point the OP to narrow down their question, either by including more requirements (and no, "I think I can do so using threads" is not that) or more code, so answerers have a starting point.
– CodeCasterFeb 29 '16 at 18:57

6

I looked at that question, decided it had a huge chameleon/vamp risk, and just ignored it. It was going to suck in OS API calls and the like, and there would no end to the 'gimme the exact codez'. I ran the other way:)
– Martin JamesFeb 29 '16 at 19:11

Also, there was no limits given on the interval. Calling the function in a tight loop would ensure that it got callled more frequently than one in 60 seconds, but may be unacceptable. A 60-sec Sleep() loop would suffice for many purposes, but would suck in the FUD from those who insist in scaring developers by bleating about 'sleep has no guarantees and your thread may not run for hours' etc. In all, underspecified problem and teh question, in its present form, should stay closed.
– Martin JamesFeb 29 '16 at 19:17

@MartinJames - The question was marked as off-topic but has been changed to unclear. I agree that the question was somewhat unclear and especially missing details. When such questions are asked, they usually get comments asking for clarifications - that didn't happen here - the question was just nuked. That puzzles me as I think the question actually had some potential. But who am I to blow against the wind :-)
– 4386427Feb 29 '16 at 19:25

"a majority found this question bad" actually it only takes 5 normal users to close a question as off-topic and 3-5 users (depending on reputation) to delete a question. Far from a majority.
– TylerHMar 1 '16 at 15:15

7

+1 for the color of the garbage bag does not matter when taking out trash
– SharkMar 1 '16 at 15:31

5 Answers
5

Because when faced with a badly-written question, many close voters find their own judgment impaired, almost as though they've subconsciously become confused in sympathy to the asker's confusion.

The question as it stands is probably unanswerable; without knowing the asker's underlying goal or even the platform on which he's building, it's unlikely anyone would be able to provide a useful answer except perhaps by accident. The proper close reason here is "unclear", although "too broad" might suffice in a pinch.

I actually prefer "too broad" in this situation. "Unclear" leads to more questions like this one stating something like, "How is this unclear? It's obvious that the OP wants to do this thing." It certainly is too broad for the reasons you've stated in your answer.
– codeMagicFeb 29 '16 at 18:41

11

Because, when faced with a badly-written question, many close voters will go with whatever the first person chose as the close reason, preserving their precious gray-matter clock cycles for more important things. The only thing that's a bigger time waster than arguing whether a question should be closed or not is arguing about the correct close reason on a question that clearly and unambiguously should be closed anyway.
– Robert Harvey♦Mar 1 '16 at 18:21

Ironically, that didn't happen here though, @robert - there were three different reasons chosen, and the "winning" reason wasn't the first.
– Shog9♦Mar 1 '16 at 18:52

@RobertHarvey I totally agree and it can really be splitting hairs sometimes which reason to choose.
– Yvette Colomb♦Mar 2 '16 at 14:03

I have seen so many worse homework questions being answered (even by high rep users) but for some reason a majority finds this question particularly bad.

In some ways, a question getting closed is luck of the draw, just like getting an answer. It depends on how many people are around, whether their attention is drawn to it, whether they have votes left for the day, and so on.

The post score is an imperfect measure of good and bad, again in part because it's dependent on voting members seeing the post. A bunch of voters saw this post and decided it was worth one of their 30 daily votes. Another post might be just as worth a vote in your opinion, and even in the opinion of these same voters, but if they never see that post, they won't vote on it.

IIRC, the close reason ("Questions asking us to recommend or find a book [...]") was signed with the names of 3 out of the 5 voters.
– LouisFeb 29 '16 at 19:11

Where do you see that information, @Louis? I wasn't aware it was still available after closure.
– Josh CaswellFeb 29 '16 at 19:14

The signatures were in the box that shows the close reason, but Shog did a reopen/close to change the reason to a better one. I happened to look at the question before Shog did his thing. I don't know where you'd find this information now. I'm guessing it is no longer available to regular users.
– LouisFeb 29 '16 at 19:17

Sheesh, yeah, I forgot that was the way they were displayed (and that's a pretty old change now, too). I guess I don't have much call for looking at close banners in detail.
– Josh CaswellFeb 29 '16 at 19:19

4

There were 3 different close reasons selected by voters; one by three of them.
– Shog9♦Feb 29 '16 at 21:18

This definitely falls under the umbrella of questions that are bad for reasons that SO has, as-yet, failed to adequately classify. I wrote on this some years ago when we canned the "Too Localized" and "Requires minimal understanding" close-reasons.

It is too broad because it requires a complex solution, not because it is vague. OP has more of a project, and less of a problem. They don't know how to complete this project and they are asking the question from too high a level - the requirement is quite specific, but they are stuck too high up the tree for an answer to be clear, concise, and have lasting utility to others.

The question is out of its depth and has failed to subdivide the problem into more basic steps. As developers we recognize this as someone who is flailing - not only do they not know how to move forward with the project, they don't even know how to analyze the problem to a level sufficient to understand what pieces they will need to complete it. OP doesn't need help with a programming problem - what they really need is to first become a better programmer.

Attempting to answer the question then becomes nothing to do with actually solving a specific software problem so much as it becomes a tutorial session for OP. While this is great for OP, it ends up happening beneath the shadow of a badly worded question that ends up having nothing to do with the deficiencies that OP needs corrected to solve it. The answer then has little lasting value for anyone else, and for other developers who also have lacking fundamentals the probability that they will find the question and derive use from it is practically zero.

The question, therefore, simply does not belong on the site and has little value to SO.

This actually seems pretty clear to me. The user wants the function to keep track of how long it's been since the last time the function has been called, and print a message if it's been longer that 60 seconds.

If it does not get called in 60 seconds then I need that function to
display an error message and then continue after programmer calls it
again.

The part in bold tells me that OP is just looking to do the check on the next call, nothing fancy like having a timer that triggers a signal.

"If it does not get called in 60 seconds then I need that function to display an error message" - so no, not just on the next call. Just 60 seconds after the last call.
– CodeCasterFeb 29 '16 at 18:59

1

@CodeCaster That's not the the way I read it. "I need that function to display an error message and continue" tells me the function in question does the test, not some external process.
– dbushFeb 29 '16 at 19:04

9

So yeah, it should be closed as unclear, until the OP clarifies what exactly they're looking for. Ambiguous language falls under that as well.
– CodeCasterFeb 29 '16 at 19:06

The question has a contradiction in terms that limits its usefulness. "if [foo] does not get called..., [foo] should display an error message". Something that is not called cannot display anything by definition. So yes, the question was unclear.
– ArkadiyMar 1 '16 at 15:51

1

@Arkadiy I don't see a contradiction here. It says it should "display an error message and then continue after programming calls it again". Put another way, When ever this function is called, if it's been more than 60 seconds since the last call, print an error message.
– dbushMar 1 '16 at 15:57

6

@dbush - this is one possible interpretation. Another interpretation I can think of is "If the function is not called for more than 60 seconds, an error message should be printed when 60 seconds period expires". As someone said above, " it's unlikely anyone would be able to provide a useful answer except perhaps by accident." You may have hit on the right interpretation, or I may have hit on the right interpretation, but it's quite accidental. That's the very definition of unclear question.
– ArkadiyMar 1 '16 at 16:03