teaching machines

Flat Braid

When all you know of trees is that they have bark and leaves, you view the woods as a background to the more interesting foreground activity of a jog, or a campout, or a proposal. But when one knows the trees, it’s hard to not stop every few feet and shake hands with some old […]

Fourlords Field

In a couple of weeks, I start teaching a brand new elective on game development. Students will team up and build a single game throughout the semester. I’ve taught several such courses in the past, but this one has a couple of twists: The games must be locally cooperative. These games are intended to be […]

Two MPU-6050s

Ugh. After learning how to talk to one accelerometer, I needed to talk to two of them. The MPU-6050 is, for reasons I do not understand, bound to I2C addresses 0x68 or 0x69. In order to put two of them on the same I2C bus, one will have to take on 0x68 and the other […]

Flying with the MPU-6050

A student and I are working on a hardware project. This is world I don’t know well, and I think the best thing I can do is painstakingly document our every step. Unfortunately, the project started four months ago. I’m a bit late. Our first task was to figure out how to talk to an […]

Icosahedron, Part 2

Several hours later, I have now found the difference between an octahedron and an icosahedron. I had been stuck on generating the coordinates of the octahedron. A little reading and experimentation directed my attention to the cube circumscribing the icosahedron. The way I’ve set things up, its vertices are all [±u, ±u, ±u], where u […]

Icosahedron, Part 1

One of the important consequences of the internet is that we can now talk freely about icosahedrons. We’re not bound to the interests of those that are geographically near. We can love pretty much anything and find a community that shares our passions somewhere online. So, this morning, while I was trying to get other […]

Generating Cool Circuits

A few years ago my mother gave us this Cool Circuits puzzle: If I chain together the individual links into a complete circuit, a small fanfare of lights and sounds is produced. That is, it used to work that way. Moths and rust have had their way with the internals. There are metal wires running […]


Random walks have fascinated me the past few months. As someone who plans weeks and months ahead of time, I suppose I’m compensating a little. They let me take a walk on the wild side. Doo doo doo doo doo doo doo doo doo. But pure wildness isn’t very interesting—at least not for long. It […]

Center Bug

How do you teach elementary schoolers to programmatically trace a circle? Not with parametric equations involving sine and cosine, but with a turtle. You set them on its back, put the reins in their hands, and have them call out orders. The turtle only needs to know two commands: move and turn. Interleave these commands, […]

Random Splats with Lobes

Earlier I discussed my silly dream of generating random splats. That dream had a sequel that the recent break afforded me time to pursue: generating random splats with lobes. I had a hunch that this task would be easier if I had a utility function for generating a random curve that netted a turn of […]

1 2 3 14