<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
      <title>2024 Week 2: AI and CCS — CCS Working Group</title>
      <link>https://wg.criticalcodestudies.com/index.php?p=/</link>
      <pubDate>Wed, 08 Apr 2026 01:41:30 +0000</pubDate>
          <description>2024 Week 2: AI and CCS — CCS Working Group</description>
    <language>en</language>
    <atom:link href="https://wg.criticalcodestudies.com/index.php?p=/categories/2024-week-2/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>The Weird World of WookieScript [Code Critique?] [AI and CCS]</title>
        <link>https://wg.criticalcodestudies.com/index.php?p=/discussion/180/the-weird-world-of-wookiescript-code-critique-ai-and-ccs</link>
        <pubDate>Mon, 26 Feb 2024 20:01:15 +0000</pubDate>
        <category>2024 Week 2: AI and CCS</category>
        <dc:creator>markcmarino</dc:creator>
        <guid isPermaLink="false">180@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Late last year, I began an extended collaborative project of asking ChatGPT/DALL-E to generate images of Star Wars. Well, it wouldn't actually produce Star Wars images due to some loose protections (guardrails) against generating images with known IP -- despite the fact that most of what DALL-E generates has been taken someone's art.  Though the system would not produce Star Wars content, when prompted to create images from the fictional scifi franchise Hair Wars, it basically interpreted that as Star Wars. See <a rel="nofollow" href="https://www.youtube.com/watch?v=6uFd5H-XbRs" title="more about Hair Wars here">more about Hair Wars here</a>.</p>

<p>Flash forward to now as the project has grown to include a half dozen artists, who have been contributing images for a few months, including Star Wars and Star Trek (er, Hair Trek) characters performing Critical Code Studies. Take for example these images of Chewbacca (or Chewbucko as he's known in Hair Wars) presenting some Critical Code Studies of WookieScript.</p>

<p><img src="https://wg.criticalcodestudies.com/uploads/editor/8u/9p8pg2p76jor.png" alt="" title="" /></p>

<p><img src="https://wg.criticalcodestudies.com/uploads/editor/zg/8mtrzkfsx5ms.png" alt="" title="" /><br />
<img src="https://wg.criticalcodestudies.com/uploads/editor/q7/5iafkqhfs7ra.png" alt="" title="" /></p>

<p>(I should note, Wookiee language in my hands is not a structured language but an amalgamation of groans and moans. Similarly, there is no formal WookieScript. It is just what I'm calling the nonsense code that Dall-E hallucinates for the images.)</p>

<p>In the meantime, Alex Mitchell has been scraping his Bing (which is also Dall-E) generated images of their text, including code.  And so it was only appropriate to have ChatGPT design a website, where people can enter code, even total hallucinatory nonsense code, and it will compile that into legal WookieScript. Like so:</p>

<pre><code>5)+-(mQ/gb8v53//-S
    =Z*2*02S*(38(Zw-0)()-
v+M+/*)
mAw2)*)B=
    )(S*(9(/3K52-//-
Djg1)1hzo*B()(/
</code></pre>

<p>Becomes the following WookieScript:</p>

<pre><code>WOOKIE MRRRROWWL WOOKIE HRRRN WOOKIE MRRRROWWL WOOKIE MRRRROWWL WOOKIE HRRRN WOOKIE mQ WOOKIE MRRRROWWL WOOKIE gb WOOKIE MRRRROWWL WOOKIE v WOOKIE MRRRROWWL WOOKIE MRRRROWWL WOOKIE MRRRROWWL WOOKIE MRRRROWWL WOOKIE MRRRROWWL WOOKIE S WOOKIE =Z WOOKIE MRRRROWWL WOOKIE MRRRROWWL WOOKIE MRRRROWWL WOOKIE MRRRROWWL WOOKIE MRRRROWWL WOOKIE S WOOKIE MRRRROWWL WOOKIE HRRRN WOOKIE MRRRROWWL WOOKIE MRRRROWWL WOOKIE HRRRN WOOKIE Zw WOOKIE MRRRROWWL WOOKIE MRRRROWWL WOOKIE HRRRN WOOKIE HRRRN WOOKIE HRRRN WOOKIE MRRRROWWL WOOKIE v WOOKIE MRRRROWWL WOOKIE M WOOKIE MRRRROWWL WOOKIE MRRRROWWL WOOKIE MRRRROWWL WOOKIE HRRRN WOOKIE mAw WOOKIE MRRRROWWL WOOKIE HRRRN WOOKIE MRRRROWWL WOOKIE HRRRN WOOKIE B= WOOKIE HRRRN WOOKIE HRRRN WOOKIE S WOOKIE MRRRROWWL WOOKIE HRRRN WOOKIE MRRRROWWL WOOKIE HRRRN WOOKIE MRRRROWWL WOOKIE MRRRROWWL WOOKIE K WOOKIE MRRRROWWL WOOKIE MRRRROWWL WOOKIE MRRRROWWL WOOKIE MRRRROWWL WOOKIE MRRRROWWL WOOKIE MRRRROWWL WOOKIE Djg WOOKIE MRRRROWWL WOOKIE HRRRN WOOKIE MRRRROWWL WOOKIE hzo WOOKIE MRRRROWWL WOOKIE B WOOKIE HRRRN WOOKIE HRRRN WOOKIE HRRRN WOOKIE MRRRROWWL WOOKIE 
</code></pre>

<p>To take that a step farther, I prompted ChatGPT to create a script that would convert the WookieScript into a picture of a space battle between ASCII art X-Wing Fighters, Tie-Fighters, and Interceptors, along with a Millennium Falcon. You can use [the WookieScript Compiler here] (<a href="https://markcmarino.com/hairwars/wookiedit.html" rel="nofollow">https://markcmarino.com/hairwars/wookiedit.html</a> "the WookieScript Compiler here"). The nonsense code is rendered meaningful to fictional wookies and then meaningful to the battle image generator.</p>

<p><img src="https://wg.criticalcodestudies.com/uploads/editor/ve/h8ghq6sdnvov.png" alt="" title="" /></p>

<p>I am not sure if this work is a parody of Critical Code Studies or just a marker of the moment when AI is inserting itself into the communication layer of making and reading code. Is this piece an elegy to or a eulogy for creative coding?</p>

<p>Mrrrrrow. Hnn-row. Wookie.</p>
]]>
        </description>
    </item>
    <item>
        <title>AI and Critical Code Studies (Main Thread)</title>
        <link>https://wg.criticalcodestudies.com/index.php?p=/discussion/157/ai-and-critical-code-studies-main-thread</link>
        <pubDate>Mon, 12 Feb 2024 07:16:22 +0000</pubDate>
        <category>2024 Week 2: AI and CCS</category>
        <dc:creator>jeremydouglass</dc:creator>
        <guid isPermaLink="false">157@/index.php?p=/discussions</guid>
        <description><![CDATA[<p><em>by Jeremy Douglass &amp; Mark Marino</em></p>

<p>“AI” is a current zeitgeist phrase in academia and culture at large, due in large part to the recent rise to public prominence of (and hype about) large language models (LLMs) and the consequences of their rapidly increasing capability, especially in the generation of images, prose, and code.</p>

<p>For Critical Code Studies the large language model era raises a number of questions with respect to our methodologies. Systems which could automatically summarize and translate code into plain-text descriptions (or could generate code from plain-text descriptions) were previously rare, highly specialized, and limited--and suddenly they are becoming commonplace, in part due to a concentrated research agenda on code generation (i.e., if there’s one thing programmer’s would like LLMs to produce…). This evolving situation raises at least three broad categories of questions about the intentional humanistic reading of code:</p>

<ul>
<li>How might human language interfaces to code summarization and code examination / introspection / discovery change the barrier to entry and even the working methods of CCS scholars? How reliable are these programs for translation into more accessible descriptions of the code’s functionality?</li>
<li>How might widespread code generation as a practice change the assumptions, challenges, or stakes of close-reading code (especially ‘intentionally’)?, and</li>
<li>Given the notorious “black box” difficulty of large language models, does the prevalence of AI models as an in-between layer (of producing or reading code) represent an ascendant aspect of opaque or obscured computation that is intractable to close-reading code as a methodology? What does cutting-edge research in reading LLMs look like?</li>
</ul>

<p>There are of course many questions beyond these. Conversations about CCS+AI occur in the context of a number of related discourses, with one notable recent addition being Critical AI. As they write on <a rel="nofollow" href="https://criticalai.org" title="https://criticalai.org">https://criticalai.org</a>:</p>

<blockquote><div>
  <p><em>Though rooted in critical methods from the humanities, social sciences, and arts, Critical AI works with technologists, scientists, economists, policy makers, health professionals, teachers, community organizers, legislators, lawyers, and entrepreneurs who share the understanding of interdisciplinary research as a powerful tool for building and implementing accountable technology in the public interest. Open to ideas born of new interdisciplinary alliances; design justice principles; antiracist, decolonial, and democratic political practices; community-centered collaborations; experimental pedagogies; and public outreach, Critical AI functions as a space for the production of knowledge, research endeavors, teaching ideas, and public humanities that bears on the ongoing history of machine technologies and their place in the world.</em></p>
</div></blockquote>

<p><strong>Our goal for this “AI” special topic of the Critical Code Studies working group is to solicit through this discussion as wide a range as possible of different experiences, perspectives, and insights into the intersection of contemporary AI and code, and what that tells us about Critical Code Studies.</strong> For some of our members this is a current area of active research--or active pedagogical practice. For others, being drawn into the hype of “AI” headlines may ultimately be a trap, whether due to the empty signifier of artificial “intelligence,” the devastating environmental impacts that corporate LLM paradigm appears to entail, or the implication of AI agents in the ongoing alienation of labor / “deskilling” enacted by algorithmic neoliberalism--among other possible reasons.</p>

<p>To kick off this week’s conversation, Mark and I brainstormed a list of a few CCS+LLM-related topics and questions to share with each other in an informal conversation. These included questions about intentional writing, interpreter personas, code and accessibility, and the role of the detail in code interpretation.</p>

<p>Below is the ~15 minute video:</p>

<p><span data-youtube="youtube-gPiPesLCMuA?autoplay=1"><a rel="nofollow" href="https://www.youtube.com/watch?v=gPiPesLCMuA"><img src="https://img.youtube.com/vi/gPiPesLCMuA/0.jpg" width="640" height="385" border="0" alt="image" /></a></span></p>

<p>We have also provided our shared pre-discussion topic brainstorm list below as an aid to discussion:</p>

<h2>Topics</h2>

<ol>
<li>Intentional Writing.<br />Suppose anyone can generate code without writing it, and many do.

<ul>
<li>Does it still make sense to read code like a cultural object?</li>
<li>Will there be any way of distinguishing AI-generated code from bespoke code, and is there really any difference between that and what some IDEs have been generating for years?</li>
</ul></li>
<li>Accessibility

<ul>
<li>If most normal code is inaccessible to non-coders, could LLMs that can explain code in plain language make all code more accessible?</li>
<li>If most of the code behind LLMs is inaccessible, what methods can we develop to perform CCS on them (some early answers are in the DHQ special issue, see e.g. Raley &amp; Hua, Berry)</li>
</ul></li>
<li>Details in Code.<br />CCS readings of large code bases often hinge on locating an “interesting” detail -- a function, variable, setting, or code comment that suggests or reveals something.

<ul>
<li>Will AI Large Language Models write interesting code? Does AI-Generated code have the same kind of historicity as archival code of the past.</li>
<li>Alternatively, can LLMs identify the parts of code that are “interesting”?</li>
</ul></li>
<li>Interpretation and Personas.<br />Large language models can be given personas with prompt engineering. They can also summarize and generate code in dozens of programming languages.

<ul>
<li>Can AI models help us do CCS-style cultural interpretation of code? What’s the price of enlisting their aid? Are they useful beyond summarization of functionality?</li>
<li>Can scholars translate their interpretive approaches or priorities into prompts and personas?</li>
<li>Could they open up CCS into a wider, more inclusive community?</li>
<li>Alternatively, could people request code written in a particular programmer’s style? What might that look like?</li>
</ul></li>
</ol>

<h2>Join the conversation!</h2>

<p>Our ask for participants is to:</p>

<ol>
<li>Weigh in on any of these CCS+AI topics.</li>
</ol>

<p>...and, in addition, you might consider:</p>

<ol start="2">
<li>Post some short snippets of AI code (along with the prompts used to generate them) as code critique threads.</li>
<li>Try using an LLM to interpret some of the snippets in our existing code critique threads to bring the resulting insights (and/or failures) in for discussion.</li>
<li>If you are interested may still fill out the <a rel="nofollow" href="https://forms.gle/SED7tM2G3ypxzxL86">CCSWG24: AI Interests Survey</a></li>
</ol>
]]>
        </description>
    </item>
    <item>
        <title>[Code Critique] LLM reads Joseph Weizenbaum's DOCTOR Script.</title>
        <link>https://wg.criticalcodestudies.com/index.php?p=/discussion/164/code-critique-llm-reads-joseph-weizenbaums-doctor-script</link>
        <pubDate>Fri, 16 Feb 2024 06:20:51 +0000</pubDate>
        <category>2024 Week 2: AI and CCS</category>
        <dc:creator>markcmarino</dc:creator>
        <guid isPermaLink="false">164@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Following <a rel="nofollow" href="https://wg.criticalcodestudies.com/index.php?p=/discussion/159/code-critique-llm-reads-marylyn-tans-queer-bodies-code-critique#latest" title="Jeremy's lead">Jeremy's lead</a>, I wanted to see what ChatGPT-4 would do when prompted to read <a rel="nofollow" href="https://wg.criticalcodestudies.com/index.php?p=/discussion/158/joseph-weizenbaums-doctor-script-for-his-eliza-2024-code-critique#latest" title="the DOCTOR script">the DOCTOR script</a> through the lens of our <a rel="nofollow" href="https://wg.criticalcodestudies.com/index.php?p=/discussion/148/prompt-queer-bodies-embodying-code-main-thread" title="Week 1 theme">Week 1 theme</a>.</p>

<p><strong>Prompt:</strong></p>

<blockquote><div>
  <p>Acting as a critical code studies advisor to a scholar who wants to consider Weizenbaum's DOCTOR script in terms of Queer Theory: What parts of the code poem would you suggest that they consider, and why? For example you might suggest specific keywords, lines of code, or uses of syntax. Give concrete examples</p>
</div></blockquote>

<p>Here was ChatGPT's reply:</p>

<blockquote><div>
  <p>Diving into Weizenbaum's DOCTOR through the lens of Queer Theory opens a fascinating dialogue between technology and the fluidity of identity, doesn't it? This perspective allows us to explore how the script navigates, and perhaps even subverts, traditional norms and binaries, much like Queer Theory itself.</p>
  
  <p>Firstly, the very nature of ELIZA's script, with its ability to transform and reflect the user's input, can be seen as embodying the queering of conversation. It doesn't adhere strictly to a predefined narrative but instead fluidly adapts to the user's input, mirroring the non-linear, non-binary approach to identity and dialogue found in Queer Theory.</p>
  
  <p>Consider the pronoun transformation functionality within the script:</p>
</div></blockquote>

<pre><code>(I = YOU
     ((0 YOU (* WANT NEED) 0)
         (WHAT WOULD IT MEAN TO YOU IF YOU GOT 4)
         ...
         (WHAT DOES WANTING 4 HAVE TO DO WITH THIS DISCUSSION))
</code></pre>

<blockquote><div>
  <p>This section blurs the lines between the self and the other, challenging the rigid binaries of identity. By switching pronouns, the script destabilizes the fixed subject positions and mirrors the fluidity of selfhood, echoing the queering of identity where the boundaries between the "I" and the "You" are not strictly defined.</p>
</div></blockquote>

<p>Interestingly, one member of our team, Peggy Weil was also drawn to this portion of the script, though she took it in a different direction. What I like is that the LLM has taken up the notion of queering tied to selfhood but beyond sexuality.</p>

<blockquote><div>
  <p>Another intriguing aspect is the handling of ambiguity and non-specificity, which can be queer in its resistance to definitive answers or identities:</p>
</div></blockquote>

<pre><code> (NONE
     ((0)
         (I AM NOT SURE I UNDERSTAND YOU FULLY)
         ...
         (DO YOU FEEL STRONGLY ABOUT DISCUSSING SUCH THINGS)))
</code></pre>

<blockquote><div>
  <p>This part of the script allows for a multiplicity of interpretations and meanings, embracing the uncertainty and open-endedness celebrated in Queer Theory. It reflects the idea that identities and meanings are not fixed but are fluid and subject to change.</p>
</div></blockquote>

<p>I found this section response to be more creative. It is using a very open or expansive sense of Queer Theory. And while I wouldn't follow its conclusions, I think that by taking up this line NONE, which is essentially a default situation for comments without recognized keywords, ChatGPT has found a notable moment of the code worth discussing.</p>

<p>The next example was not as compelling.</p>

<blockquote><div>
  <p>The script's neutral responses to inputs about dreams and desires also offer a queer reading. The dream sequences, for example:</p>
</div></blockquote>

<pre><code>(DREAM 3
     ((0)
         (WHAT DOES THAT DREAM SUGGEST TO YOU)
         ...
         (DON'T YOU BELIEVE THAT DREAM HAS SOMETHING TO DO WITH YOUR PROBLEM)
         (NEWKEY)))
</code></pre>

<blockquote><div>
  <p>This segment doesn't assume a normative framework for interpreting dreams, desires, or aspirations. Instead, it invites the user to explore their own meanings and significances, resonating with Queer Theory's challenge to normative narratives and encouraging a personal exploration of desire that defies conventional categorizations.</p>
</div></blockquote>

<p>This example felt a bit weak, but perhaps no more than that of a student just learning to try to apply Queer Theory to interpreting digital objects.</p>

<blockquote><div>
  <p>Lastly, the script's very impersonation of a therapist, a role traditionally associated with authority and normativity, can be seen as a subversive act. ELIZA queers the therapist-client dynamic by destabilizing the authority of the therapist, not through direct challenge, but through mimicry and performance, echoing Judith Butler's notion of gender performativity.</p>
  
  <p>By advising a scholar to focus on these elements, you could illuminate how DOCTOR's script participates in a queer dialogue, not by explicitly addressing queer content, but by embodying the fluidity, performance, and subversion of norms that are central to Queer Theory. Through this lens, ELIZA becomes more than a technological curiosity; it becomes a participant in the ongoing conversation about identity, meaning, and the power dynamics of language and interaction.</p>
</div></blockquote>

<p><strong>Questions:</strong> <br />
What do you get when you try using different LLMs to read the DOCTOR script?<br />
What results do you get with different prompts?<br />
Is it problematic that we're using AI on the script of someone who became so critical of AI as Weizenbuam?<br />
What might ELIZA say about our exercise?<br />
Are we co-reading with an LLM or disrupting the human activity of interpretation?</p>
]]>
        </description>
    </item>
    <item>
        <title>[Code Critique] What does the original ELIZA code offer us.</title>
        <link>https://wg.criticalcodestudies.com/index.php?p=/discussion/161/code-critique-what-does-the-original-eliza-code-offer-us</link>
        <pubDate>Thu, 15 Feb 2024 19:18:01 +0000</pubDate>
        <category>2024 Week 2: AI and CCS</category>
        <dc:creator>aschwarz</dc:creator>
        <guid isPermaLink="false">161@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>ELIZA was developed in 1966 using the MAD computer programming language and the SLIP Application Programming Interface (API). The ELIZA code has several parts to it in execution;</p>

<ul>
<li>ELIZA is the control program. It has an editor for interactive editing of a script, and it has the control program for interacting with a user.</li>
<li>SLIP is an API which provides functionality suitable for a graph, i.e., a recursive structure modeled as a list.</li>
<li>A script is a piece of data which assumes a persona when interacting with a person. That is, ELIZA uses the script as data when analyzing (disassembly) user input and generating output (assembly).</li>
</ul>

<p>Using current standards, the code is simply awful. However looking at code at that time it is a wonder. Going back to this time we see that programs, languages, compilers, and data were all developed with a particular computer in mind. In the general sense, nothing was portable between computers or between operating systems, on the same or different computers. Portability often consisted of a rewrite, sometimes in the same computer language, often in another.</p>

<p>There was no need to construct some general API because programs were stand-alone creatures. A generalized API would serve no purpose, and in addition, other developers on the same computer using the same operating were typically unaware of some generalized interface and would probably not use one if aware. SLIP was a departure. It was a generalized API used, and rewritten, for multiple computers and in multiple languages. Although different implementations were different, the general functionality of the original SLIP was preserved. This was an innovation.</p>

<p>The concept of a a computer storing (and executing) a program from memory was relatively new. The idea that a program was a 'dumb' calculator that used data as its preemptive force was novel. The ELIZA control logic is the 'dumb' program. It has no mechanism for dealing with user input other than that provided by it's data, the script. Using a piece of data to define the interactive, or non-interactive, execution of a program was novel. Programs at that time were stand-alone creatures which had an internal state which controlled behavior, not externally supplied data.</p>

<p>So, why was the code awful (by current standards)? Except for the MAD conditional (WHENEVER, OR WHENEVER, OTHERWISE, END WHENEVER) the concept of a block does not exist. Idealization of code into code 'blocks' is absent, instead, if you wanted to execute some piece of code within a function, you branched to it (TRANSFER(. And much like FORTRAN at this time, ELIZA contains an uncontrolled collection of branches. This makes the understanding of what is happening problematical, and for us here and now, very difficult. Modern computer science understands this, and advises against just these constructs.</p>

<p>So, what makes this code worthwhile? Other than the novelty of using input data to drive program language, the entire ELIZA program is about 420 lines long. It created and impact when written; it had an impact after it was written; it remains with an impact now. How could such a small program have such a large influence? And that makes it worthwhile as a subject of investigation. It can be looked at with respect to historical computer science; it can be looked at to see if there are any societal interests contained as part of its program - it's program style.</p>

<p>The attachment has the original ELIZA program written in MAD and commented on by Anthony Hay. Note that MAD  is not a free-form language. On a punched card, columns 1 - 7 is reserved for a label, column 8 is reserved for a comment 'R' or a continuation mark, and columns 73 - 80 are typically used to contain a card number, the compiler ignores them.</p>
]]>
        </description>
    </item>
    <item>
        <title>What makes an image AI-generated? Patent diagrams for a computational Bokeh effect (code critique)</title>
        <link>https://wg.criticalcodestudies.com/index.php?p=/discussion/160/what-makes-an-image-ai-generated-patent-diagrams-for-a-computational-bokeh-effect-code-critique</link>
        <pubDate>Mon, 12 Feb 2024 22:51:50 +0000</pubDate>
        <category>2024 Week 2: AI and CCS</category>
        <dc:creator>samgoree</dc:creator>
        <guid isPermaLink="false">160@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Recently, discussions surrounding AI image generation and computational creativity have come into the mainstream, often accompanied by claims of theft and exploitation (Jiang et al. 2023). These debates tend to assume a clear category boundary between images generated by AI and those created by humans. While such a boundary arguably exists in the realm of digital art, that boundary is fuzzier in the realm of photography.</p>

<p>In this code critique, I'd like to look at the boundary between human and computational authorship through some of the technologies used by smartphones to produce photographic images. While the technologies at work have avoided questions about authorship and copyright (authorship is attributed to the human behind the camera), many of the same issues regarding theft, competition and hegemony may be arising more quietly.</p>

<p>Ideally, this sort of inquiry would turn to the source code for smartphone image processing applications. Unfortunately, the methods used by these programs are important to competition between smartphone manufacturers; camera photo quality is an essential selling point, and the methods used to take "better" photos are kept under tight wraps. The only information we have regarding these algorithms comes from patent applications.  So this code critique will look specifically at five technical drawings from a patent. Specifically, US Patent 11,094,041B2, "Generation of Bokeh Images Using Adaptive Focus Range and Layered Scattering" issued in August 2021 to George Q. Chen, an engineer at Samsung. These drawings illustrate a technical method for a "bokeh" or background blur effect which might be used now or in the near future in Samsung smartphones. I am a computer vision researcher and not a lawyer or patent expert, I will interpret these diagrams as a representation of a computer program which we can critique in much the same way as source code.</p>

<h2>Figure 1</h2>

<p><img src="https://wg.criticalcodestudies.com/uploads/editor/u9/22dh2d6cmq7b.png" alt="a technical drawing with boxes like &quot;flash&quot; &quot;sensor&quot; &quot;processor&quot; &quot;memory&quot; &quot;display&quot; and &quot;network&quot;" title="" /><br />
"Figure 1 illustrates an example network configuration including an electronic device in accordance with this disclosure." In other words, a diagram of a smartphone system the technology could be deployed on.</p>

<p>Colloquially, we talk about smartphone "cameras" as camera devices, similar to the digital cameras of the 20th century. From the user's perspective, these cameras are very similar. They use an image sensor to capture light on command, and then apply image processing to recover a human-viewable image, which is digitally stored. However, smartphones are internet-connected computers, with processors faster than the desktop computers of a few decades ago. That means the image processing step can be highly complex, including anything from traditional signal processing to deep neural networks, and some steps may even be completed off-device, if the user has consented. These steps are part of the photographic process  in between the press of the shutter button and the appearance of an image, not a later editing step.</p>

<h2>Figures 2 and 3</h2>

<p><img src="https://wg.criticalcodestudies.com/uploads/editor/wa/wigamvuf9er2.png" alt="two figures. The top describes a process using two cameras with steps including &quot;rectification&quot; &quot;disparity detection&quot; and &quot;computational bokeh.&quot; The bottom shows another process with steps &quot;determine focus range&quot; &quot;determine CoC curve&quot; &quot;Determine layers&quot; &quot;scatter various layers&quot; and &quot;blend various layers.&quot;" title="" /><br />
"Figure 2 illustrates an example process for creating a Bokeh image using an electronic device in accordance with this disclosure. Figure 3 illustrates an example process for applying computational Bokeh to an image in accordance with this disclosure." In other words, Figure 2 shows the whole process and Figure 3 shows the computational step.</p>

<p>The word "Bokeh" comes from the Japanese verb 暈ける (literally "to blur") and refers to the aesthetic quality of images which are blurred beyond the focal length. Its usage in computational image processing comes from its usage in photographic method books (such as Kopelow 1998). Skilled photographers can achieve this effect using film-based cameras by varying the focal length (distance between film and lens) and aperture diameter (size of the opening behind the lens). Smartphone cameras do not have these moving parts and thus cannot achieve the same effect optically, so they simulate it using image processing.</p>

<p><img src="https://wg.criticalcodestudies.com/uploads/editor/tk/fsr91ra7xxuw.jpg" alt="two photos of a metal figure in front of a book. The left shows the book &quot;10 print chr&quot; clearly while the right shows it blurred out." title="" /> <img src="https://wg.criticalcodestudies.com/uploads/editor/10/r6jn0untuvye.jpg" alt="" title="" /><br />
Two photos of a bookshelf, one with a computational bokeh effect applied to blur the (hopefully familiar) book in the background.</p>

<p>The aesthetic appeal of blur in images highlights a tension between art and engineering. Classically, cameras and image processing algorithms were evaluated based on visual accuracy — how perfectly they captured and reproduced a visual signal. But humans take photos for a variety of reasons and often have aesthetic goals which prioritize visual indeterminacy and abstraction over accuracy.</p>

<p>But ironically, simulating the blurry indeterminacy of Bokeh requires more information about the three dimensional scene than the original two dimensional image. Specifically, it requires information about the depth of each pixel to distinguish the foreground from the layers of background. This information can be recovered from two images taken by cameras at the same time from slightly different perspectives, like the "wide" and "ultra-wide" camera described here, by playing a "spot the difference" game and measuring the disparities between the two images. Because of the parallax effect (think of how fast the trees move relative to the mountains when you look out a car window), the disparity map contains that depth information.</p>

<p><img src="https://wg.criticalcodestudies.com/uploads/editor/49/u3ryquunuamt.png" alt="A line plot of CoC vs. Depth with a clear minimum point labeled &quot;Focus position&quot;" title="" /></p>

<p>After finding the disparity map, this algorithm computes a circle of confusion curve, like this one above, which relates the depth of each pixel to the radius of the circle it will produce when out of focus. You can see this in your own vision if you hold your finger close to your face and focus on it with one eye closed. Small points in the background grow larger, the closer your finger is to your face, and the further an object is away from you, the larger its circle of confusion will be. By blurring with the right radius at each layer of the image, the algorithm produces a computational Bokeh effect which is indistinguishable from the optical version.</p>

<p>This bokeh effect was historically part of the specialized knowledge of a professional photographer. Understanding of the photographic process and familiarity with a camera allowed photographers to expressively produce these effects in images. Now, amateur photographers can produce the same effect by making use of the specialized knowledge that has been built into the camera software itself. These effects deskill photography, allowing amateurs to produce "professional-looking" photos.</p>

<h2>Figures 4 and 5</h2>

<p><img src="https://wg.criticalcodestudies.com/uploads/editor/jx/hhfnp4oc01vo.png" alt="Two technical diagrams. The top shows a smartphone camera interface with two sliders. The bottom shows a flow chart with boxes &quot;retrieve focus position from user touch point&quot; &quot;determine object class&quot; &quot;initialize focus range based on average thickness of object class&quot; &quot;generate Bokeh preview&quot; and &quot;User accepts?&quot;" title="" /></p>

<p>"Figure 4 illustrates an example user interface for receiving touch inputs that define a depth of focus range in accordance with this disclosure. Figure 5 illustrates an example method of determining an adaptive focus range in accordance with this disclosure." In other words, Figure 4 is a drawing of an interface where the user can tap to specify the depth they want and Figure 5 shows the algorithm behind it.</p>

<p>Rather than specifying the depth of field using the physical aperture and focal length, smartphone users can specify this parameter using a more intuitive tap on the object of focus. Again, though, an easier user experience requires more information from another source. In this case, the source is an object recognition algorithm, which identifies the class of object the user tapped on. This step is essential to know the range of depths that the user is interested in. From the patent, "a person object class may define the average thickness of a human to be about 0.55 meters. Various object classes can be defined based on a number of different objects, such as people, cars, trees, animals, food, and other objects." These objects are classified using deep neural networks, likely trained on millions of photographs taken by human photographers. While Samsung's specific dataset is not described in the patent, it likely resembles the <a rel="nofollow" href="https://cocodataset.org/#explore">COCO dataset</a> which is often used for training object detection models.</p>

<p>Even though the user can manipulate the sliders to manipulate the inferred depth of field, the inference step imposes normative assumptions upon the photograph. When you capture a person, the depth of field <em>should</em> be large enough to capture their entire body, not just part. Your object of interest <em>should</em> be from a small family of common object classes with known thickness values. This system draws on the visual language of millions of previous photographers to determine how to process a new image. Even though the new photo does not come out of a deep neural network, its manipulation has been shaped by the contents of a large dataset.</p>

<p>Going through this algorithm, we see several parallels to the debates over AI art. Advances in hardware and software technology create a new way to generate digital images from signal data by making use of past works. Innovations in user interfaces make these image generating technologies easy to use by amateurs, directly competing with the professionals whose work was used as training data. But the simplicity of these interfaces requires imposing normative assumptions about what the user is trying to do, making "normal" usage easier and "abnormal" usage harder, and subtly influencing the visual aesthetics of countless future images to match the aesthetic standard imagined by the developers. But there are also significant differences; for example, these algorithms still require real light hitting a sensor, rather than a textual signal from a user. It is also harder to anthropomorphize this sort of an algorithm, with clear deterministic processing steps, versus a stochastic black box text-to-image generative model.</p>

<h2>Discussion Questions</h2>

<ul>
<li>Are smartphone photographs secretly AI images, co-authored by this computational process? Or is there some fundamental boundary between these computational processes and AI image generation?</li>
<li>The effect of AI image generation on digital art is often compared to the historical effects of photography on portraiture. How does the development of computational photography techniques like this one complicate that narrative?</li>
<li>Should professional photographers join digital artists in limiting how they share their work online to avoid being included in training data for these systems? Or do the potential benefits for professional photographers outweigh the harms?</li>
<li>How do Chen and his colleagues at Samsung think about photography? And specifically the concept of a "good" photo? How can we critique the forces that lead smartphone companies to compete over photo quality in the first place?</li>
<li>Salvaggio (2023) introduces the concept of "seeing like a dataset" — taking photos which fit patterns and go well in a dataset, rather than artistically interesting photos which break them. Are the normative assumptions of image processing "seeing like a dataset?" And how might they play into the aesthetics of text-to-image models?</li>
</ul>

<p><strong>Bibliography</strong></p>

<p>Chen, George Q. Generation of Bokeh Images Using Adaptive Focus Range and Layered Scattering. US 202111094041 B2, United States Patent and Trademark Office, August 17 2021. <em>USPTO Patent Center</em> <a href="https://patentcenter.uspto.gov/applications/16699371" rel="nofollow">https://patentcenter.uspto.gov/applications/16699371</a></p>

<p>Jiang, Harry H., et al. "AI Art and its Impact on Artists." Proceedings of the 2023 AAAI/ACM Conference on AI, Ethics, and Society. 2023.</p>

<p>Kopelow, Gerry. <em>How to photograph buildings and interiors.</em> New York, Princeton Architectural Press, 1998, p. 118-9 Accessed via <a rel="nofollow" href="https://archive.org/details/howtophotographb0000kope/">the Internet Archive</a></p>

<p>Salvaggio, Eryk. "Seeing Like a Dataset: Notes on AI Photography." Interactions 30.3 (2023): 34-37.</p>
]]>
        </description>
    </item>
    <item>
        <title>LIVE Meetup! Fri Feb 15th (8pm GMT / 12pm PST)</title>
        <link>https://wg.criticalcodestudies.com/index.php?p=/discussion/162/live-meetup-fri-feb-15th-8pm-gmt-12pm-pst</link>
        <pubDate>Thu, 15 Feb 2024 21:50:04 +0000</pubDate>
        <category>2024 Week 2: AI and CCS</category>
        <dc:creator>jeremydouglass</dc:creator>
        <guid isPermaLink="false">162@/index.php?p=/discussions</guid>
        <description><![CDATA[<h2>We invite you to a LIVE synchronous meetup for the CCSWG!</h2>

<p>Think of it as a mid-Working Group coffee break! Amidst our asynchronous discussions, it will be nice to have some time to see and hear each other.</p>

<blockquote><div>
  <p>12pm PST (8pm GMT) , Friday 16th <br />
  <a href="https://bit.ly/goseecoach" rel="nofollow">https://bit.ly/goseecoach</a></p>
</div></blockquote>

<p>This is AI+CCS week, so during the live session we plan to do live exploration of how LLMs may be used in CCS endeavors.  Come with questions and your inquisitive spirits.</p>

<p>If you would like to propose other live meetups in the future--either with a focus on other topics, or just on dates / in timezones that work for you--please announce in the forum and/or reach out to the coordinators for support.</p>

<p>-- <em>Mark, Jeremy, Andrea, Zach, Lyr, and Elea</em></p>
]]>
        </description>
    </item>
    <item>
        <title>LLM Writes The Chinese Room (Code Critique)</title>
        <link>https://wg.criticalcodestudies.com/index.php?p=/discussion/163/llm-writes-the-chinese-room-code-critique</link>
        <pubDate>Fri, 16 Feb 2024 05:39:00 +0000</pubDate>
        <category>2024 Week 2: AI and CCS</category>
        <dc:creator>markcmarino</dc:creator>
        <guid isPermaLink="false">163@/index.php?p=/discussions</guid>
        <description><![CDATA[<p><strong>Title:</strong> "Chinese Room Conundrum"<br />
<strong>Author/s</strong>: ChatGPT<br />
<strong>Language/s:</strong> Inform 7<br />
<strong>Year/s of development:</strong> 2023<br />
<strong>Play the game here:</strong> <a rel="nofollow" href="https://markcmarino.com/inform/" title="https://markcmarino.com/inform/">https://markcmarino.com/inform/</a><br />
<strong>Code by:</strong> ChatGPT-4<br />
Adapted from <a rel="nofollow" href="https://medium.com/@markcmarino/back-to-the-chinese-room-programming-with-chatgpt-658aed0a200b" title="this article.">this article.</a></p>

<p>Here was my prompt:</p>

<blockquote><div>
  <p>Compose a short 1-turn interactive story in the programming language Inform 7 that uses John Searle’s Chinese Room as a setting. The piece should have five different endings. The theme should be machine translation and black boxes, explainability, and AI. The tone should be satirical. Make sure the code will parse.</p>
</div></blockquote>

<p>In the blink of an AI, ChatGPT (4) spat out the code for a complete little interactive fiction; however, the code was invalid in ways that would elude a novice Inform programmer like me. For example, the original code included instructions like, “Instead of talking to John Searle, say,” which should give a response, or should say whatever follows, if the player types the command “Talk to Searle.” However, since the code the LLM produced had not yet defined “talking to,” it would not compile. Inform has the commands “ask,” “tell,” but not “talk to.” Since I did not know that this code needed to be defined, I too was at a loss. The code was, for all intents and purposes, Chinese.</p>

<p>But with the help of a near native speaker (thanks, Ryan Veeder), I got the code up and running. Here’s the cleaned up version below.</p>

<pre><code>&quot;Chinese Room Conundrum&quot; by ChatGPT

The Chinese Room is a room.

John Searle is a man in the Chinese Room. The description of John Searle is &quot;John looks perplexed. He's surrounded by Chinese symbols and an instruction book titled 'Understanding Chinese'. He doesn't understand a word of it.&quot;

A man can be consulted or not consulted.
John Searle is not consulted.

A mysterious black box is in the Chinese Room. The description of the black box is &quot;It's a black box. No one knows what's inside, but it's labeled 'Machine Translation 5000'.&quot;

Instead of examining the black box:
 say &quot;The box hums lightly, almost as if it's mocking John's futile attempts to understand Chinese.&quot;;

Talking to is an action applying to one visible thing. Understand &quot;talk to [someone]&quot; or “converse with [someone]” as talking to.

Instead of talking to John Searle:
 say &quot;John sighs, 'I'm just following instructions from this book. I don't understand Chinese, but the instructions help me respond correctly.'&quot;;
 now John Searle is consulted.

A button is a device in the Chinese Room. The printed name of the button is &quot;a button labeled Translate&quot;. It is switched off. 

Instead of pushing the button:
    say &quot;The room is filled with a mechanical humming. Moments later, a paper rolls out of the black box.&quot;;
    move the paper to the Chinese Room.

The paper is a thing. The paper can be read. The description of the paper is &quot;It's a paper with some Chinese characters, below which are their English translations.&quot;

Reading is an action applying to one visible thing. Understand &quot;read [something]&quot; as examining;

Instead of examining the paper:
 if the paper is read:
  say &quot;The translations are hilariously wrong. One sentence reads, 'Fish flies over the moon tonight.' Another says, 'John's teapot is the father of dragons.'&quot;;
 otherwise:
  say &quot;You chuckle again at the absurd translations.&quot;;
  now the paper is read;

Every turn:
 if the turn count is 3:
  say &quot;Suddenly, the black box starts to shake.&quot;;
  end the story saying &quot;The box exploded. So much for 'advanced' technology!&quot;;
 if the turn count is 4:
  say &quot;A voice emanates from the box: 'Error 404: Chinese not found.'&quot;;
  end the story saying &quot;Looks like the box wasn't as smart as it thought.&quot;;
 if the paper is read:
  if the turn count is 5:
   say &quot;John breaks into laughter, 'Even with this book, I'm sure I'd make more sense than that box!'&quot;;
   end the story saying &quot;A human victory, for now.&quot;;
 if John Searle is consulted:
  if the turn count is 5:
   say &quot;John ponders, 'If the box is just following its instructions and I'm just following mine, who's really understanding anything?'&quot;;
   end the story saying &quot;Deep thoughts in the Chinese Room.&quot;;
 if the turn count is 6:
  say &quot;The box suddenly goes silent. John shrugs, 'Guess it's just another black box mystery.'&quot;;
  end the story saying &quot;Some things remain unexplained.&quot;;

After examining the Chinese Room:
 end the story saying &quot;The satire is palpable. Machine translation, black boxes, explainability... AI sure has a long way to go.&quot;;
</code></pre>

<p>In John Searle’s famous thought experiment, The Chinese Room, he poses the following situation:</p>

<blockquote><div>
  <p>Imagine a native English speaker who knows no Chinese locked in a room full of boxes of Chinese symbols (a data base) together with a book of instructions for manipulating the symbols (the program). Imagine that people outside the room send in other Chinese symbols which, unknown to the person in the room, are questions in Chinese (the input). And imagine that by following the instructions in the program the man in the room is able to pass out Chinese symbols which are correct answers to the questions (the output). The program enables the person in the room to pass the Turing Test for understanding Chinese but he does not understand a word of Chinese.</p>
</div></blockquote>

<p>In the land of LLMS, we’re all standing outside that Chinese Room, slipping in our little prompts and taking whatever comes out the other end. Except instead of producing perfect Chinese, the man in the box (or the LLM), sends out mostly valid Chinese content. The man is not answering questions so much as replying to the Chinese with amalgamations of Chinese characters that typically follow the ones we passed in. No one would say the man in the room understands Chinese. And, what’s more problematic, we, the ones passing notes in, may not understand Chinese either. Or, in the case of this example, computer source code.</p>

<p>When we ask LLMs to produce computer source code, we now have two Chinese Rooms. The one is the LLM that produces computer code when prompted. The other is the computer or compiler (if needed) that is processing the code produced by the LLM. The prompter, as it turns out, may be just as in the dark as the person in the room producing the code without comprehension. How could this go wrong?</p>

<p>It struck me that Searle’s thought experiment would make a fun interactive fiction piece and that it would be a further ironic twist if I asked an LLM to write the piece for me in a programming language that I have only a tenuous grip on: Inform 7.</p>

<p>If you haven’t encountered it, Inform 7 is (the 7th version of ) an English-like programming language created by Graham Nelson. The syntax reads more like English than perhaps any other programming language. It will take:</p>

<blockquote><div>
  <p>The Chinese Room is a room.</p>
</div></blockquote>

<p>But it will not take</p>

<blockquote><div>
  <p>The Chinese Room is a big room.</p>
</div></blockquote>

<p>That similarity to English makes it fairly easy to read, but deceptively easy to write. For no sooner does a novice programmer learn they can program in the vernacular that they try a familiar word only to get the reply, in the parlance of interactive fiction, “That is not a word the language can recognize.”</p>

<p>As my thoughts of this conundrum circled, I asked ChatGPT to write a work of interactive fiction about the Chinese Room, and to my surprise, it created Inform 7 code. Not valid Inform 7, but Inform 7.</p>

<p><strong>Starter Questions:</strong><br />
What does this code generating experience tell us about naive (as in, from the stand point of not knowing the programming language) uses of ChatGPT or an other LLM to write code?<br />
Are we in the Chinese Room situation or something else?<br />
Whichever Room we are in, what are the implications for readers of code written via prompts.</p>
]]>
        </description>
    </item>
    <item>
        <title>[Code Critique] LLM reads Marylyn Tan's "Queer Bodies" (Code Critique)</title>
        <link>https://wg.criticalcodestudies.com/index.php?p=/discussion/159/code-critique-llm-reads-marylyn-tans-queer-bodies-code-critique</link>
        <pubDate>Mon, 12 Feb 2024 20:42:37 +0000</pubDate>
        <category>2024 Week 2: AI and CCS</category>
        <dc:creator>jeremydouglass</dc:creator>
        <guid isPermaLink="false">159@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>I've had some questions regarding prompt engineering and personas for CCS, and I want to provide a simple starter example--this isn't refined, just the bare minimum to start playing with the concept. I've used an example related to my own teaching context, which is within a university English literature department with an undergraduate culture of information specialization and a history of teaching electronic literature.</p>

<p>The example below is broadly related to my <a rel="nofollow" href="https://exploringaipedagogy.hcommons.org/2023/11/27/persona-games-writing-to-and-from-for-and-against-language-models/">Persona Games</a> pedagogical activities, and the material is drawn from CCS Working Group Week 1: Queer(ing) Code thread about Marylyn Tan's code poem <a rel="nofollow" href="https://wg.criticalcodestudies.com/index.php?p=/discussion/149/process-c-users-marylyn-tan-undocuments-queer-bodies-code-critique#latest">C:\Users\marylyn.tan\UnDocuments\Queer Bodies</a>.</p>

<p>In the following example, we will:</p>

<ol>
<li><strong>Use a prompt to create a ChatGPT persona that is a "critical code studies advisor."</strong> <br />This persona might have instead been a CCS researcher or expert, but the given example has the advantage of naturalizing a single conversation that provides LLM summaries on one or more works from one or more critical perspectives, each in response to a different imagined researcher / student.</li>
<li><strong>Give the "CCS advisor" a piece of code.</strong> <br />You might ask the advisor for a summary of details of interest, or ask it to provide a full interpretive 'reading', or simply provide the code without comment--the LLM will still perform a full response in its role.</li>
<li><strong>Ask the advisor to reconsider the same work from a variety of different perspectives.</strong> <br />E.g. "colonial and postcolonial politics" or "environmental humanities / ecocriticism" et cetera.</li>
<li><strong>Press the advisor to provide concrete details.</strong> <br />E.g. quoting at least three specific words or phrases from the original.</li>
</ol>

<p>Some parts of these results are surprisingly competent, while others are disappointingly generic. Often the LLM would rather present a more abstract plan for a research process based on topic keywords rather than suggest concrete details for futher analysis--however when pressed it is quite effective at selecting at least appropriate keywords and often providing plausible topical contexts. Not explored in this example (in part because it is codework, and so not the best fit) is pressing the advisor to comment on interesting aspects of the functional/syntactic observations about the meaning of code (methods, arguments, data structures, patterns of control flow) rather than keywords and data.</p>

<p>Here is the prompt to <a rel="nofollow" href="https://chat.openai.com/" title="ChatGPT">ChatGPT</a>. Prompts are indented, responses from the LLM are twice-indented.</p>

<blockquote><div>
  <p>You are a critical code studies advisor. Your job is to help English literature students read source code and explain which parts of the source code of a work of electronic literature are interesting. Code might be interesting because it is poetic, evocative, reflects creative ideas, is unusual, or is crucial to how the work of electronic literature behaves. Your advice will help the students write an interpretive essay.</p>
  
  <blockquote><div>
    <p>As a critical code studies advisor, I would suggest that the students approach the source code of a work of electronic literature as they would approach a literary text. They should consider the various elements of the code, such as syntax, structure, and function, and analyze how they contribute to the overall aesthetic, meaning, and behavior of the work. Here are some tips on which parts of the source code might be interesting to explore:</p>
    
    <p>Poetic and evocative code: Just like literary texts, source code can be written in a way that is aesthetically pleasing and evocative. For example, the use of creative variable names or comments that express emotions or ideas can add a poetic dimension to the code. The students might look for instances of code that create visual or auditory effects, such as animations or sound effects, and analyze how these effects contribute to the overall mood and tone of the work.</p>
    
    <p>Reflects creative ideas: The source code of a work of electronic literature can reveal the creative ideas and concepts behind the work. The students might look for code that represents the themes or motifs of the work, or code that reflects the author's artistic or philosophical vision. They might also examine how the code reflects the medium or platform on which the work is created, and how this affects the way the work is experienced.</p>
    
    <p>Unusual or innovative code: Some source code can be interesting simply because it is unusual or innovative. The students might look for code that uses uncommon programming languages or libraries, or code that employs unconventional techniques or algorithms. They might also examine how the code breaks with conventional design patterns or programming paradigms, and what effect this has on the work.</p>
    
    <p>Crucial code: Finally, the students should pay attention to the parts of the source code that are crucial to how the work of electronic literature behaves. This might include code that controls the interaction between the user and the work, code that generates or manipulates text or images, or code that manages the overall structure and flow of the work. The students might analyze how these parts of the code contribute to the overall aesthetic and meaning of the work.</p>
    
    <p>Overall, the students should approach the source code of a work of electronic literature with an open mind and a willingness to explore its various dimensions. By examining how the code contributes to the overall aesthetic, meaning, and behavior of the work, they can gain a deeper understanding and appreciation of the work as a whole.</p>
  </div></blockquote>
</div></blockquote>

<hr />

<blockquote><div>
  <p>As a critical code studies advisor, here is the code poem "Queer Bodies" by Marylyn Tan. The full title of the poem is C:\Users\marylyn.tan\UnDocuments\Queer Bodies.</p>
  
  <p>[paste the full text of the poem here]</p>
  
  <blockquote><div>
    <p>The code poem "Queer Bodies" by Marylyn Tan seems to be a creative piece that uses code syntax to explore themes related to queer identity, attraction, and societal expectations. Here are some interesting aspects of the code:</p>
    
    <ol>
    <li><p><strong>Conditional Statements</strong>: The poem utilizes conditional statements to define the rules of lesbian attraction in a playful and whimsical manner. For example, it evaluates attributes such as hair length, footwear, clothing, language, color, body type, sexual orientation, and race to determine attractiveness.</p></li>
    <li><p><strong>Symbolic Variables</strong>: The poem assigns symbolic variables such as "MASC" (masculine), "ATTRACTIVE", "NORMAL WEIGHT", "EDUCATED", etc., to represent different qualities or characteristics. These variables are manipulated throughout the poem to calculate an "attraction score".</p></li>
    <li><p><strong>Iterative Process</strong>: The poem iterates over various attributes and conditions to evaluate the potential compatibility between individuals based on their characteristics. It examines factors such as gender presentation, language proficiency, body type, and sexual orientation to determine attraction.</p></li>
    <li><p><strong>Humor and Satire</strong>: The poem incorporates humor and satire by including tongue-in-cheek comments and stereotypes about queer identity and societal norms. For example, it humorously suggests that certain characteristics like being "GOLD STAR" (having no instances of contact with a penis) are desirable in a potential partner.</p></li>
    <li><p><strong>Social Commentary</strong>: Through its unconventional use of code syntax and playful language, the poem offers social commentary on issues related to queer identity, beauty standards, and societal expectations. It critiques the rigid categorization of individuals based on superficial attributes and challenges traditional notions of attractiveness.</p></li>
    </ol>
    
    <p>Overall, "Queer Bodies" is a creative and thought-provoking piece that uses code as a medium to explore complex themes of identity, attraction, and societal norms in a whimsical and satirical manner. It encourages readers to reflect on the intricacies of human relationships and the fluidity of identity beyond conventional labels.</p>
  </div></blockquote>
  
  <p>You are acting as a critical code studies advisor to a scholar who wants to consider Marylyn Tan's Queer Bodies in terms of colonial and postcolonial politics. What parts of the code poem would you suggest that they consider, and why? For example you might suggest specific keywords, lines of code, or uses of syntax.</p>
  
  <blockquote><div>
    <p>When considering Marylyn Tan's "Queer Bodies" in terms of colonial and postcolonial politics, several aspects of the code poem could be particularly relevant for analysis. Here are some suggestions for parts of the code poem to consider:</p>
    
    <ol>
    <li><p><strong>Language and Cultural Identity</strong>: Pay attention to the sections of the code poem that evaluate language proficiency and cultural identity, such as the "type (language)" section. Analyze how language is used as a marker of identity and how the poem reflects colonial legacies of language dominance or marginalization.</p></li>
    <li><p><strong>Race and Ethnicity</strong>: Examine the section of the code poem that evaluates race, particularly the conditional statements related to race-based attraction scores. Consider how the poem engages with racial stereotypes and power dynamics inherited from colonial histories, and how it reflects or challenges racial hierarchies.</p></li>
    <li><p><strong>Gender and Sexuality</strong>: Investigate the sections of the code poem that evaluate gender presentation and sexual orientation. Consider how the poem constructs norms and expectations around gender and sexuality, and how these constructs intersect with colonial and postcolonial discourses on identity and belonging.</p></li>
    <li><p><strong>Body Politics</strong>: Explore the parts of the code poem that assess body type and physical appearance, such as the "type (body)" section. Analyze how beauty standards and ideals of attractiveness are constructed within the poem, and how they may be influenced by colonial legacies of objectification and exoticization.</p></li>
    <li><p><strong>Power Dynamics and Resistance</strong>: Consider how the poem navigates power dynamics and resistance within the context of colonial and postcolonial politics. Pay attention to moments of agency or subversion, as well as instances of complicity or reinforcement of hegemonic norms.</p></li>
    <li><p><strong>Intersectionality</strong>: Analyze how different aspects of identity intersect and intersect in the evaluation of attraction scores. Consider how colonial and postcolonial power structures intersect with other axes of oppression, such as race, gender, sexuality, and class.</p></li>
    </ol>
    
    <p>By closely examining these aspects of the code poem, the scholar can gain insights into how "Queer Bodies" engages with colonial and postcolonial politics, unpacking the complexities of identity, power, and resistance within its poetic expression.</p>
  </div></blockquote>
  
  <p>Quote at least three specific words or phrases from the code poem that would be relevant to a discussion of colonial and postcolonial politics.</p>
  
  <blockquote><div>
    <p>Here are three specific words or phrases from the code poem "Queer Bodies" that would be relevant to a discussion of colonial and postcolonial politics:</p>
    
    <ol>
    <li><p>"anglophone": This word refers to individuals who speak English as their primary language. Analyzing how language proficiency, particularly in English, is evaluated in the poem can provide insights into colonial legacies of linguistic dominance and cultural imperialism.</p></li>
    <li><p>"sinophone_local": This phrase suggests individuals who speak a Chinese dialect or Mandarin and are local to the region. Examining the treatment of "sinophone_local" individuals within the poem can shed light on issues of cultural identity, assimilation, and resistance to colonial influences.</p></li>
    <li><p>"PRC": This acronym stands for the People's Republic of China, indicating individuals associated with mainland China. Considering the treatment of "PRC" individuals in the context of the poem can offer perspectives on geopolitical dynamics, migration, and diasporic experiences within colonial and postcolonial frameworks.</p></li>
    </ol>
  </div></blockquote>
  
  <p>You are now acting as a critical code studies advisor to different scholar who instead wants to consider Marylyn Tan's Queer Bodies in terms of environmental studies and ecocriticism. Again provide suggestions for parts of the poem to consider, along with three specific words or phrases that are relevant.</p>
  
  <blockquote><div>
    <p>When considering Marylyn Tan's "Queer Bodies" in terms of environmental studies and ecocriticism, several aspects of the code poem could offer fruitful avenues for analysis. Here are some suggestions for parts of the poem to consider, along with three specific words or phrases that are relevant:</p>
    
    <ol>
    <li><p><strong>Body Politics and Materiality</strong>: Explore the sections of the code poem that evaluate physical attributes such as body type and appearance. Consider how these evaluations intersect with ecocritical perspectives on the human body as part of the natural environment. Analyze how the poem reflects or challenges societal norms around body image and consumption.</p></li>
    <li><p><strong>Language and Representation of Nature</strong>: Investigate the language used in the code poem to describe natural elements or environmental phenomena. Pay attention to metaphors, imagery, and symbolic representations of nature. Analyze how the poem constructs relationships between human identity and the natural world, and how it reflects cultural attitudes towards the environment.</p></li>
    <li><p><strong>Cultural Practices and Environmental Impact</strong>: Examine the sections of the poem that evaluate cultural practices, such as language proficiency and racial identity. Consider how these practices intersect with environmental concerns, such as language preservation, indigenous knowledge systems, and environmental justice. Analyze how the poem reflects or critiques the environmental impact of cultural practices.</p></li>
    <li><p><strong>Agency and Resistance</strong>: Explore moments of agency or resistance within the poem in relation to environmental issues. Consider how the poem engages with themes of environmental activism, sustainability, and resilience. Analyze how it challenges dominant narratives of environmental exploitation and advocates for alternative modes of existence.</p></li>
    <li><p><strong>Intersectionality and Environmental Justice</strong>: Analyze how different aspects of identity intersect with environmental concerns within the poem. Consider how race, gender, sexuality, and other axes of oppression intersect with ecological issues. Pay attention to how the poem addresses environmental justice and equity, particularly for marginalized communities.</p></li>
    </ol>
    
    <p>Three specific words or phrases that are relevant to a discussion of environmental studies and ecocriticism in "Queer Bodies" are:</p>
    
    <ol>
    <li><p>"freesize": This term suggests a non-standardized or flexible approach to body size and clothing. Analyze how the concept of "freesize" reflects or challenges norms around consumerism, fashion, and sustainability within the context of ecological discourse.</p></li>
    <li><p>"colour": This word refers to the evaluation of color or hue within the poem. Consider how the poem's treatment of color reflects cultural perceptions of nature, biodiversity, and environmental aesthetics. Analyze how color symbolism is employed to evoke connections between human identity and the natural world.</p></li>
    <li><p>"FOOD_AS_SIN": This phrase implies a relationship between food consumption and moral judgment within the poem. Explore how the poem addresses issues of food production, consumption, and waste within the context of environmental sustainability and ethical eating practices. Analyze how food-related imagery is used to critique or challenge anthropocentric attitudes towards the environment.</p></li>
    </ol>
  </div></blockquote>
</div></blockquote>
]]>
        </description>
    </item>
   <language>en</language>
   </channel>
</rss>
