Skip to content

Instantly share code, notes, and snippets.

Last active November 23, 2020 12:32
Show Gist options
  • Save aparrish/84067a801d840ceef190053cec1266e7 to your computer and use it in GitHub Desktop.
Save aparrish/84067a801d840ceef190053cec1266e7 to your computer and use it in GitHub Desktop.
Syllabus for "Authoring text under control: from automatic writing to autocomplete"

Authoring text under control: from automatic writing to autocomplete

SFPC Code Societies Workshop by Allison Parrish


"Automatic writing" refers to a process in which an author produces writing effortlessly, without apparent conscious awareness. Psychologists study automatic writing to better understand how mind affects muscle; creative writers use it to circumvent writer's block; surrealists practice it to recover a repressed primal consciousness; spiritualists use it to communicate with the dead. This series of workshops attempts to make explicit the technical and conceptual connections between these varied practices and computer-generated text, considering technologies like spell check, autocomplete, and search suggestions to themselves qualify as "automatic writing." Using the Python programming language, students will learn a series of techniques for producing text "automatically" with computer programs and design interfaces for "writing" with these programs. We'll discuss the nature of text and authorship in a future where technology increasingly mediates the act of writing itself.

Sessions will combine brief lectures with seminar-format discussions alongside tech tutorials. We'll also set aside some time for workshopping of student work as needed.


You'll need to have a laptop computer with Anaconda installed. (Python 3.6, 64-bit.)


Session 1: What is text really though?

Assignment: Pick two or more of the following activities.

  • Make a transcription of something that has never been transcribed before. (This could be an audio recording, a book that has never been scanned or whose OCR version has never been proofread, a street sign, handwritten notes, etc.) Do this "by hand" before experimenting with automated techniques.
  • Download a copy of this Jupyter Notebook and adapt one of the procedures to your own whims and aesthetics. What kinds of choices are you making when you make your own remix of one of these procedures? What kinds of authorship are you engaging in? (Is this "writing"?)
  • Write your own predictive poetry using a text input interface of your choice. In the process of doing this, think about the choices that you're making on a moment-to-moment basis. Does this poem resemble you?

Session 2: Predictive text and text generation

Assignment: Make some text with one of the text generators we discussed.

Session 3: Writing interfaces

Install spaCy! In a Jupyter Notebook Terminal window (Home > New > Terminal), type:

conda install -c conda-forge spacy

Wait for stuff to happen, then type:

python -m spacy download en_core_web_lg


(Some readings are unavailable online and will be distributed separately. Contact me for details.)

To be discussed in session 1

Xiao, An. “The Found Poetry of Google Autocomplete.” Hyperallergic, 11 Nov. 2013,

Will, B. “Gertrude Stein, Automatic Writing and the Mechanics of Genius.” Forum for Modern Language Studies, vol. 37, no. 2, Apr. 2001, pp. 169–75. CrossRef, doi:10.1093/fmls/37.2.169.

Bucholtz, Mary. “The Politics of Transcription.” Journal of Pragmatics, vol. 32, no. 10, 2000, pp. 1439–1465.

To be discussed in session 2

Giles, Harry. “Some Strategies of Bot Poetics.” Harry Giles, 6 Apr. 2016,

Hartman, Charles O. “Travesty.” Virtual Muse: Experiments in Computer Poetry, Wesleyan University Press, 1996, pp. 54–64.

To be discussed in session 3

Romano, Aja. “How Ouija Boards Work. (Hint: It’s Not Ghosts.).” Vox, 29 Oct. 2016,

Newton, Casey. “When Her Best Friend Died, She Used Artificial Intelligence to Keep Talking to Him.” TheVerge.Com, 6 Oct. 2016,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment