Learning binary codes for collaborative filtering | Synapse