1) I try to stay crystal clear about what matters to me, so I know what are my objectives and what I have to do to reach them. Every (in)action is measured based on my objectives. When I procrastinate or waste my time, I know it. I keep on remembering it's all up to me, either I do what I have to reach my goal or I don't, faking it won't make it.
2) I want to ease people life make them more happy. Writing software tools is a way to me to do it, and improving myself is another one (for several reason, but it's another story...) Why? I honestly don't know :-)