A few things I find that have helped me over the years.
1) Every 6 months or so, try and learn a new language or, if you're fluent in a language try and learn the roots of the language (C begot C++ with Smalltalk assistance begot Java begot ...). If there's a trend in language preference (ruby appears to be the language du jour), read everything you can online about it.
2) When you decide you want to learn something, find people that are respected in the language/field and read their blogs, follow their links and their references and start piecing the pieces together.
3) Find what you want to learn on StackOverflow or similar sites, look at the questions, and do the research for the answers. It will open up other avenues and help you find nuances of the language/technology you might now of known about and likely won't be covered in any books.
4) If you're REALLY brave, pick a topic/area of what you're trying to learn and schedule a presentation with you as the presenter about the particular technology. The deadline will force you to be diligent in your pursuit.
Hope this helps.