Short thoughts, sometimes explaining larger projects.

More Posts

Slides from a talk at Phillips Academy Andover on 12 January, 2018.


An example of what happens when MCMC goes wrong


“Sure, 45 minutes should be enough.”




A web app for generating samples from a sketched probability distribution function.


A command line utility to run, profile, and save Jupyter notebooks.. Available on github and pypi.


A command line utility to create kernels in Jupyter from virtual environments. Available on github and pypi.


I am a contributor to PyMC3, a “Python package for Bayesian statistical modeling and Probabilistic Machine Learning which focuses on advanced Markov chain Monte Carlo and variational fitting algorithms.”


Both a precious pup and a task runner for Python. Available on github and pypi.

Compare Cross Country Courses

An offshoot of another project, this allows you to compare times between most collegiate cross country courses.

Minimal Machine Learning Visualization Example II

A demonstration of using Flask, React, and d3js to visualize machine learning models. This is a port of a previous project from Angular to React.

Cross Country Predictions

Using hundreds of thousands of historical cross country running results to make predictions about future meets. The page is updated more than weekly during the season.

In a Word

A small project which once a day checks for new words on Futility Closet and keeps a searchable, downloadable list of the curious words it finds there. Click the random button a few times, or make an Anki study deck.

Predicting March Madness

For the second year in a row, I took part in Kaggle’s contest to predict March Madness winners. The code for the actual model is not very expository (get in touch if you are interested), but I also built a friendlier page to query predictions interactively at the link.

Bayesian Updating

An interactive page for demonstrating and experimenting with the beta distribution. Built with AngularJS and d3js.

> TidyTex

A command line utility for automatically compiling $\LaTeX$, and eliminating auxiliary files. Try it out with pip install tidytex.

A Bayesian Approach to L1 and L2 Regularization

An essay on building linear regression models. It is converted from notes for a talk I gave at Rice University in September 2014. Contains lots of pictures, lots of interactivity, and a modest amount of math. As a bonus, everything is typeset with KaTeX.

Live $\LaTeX$ Previews

An AngularJS directive providing live rendering of MathJax. There is a more in depth info page with examples at the link.

Parametric Graphs

A small script built on top of d3js allowing you to define simple animated parametric equations.

Linear Regression Demo

A demonstration of linear regression, overfitting, normalization, and regularization. Allows you to choose data from a distribution, and interactively fit polynomials to the data using least squares, ridge, or Lasso regression.

Minimal Machine Learning Visualization Example

A demonstration of using Flask, AngularJS, and d3js to visualize machine learning models. This is meant to be a minimal example of how to put together such a demo, showing how to make the tech stack play nice.

Past Talks

More Talks

Two views on regression with PyMC3 and scikit-learn
Wed, Nov 29, 2017
Hamiltonian Monte Carlo in PyMC3
Thu, Jun 15, 2017
Build You A Machine Learning
Sat, Sep 17, 2016
Finding and Using Data
Fri, May 13, 2016


  • >>> "{user}@{provider}.com".format(user=colcarroll, provider=gmail)