Approximate nearest neighbors and the fast Johnson-Lindenstrauss transform | Synapse