HomeBlogResearch & PublicationsTalksCodeContact

Programming

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.

Lately, I've been spending a lot of time working with data visualizations, and have finally found an ecosystem with (nearly) everything I would want in terms of visualization needs: Vega-Lite & Vega. On multiple projects now, both in Clojure and vanilla JavaScript, these tools have proven their worth many fold over, and I have become a staunch advocate for their approach to data visualization.


Projects of interest:

For a complete list of everything public/OS, please visit my github page. Below are some select highlights:

Polis

I built and maintain the code powering Polis, a participatory democracy tool featured as a core part of the vTaiwan participatory democracy process. In rough order of contribution:

Clojure data science work

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.

Datsys

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:

Computational biology

Working with Erick Matsen at Fred Hutch in the Computational Biology department, I built a number of reusable analysis tools:

Internet of "things"

Where things are sometimes chickens! The fruit of my time doing device programming:

Misc contributions


Linked in and Twitter icons by Anas Ramadan and Elegant Themes from Flaticon, licensed CC BY 3.0

Content Copyright 2019, Christopher T. Small; Site generated by Oz