# Code

## Slide to Unlock

Earlier this year I created a web-based mobile puzzle game called “Slide to Unlock“. The premise is very simple, and probably easier to understand by trying it rather than reading about it. To clear a level, you must slide disks along their tracks, gradually removing those tracks until nothing is …

## Genuary 2023

I haven’t written anything on this site for a long time. That seems particularly unconscionable after a such a consequential year. And while the medium of blogging continues to decline in popularity, it still seems to hold some value for me as a means of disseminating ideas (just this morning …

## Heesch Numbers of Unmarked Polyforms

After a few years of not writing about the subject here, I’m happy to offer an update on Heesch numbers! If you want to save time, you can skip right to the paper I wrote, or experiment with the associated dataset. Back in 2017, I wrote a series of four …

## The Metaphysics of Speed Limits

(define (speeding-fine speed) (cond [(< speed 100) 0] [(and (>= speed 100) (< speed 120)) (* 3.00 (- speed 100))] [(and (>= speed 120) (< speed 130)) (* 4.50 (- speed 100))] [(and (>= speed 130) (< speed 150)) (* 7.00 (- speed 100))] [(>= speed 150) (* 9.75 (- …

## The Tactile libraries

I developed a new open-source software library for manipulating isohedral tilings, based on the work I did on this topic during my PhD. The library is available in C++ and Javascript, and I offer a few fun automated and interactive demo programs that anybody can use to play with isohedral tilings.

## Heesch Numbers, Part 4: Edge-to-Edge Pentagons

This post is the fourth and final one in a series about Heesch numbers.  Part 1 was a general introduction, and would be a good starting point if you’re unfamiliar with the topic. Part 2 covered exhaustive computations of Heesch numbers of polyominoes and polyiamonds, and likely isn’t needed to …