**Graphs and codes from nonlinear functions**

Certain nonlinear codes, such as the binary Preparata codes, have better error-correcting properties than any linear codes of the same length and size. Classically, these codes are described using functions on finite vector spaces which are far from linear; these "crooked" functions can also be used to construct interesting distance-regular graphs. In this talk I will explain some of the interesting connections between these structures, including some new results which chracterize crooked functions in terms of their graphs and codes.