There are a few people who frequent the Mathematica.SE site for the purpose of soliciting extensive free program development and/or debugging services. I think of such people as Tom Sawyers, and they really bug me. So I ask: can more be done to discourage such people?

What I'm thinking of is making a new reason available as a choice for closing a post, This would appear in the pop-up window from which someone voting to close picks their reason for doing so. I propose this because I don't think any of currently available reasons quite fit this kind post. I also suggest the following wording for the item.

It appears that the only purpose of this question is to solicit extensive free software development and/or debugging services. Providing such extensive services is not compatible with the goals of this site.

Is this a good idea? If there is another, better route that could pursued to suppress Tom Sawyers, please bring it up.

  • 6
    I'd be afraid that it would discourage such epic answers as Oleksandr's NMinimize solution. There's a fine line between asking for help, and asking everything to be done for you, and I don't think it can be clearly delineated.
    – rcollyer
    Commented Mar 13, 2013 at 11:51
  • @rcollyer. I considered the situation you bring up before I posted this. You make a valid point, but I decided those who have enough rep to make close votes also had the judgement to let the question stand long enough to see if anything useful develops.
    – m_goldberg
    Commented Mar 13, 2013 at 11:56
  • 5
    @rcollyer I disagree. The question has Mathematica code and shows effort on behalf of Ajasja. So if people really just ask us to do all programming in Mathematica, even code translations like this then I would think this is not appropriate. BTW: I think the quality of questions gets lower lately and I am loosing interest. Commented Mar 13, 2013 at 12:01
  • 2
    @m_goldberg I also think that pure support requests like this should trigger a popup saying that the question will be closed and should be asked to [email protected] . A lot of these questions are not of general interest and Wolfram professional support is really the right place to go. Commented Mar 13, 2013 at 12:03
  • @RolfMertig. I agree that's not a good post, and should be handled by WRI, but I think it's in a different category from the one's I aiming at here. I would probably vote to close as off topic.
    – m_goldberg
    Commented Mar 13, 2013 at 12:09
  • @RolfMertig My counter is simply: what amount of code is necessary to be safe? In my mind, none is sufficient, but some thought is required (as you've said). But, what amount of thought or evidence of work is required? The answer clearly depends on the both the query and the person asking. I am not necessarily against adding a new message; I am just trying to be cautious in our approach. Also, it is not clear to me how this differs substantially from "not a real question." (And, I agree with you about the recent quality of questions.)
    – rcollyer
    Commented Mar 13, 2013 at 12:35
  • @rcollyer. Not-a-real-question has the drawback of not conveying the message I think should be conveyed to the question poster.
    – m_goldberg
    Commented Mar 13, 2013 at 12:39
  • You do have a point, but why can't you just leave a comment?
    – rcollyer
    Commented Mar 13, 2013 at 13:30
  • @rcollyer. Are you suggesting that I leave a comment to the effect It appears that the only purpose of this question is to solicit extensive free software development and/or debugging services. Providing such extensive services is not compatible with the goals of this site each time I encounter what I think is a "Tom Sawyer" post? (Not meant to be rhetorical -- really want to know if that's what you are thinking)
    – m_goldberg
    Commented Mar 13, 2013 at 13:41
  • @rcollyer I would definitely not put ajasja's NMinimize question in the same category that m_goldberg is talking about...
    – rm -rf Mod
    Commented Mar 13, 2013 at 13:44
  • @rm-rf it was an extreme counter example. Ajasja clearly put a lot of thought into it. But, at the same time, it was a an extensive code request. The only reason I brought it up was to ask: where is the line?
    – rcollyer
    Commented Mar 13, 2013 at 13:51
  • 3
    @rcollyer. To my mind, the community would draw the line on this by the way it votes as with any other close category.
    – m_goldberg
    Commented Mar 13, 2013 at 13:54
  • @m_goldberg Yes. But, I think I would ask if that was their intention first, though.
    – rcollyer
    Commented Mar 13, 2013 at 13:55
  • 2
    @Szabolcs Well that's what I meant. I know of course that we should come up with something better than just say to each other "I told you". But, I was always against things like excessive external advertisement affairs (Reddit etc) and also the role of viral questions. I know this would happen sooner or later, but in this case, later is better. Now, the only solution I see is to harden the rules. We need to raise the bar now, before it is too late. Commented Mar 15, 2013 at 0:19
  • 5
    It is not necessary for the reason given to have what I will call an accusatory (even if only mildly so) tone. It could be worded "The question as posed appears to require more resources than can reasonably be expected from a community of volunteers." I will also agree with @Oleksandr R's implicit claim to the effect that, even in situations where such a closure might apply, it is not always necessary to actually apply it. This will of course require judgement on the part of the voters and moderators, in terms of how interesting a post is, how long it has gone unanswered, etc. Commented Jun 16, 2013 at 1:58

4 Answers 4


The concern in this question is very real, but I think one has to consider the history of the user who posts the question. And I think you do want that distinction, because one can't characterize a poster as a "TomSawyer" based on a single post.

As an extreme example (which happened while I was on vacation so I didn't see it in real time) recall the xkcd graphs incident. It apparently had no initial coding effort in the question, but it caused a lot of interest beyond the regular user base, and elicited some creative answers. It's OK to keep question like this if they come from someone who isn't generally a "Tom Sawyer."

But for this reason, it seems hard to pin a label on a single question with the wording you suggested, because it isn't the individual question but the entire pattern that you're judging. It looks like the only tool currently available for that is to look at the user's history. And we probably don't want to invent a "negative" counter that tracks for each user how parasitic their questions were... that could discourage some interesting challenges in the first place.

  • 2
    Yes, this is a point that I also tried to touch upon in my answer. I agree that we shouldn't have a "negative counter", but I'd also be wary of bending backwards and waiting for a negative history to form before telling them that this behaviour is unacceptable (if this were the case, they could easily work around it by creating a new account each time). In short, if you are new to the site, don't expect people to put in a lot of time into the answer if you don't put any into the question.
    – rm -rf Mod
    Commented Mar 14, 2013 at 1:35
  • 1
    I agree with your comments but just want to add that we are not supposed to distinguish between particular users when assessing question quality. Even a consummate Tom Sawyer might ask about something quite subtle and which requires considerable thought to answer, although they may not know or care whether their question is actually significant. We can still benefit from the answers in this case. The problem as I see it is not so much how to combat helplessness but rather to discourage trivial and boring questions, which it so happens are asked repeatedly by certain users and not others. Commented Mar 20, 2013 at 13:05

Re: the part of your question — I know that there are extensive changes being planned for handling closures. Some of the ideas discussed were (subject to change)

  • more granular sub-reasons which can be adapted to the community's needs (e.g. choosing why something is "Off Topic" or "Not Constructive" or "Too Localized")
  • a free form input where mods can enter custom reasons (for cases where the existing ones don't cut it)
  • a "hold period" wherein the question can't be deleted even by 20k users, and the OP will be actively encouraged to edit/improve.

You might have already seen some of the changes in the way "Exact Duplicate" closures are handled. Discussion on the big-picture details on some of the above is currently underway here and here.

Anyway, my point is that we might be able to work in what you're proposing into the new system and I would suggest waiting for that.

Re: the part of your question — I fully understand the frustration here, but the only good way to solve this problem is if the community takes a principled stand against such coding requests. I have no qualms with single handedly closing the outrageous and explicit requests, but for the more subtle ones, there has to be a show of consensus.

Part of the complication is that this is a subjective decision (although most of us can agree on the vast majority of them) and a lot of us (knowingly or unknowingly) also factor in the person's history on this site (do they help others? Do they repeatedly ask such questions? etc.). As Sjoerd said, some people can't resist a challenge, but not all of them are aware of the Tom Sawyer problem (or that certain users have a history). Or maybe they're aware but choose to ignore. Either way, leaving a comment, as rcollyer said, asking the OP to explain it in further detail, add their efforts to the problem, etc. is a very important first step (along with a close vote, if necessary).

In other words, use the existing tools (comments, downvotes, close votes), and let others know how you used it and why, so that you can educate those not familiar with the problem or those who don't have access to the tools yet. Even if it doesn't help with the particular question on hand, over time it will inform others and shape community consensus on this issue.

  • 7
    P.S.: I personally view making the subjective decision above, akin to giving a stranger money (not alms). While I'd gladly give 25¢ for a phone call or $1 for a metro ride/parking meter, I wouldn't part with $10 if I've just met you on the street (or you have a history of asking for money). You better empty all your pockets and tally up the nickels and pennies before I throw in the rest (assuming your pockets aren't empty). On the other hand, if it's someone I'm familiar with and trust and has a history of helping others, I wouldn't mind just handing $10 right away.
    – rm -rf Mod
    Commented Mar 13, 2013 at 15:31
  • Thank you very much for your thoughtful and informative answer. I really appreciate the news about forthcoming changes in the procedures for closing questions. They may (I can hope) be all that I asking for. I'm certainly willing to wait and see before pressing this issue any further. On the discussion side, I accept that what you say here is the to proceed for now.
    – m_goldberg
    Commented Mar 13, 2013 at 17:16
  • Re: "and has a history of helping others" Commented Mar 13, 2013 at 17:39

I feel your pain; you may have seen my earlier question on a related problem (Same old, same old). However, there may be some reasons not to add another close reason.

  1. For debugging questions there's already the "Too Localized" close reason, if you believe there's not a general lesson to be learned from the debugging exercise.
  2. Many people just love being challenged by a code request even if asked by what seems to be a free rider. Who are we to deny them that? You don't have to answer if you don't want to. If the question receives sufficient downvotes and no answers it will be removed anyway.
  • To paraphrase Fred Kline's user page: sometimes a question just gets the wheels turning (and sometimes you find that the hamster is dead).
    – rcollyer
    Commented Mar 13, 2013 at 13:04

One possible solution is to require the original poster of a question to choose between a few tags:

  • Mathematica technique: questions regarding proper and good use of Mathematica as a tool.
  • Code advice request: please review, improve, etc. my code
  • Non-Mathematica subject: questions involving significant non-Mathematica subject matter expertise; for example, "How do I identify higher-order homogeneous differential equations?"

While this mandatory filter isn't leak-proof, it forces the poster to make a conscious choice before posting at the very least. If someone consistently posts under the wrong tag, it may show up more easily and be discouraged automagically by social pressure.

A user could choose to allow one of the default tags to be assigned to all posts, but you would want a mechanism to prevent someone from forgetting that all their posts are marked "Mathematica technique". Perhaps a beginner is required to choose their new default every post until they achieve a certain reputation level.

I hope this adds something. While it's not 'Close' functionality, it could perhaps be used as the carrot to go with the 'Close' stick.

You must log in to answer this question.

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