How do you decide when to throw out your code/idea and sleep on it/do a rewrite?
Most people intuitively know when they’ve gotten stuck. Suddenly, after plowing through mountains of work, returns suddenly diminish dramatically. People who program late at night will recognize this phenomena; coding turns from an art to a masturbatory exercise in frustration. (This also comes up when doing late night work as a student, interestingly.)
The reason people can overlook the stall point is that it’s not one point. If we got pitched headlong into a freezing room, we’d be far less likely to leave the thermostat alone.
Being acutely sensitive to even the smallest amounts of frustration is a good way to pick up on incoming stall points.
Be intolerant of annoyances.