What I do to make it interesting for myself is to decide on one particular application, and then build that application in every language I know, and every language I learn.
It teaches me the differences between the languages, and some of their relative strengths and weaknesses. (plus it gives a portfolio of my work, since the programs I work on for my job are not showcaseable).
Lots of people would be bored to death by that approach, but I bet they each have their own.
If you learn well from books, get them second hand (god knows I won't pay full price for them), or see how decent your local inter-library loan is.
If you can learn well online, there are resources. Take Ruby for example, there are Hello World tutorials, language tutorials, and plain old up and running tutorials.
But I think that the best way to go is to get some comfort with how to get up and running with the language, and then just dive in and develop something, looking up as you go.
If you wanted to learn something like ASP.NET MVC you've got great resources over at asp.net that are free. And the website spark program from Microsoft to get you access to the software you may need.