Studying Computer Science and Psychology
at University of Massachusetts Amherst

I’m preparing a collection of notes on CS/math/psych, tools, and workflow tips. I’ll publish them as I straighten them out.

Favorite Papers

Could Information Theory Provide an Ecological Theory of Sensory Processing? by Atick. Thorough exposition of neural processing, especially sensory processing, cast in the light of information theory. I wrote a short response about its major ideas.

Emergence of Simple-Cell Receptive Field Properties by Learning a Sparse Code for Natural Images, Olshausen & Field. Landmark paper in unsupervised feature learning in which a sparse code similar to the receptive fields of mammalian primary visual cortex simple cells develops through information-theoretic analysis of natural image statistics.

Unsupervised Language Acquisition: Carl de Marcken's PhD thesis on statistical language learning and text compression. Details a system that learns an English lexicon from a stream of text with all punctuation, spaces, and capitalization removed.

What the Frog’s Eyes Tell The Frog’s Brain: a classic study of the visual system of frogs describing its physiology and function, while commenting on its ecological fitness.

Tools & Tips

Dotfiles: a growing collection of configs and scripts that I have hacked together in the course of work and daily life. “Dotfiles” is a catch-all term for system customizations from the unix convention of hiding files by prepending a dot (.) to their name.

Git: my distributed version control system of choice, admirable pragmatically for its usefuless and computationally for its design and implementation. I track all my research projects in git to trace my thinking, ensure that I never lose work, and experiment freely with the help of easy branching. Git Ready and Git Reference are good resources to get started and dive deeper. Github is a social coding site for sharing and collaborating, especially on open source projects.

Homebrew: unobstrusive, straightforward package manager for delivering *nixy goodness to OS X. Great for languages, libraries, and utilities. I was never comfortable with intrusiveness of the fink/ports approach; Homebrew on the other hand keeps to itself in /usr/local.

Python for Scientific Computing: SciPy is a framework for mathematics, science, and engineering programming with the pithiness and flexibility of python. It is based on the Numpy numerical computing library. Together they have a lot to offer for research programming, prototyping, and healing the wounds of prolonged MATLAB usage.

Autojump: console utility for quick directory traversal. Jumps to directories by name and “frecency” of access. Dirs are selected by matching names and ranked by frequency and recency of visiting.