However, I get stuck just like everyone else, and I think "getting stuck" is the problem Pomodoro is _really_ trying to solve, but to me it feels unnatural. My own method of getting unstuck is:
1. First consciously "notice" deviation (being susceptible to 30sec check of HN or whatever), I tend to start deviating because I have found a natural break or because I am stuck (deviating in quick succession). Either way I should make it a proper break, go make a cup of tea and leave the computer, think about where I am. Recognising this is not as easy as you might think at first.
2. If this is a repeat occurrence within some short period of time then I am stuck... noticing this is important because rather than just grinding away harder, it is likely a change strategy is needed in order to get back into "the mode". There is no silver bullet here, but I have a few tricks, for coding in general i find that moving to work on different areas or levels of abstraction help prune the decision tree higher up which can get you out of a little local minima with too many decisions that are grinding you to a halt.
I suppose what I am doing that Pomorado seems to lack is finding natural breaks and trying to introspect in the natural break to determine if I am breaking too frequently and if there is a reason (I'm not suggesting it should be ok to have absolutely no breaks, but that lack of concentration can sometimes be an indicator of an issue with your strategy for the current work.)