Max Halford


  • July, 2017

    Unknown pleasures with JavaScript

    No this blog post is not about how nice JavaScript can be, instead it’s just another one of my attempts at reproducing modern art with procedural generation and the HTML5 <canvas> element. This time I randomly generated images resembling the...

  • June, 2017

    Subsampling a training set to match a test set - Part 1

    Some friends and I recently qualified for the final of the 2017 edition of the Data Science Game competition. The first part was a Kaggle competition with data provided by Deezer. The problem was a binary classification task where one had to predi...

  • March, 2017

    Halftoning with Go - Part 2

    The next stop on my travel through the world of halftoning will be the implementation of Weighted Voronoi Stippling as described in Adrian Secord’s 2002 paper. This method is more involved than the ones I detailed in my previous blog post, however...

  • March, 2017

    Grid paintings à la Mondrian with JavaScript

    I was at a laundrette today and had just finished my book so I had some time to kill. Naturally I devised an algorithm for generating drawings that would resemble the grid-like paintings that Piet Mondrian made famous. With the benefit of hindsigh...

  • January, 2017

    A short introduction and conclusion to the OpenBikes 2016 Challenge

    During my undergraduate internship in 2015 I started a side project called OpenBikes. The idea was to visualize and analyze bike sharing over multiple cities. Axel Bellec joined me and in 2016 we won a national open data competition. Since then we...