My first experience programming was back in college, when I was a pure and applied math student, learning Mathematica and LaTeX for visualizations and typesetting, as well as mathematical computations and modelling.
After graduating and working in industry, as a data scientist before that was really a term ("Staff Mathematician & Lab Technician"?), I started getting into Ruby for building web applications, and GUIs with Shoes (how I loved
class Creation < Shoes::App).
Later, I decided to focus on software, and so began consulting, building out websites and web applications for various companies and governmental departments.
Eventually, I got tired of building web applications, and wanted to be getting into more mathematically interesting work, and magically happened upon a job posting to work with Erick Matsen in the Computational Biology Department of Fred Hutch Cancer Research Center. This led to a bunch of fascinating biology research, not to mention Python and R code along the way.
During my time at "the Hutch", I began working on a project with some friends (Colin Megill and Michael Bjorkegren) to see if we could use voting and machine learning to make sense of large scale conversations and feedback. This led to the creation of https://github.com/pol-is.
My experience with Clojure working on the math engine behind Polis made me a functional, declarative, data-driven programming convert. Consequently, I've become an active member of the Clojure community, maintaining a number of open source libraries, and have been fortunate to do some Clojure consulting for a number of companies. I've also got a few talks about my work with Clojure which you might want to take a look at.
For a complete list of everything public/OS, please visit my github page. Below are some select highlights:
As a member of the budding Clojure data science community, I build tools which try to fill gaps in our toolkit and aim to make Clojure a first class language for data science.
I've been working on a set of tools for making full stack Clojure + ClojureScript applications using Datomic and DataScript as a data model. The most interesting pieces of this as of this writing:
Where things are sometimes chickens! The fruit of my time doing device programming: