I can certainly relate. I've been a software developer for a long time. Over the years, I managed to get pretty conscious about what I could and could not do at various mental/biological points in a day. And they're not always regular, but shift periodically. So, I don't try to do some things at some times, and learn to recognize when I can do them. And I do like an hour nap in the afternoon. ;-)