0974: "The General Problem"

This forum is for the individual discussion thread that goes with each new comic.

Moderators: Moderators General, Prelates, Magistrates

User avatar
SW15243
Posts: 75
Joined: Fri Jan 30, 2009 5:56 am UTC
Location: The Frozen White North
Contact:

0974: "The General Problem"

Postby SW15243 » Mon Nov 07, 2011 5:10 am UTC

Image
http://xkcd.com/974

Alt Text: I find that when someone's taking time to do something right in the present, they're a perfectionist with no ability to prioritize, whereas when someone took time to do something right in the past, they're a master artisan of great foresight.

Engineers have to eat too, I guess?

User avatar
Eternal Density
Posts: 5579
Joined: Thu Oct 02, 2008 12:37 am UTC
Contact:

Re: 0974: "The General Problem"

Postby Eternal Density » Mon Nov 07, 2011 5:22 am UTC

GOOMHFactory.Invoke(0974);
Play the game of Time! castle.chirpingmustard.com Hotdog Vending Supplier But what is this?
In the Marvel vs. DC film-making war, we're all winners.

jpk
Posts: 607
Joined: Sat Nov 13, 2010 7:33 am UTC

Re: 0974: "The General Problem"

Postby jpk » Mon Nov 07, 2011 5:28 am UTC

I've been on both sides of this problem. Unfortunately, I'm on the bad side of this problem at the moment - that is, I'm being the perfectionist. The weird thing is, even though I realize what's happening,it's very difficult to just deliver a simple thing that does what's needed right now, knowing full well that what's needed today is not likely to be what's needed in the future, but I can deliver something that'll meet a large set of future needs. Awkward situation, though.

For the cartoon, though, wouldn't "English" or "some language used by both parties" serve as a good basis for the system to pass arbitrary condiments? And wouldn't the passer's hands be a pretty good implementation for it? (damn! NoHandsException hasn't been handled)

WizenedEE
Posts: 27
Joined: Wed Dec 01, 2010 5:23 am UTC

Re: 0974: "The General Problem"

Postby WizenedEE » Mon Nov 07, 2011 5:34 am UTC

I would not get annoyed at all if the other person were building something like a trebuchet to fling the arbitrary condiments at me without any human intervention at all. That would be awesome.

blowfishhootie
Posts: 486
Joined: Wed Sep 21, 2011 11:13 pm UTC

Re: 0974: "The General Problem"

Postby blowfishhootie » Mon Nov 07, 2011 5:41 am UTC

WizenedEE wrote:I would not get annoyed at all if the other person were building something like a trebuchet to fling the arbitrary condiments at me without any human intervention at all. That would be awesome.


That's only half the scenario. The other half is that you are waiting on said condiment right now, for the meal you are currently eating.

If you are waiting to have, I don't know, a bullet removed from your body, you probably wouldn't take kindly to a doctor whose response was to take the time to build some contraption for streamlining the removing of bullets from bullet wounds.

XtremD
Posts: 4
Joined: Mon Mar 07, 2011 6:23 am UTC

Re: 0974: "The General Problem"

Postby XtremD » Mon Nov 07, 2011 5:43 am UTC

I sympathize with jpk and the off panel guy. I'm (much to my hindrance) currently being a bit of a perfectionist on my current project. I keep telling myself to stop being a perfectionist and get the job done fast but I (like the guy off panel) am really good at lying to myself. "Native 1024 core support will TOTALLY save me precious coding and compiling time in the future!"

jpk
Posts: 607
Joined: Sat Nov 13, 2010 7:33 am UTC

Re: 0974: "The General Problem"

Postby jpk » Mon Nov 07, 2011 5:44 am UTC

blowfishhootie wrote:If you are waiting to have, I don't know, a bullet removed from your body, you probably wouldn't take kindly to a doctor whose response was to take the time to build some contraption for streamlining the removing of bullets from bullet wounds.


On the other hand, if you get a bullet stuck in you after that doctor perfects his device, you'd think, what a great doctor! Good thing he didn't screw around saving one person at a time, and made this machine instead...

jpk
Posts: 607
Joined: Sat Nov 13, 2010 7:33 am UTC

Re: 0974: "The General Problem"

Postby jpk » Mon Nov 07, 2011 5:46 am UTC

XtremD wrote:I sympathize with jpk and the off panel guy. I'm (much to my hindrance) currently being a bit of a perfectionist on my current project. I keep telling myself to stop being a perfectionist and get the job done fast but I (like the guy off panel) am really good at lying to myself. "Native 1024 core support will TOTALLY save me precious coding and compiling time in the future!"



I guess this comic is about the difference in perspective between "lying to yourself" and "taking the long view".

rapscal_2002
Posts: 1
Joined: Mon Nov 07, 2011 5:44 am UTC

Re: 0974: "The General Problem"

Postby rapscal_2002 » Mon Nov 07, 2011 5:46 am UTC

I often find myself on the other end of this problem, in a round about way, where my coworker decides that he's going to be lazy, and instead of creating various functions that can work in a multitude of situations, he hard codes everything and makes liberal use of his computers copy paste function.

ijuin
Posts: 1104
Joined: Fri Jan 09, 2009 6:02 pm UTC

Re: 0974: "The General Problem"

Postby ijuin » Mon Nov 07, 2011 5:49 am UTC

More generally speaking, the utility of spending time to create an optimized solution depends on how urgent prompt action is. It's always possible to take out the one bullet now and then work on the general solution when you are not faced by a looming deadline--it all depends on how harsh the penalty is for taking too long to act.

blowfishhootie
Posts: 486
Joined: Wed Sep 21, 2011 11:13 pm UTC

Re: 0974: "The General Problem"

Postby blowfishhootie » Mon Nov 07, 2011 5:51 am UTC

jpk wrote:
blowfishhootie wrote:If you are waiting to have, I don't know, a bullet removed from your body, you probably wouldn't take kindly to a doctor whose response was to take the time to build some contraption for streamlining the removing of bullets from bullet wounds.


On the other hand, if you get a bullet stuck in you after that doctor perfects his device, you'd think, what a great doctor! Good thing he didn't screw around saving one person at a time, and made this machine instead...


The appropriate time for building said machine is when there is nobody waiting urgently for you to remove a bullet, not when someone has just asked you to do so. Accordingly, the appropriate time to build a machine for passing the salt is when there is nobody waiting on you to pass the salt right this moment. It's not that confusing.

I won't pretend to know the process of removing a bullet, but the person sharing the dinner table off-screen in this comic can take two seconds to pass the salt with no meaningful delay in his progress. He's pretty clearly being annoying.

blowfishhootie
Posts: 486
Joined: Wed Sep 21, 2011 11:13 pm UTC

Re: 0974: "The General Problem"

Postby blowfishhootie » Mon Nov 07, 2011 5:54 am UTC

ijuin wrote:More generally speaking, the utility of spending time to create an optimized solution depends on how urgent prompt action is. It's always possible to take out the one bullet now and then work on the general solution when you are not faced by a looming deadline--it all depends on how harsh the penalty is for taking too long to act.


What (s)he said.

Alltat
Posts: 35
Joined: Mon Jan 31, 2011 6:58 pm UTC

Re: 0974: "The General Problem"

Postby Alltat » Mon Nov 07, 2011 5:58 am UTC

ijuin wrote:More generally speaking, the utility of spending time to create an optimized solution depends on how urgent prompt action is. It's always possible to take out the one bullet now and then work on the general solution when you are not faced by a looming deadline--it all depends on how harsh the penalty is for taking too long to act.

And how soon you can expect the next bullet wound victim to arrive, and how valuable your time is in terms of saving other patients. There may not be any times when you're not faced by a looming deadline, meaning you might have to prioritize the long term over the short term in order to save the most people. Of course, you can't predict this accurately without knowing a lot of things you can't really know, like whether anyone else has almost finished their bullet removal machine, or if there'll be more doctors to help you handle the patients soon, or if a war will start and greatly increase the need for your machine, or if guns get replaced with death rays in six months, rendering your machine obsolete.

Basically, there's no good "standard" approach to this problem. I guess someone should take some time off their other projects to come up with one.

User avatar
whateveries
Posts: 128
Joined: Thu Feb 10, 2011 2:14 am UTC

Re: 0974: "The General Problem"

Postby whateveries » Mon Nov 07, 2011 6:03 am UTC

and anyway he might perfect it, but it will largely be ignored by all but a few geeks who will get obsessed by the idea and mimic it with an open source version that they can hack to suit their own particular range of condiments, and the resultant complexity and instability of the system will cause most consumers to ignore it or pay big bucks to use the original with licensing restrictions of the brands of condiments it will work with, and now steve is dead and there is no one to rebadge and simplify (if only in name) to iSpice (hey, wait thats cool) and make a bazillion selling bland condiments to the public through the iFood app.
it's fine.

Meem1029
Posts: 379
Joined: Wed Jul 21, 2010 1:11 am UTC

Re: 0974: "The General Problem"

Postby Meem1029 » Mon Nov 07, 2011 6:29 am UTC

Reminds me of my computer science professor talking about how computer scientists are "lazy". We don't like redoing things, so we are perfectly willing to spend 10 hours developing a general version of something to avoid an hour of work. I have since noticed myself picking up this habit, especially in the last homework I did. I also then found out the reasoning behind it when I made one complicated function too specific and had to rewrite a virtually identical one for a related task. Doing it right does pay off!
cjmcjmcjmcjm wrote:If it can't be done in an 80x24 terminal, it's not worth doing

User avatar
A_of_s_t
Posts: 180
Joined: Tue Aug 26, 2008 5:10 am UTC
Contact:

Re: 0974: "The General Problem"

Postby A_of_s_t » Mon Nov 07, 2011 6:34 am UTC

I thought the punch line was going to be more along the lines of this type of salt.
Check out my web interzones powered by Web 3.0 technology running on Mozzarella Foxfire:
Spoiler:
Image
Image
Image

MrMonkey
Posts: 60
Joined: Sun Jan 31, 2010 6:55 am UTC

Re: 0974: "The General Problem"

Postby MrMonkey » Mon Nov 07, 2011 6:53 am UTC

Meem1029 wrote:Reminds me of my computer science professor talking about how computer scientists are "lazy". We don't like redoing things, so we are perfectly willing to spend 10 hours developing a general version of something to avoid an hour of work. I have since noticed myself picking up this habit, especially in the last homework I did. I also then found out the reasoning behind it when I made one complicated function too specific and had to rewrite a virtually identical one for a related task. Doing it right does pay off!


Teehee, reminds me of a time when I had to do a simple circuit drawing for a Physics 12 lab assignment, with some other questions and such. Of course, I could have done it with the archaic device known as the pencil, but no, it had to be perfect! I attempt to use the line art in MS Word, but that sucks and has terrible precision [10 mins]. So, I try to draw it in Paint [10 mins]. Then I realize, it was too hard to do that, wouldn't be faster to use a program from the internet to draw it? Then I realize, there might be some good drawing capabilities in LaTeX, so I try to install some packages to make it work, failing horribly [1hour]. So I think, screw that, and I look on the internet for a program. Of course, all the programs out there are for professionals, and have all these options to make fancy circuits and such. So I download one, and it outputted in some crazy file format. 2 or three programs later, I give up on that front [another 2 hours]. Frustrated, I find a simplistic in-browser circuit generator, to which I screenshotted the parts and then, finally, pasted into Paint and rotated around to make a circuit, which I then inserted into Word [.5 hours].

Shortly after, I realize that I should have just did it in Paint all along and taken 20 minutes vs 4 hours. Bllaaarrgg. (or, taken 30 seconds with a pencil - but that wouldn't be right, I still think)

Koyaanisqatsi
Posts: 59
Joined: Wed Sep 28, 2011 12:11 am UTC

Re: 0974: "The General Problem"

Postby Koyaanisqatsi » Mon Nov 07, 2011 7:26 am UTC

Jeez! Do these always get posted at midnight?

Also, a joke!

Why did sodium hydroxide and hydrochloric acid get arrested?

They were charged with a salt! Ahhhhh ha ha ha ha ha!

JamusPsi
Posts: 12
Joined: Wed Apr 16, 2008 10:36 am UTC

Re: 0974: "The General Problem"

Postby JamusPsi » Mon Nov 07, 2011 7:26 am UTC

I have been known to mutter, when someone takes a Cartesian path instead of the most diagonal, "Pythagoras hates you."

It applies every time. Cross country or cross lobby. NO EXCEPTIONS.

c < a + b

mric
Posts: 67
Joined: Tue Aug 03, 2010 4:17 pm UTC

Re: 0974: "The General Problem"

Postby mric » Mon Nov 07, 2011 7:37 am UTC

JamusPsi wrote:I have been known to mutter, when someone takes a Cartesian path instead of the most diagonal, "Pythagoras hates you."

It applies every time. Cross country or cross lobby. NO EXCEPTIONS.

c < a + b

Crossing the road?

User avatar
theta4
Posts: 130
Joined: Wed Aug 27, 2008 5:16 am UTC

Re: 0974: "The General Problem"

Postby theta4 » Mon Nov 07, 2011 7:46 am UTC

Good comic, except salt is really more of a seasoning than a condiment....
EDIT: it seems my classification is incorrect :lol:
GENERATION -i: The first time you see this, copy it into your sig on any forum. Square it, and then add i to the generation.
PREVIOUS GENERATION: 1-i

Dante2428
Posts: 1
Joined: Mon Nov 07, 2011 8:07 am UTC

Re: 0974: "The General Problem"

Postby Dante2428 » Mon Nov 07, 2011 8:11 am UTC

I misread the title as "The Generals Problem", as in http://en.wikipedia.org/wiki/Two_Generals'_Problem
I think it works as a Byzantine fault tolerance comic, too :D

Randomizer
Posts: 284
Joined: Fri Feb 25, 2011 8:23 am UTC
Location: My walls are full of hungry wolves.
Contact:

Re: 0974: "The General Problem"

Postby Randomizer » Mon Nov 07, 2011 8:18 am UTC

I saw the off-panel person as a robot faced with a new task of "salt passing". In this context it makes sense for it to take the time to develop a more robust "condiment passing" instead of a strictly "salt passing" system.

Of course, the robot is off-screen so as to be ambiguous, letting the reader also imagine the strip as if the off-screen character were human, leading to two different punches from one strip.
Belial wrote:I'm all outraged out. Call me when the violent rebellion starts.

xorsyst
Posts: 23
Joined: Wed Jul 23, 2008 9:28 am UTC

Re: 0974: "The General Problem"

Postby xorsyst » Mon Nov 07, 2011 9:03 am UTC

Too often in new programmers I see this tendency to over-generalise things, burning lots of time to create general-purpose functions that do far too much, when a simple solution would do.

That's not to say you shouldn't think about the future, but the key is to work out what generalization you might actually need, then code something that does what you want now, but doesn't proclude the extensions you can forsee.

User avatar
MarkGyver
Posts: 41
Joined: Sun Nov 09, 2008 6:56 am UTC

Re: 0974: "The General Problem"

Postby MarkGyver » Mon Nov 07, 2011 9:21 am UTC

XtremD wrote:I sympathize with jpk and the off panel guy. I'm (much to my hindrance) currently being a bit of a perfectionist on my current project. I keep telling myself to stop being a perfectionist and get the job done fast but I (like the guy off panel) am really good at lying to myself. "Native 1024 core support will TOTALLY save me precious coding and compiling time in the future!"


1024 cores doesn't seem very general. Instead, it should detect the number of cores at runtime and automatically adjust itself accordingly. Of course the automatic self-adjustment algorithm should also be generalized so that it applies equally to multiple CPUs, computers, and networks.

I was going to think of more generalizations, but I think I should work on the generalized generalization problem instead.
Generation 0: The first time you see this, copy it into your signature and change it so that it looks like you inspired this signature. Social experiment.

daftrhetoric
Posts: 6
Joined: Wed Jun 11, 2008 9:28 am UTC

Re: 0974: "The General Problem"

Postby daftrhetoric » Mon Nov 07, 2011 9:30 am UTC

This is my favorite one since #435. An inter-esting insight about mental deliberation and design. It's also an allusion to the self propagating nature of agency; the object of the agent is not merely direct computation of opportunity and operation but also imputation, integration and expression of instruments.

User avatar
lktz
Posts: 1
Joined: Mon Nov 07, 2011 9:27 am UTC

Re: 0974: "The General Problem"

Postby lktz » Mon Nov 07, 2011 9:31 am UTC

"There's never enough time to do it right, but always enough time to do it over."

We used to say that where I worked, and it applies almost every time.

kaeso
Posts: 2
Joined: Wed Mar 23, 2011 10:41 am UTC

Re: 0974: "The General Problem"

Postby kaeso » Mon Nov 07, 2011 9:59 am UTC

The dis-analogy makes the joke...clearly models of reality can be made more or less exact, but only insofar as there is some non-stipulated reality to match. However, why it would ever matter if one wanted salt to be passed is beyond the pale.

Steroid
Posts: 549
Joined: Wed Mar 26, 2008 10:50 am UTC

Re: 0974: "The General Problem"

Postby Steroid » Mon Nov 07, 2011 10:14 am UTC

"Hey, the last time I just picked up the salt and handed it to you, a raptor attacked me."

And yes, I do labor-savers with my bookkeeping spreadsheets, both in the sheets and with VB macros. Work a day one time instead of an hour every month. Eventually it adds up to a lot of "look busy" time. Fortunately for me I've been able to fill that with profit-making work.

Andromeda321
Posts: 123
Joined: Fri Sep 18, 2009 11:31 pm UTC

Re: 0974: "The General Problem"

Postby Andromeda321 » Mon Nov 07, 2011 10:32 am UTC

I guess you can tell which camp I fall into because upon reading this comic I was beyond confused as to why the hell the other guy doesn't just pass salt and what exactly he was trying to set up.

You people are weird. :P

User avatar
J L
Posts: 242
Joined: Mon Jan 25, 2010 11:03 am UTC
Location: Germany
Contact:

Re: 0974: "The General Problem"

Postby J L » Mon Nov 07, 2011 10:43 am UTC

At least the master artisans of the past eventually finished their job.

What thoroughly annoys me are the people arguing "we can't get [minor improvement] off the ground because x [other minor problems] are just as important"; and as the years pass by, the debate wears off, and nothing ever happens.

westrim
Posts: 153
Joined: Mon Mar 30, 2009 4:51 am UTC

Re: 0974: "The General Problem"

Postby westrim » Mon Nov 07, 2011 11:41 am UTC

I find it interesting that almost all the comics have at least one, and usually several, replies that are along the lines of "I don't get it!" or " I disagree!" but when it's a programming comic, almost all the replies are equivalent to head nods, and even the I-though-it-meant comments are informed.

Koyaanisqatsi wrote:Jeez! Do these always get posted at midnight?

...yes.

Unless he posts it late, or you are not a Eastern Standard Time Zone occupant. You know, one of the people that has to watch events in OUR timezone on tape delay. Anyway, why is that a surprise or a revelation?

User avatar
radtea
Posts: 137
Joined: Mon Mar 03, 2008 8:57 pm UTC
Contact:

Re: 0974: "The General Problem"

Postby radtea » Mon Nov 07, 2011 12:18 pm UTC

jpk wrote:For the cartoon, though, wouldn't "English" or "some language used by both parties" serve as a good basis for the system to pass arbitrary condiments? And wouldn't the passer's hands be a pretty good implementation for it? (damn! NoHandsException hasn't been handled)


Likewise DeafnessException and NoCommonLanguageException.

The problem though is what constitutes "doing it right" or "perfection" is not simple or absolute. To misquote Knuth, the most perfect program, is the one that works. And support for a general case that never occurs is imperfect: it wastes resources today and in the future.

I'm currently in the process of stripping out a bunch of useless generality from old code, after maintaining it for almost a decade in which it wasn't needed. In retrospect, building in less generality to begin and extending/refactoring as needed would have been a far better solution, because what looked beautifully general at the time turned out to be overly complex and abstract.

Solutions that exist are always superior to ones that do not, so pursuing "perfection" is a very odd way of describing a process that ignores the problem your users are actually having today... although this does not justify a complete lack of attention to the problems you guess they might have in the future.
Coming on Midsummer's Day to a Web Browser Near You: http://www.songsofalbion.com

Invertin
Posts: 127
Joined: Fri Mar 20, 2009 8:08 pm UTC

Re: 0974: "The General Problem"

Postby Invertin » Mon Nov 07, 2011 12:47 pm UTC

I would just like to take this oppurtunity to point out that bullets are usually left in the wound. It's not doing any harm there, and taking it out can do further damage.

hamjudo
Posts: 109
Joined: Wed Feb 16, 2011 6:56 pm UTC

Re: 0974: "The General Problem"

Postby hamjudo » Mon Nov 07, 2011 12:57 pm UTC

Off-screen-guy is generalizing the problem wrong. "Arbitrary condiments" is an overly specific generalization. It fails horribly, when confronted with the request "Please pass me an apple.". Even generalizing to all food items, fails. As the request, "Please pass me a napkin.". is perfectly reasonable.

Some restaurants have eliminated the condiment passing requirement entirely, with a two pronged approach. First, they limit the condiment choices to a very small number. Then they put one of each condiment within arm's reach of each seat. This solution is not condiment specific, as it is also used for napkins.

For some people, the medically correct response is "no, you have too much salt in your diet already".

User avatar
Plasma Man
Posts: 2035
Joined: Tue Jan 15, 2008 9:27 am UTC
Location: Northampton, Northampton, Northampton middle England.

Re: 0974: "The General Problem"

Postby Plasma Man » Mon Nov 07, 2011 1:39 pm UTC

A good general solution is to just get up yourself and get what you want.
Please note that despite the lovely avatar Sungura gave me, I am not a medical doctor.

Possibly my proudest moment on the fora.

User avatar
Tass
Posts: 1909
Joined: Tue Nov 11, 2008 2:21 pm UTC
Location: Niels Bohr Institute, Copenhagen.

Re: 0974: "The General Problem"

Postby Tass » Mon Nov 07, 2011 1:53 pm UTC

mric wrote:
JamusPsi wrote:I have been known to mutter, when someone takes a Cartesian path instead of the most diagonal, "Pythagoras hates you."

It applies every time. Cross country or cross lobby. NO EXCEPTIONS.

c < a + b

Crossing the road?


Walking on the road is more dangerous than walking on the sidewalk it therefore carries a higher cost in your utility function. The result is that you should cross the road at an angle rather than either straight over or straight from beginning to destination.

The problem can be shown to be equivalent to refraction of light.

PetitBear
Posts: 1
Joined: Mon Nov 07, 2011 1:57 pm UTC

Re: 0974: "The General Problem"

Postby PetitBear » Mon Nov 07, 2011 2:01 pm UTC

Hello, all,

This one looks much like a concise version of the following story:

Once upon a time, in a kingdom not far from here, a king summoned two of his advisors for a test. He showed them both a shiny metal box with two slots in the top, a control knob, and a lever. "What do you think this is?"

One advisor, an engineer, answered first. "It is a toaster," he said. The king asked, "How would you design an embedded computer for it?" The engineer replied, "Using a four-bit micro-controller, I would write a simple program that reads the darkness knob and quantizes its position to one of 16 shades of darkness, from snow white to coal black. The program would use that darkness level as the index to a 16-element table of initial timer values. Then it would turn on the heating elements and start the timer with the initial value selected from the table. At the end of the time delay, it would turn off the heat and pop up the toast. Come back next week, and I'll show you a working prototype."

The second advisor, a computer scientist, immediately recognised the danger of such short-sighted thinking. He said, "Toasters don't just turn bread into toast, they are also used to warm frozen waffles. What you see before you is really a breakfast food cooker. As the subjects of your kingdom become more sophisticated, they will demand more capabilities. They will need a breakfast food cooker that can also cook sausage, fry bacon, and make scrambled eggs. A toaster that only makes toast will soon be obsolete. If we don't look to the future, we will have to completely redesign the toaster in just a few years."

"With this in mind, we can formulate a more intelligent solution to the problem. First, create a class of breakfast foods. Specialise this class into subclasses: grains, pork, and poultry. The specialisation process should be repeated with grains divided into toast, muffins, pancakes, and waffles; pork divided into sausage, links, and bacon; and poultry divided into scrambled eggs, hard-boiled eggs, poached eggs, fried eggs, and various omelette classes."

"The ham and cheese omelette class is worth special attention because it must inherit characteristics from the pork, dairy, and poultry classes. Thus, we see that the problem cannot be properly solved without multiple inheritance. At run time, the program must create the proper object and send a message to the object that says, 'Cook yourself.' The semantics of this message depend, of course, on the kind of object, so they have a different meaning to a piece of toast than to scrambled eggs."

"Reviewing the process so far, we see that the analysis phase has revealed that the primary requirement is to cook any kind of breakfast food. In the design phase, we have discovered some derived requirements. Specifically, we need an object-oriented language with multiple inheritance. Of course, users don't want the eggs to get cold while the bacon is frying, so concurrent processing is required, too."

"We must not forget the user interface. The lever that lowers the food lacks versatility, and the darkness knob is confusing. Users won't buy the product unless it has a user-friendly, graphical interface. When the breakfast cooker is plugged in, users should see a cowboy boot on the screen. Users click on it, and the message 'Booting UNIX v. 8.3' appears on the screen. (UNIX 8.3 should be out by the time the product gets to the market.) Users can pull down a menu and click on the foods they want to cook."

"Having made the wise decision of specifying the software first in the design phase, all that remains is to pick an adequate hardware platform for the implementation phase. An Intel Pentium with 32MB of memory, a 1G hard disk, and an SVGA monitor should be sufficient. If you select a multitasking, object oriented language that supports multiple inheritance and has a built-in GUI, writing the program
will be a snap. (Imagine the difficulty we would have had if we had foolishly allowed a hardware-first design strategy to lock us into a four-bit micro-controller!)."

The king wisely had the computer scientist beheaded, and they all lived happily ever after.

User avatar
thevicente
Posts: 119
Joined: Fri Jan 29, 2010 3:19 pm UTC

Re: 0974: "The General Problem"

Postby thevicente » Mon Nov 07, 2011 2:07 pm UTC

I'd like to see the developing of these functions:

please pass me the salt
pass me the [any condiment]
pass me [anything]
[any verb] me [anything]
[any verb] [anyone] [anything]

Rotherian
Posts: 164
Joined: Mon Nov 07, 2011 1:57 pm UTC

Re: 0974: "The General Problem"

Postby Rotherian » Mon Nov 07, 2011 2:27 pm UTC

blowfishhootie wrote:
jpk wrote:
blowfishhootie wrote:If you are waiting to have, I don't know, a bullet removed from your body, you probably wouldn't take kindly to a doctor whose response was to take the time to build some contraption for streamlining the removing of bullets from bullet wounds.


On the other hand, if you get a bullet stuck in you after that doctor perfects his device, you'd think, what a great doctor! Good thing he didn't screw around saving one person at a time, and made this machine instead...


The appropriate time for building said machine is when there is nobody waiting urgently for you to remove a bullet, not when someone has just asked you to do so. Accordingly, the appropriate time to build a machine for passing the salt is when there is nobody waiting on you to pass the salt right this moment. It's not that confusing.

I won't pretend to know the process of removing a bullet, but the person sharing the dinner table off-screen in this comic can take two seconds to pass the salt with no meaningful delay in his progress. He's pretty clearly being annoying.



This post is perfect for illustrating a few points that apparently all of you are missing:

1. Although there isn't enough visual data to tell whether the seated person is disabled, wheelchairs generally have handles for others to use to push them, so it is highly unlikely that the person seated is stuck in a wheelchair. That said, there is probably no obligation for the off-screen character to hand the salt to the on-screen character. Sure, it would be nice, but just because you ask for something doesn't mean that I am inherently obligated to provide it. Unless a) I have a familial obligation to provide condiments, or b) I am getting paid to provide condiments, you should really go and get your own d--- salt.

2. If, after 5 minutes or so, someone has not responded to your request for salt, or any other condiment for that matter, there is a simple solution to the problem - get off of your lazy bum and go grab the salt/other-condiment!

3. Although this is not definite, the willingness of the off-screen character to develop a system to pass arbitrary condiments suggests that this is not a singular occurrence. If this is the case, the system may, in the long run, save time for the off-screen character, and thus is a worthy pursuit, especially if neither 1a or 1b apply.


Return to “Individual XKCD Comic Threads”

Who is online

Users browsing this forum: No registered users and 107 guests