I thought this article was amazing, and an almost perfect description of how I get when I program:

http://www.independentdeveloper.com/...s-like-a-dream