As a programmer, I often feel tempted to brainstorm ideas for "projects " What is my next project going to be? How am I going to make it interesting? I've come to find that all of the best projects I work on are those that scratch the itches that I am facing