I've got a problem. My mind is defective.
Programming is the culprit.
I wake up in the middle of the night (beginning of the morning, actually) having developed an algorithm to solve a problem for a program that I was working on the day before.
At first, I thought that this was awesome, I would just wake up, without having to do any work, and I would have the solution for something that would normally take me hours to get.
Now I hate it. I can't go back to sleep after waking up, so I normally only sleep until 3 or 4 in the morning. I dream about coding programs, that's how I work out the algorithms; I'm subconciously working on it all night.
My solution is to stop programming. At least for now.
I'll see how it goes...