Currently browsing tag

programming

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 …

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 …

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 2: Polyforms

In the first post in this series, I introduced the concept of a shape’s Heesch number. In brief, if a shape doesn’t tile the plane, its Heesch number is a measure of the maximum number of times you can surround the shape with layers of copies of itself. (Shapes that do …

Trump Haiku Bot

Oh he is so quick On his feet. He is reading The #WallStreetJournal. This term, I’m teaching an introductory computer science course for students in Waterloo’s Global Business and Digital Arts program. We’re using Processing, a fun environment for learning programming, and for simple programming tasks related to visual art …