A Tale of Two Questions

Introduction

For quite some time I’ve had the idea of writing a blog post about what makes a Great Question. The first problem with that is that it is highly subjective. I’ve no real problem with that (and this is the blog part of the site, after all) but it needs to be done carefully. The second is that it would be very easy to make it about what is wrong with questions rather than what is right. Particularly when comparing questions to see why one is great and another isn’t. So the post keeps getting started and then stopped as it trails off into a lengthy discussion about the quality of sand.

Fortunately, a recent question has given me a way in to this post. It’s almost a duplicate question, in fact. And the two questions are useful ones to compare to see the difference between a Good Question and a Great Question. Both questions are good questions, but the second version had a little bit extra which lifted it.

The Questions

The two questions relate to drawing a smooth curve through a prescribed sequence of points. The first question is Easy curves in TikZ. As the votes indicate, it’s a popular question. It’s not hard to understand why: TikZ/PGF is great for programmatically drawing stuff but every now and then one wants to be able to say ‘‘Draw something vaguely nice that goes roughly over here.’’. In a drawing program, there’d be a freehand tool to do precisely that. TikZ/PGF doesn’t have such.

The second question is Curve through a sequence of points with Metapost and TikZ. It’s asking the same thing: a smooth curve through a sequence of points. But while the original is a Good Question, this one is a Great Question.

Making Pearls

Various of the SE team are quite fond of the metaphor of the SE network as producing pearls from sand. This analogy is used to argue for the emphasis on answers (pearls) over questions (sand) with the oft-repeated phrase:

You don’t optimise for sand.

My opinion is that this is a load of fetid dingo’s kidneys. Quite apart from the evident ignorance of what goes into a pearl (it’s grit and mucus, not sand), the application of that conclusion is upside-down. Whilst you might optimise for your output (pearls), you don’t apply the optimisation directly to it. You optimise the input in such a manner that you get the best output. Thus you optimise for pearl-producing sand.

Grit, actually.

The sand versus grit issue is quite important. My image of an oyster sitting on the sea bed is that he (or she; forgot ‘\usepackage{he-she}‘) is surrounded by sand. If he didn’t like sand, he’d be in big trouble. But grit comes along only every now and then and when it gets into the oyster’s shell, it first tries to get rid of it and then when it can’t do that, it covers it with something faintly disgusting (snot) until it is no longer irritating.

The key there is that the grit is a very specific thing that is highly irritating. And that’s what makes the difference between a Good Question and a Great Question.

The Grit

The second question had grit. Both questions raised interesting problems that caught people’s imagination, but in the case of the first I suspect (and certainly for me this is true) it was of the form, ‘‘Yes, it would be great to do this. I’ve no idea how to do it, but if someone solves it I’ll give a big cheer from the sidelines.’’. 29 votes for Jake’s answer shows that I wasn’t alone in this cheering on. But there was no grit in this question.

The second question was highly irritating. It showed clearly and obviously that there was something wrong: in the picture, the superiority of the MetaPost curve is plain. It gave various pieces of the puzzle: knowing that MetaPost could do it, and also linking to Hobby’s original algorithm. By linking to the algorithm, it also brought the problem within reach. To solve the first question one would first have to figure out exactly what a good smooth curve looked like. The second gave the answer. Thus, as an extra, it was more focussed: it wasn’t asking for anyold nice smooth curve but for a specific implementation.

The Luck of the Draw

Lastly, the second question had a bit of luck. It was the second question, so Jake already knew that this wasn’t an easy problem and was willing to put a bounty on it. Speaking for myself, I don’t answer a bounty question to get the bounty, but it does make me more likely to think about it because it says ‘‘Someone is particularly interested in this question.’’. Then there were some shortcut answers. The Perl and LuaTeX answers are ingenious, but could be viewed as avoiding the problem. For me, these provided extra irritants: if other programs can do it, why can’t TeX? So not all the grit came from the original question. But there was enough there that others were willing to add extra grit.

The luck component shows that it’s not all about the original question. If someone had known of Hobby’s algorithm and mentioned it in a comment on the first version of this question then it is quite possible that someone would have had a go at implementing it then, whereupon I’d be saying that the first question was a Great Question. Indeed, as I hinted in the introduction there’s nothing particularly bad about the first question and, in particular, it was probably as good as the original questioner could make it. But the second had that little bit extra.

Make Your Own Grit

Not every question is going to be or should be a Great Question. The aim of this site shouldn’t be to make pearls. After all, beyond being nice to look at, pearls aren’t that much use. The aim of this site should be to help people. Sometimes that really is saying ‘‘Read p26 of the manual.’’ or ‘‘Use ‘amsmath‘.’’. Those are the sorts of answers that most of the time, most people want. But pearls have their function. They’re pretty, and they attract people to the site. So when we get one, it’s worth shouting about it. Not to say ‘‘Every question should be like this.’’ but just ‘‘Look, here’s something nice to look at.’’.

Nonetheless, whether or not they produce actual pearls, the more grit-like the question the better it is. So what are the essential qualities of grit?

  1. It should be irritating.

In the right way, of course. A gritty question has the ability to make people irritated not with the question but with their inability to solve it. A prerequisite is that the problem should irritate you. If it doesn’t, how are you going to get it to irritate anyone else?

  1. It should be small.

It only takes one piece of grit to make a pearl. If you throw too much grit at an oyster it’ll just give up and walk off.

Conclusion

When asking a question on TeX-SX, the place to start is to think: ‘‘How do I make my question truly gritty?’’. But there is an obvious warning to heed. The second step in making a pearl is to cover the grit in mucus. So if aiming for a truly gritty question you should expect to get something slightly disgusting in return.

But then that’s only fair. After all, pearls are not to be sneezed at.

4 thoughts

  1. Thanks for this summary and kudos for your answer.

    “Then there were some shortcut answers. The Perl and LuaTeX answers are ingenious, but could be viewed as avoiding the problem. For me, these provided extra irritants: if other programs can do it, why can’t TeX?”

    I think this is a bit unfair to the Luatex solution. I agree that using external programs to generate the control points is a workaround, but with Luatex, Lua and mplib are completely standard technologies. The better complaint is that this is not a portable implementation, but, then again, the question did not specify Latex.

    1. I guess I meant more than one thing by “Avoiding the problem”. Overall, I meant “Avoiding the problem of actually implementing the algorithm in TeX”. So my complaint (which isn’t really a complaint) about the Perl and LuaTeX solutions is that the person who wrote the solution did not actually implement Hobby’s algorithm. Both found some way to use an existing implementation.

  2. Evening,

    Agree with you for the aim of the site. For the grit-like question, it’s great to have some, in oder to improve the comprehension we have.

    Sometimes, the use of tricks, to make life more simple, could be useful too.

    In the end, your explaination about good and great question was excellent. Thanks.

    Personnaly, I think that the difference between the both is just the public… Don’t you ?

    1. “the difference between the both is just the public”

      That’s part of what I was trying to get at with the “luck” segment. It’s a bit of a pot-luck which questions will fire the imagination, and there can be a bit of piling-on (in a good way) in that if one person says, “Gosh, this looks difficult” then it can spur others on to find a solution. A pearl doesn’t just consist of grit, there’s a lot of mucus there too.

      “Sometimes, the use of tricks, to make life more simple, could be useful too.”

      Absolutely! If everyone were always thinking “Is this a truly gritty question?” we’d never get anywhere. The bottom-line is that we want questions whose answer will help. Sometimes, that’s just a really simple thing that, in hindsight, was obvious but in the pressure of the moment is opaque. Then it just takes a second of someone’s time to clarify the matter. That’s what SE is really good at. The pearls (and grit) are the icing.

Leave a Reply

Your email address will not be published. Required fields are marked *