Editing 974: The General Problem

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 8: Line 8:
  
 
==Explanation==
 
==Explanation==
In this comic, [[Cueball]] asks a friend or relative to pass him the salt, a common request when dining with others. Usually it is expected that the person will simply pass the salt immediately; however, the offscreen person doesn't get back to him until 20 minutes later, when Cueball repeats his request. The friend explains that they're attempting to solve the general problem of passing ''any'' table condiment (which salt is not; in culinary terms, it is a seasoning. Condiments are liquid-based complements, such as ketchups, mustards, relishes & chutneys), not just salt.
+
In this comic, [[Cueball]] asks an offscreen person to pass him the salt, a common request when dining with others. Usually it is expected that the person will simply pass the salt immediately; however, the offscreen person (hereafter referred to as OSP) doesn't get back to him until 20 minutes later, when Cueball repeats his request. The OSP explains that they're attempting to solve the general problem of passing ''any'' table condiment, not just salt.
  
This is a common mistake made in software development, wherein a developer tries to solve a problem far more general than the specific one they have been tasked to solve.{{Citation needed}} Sometimes, this foresight can be useful, if the developer has predicted use cases that later turn out to be needed; other times, it can lead to wasted time, or worse, overengineering, where a system is made more complex and fragile than it needed to be, instead of robustly solving a single, well-defined problem.
+
This is a common mistake made in software development, wherein an developer tries to solve a problem far more general than the specific one they have been tasked to solve. Sometimes, this foresight can be useful, if the developer has predicted use cases that later turn out to be needed; other times, it can lead to wasted time, or worse, overengineering, where a system is made more complex and fragile than it needed to be, instead of robustly solving a single, well-defined problem.
  
It isn't clear what exactly the offscreen friend is doing (or even what they ''could'' do) to solve the general condiment-passing problem; most likely they are still in the design stage of their solution and have not even started implementing it, much to Cueball's chagrin. Nonetheless they are convinced that it is worth taking the time to do this now due to the potential time-saving in the long run. In doing so, they are overlooking the more salient and saline facts of the situation; namely, that passing condiments is not something that requires a solution or takes up any significant amount of time, and that Cueball would probably prefer to have the salt while his meal is still warm.
+
It isn't clear what exactly the OSP is doing (or what they ''could'' do) to solve the problem; most likely they are still in the design stage of their solution and have not even started implementing it, much to Cueball's chagrin.
  
In the title text, [[Randall]] notes a social paradox: that people tend to be disparaging of such inefficient time-wasting while it's not producing any results, but will heap praise on it when they're able to reap the benefits of that foresight.
+
In the title text, [[Randall]] states that when someone uses a lot of time to do an easy task ''right'' in the present he considers them a ''perfectionist'' with no ability to prioritize (since they are unable to do something inefficiently even if it satisfies the task at hand much quicker). Yet if a ''perfectionist'' had done something ''right'' in the past he would be impressed and consider them a master artisan of great foresight.
  
See also [[137: Dreams]], [[1205: Is It Worth the Time?]], [[1319: Automation]], [[1691: Optimization]], [[2752: Salt Dome]] and the [[:Category:Time_management|Time management category]].
+
The OSP's argument for taking so much time is that in the end if he were to add up all the time he saved by no longer needing to pass condiments it will equal more time than it took to build the system, and thus in the long term he will have saved time and solved the general problem of passing condiments. This could also be spread out to many people all over the world, and thus save a billion times as much time, if a billion people in the world ''have'' both condiments and an adequate food supply to use them on...
 +
 
 +
This situation would be akin to a major website performing maintenance during peak hours instead of waiting till traffic was lower. From the perspective of the person trying to check their email, the upgrade would seem ill-timed and unnecessary. However, if the person were to instead log in not till the following day, he would think the upgrade was masterful and full of great insight.
 +
 
 +
Put simply, the comic draws attention to the fact that humans are very adept at things that can be difficult to teach machines. We learn as children how to pass arbitrary things to someone who asks. However, to design a 'system' to do this, can be quite difficult - dealing with recognition, shape, size, temperature, etc. There is an engineering joke here that novices often attempt to solve general systems problems that seem trivial at first sight, but can end up taking years to solve. The superficial joke is that a human would have to think at all to do this, let alone 20 minutes.
 +
 
 +
The title text carries perhaps the more important point, for which of course this case is a trivial and hence humorous example: most pure and some applied research does not look like it is a reasonable use of one's time. Therefore, only in retrospect, when something has in fact resulted in a generally recognized useful product, can one justify the time and resources consumed. Until then it looks like self-indulgence. 
 +
 
 +
See also [[137: Dreams]], [[1205: Is It Worth the Time?]],[[1319: Automation]] and the [http://www.explainxkcd.com/wiki/index.php/Category:Time_management Time management category].
  
 
==Transcript==
 
==Transcript==

Please note that all contributions to explain xkcd may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see explain xkcd:Copyrights for details). Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel | Editing help (opens in new window)