What do you do when you hit a wall? When you found a bug and you can't figure out how to fix it. You spend hours and hours in front of the screen and nothing seems to work. Sometimes this can be the worse nightmare for a programmer and putting more hours trying to fix it won't make a difference.
Frustration is the feeling. You think if you type harder you will magically fix it. However I have started to notice a pattern every time I make a major fix the solution never comes to me when I am banging my head on the table. Sometimes I take the train to go to work and I turn off the music and just enjoy the people and the scene. This is where my greatest solutions come from. Taking your mind off of everything can do miracles. Maybe that's what Jeff Atwood means by "Programming without programming". Forget about that bug and take a break, walk around, go find someone to bother, any thing really just to take your mind off.
Comeback fresh and see how things can simply look better for you.