User Tools

Site Tools


en:x-and-y-problem

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:x-and-y-problem [2024/01/18 09:28] – Automatic translation domeleen:x-and-y-problem [2026/08/03 19:10] (current) – Automatic push translation domele
Line 1: Line 1:
-====== Pre-Words ======+====== Preface ======
  
-Someone told you, that you might not telling the orignial Issue, so please read this carefully.+Someone has pointed out that you may not be addressing the original issue, so please read this carefully.
  
 ===== Wikipedia ===== ===== Wikipedia =====
  
- (([[https://en.wikipedia.org/wiki/XY_problem|Wikipedia About X and Y Problem]]))+ (([[https://en.wikipedia.org/wiki/XY_problem|Wikipedia About the X and Y problem]]))
 <WRAP center round info 100%> <WRAP center round info 100%>
-The XY problem is a communication problem encountered in help desk and similar situations in which the person asking for help obscures the real issue, X, because instead of asking directly about issue X, they ask how to solve a secondary issue, Y, which they believe will allow them to resolve issue X. However, resolving issue Y often does not resolve issue X, or is a poor way to resolve it, and the obscuring of the real issue and the introduction of the potentially strange secondary issue can lead to the person trying to help having unnecessary difficulties in communication and/or offering poor solutions.+The XY problem is a communication problem encountered in help desks and similar situationsin which the person asking for help obscures the real issue, X, because instead of asking directly about issue X, they ask how to solve a secondary issue, Y, which they believe will enable them to resolve issue X. However, resolving issue Y often does not resolve issue X, or is an ineffective way of resolving it, and the obscuring of the real issue and the introduction of the potentially strange secondary issue can lead to the person trying to help facing unnecessary communication difficulties and/or offering ineffective solutions.
  
-The XY problem is commonly encountered in technical support or customer service environments where the end user has attempted to solve the problem on their ownand misunderstands the real nature of the problem, believing that their real problem X has already been solved, except for some small detail Y in their solution. The inability of the support personnel to resolve their real problem or to understand the nature of their inquiry may cause the end user to become frustrated. The situation can make itself clear if the end user asks about some seemingly inane detail which is disconnected from any useful end goal. The solution for the support personnel is to ask probing questions as to why the information is needed, in order to identify the root problem and redirect the end user away from an unproductive path of inquiry.+The XY problem is commonly encountered in technical support or customer service environments where the end user has attempted to solve the problem on their own and misunderstands the true nature of the problem, believing that their real problemXhas already been solved, apart from some minor detailYin their solution. The support staff’s inability to resolve the end user’s actual problem or to understand the nature of their enquiry may cause the end user to become frustrated. The situation often becomes clear when the end user asks about seemingly trivial detail that is disconnected from any useful end goal. The solution for support staff is to ask probing questions about why the information is needed, in order to identify the root cause and redirect the end user away from an unproductive line of enquiry.
 </WRAP> </WRAP>
  
Line 22: Line 22:
 The XY problem is asking about your attempted solution rather than your actual problem. \\ The XY problem is asking about your attempted solution rather than your actual problem. \\
  \\  \\
-That is, you are trying to solve problem X, and you think solution Y would work, but instead of asking about X when you run into trouble, you ask about Y. \\+In other words, you are trying to solve problem X, and you think solution Y would work, but instead of asking about X when you run into trouble, you ask about Y. \\
  \\  \\
 ====== The Problem ====== \\ ====== The Problem ====== \\
  
-This can lead to frustration by people who are trying to help you solve the problem because by the time you ask about it, the solution that you need help with might not have any obvious connections to the problem that you are trying to solve.+This can be frustrating for people trying to help you solve the problembecause by the time you ask about it, the solution you need help with may not have any obvious connection to the problem you’re trying to solve.
  
 How to avoid it How to avoid it
-To avoid falling into this trap, always include information about broader picture along with any attempted solution. If someone asks for more information, or especially a more specific question, do provide details. If there are other solutions which you believe will be suggested and which you've already ruled out, then don't try to avoid going over them again – instead state why you've ruled them out, as this gives more information about your requirements and helps others provide better answers. +To avoid falling into this trap, always include information about the broader context alongside any proposed solution. If someone asks for more information, or particularly a more specific question, do provide details. If there are other solutions which you believe will be suggested and which youve already ruled out, then dont try to avoid going over them again – insteadstate why youve ruled them out, as this provides more information about your requirements and helps others provide better answers.
 == An example == == An example ==
  
- +A recent IRC conversation by way of illustration: \\
-A recent IRC conversation for illustration: \\+
  
 <WRAP center round help 90%> <WRAP center round help 90%>
  
 Q: Is there a function to return a string between two delimiters? \\ Q: Is there a function to return a string between two delimiters? \\
-B: I don't understand what you mean, but I doubt there's already a function \\+B: I dont understand what you mean, but I doubt theres already a function \\
 C: Split and slice \\ C: Split and slice \\
-D: Partition too \\+D: Partition’ as well \\
 Q: I tried partition \\ Q: I tried partition \\
-Q: I was trying to use built-ins to get the number between something like this in a string "attribute1: 50.223, attribute2: 442.1" \\+Q: I was trying to use built-in functions to extract the number from a string like this: "attribute1: 50.223, attribute2: 442.1" \\
 D: Why not just parse the string? \\ D: Why not just parse the string? \\
-Q: I thought there may have been some built in parsing stuff \\+Q: I thought there might have been some built-in parsing functions \\
 D: pairs = [x.strip() for x in s.split(",")]; attribs = {k: v for x in pairs for k, v in [x.split(": ")]} \\ D: pairs = [x.strip() for x in s.split(",")]; attribs = {k: v for x in pairs for k, v in [x.split(": ")]} \\
-D: There'a few libraries, but simplistic formats are easy enough -- if you don'care about error handling \\ +D: There are a few libraries, but simple formats are easy enough – if you donmind not handling errors \\ 
-D: Changing the source to use a well-known format, e.g. json or yaml, is preferred when possible \\+D: Where possible, it is preferable to change the source to use a well-known format, such as JSON or YAML \\
 Q: This code actually comes from HTML \\ Q: This code actually comes from HTML \\
-Q: But I don't know how to parse Javascript with HTMLParser or whatever it's called \\ +Q: But I dont know how to parse JavaScript using HTMLParser or whatever its called \\ 
-D: Is it merely embedded in HTML, or some mangled version of HTML? \\ +D: Is it simply embedded in HTML, or some mangled version of HTML? \\ 
-Q: It's embedded in the HTML \\ +Q: Its embedded in the HTML \\ 
-D: If it's JavaScript (and that is, except for missing outer braces), JSON can probably parse it \\+D: If its JavaScript (and it is, apart from the missing outer braces), JSON can probably parse it \\
 Q: Thanks \\ Q: Thanks \\
-D: I didn't say it explicitly: JSON only parses data structures, not JS code \\ +D: I didnt say it explicitly: JSON only parses data structures, not JavaScript code \\ 
-Q: That's all I need parsed is a data structure \\+Q: All I need parsed is a data structure \\
 </WRAP> </WRAP>
  
-The problem is //really// about how to parse JavaScript data structures, not find "a string between two delimiters", yet it takes quite a bit of time and intuition to get to the real issue.+The problem is //actually// about how to parse JavaScript data structures, not finding ‘a string between two delimiters, yet it takes quite a bit of time and intuition to get to the real issue.
  
-This is easier to do in a fully interactive chat (regardless of what mode), but on a SE site, where you polish a post a bit, post it, and then have 5-30 mins, or longer, before feedback, it really helps to head in the right direction from the start.+This is easier to do in a fully interactive chat (regardless of the mode), but on a Stack Exchange site, where you polish a post a bit, post it, and then have 530 minutes, or longer, before receiving feedback, it really helps to head in the right direction from the start.
 </WRAP> </WRAP>
  
Line 70: Line 68:
  
  
-The XY problem is asking about your attempted solution rather than your actual problem. This leads to enormous amounts of wasted time and energy, both on the part of people asking for helpand on the part of those providing help.+The XY problem involves asking about your attempted solution rather than your actual problem. This leads to an enormous amount of wasted time and energy, both for those asking for help and for those providing it.
 \\ \\
 <WRAP center round info 90%> \\ <WRAP center round info 90%> \\
-User wants to do X. \\ +The user wants to do X. \\ 
-User doesn't know how to do X, but thinks they can fumble their way to a solution if they can just manage to do Y. \\ +The user doesnt know how to do X, but thinks they can muddle their way to a solution if they can just manage to do Y. \\ 
-User doesn't know how to do Y either. \\ +The user doesnt know how to do Y either. \\ 
-User asks for help with Y. \\ +The user asks for help with Y. \\ 
-Others try to help user with Y, but are confused because Y seems like a strange problem to want to solve. \\ +Others try to help the user with Y, but are confused because Y seems like a strange problem to want to solve. \\ 
-After much interaction and wasted time, it finally becomes clear that the user really wants help with X, and that Y wasn't even a suitable solution for X. \\ +After much back-and-forth and wasted time, it finally becomes clear that the user really wants help with X, and that Y wasnt even a suitable solution for X. \\ 
-The problem occurs when people get stuck on what they believe is the solution and are unable to step back and explain the issue in full. \\+The problem arises when people get fixated on what they believe to be the solution and are unable to take a step back and explain the issue in full. \\
 </WRAP> \\ </WRAP> \\
  
-== What to do about it? ==+== What can be done about it? ==
  
 <WRAP center round important 90%> <WRAP center round important 90%>
-Always include information about a broader picture along with any attempted solution. \\+Always include information about the bigger picture alongside any attempted solution. \\
 If someone asks for more information, do provide details. \\ If someone asks for more information, do provide details. \\
-If there are other solutions you've already ruled out, share why you've ruled them out. This gives more information about your requirements. \\ +If there are other solutions youve already ruled out, explain why youve ruled them out. This provides more insight into your requirements. \\ 
-Remember that if your diagnostic theories were accurate, you wouldn't be asking for help, right? \\+Remember that if your diagnostic theories were accurate, you wouldnt be asking for help, would you? \\
  
 </WRAP> </WRAP>
Line 97: Line 95:
 # Examples # Examples
 Example 1 Example 1
-n00b doesn't actually want the last 3 chracters in a filenamehe wants the file extensions, so why ask for the last 3 characters? \\+n00b doesnt actually want the last 3 characters in a filenamehe wants the file extensions, so why ask for the last 3 characters? \\
 \\ \\
 <WRAP center round help 90%> \\ <WRAP center round help 90%> \\
-<n00b> How can I echo the last three characters in a filename?  \\ +<n00b> How can I display the last three characters of a filename?  \\ 
-<feline> If they're in a variable: echo ${foo: -3}  \\+<feline> If theyre in a variable: echo ${foo: -3}  \\
 <feline> Why 3 characters? What do you REALLY want?  \\ <feline> Why 3 characters? What do you REALLY want?  \\
-<feline> Do you want the extension?  \\+<feline> Do you want the file extension?  \\
 <n00b> Yes.  \\ <n00b> Yes.  \\
-<feline> There's no guarantee that every filename will have a three-letter extension, \\ +<feline> Theres no guarantee that every filename will have a three-letter extension, \\ 
-<feline> so blindly grabbing three characters does not solve the problem. \\+<feline> so simply picking three characters at random does not solve the problem. \\
 <feline> echo ${foo##*.} \\ <feline> echo ${foo##*.} \\
 </WRAP> </WRAP>
Line 112: Line 110:
 == Example 2 == == Example 2 ==
  
-If Angela had just started by explaining she wants to prevent others from detecting her OS, this could have been a much shorter and more productive discussion.+If Angela had simply started by explaining that she wants to prevent others from detecting her OS, this could have been a much shorter and more productive discussion.
  
 <WRAP center round help 90%> \\ <WRAP center round help 90%> \\
-Angela: 'nmap -O -A 127.0.0.1returns some lines starting with 'OS:'. How to change it? \\ +Angela: nmap -O -A 127.0.0.1’ returns some lines starting with OS:. How can I change this? \\ 
-Obama: Look in the sourcecode for nmap, find how it figures out the Linux part, then rewrite your TCP/IP stack to not operate in a way nmap can detect. \\ +Obama: Look at the source code for nmap, work out how it identifies the Linux component, then rewrite your TCP/IP stack so that it doesn’t operate in a way that nmap can detect. \\ 
-Angela: Yeah, but I don't know about linux system api at all. \\ +Angela: Yeah, but I dont know anything about the Linux system API. \\ 
-Obama: Well, nmap's fingerprint is based on the way the TCP/IP stack worksthere's no real way except to rewrite the appropriate parts of said stack. \\ +Obama: Well, nmaps fingerprint is based on the way the TCP/IP stack workstheres no real way round it except to rewrite the relevant parts of that stack. \\ 
-Angela: I really need to avoid these messages. Can iptables do this work? \\ +Angela: I really need to avoid these messages. Can iptables do this? \\ 
-Obama: Well, don't use OS detection or version scanning \\ +Obama: Well, dont use OS detection or version scanning \\ 
-Angela: I want to prevent others from knowing the type of my OS \\+Angela: I want to stop others from finding out what type of OS I’m running \\
 </WRAP> </WRAP>
  
 ---- ----
- 
 ====== Conclusions ====== ====== Conclusions ======
  
-The X and Y Problem can be fixed, in that way, that you completly tell what you want to do and what you have tried.+The X and Y Problem can be resolved by clearly stating exactly what you want to do and what you have already tried.
  
en/x-and-y-problem.1705570139.txt.gz · Last modified: by domele