The approach I'm using is to combine two techniques; user-based collaborative filtering and item-based collaborative filtering, using what is known as similarity fusion. Along with that, I'll be generating implicit ratings based upon certain criteria such as how many times a track has been listened to, how many times a track has been skipped, etc. This is the main bulk of the project, and the part that's causing me the most headaches. But progress is being made, and I'm nearly there.
However, one of the other features of the project is that I'm going to create a visualization tool that will allow the user to see exactly why a recommendation has been given to them. Generating the recommendations is easy in comparison to this.
I'm over half way through the project now, and it needs to be completed in the next 10 weeks. If you're interested in testing, then head on over to project.wblinks.com and sign up. You need to be running iTunes in Windows, or Amarok in Linux. If you're feeling adventurous, you can make your own plugin to use my system by reading the App Server Documentation. There's also part of an AppleScript to use iTunes in OSX, but I don't own a Mac, so I can't test it, so if you know AppleScript and want to finish it, go right ahead. I just wrote it based on some AppleScript documentation.
If you're already a tester, then just keep listening to music and you'll be getting some recommendations soon.