Self SDK
Self Portrait in C++ Code, 2006

Click on images for larger versions.

narrative text output
Standard Output narrates the activities of the Josh program
C++ code
C++ code imposes a novel structure on my self conceptions
installation
A Programmer’s Self-Portrait

Self SDK is an attempt to gain understanding and control of my often difficult and confusing existence by modeling myself and my life in a computer program. As an experienced programmer, I feel a lot of power, efficacy, and safety in the world that lies inside the computer. In real life, on the other hand, I feel hopeless and overwhelmed in the face of the most basic, everyday tasks and occurrences. By constructing a model of myself inside the computer, I have tried to utilize my comfort, experience, and skill with computer programming to explore, understand, and ultimately transform myself.

The computer program itself is a new kind of self-document, one that is as dynamic and evolvable as my own self-conceptions. The program source code and the program in execution create a novel structure for encoding and evaluating these self-conceptions, as well as a space for rehearsing and experimenting with alternative selves and lives. But the work is larger than the program itself. The never-ending process of observing myself, translating those observations into code, encountering the results, and then starting the cycle over again is the centerpiece of the rich conceptual framework that is the full extent of the work.

The installation Self SDK: A Programmer’s Self-Portrait is a presentation of Self SDK that highlights two specific perspectives. One is of the program’s output as a narrative self-document, the other is of the code itself as a representational mode that brings a new structure to my self-analysis and self-(re)presentation. The installation consists of a computer running my model self program and printouts of segments of the program code. The code is intentionally written with semantically meaningful class, variable, and method names and extensive in-line comments so as to be at least marginally understandable to anyone who understands English, even if they do not have the technical knowledge to fully understand the code.