1) Posit previous solutions into a new universe. My personal favorite is thoroughbred horse racing. Its fun, its challenging, and occasionally profitable.
2) Take old solutions and make them run faster with smaller footprint. All too often PH's just throw the same old solutions at problems wo/ thinking about the consequences. So dust off those old scripts, open the Camel 3E to chapter 24, section on "Efficiency", and start tweaking. You may be surprised at the performance to be squeezed out of even a small script.
3) Write a source filter. Its been my best learning experience thus far. Oh, and make sure it does something useful (Acme::Dubya may be a humorous effort, but of questionable value). If you have some domain-specific knowledge, you can probably invent a nice language to encapsulate/represent it...so write a source filter.