I've spent all day beating on a problem with no success. Then: 1) I put it away, the next morning I spot the problem in 3 seconds. 2) Or, I call someone over; they spot the problem in 3 seconds. 3) Or, I call someone over; then *I* spot the problem in 3 seconds. Of course, I've had co-workers call me to help, and I spot the problem in 3 seconds. Typically, the person feels stupid, but the reality is that after staring at something too long, we don't see what's there -- we see what we expect to be there. The best course of action is to walk away for an hour -- do something else, then come back. To be fair, not all problems are solved so easily. My freshman year in college, working on a DEC/VAX, the program I wrote was failing to compile on a specific line, and the error made no sense. I took it to the professor, and he acted disgusted, expecting a newbie programmer problem. He read through that section twice. Frowned, and said, "That is written correctly." He thought for another moment and said, "Delete that line plus the one above and below. Retype them." An unprintable character had been inserted into the file and the compiler choaked on it. Retyping those 3 lines solved it.