Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Participants: Hannah Ackermans * Julianne Aguilar * Bo An * Katie Anagnostou * Joanne Armitage * Lucas Bang * Alanna Bartolini * David M. Berry * Lillian-Yvonne Bertram * Elisa Beshero-Bondar * Briana Bettin * Sayan Bhattacharyya * Avery Blankenship * Gregory Bringman * Tatiana Bryant * Zara Burton * Evan Buswell * Ashleigh Cassemere-Stanfield * Angela Chang * Prashant Chauhan * Lia Coleman * Chris Coleman * Bill Condee * Nicole Cote * Christina Cuneo * Pierre Depaz * Ranjodh Dhaliwal * Samuel DiBella * Quinn Dombrowski * Kevin Driscoll * Brandee Easter * Jeffrey Edgington * Zoelle Egner * Tristan Espinoza * Teodora Sinziana Fartan * Meredith finkelstein * luke fischbeck * Cyril Focht * Cassidy Fuller * Erika Fülöp * gripp gillson * Alice Goldfarb * Jan Grant * Sarah Groff Hennigh-Palermo * Saksham Gupta * MARIO GUZMAN * Gottfried Haider * Rob Hammond * Nabil Hassein * Diogo Henriques * Gui Heurich * Kate Hollenbach * Stefka Hristova * Bryce Jackson * Dennis Jerz * Joey Jones * Amy Kintner * Corinna Kirsch * Harris Kornstein * Julia Kott * Rishav Kundu * Karios Kurav * Cherrie Kwok * Sarah Laiola * RYAN LEACH * Rachael Lee * Kristen Lillvis * Elizabeth Losh * Jiaqi LU * Megan Ma * Emily Maemura * ASHIK MAHMUD * Felipe Mammoli * Mariana Marangoni * Terhi Marttila * Daniel McCafferty * Christopher McGuinness * Alex McLean * Chandler McWilliams * Todd Millstein * Achala Mishra * Mami Mizushina * Nick Montfort * Molly Morin * Gutierrez Nicholaus * Matt Nish-Lapidus * Michael Nixon * Mace Ojala * Steven Oscherwitz * Delfina Pandiani * Stefano Penge * Megan Perram * Gesina Phillips * Tanner Poling * Julia Polyck-O’Neill * Ben Potter * Amit Ray * Katrina Rbeiz * Jake Reber * Thorsten Ries * Giulia Carla Rossi * Barry Rountree * Warren Sack * samara sallam * Mark Sample * Perla Sasson-Henry * zehra sayed * Carly Schnitzler * Ushnish Sengupta * Lyle Skains * Andrew Smith * Rory Solomon * S. Hayley Steele * Samara Steele * Nikki Stevens * Daniel Temkin * Anna Tito * Lesia Tkacz * Fereshteh Toosi * Nicholas Travaglini * Paige Treebridge * Paige Treebridge * Álvaro Triana Sánchez * Lee Tusman * Natalia + Meow Tyshkevich + Kilo * Annette Vee * Malena Velarde * Dan Verständig * Yohanna Waliya * Samantha Walkow * Josephine Walwema * Shu Wan * Biyi Wen * Zach Whalen * Mark Wolff * Christine Woody * kathy wu * Katherine Yang * Shuyi Yin * Nikoleta Zampaki * Hongwei Zhou
Coordinated by Mark Marino (USC), Jeremy Douglass (UCSB), Sarah Ciston (USC), and Zach Mann (USC). Sponsored by the Humanities and Critical Code Studies Lab (USC), and the Digital Arts and Humanities Commons (UCSB).

Ringing the Changes (2022 Code Critique)

Ringing the Changes
Stephanie Strickland (director), Jules Chatelain (specifications), Anne Marie Merritt (Python code), Bryn Reinstadler (Scientific Triples code), Nick Montfort (series editor)
Python (RTC code), R (Scientific Triples code)

Ringing the Changes uses a Python coded algorithm, layered atop one programmed in R, to perform all the permutations (though only 161 are printed in the physical book) of change-ringing, an homage to 17th century English bell-ringing, where “ordinary folk…sought to ring all 7! (7 x 6 x 5 x 4 x 3 x 2 x 1=5040 ) permutations—all the different arrangements or ‘changes’ possible—with seven bells.” Six of Strickland’s technotext ‘bells’ are primarily based on one source apiece, the seventh is a medley of others. Bells are ‘rung’ algorithmically in different mathematical permutations, a cacophonous, strategic reminder of the ‘changes’ that need to be rung socially and societally—changes for the increasingly volatile climate, racial inequity and injustice, among others.

With code manipulating and separating the human body from what was once a very embodied endeavor (bell ringing), agency is distanced and complicated. We, with Strickland and her bells, are allowed to see each ‘bell’ on its own and in combination with others, repeating and juxtaposing in new configurations throughout each ‘change’ poem. In her masterful review in ebr, Sarah Whitcomb Laiola notes that this refusal of hierarchy within each of the ‘bells’’ voices demonstrates an “ambivalence to [human] attention.” Because the Ringing [of] the Changes is automated, permutable, and ongoing, with Strickland and her team of programmers setting it into motion and simply letting it run, it seems to act as a force for and representative of reality, constant reminders that things (our society’s treatment of the environment, of structural inequity and violence…) need to change, regardless of if we (any humans engaged with the work—producers or consumers…) are paying attention to them or not.

Looking at and playing with the underlying code, though, seems to complicate this initial read of the role of human attention in (and to) the piece, with divisions emerging (as they do) around form and content. At the top of the GitHub repository, the “WHAT IS THIS” section reads, in part, “This is the code used to create the book's structure. It allows you to use your own content to create a similar project.” The Python code used to generate the project, subsequently shared on the GitHub repo, is incredibly thoughtful and well-organized, with comments after every few lines or so to successfully guide even inexperienced programmers like myself through the construction of the program. The code seems, on its surface, to present a different attitude towards human (mostly readerly) attention than the text itself. The questions below follow directly from this apparent tension, though I’d love to hear folks’ thoughts on RTC in general, since it is such a generative text and program.

    if __name__ == "__main__":
        #This is where all the action is.  Main!

        # Read the command line args, if any.
        args = _parse_args()

        # Read the manifest to setup the group to filename mapping

        # Read the group files to extract the text for each entry
        with open(args.input_name, mode='r', encoding=_encoding_style) as ringfile, \
                open(args.output_name, mode='a', encoding=_encoding_style) as outfile:
        # Read the bells file to determine what group to read text from, and emit to the output file.
            _parse_ringtones(ringfile, outfile)

        print(("Emited output to {}").format(os.path.abspath(args.output_name)))


  • How is a reader meant to see themselves in relationship to the code of RTC? To the printed text?
  • What tensions, if any, exist between code and printed text in RTC, with particular respect to readerly attention?
  • How does the collaborative construction of the RTC program (Merrit’s code built upon Reinstadler’s) impact our understanding of the text, if at all?
Sign In or Register to comment.