teaching machines

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 […]

Annotations in Twoville

Software for creating digital media tends to be driven by a mouse or stylus. The user directly manipulates shapes until they feel right. Twoville and Madeup, on the other hand, are programming interfaces for digital media. While code opens the door to algorithmic generation, programming interfaces tend not to give as much feedback as direct […]

Interaction in Deltaphone

One of the many superpowers of a musician is the ability to hear intervals. This is not a superpower I possess. Can it be learned? While I’ve been working on Deltaphone, a friend mentioned that he coded an interval generator when he was a kid in order to help him train his ear. Last week […]

Starfish

Twoville got support for arcs a couple of months ago. Full SVG supports elliptical arcs, but I don’t think they’re very intuitive and their parameters should not face the user. I restricted Twoville to circular arcs and exposed friendlier parameters. In my original draft, the programmer specified an arc via its starting point (which is […]

University of Canterbury Seminar

Hi, I’m Chris and I teach people to teach machines. But I am a reluctant computer scientist. Sometimes I get concerned that the thing I know the most about is not directly linked to my survival. My father knew how to keep machines running. My wife grows vegetables. In a post-apocalyptic world, they would be […]

Lissajous

Twoville serves two purposes: to create SVG images that can be used as input to laser and vinyl cutters to create animations To support the second of these, I have been using time blocks to define geometric properties at particular keyframes, and then letting the animation system interpolate between the keyframes. Like this: Here we […]

1 2 3 4 5 6 20