Analog GPT

After some recent prodigious flooding here in Brooklyn, I was left to do some emergency cleanup in my parents’ basement. Amidst the mess emerged a piece of tech that I hadn’t seen in many years: a 1984 Brother EP-44 word processor that my cousin had given to me in the early 90s, after he’d graduated law school and moved on to fancier first-generation laptops. Our politics differ not-so-slightly; I guess I stuck a Greenpeace ’93 sticker on it to counterbalance things like the Bush ’88 campaign sticker he’d left there.

The EP-44 is a really fun device. It’s an early electronic typewriter / printer combo, with a DB-25 port allowing it to make serial connections and a thermal print head that work with fax paper rolls (so no long-discontinued ink cassette needed!). Daisy-chaining USB-C to DB-9 and DB-9 to DB-25 cables gave me pretty quick access via the Terminal, with GPT-4 pairing on a Python script and some debugging thanks to pioneers that came before me. (Of note, I needed a null modem cable. This was a confusing detail.)

It lives!

Once I had the serial connection running, it just seemed natural to try to hook it up to the GPT-4 API. Turns out there’s something so gratifying about typing with a chatbot through a physical interface rather than a textbox. I created a system prompt that encouraged it to adopt a persona combining aspects of Mitch Hedburg and David Foster Wallace, thinking that’d be a head start to some gen X wisdom, and I even added some delays and typos to make it seem more natural.

All of this inspired me to pick up my long-delayed project of finetuning a chatbot on my own text message archived, described here. Once I’d gotten those models working to my satisfaction, I took a model trained on the MS Word diary I kept as a ~13 year old and hooked it up to the EP-44. (This required some extra fancy footwork using ChatGPT to split my diary entries into more ‘conversational’ chunks and then generate chatty questions mapped to each chunk, for training purposes.) Now I can chat with my sad tween self circa 1997-1998 via a physical word processor built in 1984!

ChatGPT just hits different on a typewriter

The code that connects my finetuned gpt-3.5-turbo model to the Brother EP-44 over pyserial can be found on github.