I understand that sometimes you need to bite the bullet and work late or go in during odd hours, but if you need to invest in a gadget to keep you awake, the company needs to seriously reconsider whats going on. Pulling long hours doesn't make for good results. Do you really want to run code from someone that's been up for 25 hours and shaky from caffiene and only awake due to the alarms going off in his earpiece? Everybody knows that's unlikely to be a good piece of code. It might work, but it would be so much more effiecient and elegant if the programmer had time to sleep and go home to spend time with family. If having to do something like that has become the norm, it's bad management practices in hiring or scheduling.