• Programming the Digital Humanities

    Edit 2/16: Here are the PPTX slides from our panel: Programming the Humanities.  Thanks for everyone who joined and participated.

    In a prior book I co-authored with JD Applen (The Rhetorical Nature of XML — see Will Dorner’s review here for a good overview), we looked at the composition and structure of the eXtensible Markup Language (XML) and explored the rhetorical implications of a metadata language that allows individuals to author their own tags, as well as the constraints and politics imposed by the necessity of tools and languages (DTDs, Schema, XSL, XSD, Doctbook, DITA, etc.)  for ensuring validity and interoperability between systems.  As part of this work, we ventured into the territory of programming when we started thinking about the implications of the software parser in this context.  For example, what happens to the data after it is described and written down is (to me, at least) interesting enough to prompt one to consider the rhetorical implications of the software that is designed to act upon particular tags when it encounters them. So, for the last few chapters of the book, we spent some time introducing readers to basic programming techniques and then discussed how implementing such techniques would allow them to build their own XML parsers for a variety of rhetorical purposes.

    This is a long-winded and probably inefficient way to introduce the topic I’m currently most interested in, which is the nature of (computer) programming in the humanities.  My current book project involves partly theoretical work (along the lines of Stephen Ramsay and inspired in part by this post from Matthew Kirschenbaum) examining the role of computer algorithms and programming in the humanities and how these things do and don’t fit together.  This is coupled with an introduction to computer programming for humanities practitioners.  Rather than spending the entire book focused on one language, I instead introduce several different languages that are used by different audiences.  These include Scratch (a programming environment designed to teach children how to program that emerged from Mitch Resnick and the Lifelong Kindergarten Group at MIT), Processing (a programming language environment designed for visual artists), PHP, Python, and Ruby.

    In the spirit of the unconference, I have several different proposals for things I could talk about that may or may not be of interest for the THATCamp 2013 audience.  What I am most interested in is hearing from digital humanists about their own experiences working with code and tools in order to better understand the audiences who may find such a book useful.  Potential things I would be interested in discussing / yakking about:

    • What are the particular needs of digital humanists working in different fields (in terms of tools and software)?
    • Where do extant tools break down and how would you extend (or how have you extended) existing tools to better allow you to pursue your research?
    • Do you know how to program?  If so, what was your pathway to learning this skill?
    • If you code, what were some of the most valuable tips and lessons you learned while acquiring this skill?
    • What are some of the non-programming skills digital humanities practitioners should be aware of?
    • Where do you stand on (or what do you think of) the “users vs. builders” debate?    See Mark Kamrath and Patricia Carlton’s proposed session.

    In terms of a less interactive format, I could also discuss the following:

    • My proposed chapter outline and organization, and what reviewers had to say about it so far
    • An overview of some of the programming languages I mention above
    • My own experience learning to code as a humanities major and teaching coding to other humanities majors
    • The Texts and Technology PhD program at UCF and how I believe programming relates to this doctoral program

    Note: I am only able to attend on Saturday morning and early afternoon, so if any of this is of interest, hopefully we can figure out a good time.   I’d also be happy to sponsor a “hacking” tutorial session using one of the languages above if there is any interest in that sort of thing.

4 Comments


  1. johnbork says:

    Rudy, great topic. I plan to address humanities programming in the context of Pinball Platform studies as a deep dive into the materiality of code. Montfort, Bogost and others argue for study of “ancient” programming languages like 6800 assembler and Commodore BASIC (as in the just published 10 Print 10print.org/). Hope we can discuss the ambivalence of spending time with obsolete tech.

  2. Mark H. Long says:

    I would love a hack session if we can generate the interest. The yack session sounds very productive, too. Thanks.

  3. Tim Thompson says:

    Having just come from a conference for library “coders” (Code4Lib) this week, I’ve been thinking about some of these issues and would be interested in exploring them from a DH perspective.

  4. Rose Beiler says:

    I’m very interested in exploring some of these issues. I’m definitely a yacker rather than a hacker but am a willing learner. We have been having similar kinds of discussions about tools in thinking about our public history curriculum.

Skip to toolbar