The two hardest problems in Computer Science are:

1. Getting up in the morning
2. Going to bed at a reasonable time
@lofty This is a tradition handed down from the days of punch cards when undergrad batches were lowest priority so you couldn't debug until 1am.