It's always important to stay current in whichever programming language you use. Working on the same code-base day-to-day can get monotonous and can start to narrow your line of thinking. To help myself stay current and explore new areas of a given language (currently Ruby for me) I enjoy playing problem solving games online. When I was first learning Python and Ruby, I enjoyed spending time at Hack This Site! and now I am working my way through Project Euler. What I like about Project Euler is that any of the problems can be solved in under one minute with an optimum algorithm. So, even though you can brute force your way through a few problems, it quickly becomes impractical and forces you to optimize your code. In my progress (I've solved the first 50 at the time of this posting) I have researched and relearned a bunch of mathematical principles and used classes in Ruby that I did not know existed (because I never needed them). Working with a group of people with similar tastes, it makes a good competition to see who can solve problems fastest while expanding your knowledge of your language!