I am a scientist, code writer, and computer science enthusiast. I enjoy learning new languages and concepts and thinking about how to solve problems. I am drawn to small, elegant solutions more strongly than I am drawn to technical complexity. I strive to grasp fundamentals more than I strive to keep up with the latest trends.
The largest body of code I have worked on is a new tool for manipulating and visualizing magnetic resonance data. At any one time there is likely to be a plethora of smaller projects I am working on.
I have spent most of my professional career as a biochemist. I am fascinated by the analogies between living matter and code – in both you find complexity built up from simple components in layers, and you find very complex systems that can be understood in terms of a simple behavior. I often see analogies between code and everyday life – we program ourselves and our environments with algorithms every day.
This blog is about algorithms – often in the form of code, but not always. A theme is that because the best algorithms in code often have analogies to things we do in everyday life, thinking deeply about one is a good way to learn about the other. I aim for complete posts with working demonstrations, rather than lots of posts; therefore, the pace of posting is moderate, about once per month.