The other side of my absorption in programming is what I call 'the letdown'. The letdown is what happens when I reach the end of the project, when I emerge from my trance and realize that the program is basically finished. Oh, there's polishing and refinement and cleanup and documentation, but I'm done the building. I've successfully put together what I imagined at the start, turned my dreaming and ideas and fancies into something concrete.
I've succeeded, and now I don't really have anything to do. (Certainly nothing that is absorbing in anywhere near the same way.)
When the letdown hits I always spend a while feeling blah and out of sorts. Nothing seems anywhere near as interesting as the programming was. Usually I spend a certain amount of time polishing and re-polishing the program, half trying to recapture the earlier magic (even though I can't), and then force myself to move on to something else.
The letdown in its full form is something more or less peculiar to me being a sysadmin instead of a programmer. A programmer is always programming, so they always have a next programming project on the horizon after they finish their current one. But sysadmin programming projects are relatively few and far between; once I've finished one, there is usually no more coding for a good while.
(And certainly not in the short term, because in the short term there's all of the things that I've put off in order to have the time to spend a solid week or more writing code.)
(There is still the last thrill of deploying it to production and hoping that people like it for real, but I know that that will be transient.)