In my working life I've used lots of programming languages (various Basics, Pascal, C++). In my current position I use Magic and Oracle PL/SQL. This is all database related. There has also been some Java and I have applied that knowledge to a few little fun projects such as encryption. One of these was the Ciphersaber project.
Java is a very versatile language and widely used, but then I came across Python. This seems to be as versatile as Java, but with a clearer style of programming. It's very open and available on just about any platform. There are some very good tutorials on-line, e.g. Dive Into Python , but I had been trying to think of a project to really get into it.
Then I found the Python Challenge. This is a series of cryptic puzzle that require writing some programs to solve them. Each leads to a further web page with the next puzzle. I think there are 22 of them so far. I am on number 5. I know what to do, but need to work out how to implement it. Some of the early puzzles could be easily done in any language, but later ones rely on Python libraries. I'm enjoying the experience so far, but I'm prepared for some frustration. There is a forum where you can get some hints if you get stuck. This can be useful if you don't know about the Python features you need to use. It's a bit like playing one of the old adventure games in some ways. I was never that good at those, but I like a mental challenge.