Practical Shuffle Coding