Currently browsing category

Code

Genuary 2024

I’m currently working on a new online edition of an undergraduate course I first developed in 2014. The course is the second in a sequence of two introductory programming courses for non-majors. Our emphasis is on programming as a creative medium for art and design, so it’s only natural that …

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.