Why we stay up late
I was having a discussion a few nights ago about attention, and someone mentioned the fact that contiguous blocks of time are precious. It's obvious once it's been pointed out to you, and with it in mind I've noticed my tendency to bucket useful activities into various categories: checking email, reading news feeds and simple tasks fall into the "less than an hour" time bucket, while really actually creating software, fixing hard bugs or reading code fall into the "more than an hour, preferably several hours" time bucket. I've recognized that attempting to tackle the "more than an hour" bucket in the snatches of time between classes and extracurriculars is simply wasteful.
But unlike the programmer working a day job that Paul Graham describes in his essay, I am a college student. I mostly don't do my work during the day; that's the time to imbibe information from lectures and recitations. In particular, I'm an MIT student, which means that there's no 5:00 "oh, time to go home and relax" period; it's work all the time (and you grab precious moments of relief with flights of procrastination when you can.) My mornings and evenings are saturated by meetings: they require me to physically relocate myself and pay attention to something else on someone else's schedule. And throw in orchestra rehearsal from 7:30-10PM or small ensemble rehearsal from 5-7PM or SIPB meetings from 7:30-8:30PM and you've got a recipe for fragmentation.
When can you get that uninterrupted time? Only late at night, because when you are working on that problem set at two in the morning, there is one good thing: no one has scheduled a meeting at 2:30 AM. And while it's definitely a shame that these benefits may be outweighed by the intoxication of sleep deprivation, you're not going to find this sort of contiguous block of time anywhere else. And that's why we stay up late.