Check out
Eryk Walas’s
Shuffle