Cryptographically secure random shuffles: Beating Fisher-Yates | Hacker News Reader