To generate ideas, I find it's always helpful to ask "what bugs me about programming" and "what bugs me about working on the computer."
Finishing things is another story. Finishing things is really hard. I think you will be happier if you accept that you will have a portfolio of projects, many of which remain unfinished. If you finish everything, you will have the opportunity to explore many fewer ideas and technologies.
Choose carefully which projects you wish to finish, and remember the words of Piet Hein:
Put up in a place
where it's easy to see
the cryptic admonishment
T. T. T.
When you feel how depressingly
slowly you climb,
it's well to remember that
Things Take Time.