Critical code studies
Bibliography
Marino, Mark C. 2020. Critical Code Studies. Software Studies. Cambridge, Massachusetts: The MIT Press.
Abstract
âCritical Code Studies (CCS) names a set of methodologies for the exploration of computer source code using the hermeneutics of the humanities. Like 10 PRINT CHR$ (205.5 + RND (1)); : GOTO 10, Mark Marinoâs Critical Code Studies treats code not as merely functional but as a text, one that can be read, and misinterpreted, by non-programmers. As the author notes, codeâs âmeaning is not determined entirely by the programmerâs intention but also by how it is received and recirculated. That is not to argue that code can be taken out of context or that code means whatever people say it means but rather that the meaning of code is contingent and that code is subject to the rhetorical triad of speaker, audience (both human and machine), and message.â It is time to develop methods of tracing the meaning of code. Computer source code has become part of our political, legal, aesthetic, and popular discourse. Code is being read by lawyers, corporate managers, artists, pundits, reporters, and even literary scholars. Code is being used in political debate, in artistic exhibitions, in popular entertainment, and in historical accounts. As code reaches more and more readers and as programming languages and methods continue to evolve, we need to develop methods to account for the way code accrues meaning and how the readers and shifting contexts shape that meaning. We need to learn not only to understand the functioning of code but the way code signifies. We need to learn to read code critically. Critical Code Studies offers a CCS âstarting kit,â a set of techniques that scholars and other interested parties can use to interpret code in a non-computational contextââ
Notes
1 Introduction
Code Heard âround the World
- on how code is read by different people and what the coders actually intended when writing it
âCode is a social text, the meaning of which develops and transforms as additional readers encounter it over time and as contexts change.â (Marino, 2020, p. 5)
A Job Interview
- juxtaposing two coding solutions to the same problem of randomizing an array in javascript; the first clear, simple and longer and the second short, elegant and harder to read
- then going about how these two can be read completely differently by different people and contexts, outline that people even read the gender of the person behind the code, through the code
- code can express identity
- coders also express themselves differently depending on context or how they have been taught (socially, technically), ie which programming virtues or paradigms they adhere to
âOnly the surface challenge asks whether or not the human can speak in a way the computer understands. The deeper challenge asks the programmers to communicate who they are to other humans, as coworkers and collaborators, through their use of code. Their code is not so much a litmus test, proving whether they can perform the task, as it is an essay exam, communicating character through process, values, and approaches to challenging questions.â (Marino, 2020, p. 7)
- going into how code is perceived as a technical solution-seeking act, but creative coding or learning is neglected
- code is actually much more unstable and uncertain then the material world; itâs not math, itâs culture
Protesting in Code
- deep diving a protest sign that was made in the style of C code.
- âencoded chauvinismâ is relevant to my hunch on scenes and coding
- going into the details of a web-rendering of a woman in code project, analysing the meaning of the code as well as the rendering
âNonetheless, code does not have to be extraordinary or difficult to read to be remarkable.â (Marino, 2020, p. 16)
- going into the intersectional feminist foundations of the critical code approach taken by Marino
- have there been women involved in the development of 80ies and 90ies programming languages and tech. environments (graphic chips, keyboards)
Where critical code studies come from:
Semiotics offered tools for analyzing any sign system, and deconstruction complemented that study by poking around in the cracks and fissures. Cultural studies offered a way to take the text off its pedestal, while also helping to change the object of study from âtextâ as a set of characters to âtextâ as any cultural artifact. The critical theories aimed at underlying structures of oppression and possibility, from feminism to Marxism, queer theories to postcolonialism and theories of race and racial formation, also provided frameworks for critiques.
CCS is not about discovering hidden truth, but about the exploration of âthe significance of the specific symbolic structures of the code and their effects over time if and when they are executed, within the cultural moment of their development and deployment.â There is a very important aspect of contextualisation, within the codeâs own time-space. âTo read code in this way, one must establish its context and its functioning and then examine its symbols, structures, and processes, particularly the changes in state over the time of its execution.â
Code and comments can point to mental models the developers had in mind when producing the code, ie. in what kind of setting the code will be executed.
Such ambiguity, such indeterminacy, such uncertainty may produce unease in more empirically minded positivists. However, uncertainty is fundamental to the search for meaning. Code may have unambiguous effects on software and the state of the machine, but the implications of those effects are anything but. Exploring and making meaning from symbols requires a letting go of the need for right answers, for that which is empirically verifiable.
What Does it Mean to Interpret Code
interpretation is the systematic exploration of semiotic objects for understanding culture and systems of meaning
Rather, more like the artifact examined in archaeology, the cultural object acts as an opening to a discussion of its significance within the culture that formed it. What aspect of culture and what realm of meaning (or hermeneutic) depends on the disposition of the scholar?
This bit is loaded with importance
Cultural studies scholars do not ask what the Coca-ÂCola Company intended by choosing red for the color of its cans and logo or what meaning it is hiding in the signature style of the words on the can. Instead, they perform a semiotic analysis on the possible meanings conveyed by those details of the can (the color red, the cursive script) and discuss what the can and, by extension, the company have come to represent.
Semiotic readings of the can differ quite a lot from a rhetoric reading of the can, because latter takes author intent into account.
So CCS is a way to read into cultures, and cultures âhave shared texts, shared values and norms, shared vocabularies, and shared tools. As a result, any artifact, object, or text offers a glimpse of the cultures in which it was produced and circulated.â
âCritical code studies names the applications of hermeneutics to the interpretation of the extrafunctional significance of computer source code.â
Annotations
(1/30/2025, 3:18:47 PM)
Go to annotation âNote that Kittler published Optical Media in 2010, published âComputer Graphicsâ in 2001, and gave the lectures Optical Media was based on in 1999â (Marino, 2020, p. 165)todo lookup
Go to annotation âWhat happens when the man for whom there is no software writes code?â (Marino, 2020, p. 166)
Go to annotation âI will argue that for Kittler, programming was a kind of theorizing, an activity of philosophical labor, involving interfacing with a machine and tracing ideas by expressing them in code.â (Marino, 2020, p. 166)
Go to annotation âAn examination of Kittlerâs code reveals his engagement with the algorithms of raytracing and his understanding of the affordances of the Pentium IV. Exploring his C and assembly code in his raytracer leads to a more complex understanding of Kittlerâs critical positions and demonstrates the way critical making informs his theory.â (Marino, 2020, p. 167)
Go to annotation âBy coding to understand, Kittler engages in a kind of epistemological programming, thinking through media and its relationship to culture.â (Marino, 2020, p. 167)
Go to annotation âThis chapter advances the project of critical code studies by showing how reading codeâ (Marino, 2020, p. 167)
Go to annotation âis examining a symbolic manifestation of a personâs understanding.â (Marino, 2020, p. 168)hunch there is some relation to what Mario Donick wrote on the bodily experience of programming. writing code as a sense/meaning making activity. was programming a way of dealing with the growing complexity of the world? not just in the sense of âtaking controlâ but in a way of actually being better able to grasp the intricate complexities of the digital world
Go to annotation âAs I have mentioned previously (see chapter 2), authorship is a slippery notion when it comes to code.â (Marino, 2020, p. 168) might need to check that up in regards to the mapping of Robox
Go to annotation âWhat is important for future critical code studies is to resituate authorship not as something that necessarily emerges out of whole cloth from the genius poised at the computer but instead as an act of reading and writing, cutting and pasting, patching together and reworking.â (Marino, 2020, p. 169)
Go to annotation âHe is one of the originators of what is called media archaeology, particularly in whatâs known as the Berlin school, and his theories express the notion of media determinism, an idea that the technologies of the age determine the way we conceptualize the world (Winthrop-Young and Wutz 1999, xii). Fundamental to the concept of media determinism is the technological a priori, adapted from Foucaultâs historical a priori (1982, chapter 5), which describes the way technological developments shape how we understand and envision our world and its future.â (Marino, 2020, p. 169)theory
Go to annotation âeffects of the âterrorâ of the introduction of the three technologies of the title on the psyche of those living at the time.â (Marino, 2020, p. 170) âDiscourse Networks and Gramophone, Film, Typewriterâ (GFT; originally published in 1986) an Matthias schicken, als Referenz fĂŒr seinen Ansatz
Go to annotation âConsequently, every human expression of any important idea circulated on computational media canâ (Marino, 2020, p. 170)
Go to annotation âultimately be reduced to electrical signals. For practical reasons, assembly language is about as close to these signals as a programmer can get.â (Marino, 2020, p. 171)
Go to annotation âUnlike these higher languages, because it deals with assigning material registers, assembly language is a direct linguistic extension of the machine.â (Marino, 2020, p. 171)
Go to annotation âAccessing the machine through code and through hardware was a way for Kittler to free himself from this subjectivity to the lords of Silicon Valley. Programming, especially at the level of the hardware, was a means of achieving agency.â (Marino, 2020, p. 172)
Go to annotation ââComputer Graphics: A Semi-Technical Introductionâ (2001)â (Marino, 2020, p. 173) get this essay
Go to annotation âSpeaking of uninteresting hells, writing an entire raytracer in assembly would have been a task worthy of Sisyphus.â (Marino, 2020, p. 188)
Go to annotation ââKittler wrote in a âpolemic styleâ of AssemblyâYou have to know what Iâm saying alreadyâ (pers. interview, September 18, 2013). Kittler could not explain all of his code or âretrace his stepsâ: âit was irreconstructableâ (Feigelfeld, pers. interview, January 21, 2019). For Kittler, âHis assembly writing was so close to subconscious ⊠A kind of âautomatic programming.ââ He described the process: âKittler always spoke about coding in assembler as a deep psychological and analytical process. He would enter a kind of trance. Afterward, he couldnât really tell you how he came to write it that way. He would mostly work on it at nightâ (ibid.).â (Marino, 2020, p. 189) Kittler the worst kind of co-worker
Go to annotation âBarbara Marino, a professor of electrical engineering at Loyola Marymount University, who is also my spouse (pers. interview, October 1, Marino 2014), has said that Kittlerâs code here performs the equivalent of emptying the dryer while the washing machine is running.17 âMost programmers donât think about optimizing a task at the level of the CPU and memory,â she explains. To optimize the code in this way shows an uncommon understanding of the timing of the processor. âHere,â she adds, âis the sign that Kittler knew what he was doing.ââ (Marino, 2020, p. 192)
Go to annotation âIn the case of Kittler, reading the code offers a sense of the theorist who developed a form a media archaeology that bore fruit by precise understanding of technology and technological development, down, in this case, to the level of the fraction of a second it takes to perform operations. At the same time, it is also worth noting that the entire raytracer was not written in assembly. That is a Hoelle too dark for Kittler to enter.â (Marino, 2020, p. 193)
Go to annotation âMeaning does not end at the level of electronic hardware, even if it appears to be devoid of language.â (Marino, 2020, p. 195)