+1 on game development. This is where I always find the most engaging and fun programming puzzles.
Key thing is to make small game projects that you aim to finish in well under a year. Once you embark on a big project and feature creep sets in, you’re back to avoiding programming.
There is a third one too, I can't remember what it's called though. I think it has "Love" in the name.