You probably program too much.
Just when you've really gotten into your work, when your brain is entirely wrapped around your code, when your hands, eyes, and thoughts are working in harmony, stop. Look up. Think about when you're going to finish for the day. Look forward to shutting off your computer. Get outside a little.
Programming, for all its mental exercise, is a very comfortable physical activity. We usually program while sitting, and as the hours waste away, sitting lower, and more out-of-posture in our chairs. Some of us even eat and drink at our desks, while we code away. You can tell just by examining the keyboards — the somewhat slick ones with a pound of crumbs under the keys.
This comfort is dangerous. It means we can do this for hours and hours and hours without realizing we've exhausted our own resources. When you've hit that point where your code gets a bit sloppy, or better yet, just before it, stop. Great programming is about maximizing the amount of time you're working at your best, not the cumulative hours you spend in front of a screen.
Two hours of quality programming time is better than 8 hours of struggle. You're far more susceptible to taking shortcuts or breaking standard conventions when you're coding tired. Those extra hours are spent creating bad code — code that you might regret the next day. So, cut your programming time down, get outside, and live a little.
Source : http://www.thedeveloperscode.com/#lesson-10
According to Chris Dixon, Every Unix command eventually become an internet service. Grep->Google, rsync->Dropbox, man->stack overflow, cron->ifttt ... sudo is NSA, LOL