10 ms·
Ah yes, the good old "X/Y Problem" [0] Doesn't matter if Y is non-negotiable, or if I've purposely constrained Y, to get a specific answer for a specific techn
by rusk 7y ago
Ah yes, the good old "X/Y Problem" [0]
Doesn't matter if Y is non-negotiable, or if I've purposely constrained Y, to get a specific answer for a specific technology.
How infuriating for a "Questions and Answers" site, to be told when you're asking a question, that the question you're asking is wrong, and that "you should instead have asked ..."
I swear to god, the SO mods are the dumbest, most priggish, humourless beaureucrats in existence.
[0] https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem https://meta.stackexchange.com/questions/66377/what-is-the-x...
- ceejayoz 7y agoAbout 90% of the time it is an XY problem, though. A couple clarifying questions and it turns out the OP really needed something much simpler. For example, people who insist they can’t use a Laravel package because of “performance”, but it turns out they just don’t know how the composer autoloader works.
- wokwokwok 7y agoNo... Just answer the question. You’re not there to babysit the question asker or convince them to change their approach/hair style/choice of library. I know it’s frustrating to see people doing something wrong, or that you don’t agree with, but you know what you can do? Just... don’t get involved if you can’t answer the actual question that was asked, and if it’s a bad question, let it die a natural death.
- dirkt 7y agoIf Y actually has an answer - but often enough Y is so convoluted that it just won't work. Asking the poster about X, and offering a solution Y' which will solve X should at least be attempted. If the poster insists on Y, then he'll also have to accept the answer "sorry, you can't do it that way, for the following reasons".
- rusk 7y agoYeah, I know that this is the rationale for the rule ... but it really has become an excuse to close a question as duplicate just because one of the X solutions might "in theory" solve your problem, even if they don't. Even if you've stipulated in your question why, because you've anticipated all those alternative answers yourself, already.
- wokwokwok 7y ago> Asking the poster about X, and offering a solution Y' which will solve X should at least be attempted. No! Goodness me, why is this so difficult? It should not be attempted. That’s an arbitrary expression of your opinion on the poster. If the question can’t be solved in the way it’s asked let it die gracefully with a “no you can’t do it that why” and suck up the down votes when someone comes along and proves yes you actually can. I know it’s frustrating for you, but asking a question isn’t about you. It’s a glib response to suggest that this is just done when Y is a terrible question for new users. It’s also very common when Y is a very good just very difficult or obscure question. I think it’s quite clear that a common sense approach isn’t working on this topic. The solution really is, if you have nothing meaningful on topic to contribute, then don’t. There really needs to be a way to make this behaviour on SO punitive somehow, giving people points for it results in the current situation.
- hombre_fatal 7y agoWell, I disagree despite the condescension (which isn't as disarming as you think, btw). Qs on a Q&A site become a sort of permanent record that other people stumble across, not just a wham bam thankya ma'am transaction that only the Q-asker sees. By revealing XY problems, a better service is provided for everyone who stumbles upon the Q. > Goodness me, why is this so difficult? Because not everyone agrees with you. This faction war has been going on at SE forever.
- ratww 7y ago> Qs on a Q&A site become a sort of permanent record that other people stumble across The fact that it is a permanent record that lives on is another argument in favor of the "just answer the damn question". Context changes. Requirements change. Someone in the future might need the exact answer for some reason, but instead they get some useless back-and-forth and low-effort condescending answers that is super-specific to that asker. Asking for more context, adding disclaimers before answering or linking to alternative solutions in the comments is fine, but it's a pain in the ass when the answers doesn't match the questions.
- ceejayoz 7y ago> if it’s a bad question, let it die a natural death This is... weird, IMO. I'd much prefer as a new user "I think I know what you're trying to do, your way is gonna cause you a bunch of pain, there's a better way, and here's why" to zero answers and a dead question.
- ratww 7y agoI think it's better than having answers that doesn't match the questions. This makes for a terrible experience for future users. IMO it ok to suggest alternatives in the comments though. Alternatively, you can open a new question, answer it yourself and link to it on the old answer... I think it's allowed, but who knows.
- Gibbon1 7y agoSeems to make having a body of information that has real answers to edge cases and obscure problems is better than one that's just non answers and thinly veiled insults.
- enraged_camel 7y agoYou can actually do both. Indeed, the most popular and heavily upvoted answers on SO tend to do just that, in the form of "here's the answer to the question you asked, and btw, I think this other thing here might be a better way to go about solving your broader problem and maybe avoiding the issue in your question altogether!".
- mark-r 7y agoThere's one answer I had to do that with, simply because the title of the question didn't match the body of the question. I kept getting downvotes from people who came to the question via Google and found my answer didn't match their question.
- non-entity 7y agoThis is what I've tried to do in many cases, because, on one hand, if there are potential ramifications of X (security, etc.) it's good to educate, not just OP, but anyone else who may stumble on the same question. However, I've been on the other side too, and have written knowingly strage, contrived code for the purpose of teaching myself a concept, and it's frustrating when people just say "no".
- Izkata 7y agoI think you're underestimating the level of crap StackOverflow attracts: https://www.google.com/search?q=stackoverflow+concatenate+strings+with+jquery https://www.google.com/search?q=stackoverflow+concatenate+st... (My favorite is the one where they were actually asking about PHP)
- jjoonathan 7y agoMaybe you frequent a different sample of questions / answers than I do, because by my estimation it's 10% XY-problem and 90% XY-problem-problem.
- ceejayoz 7y agoThat's very possible - I've seen a lot of variance between different tags. They're often like little mini-communities. I saw someone post eleven different questions with almost the same code in a 48 hour period the other day - each time about a tiny specific question but you could tell they were trying to do something (online/offline user detection) via a method that wasn't suited for it.
- jordanpg 7y agoThe problem with this is that one of the best way to learn real lessons that stick in this line of work is to do it the hard way first. Being told you’re doing it the hard way and never learning firsthand why is no kind of lesson. These XY answers should contain a mention of Y, if relevant, skip the scolding, and answer the question.
- ceejayoz 7y agoSometimes, "here's why you're about to accidentally put your head into a wood chipper" is enough to learn a lesson from.
- ratww 7y agoIf it were a wood chipping forum/chatroom, sure, but it's a programming Q&A... people might need the answer in the future. If you have the answer but would rather the person not do it, just put a disclaimer on top of your answer. If the question/answer combo is way too specific that there's no chance someone is going to to benefit from it the future, maybe it should die, like other posters said.
- ceejayoz 7y agoThere are cases where there isn't an answer. A common one I come across is people trying to track who's online/offline with window.onbeforeunload. The answer is always "that's not reliable, you can't really use it for this". A good answer mentions the alternatives - storing the user's last activity and considering them logged out after X minutes, using websockets for a presence channel, etc. I see no reason to avoid the "you can accomplish your underlying goal in a better way" answers.
- ratww 7y ago> The answer is always "that's not reliable, you can't really use it for this". Only if the question is "Is window.onbeforeunload reliable to track online/offline users?" In every other case, that should be a disclaimer on top of an answer to the actual question. Maybe future users don't need 100% reliability for some reason. Maybe they're just trying to find out if something like onbeforeunload even exists. Sure, showing better ways is fine. As long as there is an actual answer somewhere (preferably with the disclaimer), instead of cute but condescending non-answers like [1]. [1] https://stackoverflow.com/a/1732454 https://stackoverflow.com/a/1732454
- Wowfunhappy 7y agoMaybe the OP did in fact want something simpler—but one of the tenants of SE is that questions should help more than just the original asker, right? I often come across these questions in Google searches months/years after they were closed, and I'm pretty darn sure I legitimately need to do Y. (If I'm wrong, it's for a very different reason than the OP.)
- Avamander 7y agoI would be okay with the moderation if there were some constraints to non-community mods. I find these kafkaesque processes unacceptable where same people downvote, close, dismiss flags and delete. It's just impossible that they don't make any mistakes judging the questions but SO makes it near impossible to fight back or correct any mistakes you might've made (mistakes they don't really tell you, keep in mind). In the end StackExchange owners should decide on what's the point of SO, if it's meant to be a historical archive about solutions that are often outdated and pedantically kept like that, citing vague rules. Or do they want a site where people can ask questions, actually get helpful corrections and to get up-to-date answers - basically as the smaller communities are where people haven't accumulated reputation in (tens of) thousands.
- dtech 7y agoXY Problem is very real though, especially among beginners, which by its nature SO has a lot of.
- Aeolun 7y agoThe solution is not to just close the questions though.
- magicalhippo 7y agoIndeed. Typically I answer[1] these kind of questions by answering what I think is the solution to X, and then I'll follow up with "but if you still really want to do Y" and my attempt at solution for that. If it's not very clear what they're trying to do, I will just answer Y but follow up with asking what they're really trying to do and that there might be a better way than Y because... [1]: on IRC or forums, not on SO
- AnIdiotOnTheNet 7y agoAnswer X first, then explain why typically Y is what you want so I can safely ignore it.
- bane 7y agoYou see this phenomenon here on HN all the time. Find anybody asking a question or help to figure something out and the first couple answers will likely be "why are you doing it that way?", followed by almost completely useless advice to do something else entirely a completely different way.
- charlesism 7y agoWell, it is often useful to ask why a user wants to do something a particular way, and commendable to inform them if it’s bad practice. The trouble is, if you’re going to reply that way, you should strive to first answer the question, as asked. If the answer is bad practice, of course, you should mention that. That’s the respectful way to handle a misguided question, in my opinion. Give the reader both solutions, explain why the alternate is better, and leave it to the reader how to proceed from there.
- celticmusic 7y agoseriously. I've been doing this stuff a long time, there's usually a reason why I'm doing it the way I'm doing it. I understand you don't like it, think it shouldn't be done that way, and so forth. But I promise you, I've already considered the alternatives. And if you mention an alternative I haven't considered, I'll consider it then. But please, for the love of god, just answer the effing question and stop assuming you know the nuances of my problem better than I do.
- artsyca 7y agoClassic situation faced repeatedly throughout one's career -- I used the word nuance just yesterday! Lest we forget, stack exchange is already rising from the ashes of the 'Experts Exchange' if anyone remembers that --
- ceejayoz 7y ago> I've been doing this stuff a long time, there's usually a reason why I'm doing it the way I'm doing it. People who've been doing it long enough probably also have the experience to know how to ask a good question that explains the why of the unusual request. "I unfortunately stuck on an low-power embedded device that for some weird reason only supports MD5" is going to be treated differently on SO than "I'm new to PHP and I'm using MD5 for to encrypt passwords but I can't reverse the encryption to read the password!"
- commandlinefan 7y ago> the dumbest, most priggish, humourless beaureucrats Clearly you've never been to reddit...
- AnIdiotOnTheNet 7y ago> to be told when you're asking a question, that the question you're asking is wrong I've long associated this behavior with Linux evangelists, and one wonders how much cross over there is with the people who answer questions on SO. It seems like both categories would be attractive to the kind of holier-than-thou mindset that would do this.
- Gibbon1 7y agoI've noticed that fields with high levels of knowledge or guild based status and gatekeeping display that sort of behavior. Embedded engineers, game programmers, mechanical engineers you ask them a question they'll usually be happy to blather on. Ask a Cisco certified engineer a question and he'll make fun of you for daring to ask. Sometimes I think it's cultural too. If you look at the people that founded SO and their careers it's obvious why the place is a toxic mess.
- mark-r 7y agoPart of the problem is that it's not just mods, it's anybody who's gained enough points to get some extra power on the site. Without a formal vetting process beyond "got enough points?" there's no way to control the quality of the actions.