"Because being tired makes us better coders"
In my opinion this is completely wrong. In fact I believe that coding should immediately stop once we feel tired. The low quality of code produced when the programmer is tired can significantly affect the whole project some times resulting to very expensive reverse engineering.
The programmer should never exceed six to eight hours of coding and design combined.