Once upon a time there was a display terminal called the General Turtle 2500, with a very early implementation of vector graphics. It was used to support a version of Logo that included a SPIN command that could give a turtle an angular speed. Recently Brian Silverman, whose hobby is programming simulations of ancient computers, wrote a 2500 simulator and revived its Logo. He suggested that no other programming environment could do SPIN. I said Snap! could do it using nested sprites, and he challenged me to recreate this old 2500 demo program. Without the circle of lights, the spokes pointing downward appear to be longer than the ones pointing upward, because all the cars are below the endpoints of the spokes. data:image/png;base64,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 data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAACtUlEQVR4nO3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+Bo3+AAF/RMkcAAAAAElFTkSuQmCC 30 30 3 30 30 3 30 30 3 30 30 3 30 30 3 30 30 3 30 30 3 30 30 3 30 30 3 30 30 3