Critical-Coding-Cook-Book

From H&D Publishing Wiki
Revision as of 14:28, 3 November 2022 by Hd-onions (talk | contribs)
Examples of generated Kolams. Image credit: Lavannya Suressh

Critical Coding Cookbook

In conversation with Katherine Moriwaki and Xin Xin Anja Groten: Xin, together with Lark, you hosted a workshop called "Experimental Chatrooms" during the H&D summer academy in 2020. I remember we, the H&D crew, were all very excited and energized by the workshop, and it inspired us to start using a chat platform, Zulip, as a design tool for our next publication. I also recall being impressed by the way you and Lark had prepared the workshop, almost like a "choose your own adventure” game, with a workshop script that contained multiple pathways! It was developed in a way that created an inspiring and welcoming learning environment for all participants regardless of their geolocation, time zone, or experience with coding. You also introduced participants to the concept of building consensual tech, which prompted H&D to provide a Code of Conduct for the summer academy. Now that I’ve had the privilege to read the “Critical Coding Cookbook,” looking back to that workshop it seems to me that your work as an educator and facilitator expands the usual requirements and formal boundaries of learning institutions. The “Critical Coding Cookbook” itself is an example of that. I am curious, what inspired you to become educators? What inspired you to create learning communities beyond or parallel to educational institutions? How has your practice evolved inside and outside of institutionalized learning?

Critical Coding Cookbook homepage.

Xin Xin: Growing up in Taiwan, a geopolitically contentious island that endured colonization by several different states, I have always had the tendency to question institutional knowledge. I have a vivid memory as an elementary school student in the 90s, when our teacher asked us to question the history printed on textbooks. As I grew older, I learned that there is a continuous debate on the official history of Taiwan, each version shaped by different political actors in accordance with their own agenda. I have found many parallels in the way U.S. and German history is presented at the institutional level. My elementary school teacher told us that we needed to become independent thinkers by doing our own research, and in a way I’ve continued to pursue that spirit of self-education up to this day.

Aside from a few inspirational memories inside the classroom, overall I struggled greatly at school. Rules were often given without explanation, followed by disciplinary practices that drove me further away from education. Upon completing my undergraduate degree, I, like many others in their early twenties, aspired to address systemic injustice through a large-scale, top-down approach. It wasn’t until I had worked in the film industry for six years that I came to realize I’d much rather make small but meaningful changes from the bottom-up, in alliance with my peers. This realization led me to graduate school to pursue a terminal degree that qualified me to teach.

For my day job I work in higher education. It is how I make a living and it frees me to do pro bono work such as the “Critical Coding Cookbook.” I am acutely aware of the way higher-eds in the U.S. co-opt faculty research and play the murky game of representational politics while continuing to practice corporate logic. This means I have to be very intentional about everything I do, who I do it with, and how I do it. For instance, I’d much rather volunteer my time helping local communities than fixing institutional problems. In an institutional context, I remind myself that I’m here to put most of my energy toward working with the students. I believe in direct engagements over bureaucratic maneuverings.

Katherine Moriwaki: I’ll be totally honest, I think becoming an educator in a formal setting, within the context of higher education, was entirely by chance. I did not aspire to have my current career path nor did I actively consider being an educator as a possible profession. If anything, I felt quite estranged from formal learning environments when I was younger. I always flourished while in pursuit of my own interests, removed from the rubric of formal schooling. My introduction to computers and technology was through a small community computer center in the area I grew up, where people taught each other through member-led workshops and interest driven self-education. Up until that point I did not consider myself a “technical” person, but the community, which was multi-generational and non-hierarchical, opened up new possibilities and competencies I hadn’t been aware of. I guess that was a formative experience for me. Many of my projects, which take the format of workshops and learning experiences, have sought to create that kind of “third place,” the kind of space where even for a few hours, people can exchange ideas, have a good time, and build relationships.

In an extractive capitalist society, opportunities to engage with others in ways that are non-transactional nor consumption-driven present vital ways in which to embody and model alternative systems of value. In an American context, this is increasingly challenging to maintain in light of the ongoing corporatization of higher education. Still, I am thankful for the dynamic learning community that manages to thrive at my current institution. That will always remain a privilege.

AG: The “Critical Coding Cookbook” takes an intersectional feminist approach to teaching and learning. Can you explain how you relate intersectional feminism to the practice of coding as well as learning with and about coding? Why is it important to you?

XX: Intersectional feminism is both a theory and a practice, originally coined in 1989 by UCLA law professor Kimberlé Crenshaw to address the institutional sexism and racism she had observed in courtrooms. Specifically, she pointed out how, in the face of law, narratives of Black women were reductively framed within the confinements of racism or sexism, resulting in the dismissal of the compounded and exacerbating reality of being both Black and women at the same time. To counter this compartmentalization, Crenshaw called for individuals to be considered through their intersected identities, including but not limited to race, gender, class, sex, nationality, and abilities, as a vehicle to better articulate the overlapping systems of oppression they experience on a daily basis. As educators working within institutions that are founded on western-European tradition—which often inherits a narrow, exclusionary, and hierarchical relation to knowledge that historically benefits the dominant demographics in the society—an intersectional feminist approach breaks out of the gridlock of a standardized, market-driven computer science curriculum by using alternate histories and techniques as our starting point.

The “Critical Coding Cookbook” recipes demonstrate multiple paths to intersectional computing. For instance, in Esolangs: Deprogramming the Language Divide, Echo Theohar describes the “linguistic inequality in computer programming” and searches for possible ways to disturb the dominance of English in computer programming. In Kolam in Code, Lavannya Suressh traces the procedural logic of pulli kolam, a folk practice originated in South India, and proposes the possibility of building the algorithm into a 4-bit computer. In A School for Vernacular Algorithms, Tegan Bristow worked with a group of students in Johannesburg, South Africa to consider pre-colonial technology such as beadwork, palm/grass weaving, and lyrical practices from a mathematical and algorithmic perspective.

Philisiwe Dube, curriculum lead of the School of Vernacular Algorithms 2021.Image Credit: Tegan Bristow. Photo Credit: Zivanai Matangi.

Although intersectional feminism is often used as a pedagogical tool to amplify marginalized histories and ways of knowing that live under constant threat of colonial and capitalist erasure, it is important to keep in mind that this tool is also good for addressing systems of privilege—a white woman in the U.S. may experience sexism but not the baggage of racism in her everyday life. It would be a mistake for an intersectional feminist to focus on oppressive narratives without integrated, comprehensive reflections on what it means to hold privilege.

AG: In its conceptual framing—as a collection of recipes—“Critical Coding Cookbook” aligns well with the common thread of this publication. The commonality of all the contributions is that they somehow relate to some sort of “pedagogical document.” Pedagogical documents can be workshop scripts, installation manuals, how-tos, scores, or gameplays. On the one hand these documents propose a pragmatic approach. They are generous and generative, inviting other people to take a recipe, run with it, and make it their own. On the other hand it is perhaps too simple to expect such a document to be functional or meaningful in the same way in every context. Each of the documents emerged from a specific context, due to specific and sometimes peculiar practices. Could you reflect on your analogy of the “recipe” and the editorial framework of a cookbook? What possibilities and challenges did you encounter while using this format?

XX: From the get go, we envisioned “Critical Coding Cookbook” as a repository for the learning community both inside and outside of institutional contexts. The question that follows then was what type of relationship do we want to propose between learners and the medium in which they study? We thought recipes might be a good analogy; the format feels more welcoming than traditional academic textbooks or open-source documents. [[#Interfacial-Workouts|Recipes] are instructions to be re-performed and are wonderfully kitschy and welcoming. They are meant to help someone make food for themselves or others—a gesture that directly impacts our sense of pleasure and well-being without layers of intellectual abstraction. They exist in parallel with the notion of oral history and are meant to be passed down and shared with their intended community.

Over the last three years, Katherine and I have developed and taught Critical Computation at the New School with a number of faculty members.. This course introduces programming concepts through an intersectional feminist lens, thereby situating the act of computing in a social-historical context. We unpack discriminatory practices embedded in pervasive technology by integrating readings such as Algorithms of Oppression by Safiya Umoja Noble, Race After Technology by Ruha Benjamin, Blockchain Chicken Farm by Xiaowei Wang, and “Crip Technoscience Manifesto” by Aimi Hamraie and Kelly Fritsch. Although some of these texts are published by academic presses, we really appreciate the accessible language in which they are written, and the readership they can reach through this choice of language. When it comes to expressive, critical, and community-centric ways of working with technology, we think that an intersectional approach replaces the canon by instigating a world of plurality. Recipes made sense as concise documents that can be modified and revised in practice.

Of course, recipes often carry a one-sided instructional quality and may be misinterpreted as strictly utilitarian. To counter this, we intentionally chose not to provide any standardizations or examples in our open call. As a result, we received multiple entries that troubled the notion of repeatability—for example, How to code human bodies for devouring and mutual enlightenment by Mario Guzman and terra firma by Sara Rivera.

The work-in-progress open-source index. Image credit: Sara Rivera.

AG: You worked with an open call for contributions. Can you elaborate on the process of compiling the book? Were there any surprises or contributions you did not anticipate? What were your criteria for making your selection?

KM: One of the benefits we found of an open call format was the unpredictability of submissions. We wanted to encourage the broadest range of contributions possible, and an open call was the least restrictive pathway to achieve that. As for the criteria for selection, it was important to us that the submissions reflected an intersectional perspective on computation. We were actively seeking work from practitioners who were questioning the epistemological framing of programming, researching alternative histories, and forging culturally situated pathways through this field.

XX: I was pleasantly surprised by the number of contributions that emphasized the virtue of uncertainty. How to contribute to open source software by sharing uncertainty by Evelyn Masso encourages new contributors of p5.js to turn uncertainty and vulnerability into a strength. Failing to CODE by Becca Rose connects ideas in The Queer Art of Failure by Jack Halberstam with computer education. These are lovely reminders of the fragility of human creation and the meaning of remaining humble with ourselves as well as others.

Image credit: Becca Rose

AG: I understand the recipe as it is interpreted in your publication also as a format that gives space to processes rather than products. Through the recipe you trouble the status of the precious and undisputed art piece—something that functions as a self-contained object. The recipe could be seen as counter to that, it emphasizes the process of coding and the sharing of such a process, which makes it harder to distinguish. You also speak about messy histories of computation. Can you elaborate on the notion of a messy practice or history of coding? What does that mean to you?

KM: Typically in histories of computation the narrative presented is sequential, logical, and the result of an inevitable progression. The story moves from one great innovation to the next, each development presented as an improvement on what has come before. There may be disruptions to this forward movement, but these are seen in the context of a trajectory of optimization. We are left to assume that what was left behind, fixed in a historicized frame, was done so because the “better” ideas or inventions superseded the rest. In these traditional histories the protagonists are clearly identifiable, homogenous, and driven by their vision for an objective betterment of humanity “for all.” In reality, however, the actual passage of events rarely conforms to this structure, which is undergirded by capitalist and eugenicist ideologies. For example, in her book Broadband, Clare L. Evans profiled computer scientist Wendy Hall, who developed a specialized linkbase, “Microcosm,” which would automatically and dynamically update hyperlinks, creating a “messy” web of collaborative connections. This is in contrast to the embedded hyperlinking that became standard, wherein individual web pages, as a singular authority, contained only outward links, which could be rendered with time potentially “dead” or obsolete. This represents two epistemological frames: one of inherent interdependence and collaboration, and another of rugged individualism and solitary enterprise. Likewise, in Black Radical Translation, Shayna Robinson embraces Black cultural traditions not as a means of optimization, but rather as a complication and challenge to reimagine technological visions rendered through the frames of whiteness.

CREATE TABLE love (instance TEXT,
value INTERGER,
height INTERGER,
provocation TEXT
temporality TIME);
DELETE FROM love
WHERE instance LIKE impediments
OR instance LIKE trouble
OR instance LIKE doubt;
SELECT value
FROM love
ORDER BY height DSC;
SELECT COUNT provocation
FROM love
LIMIT 1;
SELECT *
FROM love
WHERE temporality IS NULL;

Caption: SQL Translation of June Jordan’s Black English Translation of Shakespeare’s 116th Sonnet Shayna Robinson, 2021

A “messy” practice and a “messy” history acknowledges the entanglement of interlocking systems of oppression in shaping historical record, attenuating the visibility of some people at the expense of others. Messiness acknowledges multiple timelines, multiple narratives, and multiple perspectives, which may sit in tension with each other, and may pose complicated and contentious questions about power and privilege. In practice, this means thinking critically about the knowledge and labor we value. It means questioning the epistemological framing of the rational and scientific, and opening spaces for intuitive, folk, and embodied understandings of computational concepts. It might mean asking ourselves what values and ideology are packed into what we think of as “good” code, or how we pedagogically approach programming organized around hierarchical “best practice.” It also means acknowledging the multiple ways in which knowledge and practice is exchanged, and recipes are an apt conceptual model for sharing, attribution, and growth within informal networks.

AG: You are considering making a printed version of the publication. This doesn’t seem like an obvious choice seeing as the subject matter deals with computer programming. In your opinion, what is the benefit of a physical book over a digital publication, particularly for a book about coding?

KM: I think that different media have affordances that allow for diverse ways of contemplating ideas. Books are objectively concrete in a way that embodies and materializes knowledge, which we then perceive in a specific way. From a philosophical standpoint, moving to a physical medium like a book aligns us with an approach that focuses on providing multiple entry points to the content, much in the same way that web accessibility was an essential component of the website design. If the intention is to reach an audience that is not solely confined to people who already identify with computer programming and/or computational technology, then a book serves as an enduring container for information, one that provides a physicality that is familiar and inviting to potential readers from a variety of backgrounds.


Katherine Moriwaki is an Assistant Professor of Media Design in the School of Art, Media, and Technology at Parsons School of Design in New York City. She teaches core classes in the M.F.A. Design + Technology Program where students engage a broad range of creative methodologies to realize new possibilities in interactive media. Working within a broad range of areas, Katherine’s work spans disciplines and communities of practice.
Xin Xin is an interdisciplinary artist, designer, and organizer currently making socially-engaged software that explores the possibilities of reshaping language and power relations. Through mediating, subverting, and innovating modes of social interaction in the digital space, Xin invites participants to relate to one another and experience togetherness in new and unfamiliar ways.