I implemented this a bunch of years ago in a fork of a SubSonic client. Their explanation wasn't sufficient to implement the algorithm but I did figure it out. I did like it. I stopped using SubSonic and now just use the simplistic shuffle in my media player. It's weird that I'm slightly annoyed when two songs from the same artist are played in proximity.