I am a physicist with experience in computational neuroscience, numerical methods and data analysis which I combine with a deep interest in computer science, especially pure, functional programming (especially in Lisp dialects.)
I currently work for Agri-Esprit, a company providing software-assisted continuous improvement services for farmers. I find the opportunity to use my technical skills to help farmers, humans, and the environment extremely exciting, especially since it involves working in Common Lisp and with some of the smartest and most interesting people I've ever met.
Less professionally, I'm extremely interested in the history of ideas, the teaching of Physics (my first love, after all), machine learning, viewing programming as cognitive assistance, rather than application development, the relationship between philosophy and the natural sciences, fringe religious groups of the United States, artificial intelligence, procedural content generation, and some creative output.
Dorophone, is my blog - frequently it is about programming but sometimes I write about other things.
Shadchen is a pattern matcher with implementations in Common Lisp and Emacs Lisp. Gazelle also includes a pattern matcher closely related to Shadchen. Shadchen is a feature complete library which supports, in Emacs Lisp, self-tail call optimization and Lispy and Haskell style monadic binding forms.
Parenlab, a Lisp which compiles to Matlab/Octave.
Seven years of matlab utilities, including software to find and analyse spike patterns.
A huge pile of emacs utilities, including, but not limited to:
an implementation of Haskell like monadic binding syntax and several monads.
an implementation of Clojure's destructuring bind syntax in Emacs Lisp.
microstack a very terse APL-like language based on the stack language above.
And lots of other stuff I am in the process of factoring out and making independent.
A History of Fringe Religious Groups of the United States, which is the name of a bunch of song demos I've written. Most of which are pretty bad! (They get better as you move down the page.)