# teaching machines

## Circle Dance

At one time, people believed that the Earth was the center of the universe, and that the planets and the sun orbited around it. Copernicus came along and challenged this idea, suggesting that the sun was the center. These are the only two sides of the debate that we ever hear about. Heliocentrism vs. geocentrism […]

## Background Check

There’s somebody on Twitter named Dave who makes animations that break your mind. I fell in love with a simple rotating one a couple of weeks ago and recreated it in Twoville: Several others have recreated it too, but they appear to have fallen for the same trap that I initially fell for. They enumerated […]

## Progress in Twoville

Today was a non-teaching day, so I made some “progress” in Twoville: You could summarize my professional career as one long effort to get to the point where I can express non-trivial ideas about shapes and animations in around 30 lines of code that doesn’t need to be compiled.

## Power Set of Venn Diagrams

In our introductory programming class, I try to reframe abstract logic into concrete spatial thinking. One way I do this is through the game Trux Falsy. Another way is through Venn diagrams. I want students to see how the AND operator creates an intersection, how the OR operator creates a union, and how DeMorgan’s Law […]

## Terra’s Theme

I’m not exactly sure what Deltaphone is for, but this afternoon, it was for analyzing the structure of Terra’s Theme from Final Fantasy VI. (Thanks to 8-bit of 8-bit Music Theory, who did all the work.) The melodic line consists of a phrase repeated three times, and this phrase is expressed in the prefix function […]

## New Geometry

What do you call a portion of the shaded area between two arcs? A sharc. The figure above was created in Twoville, a little language for drawing vector art. Here’s the complete program:

## Interpolants in Twoville

Shapes in Twoville are animated across time by interpolating their properties between keyframes. Time is a first-class concept in the language, with assignment statements storing values across a timeline rather than in a static memory cell. Here’s a rectangle that oscillates left and right using this keyframe-sensitive assignment syntax: The animation above uses linear interpolation. […]

## VOICES 2019: Learning Music Theory through Code with Deltaphone

Follow is a draft of my talk for VOICES 2019, a virtual conference on the use of music in STEM learning. This is the first virtual conference I have attended. No flight, no badge, no bag of unwanted promotional materials. Just people talking about music and learning from the comfort of their homes and offices. […]

## Starring Matariki

During our last week in New Zealand, we attended the Matariki Festival at my sons’ school. Matariki is the Māori name for one of the stars that becomes visible in June, marking the start of a new growing season. The school celebrated with song and dance and an art show. For the art show, one […]

## Triadic Chords in Deltaphone

When non-pianists approach a piano, they will strike random keys—but often just one key at a time. If they play more than one, the sound is likely to be unpleasant. But that’s only because they don’t know which keys to strike at the same time. Let’s work out in Deltaphone a system of notes that […]

1 2 3 4 5 20