I tell all my students (and anyone else who will listen) to learn to program. Owning a computer just to browse youtube and facebook is like owning a car just to sit in it and listen to the radio. Programming your computer is like driving your car – it’s the actual purpose of the device. And computers have a good claim to being the most important invention in human history – they are the physical realization of a Turing machine. Of the countless applications for computer programming, my favorite is building tools to learn and explore ideas that would be impossible otherwise. Here I’m translating to javascript some of the programs I’ve built for my own learning, so anyone can try them.

Complex fun

Here’s a tool for visualizing complex functions, which are important in scientific data analysis, but sometimes tough to grasp because with real and imaginary parts for input and output, they have 4 dimensions to plot. This program lets you explore input and output with motion and a new color scheme.

Clock fun

Here is a clock that displays solar noon, solar midnight, sunrise, and sunset, with colors to represent solar elevation. (Coming soon: moon position and phase).

3D fun

Now that they are reliable and affordable, 3D printers are pure pleasure that I wish I had as a kid. Here are useful parts I print in the lab.

Pooling fun

Images of visual pooling

Neuro fun

Interactive simulations of neurobiology in action!