David Perry, an enterprising engineering student, took it upon himself to build this rubegoldberg, and he's posted some photos and his build-notes:
I grabbed a cordless drill motor/gearbox, some aluminium tubing/sheet/rod, nuts and bolts, transistors, resistors, diodes, an old parallel port cable and a protoboard. I also grabbed my notebook computer, an IBM PIII 700, running Slackware Linux 10.1. I determined that the only other parts I would need to buy would be three relays, two 3 amp for two vibrate speeds, and one 5 amp for 'thrust'.Link (Thanks, David!)
All this stuff was brought back to TEAM ENG headquarters on campus, while I figured out what to do. The simplest way to make something computer controlled is using the parallel port. Use three data lines to operate three relays, with the coils switched using a PN2222 transistor, 1k resistor, and 1N4004 diode to prevent voltage spikes. Those three datalines can be controlled with a couple of lines of code.
First task was making the vibrator remotely switchable. I disabled the speed control adjust in the base, and brought a pair of wires out which were connected between the batteries in the vibrator - connect them, and the vibrator would turn on.
A built the circuit on the protoboard so that the parallel port could control the three relays. An old computer power supply was used to provide the +12V necessary for switching the relays.
I write books. My latest is a YA science fiction novel called Homeland (it's the sequel to Little Brother). More books: Rapture of the Nerds (a novel, with Charlie Stross); With a Little Help (short stories); and The Great Big Beautiful Tomorrow (novella and nonfic). I speak all over the place and I tweet and tumble, too.