Skip to main content

Week 4: Code + Comments

September 15, 2025

Texts to have read / watched
Writing to turn in

Plan for the day:

  • First half: Commenting on Code (80 min)
    • Discussion of readings, using your posts as jumping off points (~60 min)
    • Writing to Remember (~15 min)
  • Break (10 min)
  • Second half: Working with Source(s) (75 min)
    • Playing with JavaScript (~15 min + 10-15min debrief)
    • Planning for presentations (no later than 11:15, ideally closer to 11:00)
    • EXT: Studio time
  • HW for next time (~5 min)

First half: Commenting on Code

Starting points

Below are some passages to revisit and unpack. As we discuss, let’s take notes at bit.ly/dsam2025fall-notes. (Any volunteers to lead the note-taking?)

I especially invite members of group 1 (Tunga, Rose, John, Scylla, and Yuqing) to join the conversation in person, since group 2 (Yanni, Namrata, Amrita, Li, and Yixuan) led the conversation online!

Harmony and tension among code's audiences

Namrata brings us this passage from Zach Whalen's piece on Travesty Generator:

In examples of poetry generated by code, poetry written as code, and code that generates poetry, it is less useful to think of a tension between the code as text and the code as preamble to its processes and more productive to consider the imbrication of those surfaces.

She asks: "I was wondering what the differences between the three would entail? What can each tell us about the relationship between code and language? Or is that not really important as stated?"

This feels like a worthwhile, if tricky, concept to unpack! Who would like to begin parsing it out?

EXT: Who is the audience for comments?

Prioritizing writing, centering English

Both Namrata and Amrita draw our attention to the way Vee's introduction to (of?) Coding Literacy centers writing and its impact on society. Namrata notes that Vee's "understanding of language is based on a western notion of something which can be written and read, rather than oral"; Amrita likewise suggests that "the argument of coding as literacy [...] ignores the accessibility issues from the Western progress-oriented worldview that often marginalises other ways of knowing and universalizes a type of literacy, assuming that it is a requirement for the present world" (emphasis added; please tell me if I misread your intended emphasis?). Both invoke colonial histories and impositions, asking who gets to decide what is or is not infrastructural.

These are good observations and questions! I want to bring this back to the text to help us understand where we're arguing against Vee and where we might be arguing alongside her. Let's look at pages 27-28:

Given that any definition of literacy is one motivated by what it can illuminate, here’s the one I use in this book: Literacy is a widely held, socially useful and valued set of practices with infrastructural communication technologies. This definition takes into account the current consensus in literacy studies that literacy is a combination of individual communication skills, a material system, and the social situation in which it is inevitably embedded. It also assumes that literacy refers to something like mass literacy; that is, a skill can do all of the things literacy does, but if it’s not being practiced by a wider variety of people, I don’t think of it as literacy. Literacy according to this book has both functional and rhetorical components—what makes it both “socially useful and valued.” Literacy reflects real knowledge requirements (its functional component) as well as the perception of what kind of knowledge is required to get around in society (its rhetorical component). These components are entangled: what people perceive as literacy affects not only its social value but also its social utility. In other words, if a skill is believed to be more useful, it is more useful, in part because of the social cachet accorded to it.

A focus on an “infrastructural communication technology” is meant to draw attention to literacies connected to power and to differentiate them from other useful skills. Susan Leigh Star describes “infrastructure” as a comprehensive, societally embedded, structural standard that is largely transparent to insiders. [...] To become more widely held and useful and valued, the practices of writing and programming both had to be done with technologies that were infrastructural and thus suited for more people to use: not too expensive, unwieldy, or prone to break down.

Where does this definition single out writing, and where is it flexible enough to go beyond it? What kinds of orality does it include or exclude?

Raising the stakes

If we want to get into the moralizing tone of calling something or someone illiterate, I'd jump us back to the beginning, on pp 1-2:

This heritage of moral goodness persists in public debates about reading and writing, which is especially apparent in the periodic waves of moral panic observed in articles about education and illiteracy. Typified by an infamous 1975 article in Newsweek, “Why Johnny Can’t Write,” these fears of failing schools and of generations of illiterates signaling the downfall of society have been around since at least the late nineteenth century. However, literacy research indicates that literacy rates in the United States aren’t falling; rather, what we consider literacy is changing.
Where parallel lines meet: unpacking the platform metaphor

Yixuan points us to this passage from Annette Vee:

Programming is a literacy we can build other activities and knowledge on, as we have done with reading and writing in human languages. Because of its affordances for information creation, organization, and dissemination, the practice of programming bears other significant similarities to reading and writing. Programming and writing are both socially inflected by the contexts in which they are learned and circulated and are materially shaped by the technologies that support and distribute them. (3-4)

Yixuan also highlights that "writing was once a skill reserved for elites but eventually became a basic competency for everyone." Given the other parallels between writing and coding, she writes (paraphrasing Vee?) "perhaps programming is following a similar path." If so, "does that mean the humanities also have a responsibility to incorporate programming into their core training? Or can it remain an auxiliary skill?"

To begin answering Yixuan's question here, I'd like to press on where the parallels lie, especially in writing or programming's status as platforms: Is programming the equivalent of handwriting? Typing? Fixing a typewriter? Operating a printing press? A publishing house? On the other side of things, what kind of reading knowledge counts as "literate"? How much writing must one do to be able to read sufficiently? (And of course it might change...)

EXT: another practical metaphor

John suggests that computer literacy is more "like understanding how your car works. I think everyone should know what a clutch does, if you have a manual transmission [...] likewise, everyone who touches a keyboard should know the components inside a computer, such as a Central Processing Unit and disk storage (be it magnetic or solid-state). A civilian need not know what an Application Programming Interface is."

Are we in Digital Studies and Methods "civilians" in this sense? Should someone whose transcript includes DSAM, whether as a certificate or as a course, know what an API is?

As a follow-up, Yixuan also asks: "if code itself structures communication and cultural production, should those who write or even modify code be regarded as authors in the same sense as traditional writers?" What do you all think, in light of the discussion?

Lo-fi's unstable stability

Yanni points out that a lot of Lillian-Yvonne Bertram's procedurally generated poetry isn't available online – even though they still link to it from their site. What remains consists of HTML, CSS, and JavaScript: the kind of standard lo-fi formats that Stolley extols as the key to digital longevity. Do we expect that the missing works were composed otherwise? Or is lo-fi not enough to keep works around? What else should we be thinking about in terms of digital preservation and access?

Yanni poses the question also in terms of Risam and Gil's guidance for minimal computing: "[W]hatever Bertram was prioritizing and willing to give up has rhetorical implications for the circulation of the information they wished to spread. [...] who should think in terms of minimal computing or lo-fi production? Is there anyone we might say has to? Us as scholars? But only in our role as scholars, not when we’re creating art? What about when there is tension between these two roles and the way we view what we’re creating? Does everybody need to be taking these approaches? Or who doesn’t? Why not?"

Code and culture

The authors of 10 PRINT, as Li points out in his post, see historical significance in every term of the code they examine, sometimes down to individual characters. But as John suggests, most of the time people writing code aren't thinking primarily of the backstory of the functions they call; they just want the practical effect of calling the function.

What's the point of reading this way? Who is it for, and when is it relevant? In Li's words: "Is this method effective for you?"

What else?

I’m open to other ideas, questions, and curiosities!

Let’s just save at least 15 minutes to write and share notes, starting at around 10:10 or 10:15.

Writing to remember

Spend some time putting marks on a page to help you think through, and consolidate for yourself, what we discussed today. What do you want to remember? What are you left wondering?

After a few minutes, I’ll ask everyone to share one thing, to which the only response will be “thank you.”

Break (10 min)

Assuming we left off at 10:25, let's aim to start up again at 10:35. That should beat the elevator rush for 11am classes while still giving us a good hour to get hands-on.

Second half: Working with Source(s)

Playing with JavaScript (~10-15 min)

  1. Go to Montfort's source code for The House of Dust. Click the download button and save it somewhere you'll find it easily.
  2. Double-click the file. Where does it open? Is this opening locally or remotely? How do you know?
  3. After watching for a while, leave it open but open the file a second time, now in your text editor (Pulsar or VS Code). See if you can...
    1. Make the poem update faster.
    2. Swap the available nouns in lines 1 and 3. (I can think of three different ways to do this. Can you?)
    3. Change the stanza structure so it generates academic-style titles. (Bonus if you have time to change the nouns and verbs to be relevant to your own research.)
  4. After each change, save and go back to see what's changed.

Share some of your favorite outputs in the google doc!

EXT: Playing with HTML

Done with the above?

  1. Make your own copy of the ElectrateFuego project:
    • download it as a .zip file, placing the file somewhere you can find it easily
    • double-click the file to unpack it (it will become a folder)
    • use GitHub Desktop to start a new repository in the folder
  2. Read the index.html file with your text editor and begin editing according to the instructions in the comments.
Addendum: why would you want to use .zip instead of fork?

Last week, I told you that for a given public repository, we can...

  • fork it, creating a linked copy we control
  • clone it, downloading the full contents and all the file history
  • or just download the contents as a .zip archive. This strips out the history, but means we could also start over clean in an unlinked repo if we want.

Fork is great if you want to keep receiving updates from other developers: you'll be alerted when you're "behind the upstream repo." But one reason you might want to use the zip download instead is that GitHub assumes forks are meant to contribute to the "upstream" project – and therefore bills all file storage to the root project's owner. If you're actually working on your own, .zip lets you use the project as a template without assuming you want to maintain a shared history.

To avoid having all your large files stacking on top of each other and hitting my bank account (or Stephen's), you should probably start your own repository. Use .zip, as his README advises.

Process reflection (~10-15 min)

After about 15 minutes, I want to pause and ask how it’s going. What’s easy here? What’s hard? What’s interesting?

In what other contexts might you apply whatever you just learned?

Let’s take notes, again, at bit.ly/dsam2025fall-notes.

Preparing for presentations (no later than 11:15, ideally closer to 11:00)

Our first project-iteration presentations are next week!

As I say on the Projects page of the course site: I want to use these presentations to talk about process breakthroughs and moments of stuckness. By discussing these together, we gift each other the chance to learn about more subjects, more tools, more questions, than we would have time to engage with individually. And talking it out is also a chance to get a fresh perspective that might open a new way forward (or, for that matter, around).

Goals for this iteration

At this stage in your iterative process, you should be able to answer the following questions:

  • What sources or objects are you working with?
  • What questions do you have about those sources, or what do you hope they'll help you address? What are your long-term goals in pursuing this research?

And always our last two questions:

  • How's it going so far? Show us (briefly) what you've got!
  • What are your next steps, or questions for us?

Building iteratively

When I say “what you’ve got”: by next week you should also have put some materials into some kind of repository, document, or site where you can begin building a public-facing “deliverable” version of your project, however nascent it is for now.

Your options are wide open for how to deliver this. You may want to use a GitHub repo. Other good options include Google Sheets, especially if you create a README tab; GUI-based blogging platforms like WordPress or Wix; lofi websites built via GitHub Pages, maybe using OpenFuego/ElectrateFuego for guidance; or file folders shared using OneDrive.) You’ll link to this public-facing project in a forum post along with your presentation files.

Presentation files, you say?

I’ve found that when people want to do live demos, they (a) always take longer than expected to get started, (b) often break in new and surprising ways, and (c) sometimes follow digressions more than hitting the highlights.

You know what helps with those things? Writing and revising. And since this it’s already come up as an important form of digital literacy, let’s work on writing and revising multimodally.

What comes to mind when I ask for a multimodal presentation?

Let’s get some notes in the gdoc.

EXT: Studio time

If we have time left, go ahead and start working on your deliverable or your presentation. : )

Homework for week 5

No new reading! Instead, prepare a 5-minute presentation on your semester-long DSAM project, and post links on the discussion forum to…

  1. Your presentation file (e.g. PowerPoint, Google Slides, Prezi, slides.js, etc)
  2. Your public-facing project-in-progress (website, GH repo, etc)
You'll know your files are publicly accessible if you can open the links in an incognito window. Alternatively, you can share to our individual email addresses via OneDrive (right-click on the file or folder and select Share) or Google Drive (click the Share button).

At this stage in your iterative process, your presentation should be able to answer the following questions:

  • What sources or objects are you working with?
  • What questions do you have about those sources, or what do you hope they’ll help you address? What are your long-term goals in pursuing this research?
  • How’s it going so far? Show us (briefly) what you’ve got!
  • What are your next steps, or questions for us?
NB: We don't have time for everyone to present live in class. Even so, you should all turn in a presentation file, so you can get feedback (including peer review) on your work in progress. If you want to also record yourself giving the presentation (e.g. with Zoom or Panopto), you have that option – but I won't require it this time around.

The easiest option for dividing up may be to stick with the reading-response groups. So we’ll have group 1 (Tunga, Rose, John, Scylla, and Yuqing) present live, unless a couple people want to swap…?

Back to the calendar