A primer on fentanyl

Making people genuinely resilient in the face of temptation can’t be done by chanting “Just Say No,” or by inventing ever more creative lies to tell to schoolchildren. Lots of people are going to be addicted, when strongly habit-forming and highly pleasurable drugs are available to them, for the same reason lots of them are going to wind up obese when they’re offered all the sweet, fatty, and salty food they can stuff themselves with, plus unlimited sedentary amusements.

From A Primer on Fentanyl(s)

Weekly Roundup

Was much busier this week and wasted less time on the internet. But! Here are my favorite links from this week:

Have a great weekend.

Rebuilding Doug Engelbart’s Chorded Keyboard

In 1968, Doug Engelbart made The Mother of all Demos where he showcased the world’s first computer workstation that had a mouse, keyboard, and graphical user interface. It’s long but it’s worth a watch, mostly because it shows how many of Engelbart’s ideas persist to this day.

There were a couple things that fascinated me about this demo. Doug used what he called a chorded keyboard, which was a sort of five-key piano-like device that sat to the left of the normal keyboard:


Here, he explains that the device has 5 keys because humans have five fingers, and that it’s possible to map the binary digits to your fingers and thus the chorded keyboard provides 32 possible “chords” that can be played with two fingers:

If you watch the original 1968 video, you can see that Doug used the combination of the GUI, this chorded keyboard, and the mouse to use software in a way that was nearly modeless and involved the use of both hands. It allowed the user to issue commands to the software by pointing, clicking, and playing a chord simultaneously that performed some desired functionality. It reminds me a lot of playing a musical instrument.

Several years ago I became a little obsessed with trying to duplicate this device. It turns out that nobody makes anything like it. The best I could do was to buy an Arduino, some pushbuttons, and try to make one myself.

For posterity, here’s the code for my device: https://github.com/dpaola2/ChordedKeyboard. I followed this tutorial to set up the Arduino as a USB keyboard in OS X, which required using a driver from this repository.

Essentially, I put five push-button components onto a small breadboard and connected them to the arduino. Then, in the main loop of the arduino board, I polled the 5 pins for their values and treated them simply as binary (which was really not difficult) and emitted them to the computer via the homemade device driver.

Because our software today doesn’t work in precisely the same way Engelbart’s NLS system worked, I wasn’t able to “play” the computer as he did. But it was a fun project and I learned a lot. Maybe someday I’ll write some software that takes the idea a little bit further.

Here are the photos of my chorded keyboard: