Every single day I am faced with choices. The very first one is whether or not to get up once I wake. The last decision is typically when to go to bed. I can safely say, however, that the most difficult choice I face daily is when to give up. As a software developer, this will sometimes mean when I need to give up on a problem and take a break. But how does that relate to other circumstances?