Writing things down (even without code) helps a lot of the time. Many call that Rubber Duck Debugging. I'll explain my issue to my wife (who has no idea what I'm talking about), to myself on a walk along the waterfront at my home, or to my desk as I'm headbanging it out of frustration.
Well, i usually try to explain things to my "internal imaginery dumb user personality". Basically, a fantasy personality in my own head that doesn't know much about computers. Same strategy i use when designing user interfaces and similar stuff. Now, whoever says "you don't have to be mad to work here" - well, madness certainly helped me to improve code quality and user experience ;-)
perl -e 'use MIME::Base64; print decode_base64("4pmsIE5ldmVyIGdvbm5hIGdpdmUgeW91IHVwCiAgTmV2ZXIgZ29ubmEgbGV0IHlvdSBkb3duLi4uIOKZqwo=");'