Software Code as Expanded Narration
Alan N. Shapiro
Computer programming is about algorithms, formal logic, precise reasoning and problem solving. As such, it would appear to have little to do with what we call creative expression. The logical act of programming and the self-expressive act of creativity would seem to be polar opposites. We think of creative expression as taking place within certain literary or visual arts, through certain kinds of communication or symbolic systems, via certain kinds of writing, speech, discourse, language, or notation.
Some examples of these expressive media and genres are poetry, storytelling, nonsense, humour, musical notation, screenplays, notes for an artwork, notes for a dance or other choreography, architectural drawings. We don’t think of software code as being an expressive media. When we think of software code, we think of it as being about the way that we handle a physical or virtual device that is to be programmed. This is a rational and calculating activity, a practical consequence of the philosophical assumptions of the symbolic logic of Bertrand Russell, of Friedrich Ludwig Gottlob Frege, of Noam Chomsky, of the classical paradigm of computing theory. It is about the issuing of a series of instructions or commands to a machine, to an object or mechanism that is considered as essentially being ‘dead’.
What is the difference between the expressivity of the expressive act in the literary or visual arts and the series of instructions that is the computer program? We have always assumed that there is an insurmountable wall between these two kinds of writing or notation. To tear down this wall, like the Berliners did to their Wall in 1989, was until now almost unthinkable. Only now are we ready to ask these questions. Could software code also be expressive? Does software code have to be only productive? The idea of ‘expanded narration’ as applied to software code means going beyond the established binary opposition of ‘writing’ as being either expressive or utilitarian. The paradigm of software code as we know it is reaching its limit: the exclusive emphasis on engineering and on getting the program to do something, code as a series of instructions to a machine.
In order to progress further, software development or computer science must begin to concern itself with cultural codes as well as with software codes. Computer science must transform itself into a hybrid engineering and humanities discipline.
One of the most important media theorists was the German Friedrich Kittler, who is regarded as being a poststructuralist. Kittler deeply resisted expanding media theory to include software theory. Kittler wrote a famous essay called “There is No Software.”1 His position was that “there is no software,” that everything in computing breaks down to the digital code of the hardware, that there is no going beyond the pervasive logic of the binary. Kittler was wrong because, in a few words, digital-binary logic is not the only possibility for computing. Digital-binary logic is not universal and forever, and it is precisely software theory as an academic field, deriving from both media theory and computer science, which can lead us to new paradigms and new possibilities such as quantum computing, creative coding, software that operates like the reverse-engineered human brain, and software as semi-living entities in the sense of Artificial Life rather than inert things to be manipulated by the dominating programmer subject.
In “There is No Software,” Kittler fancies himself as writing about ‘the end of history’ and ‘the end of writing’. It is a sweeping ‘postmodernist’ and ‘poststructuralist’ thesis. In a contemporary writing and cultural scene of endlessly expanding and exploding signification, there is ironically an implosion into the ‘no space’ and ‘no time’ of microscopic computer memory. The relationship of Information Technology developments to writing, for Kittler, is a causality bringing about the current situation that we supposedly do not write anymore. The idea that software code might be a form of writing, a form of écriture in the Derridean deconstructionist sense (an intervention or inscription into language that is more fundamental and effective than that of speech), never occurs to Kittler. He represses this thought and instead assumes that the computer must bring about the programmatic automation of reading and writing. “This state of affairs…,” writes Kittler, “hide[s] the very act of writing.” “We do not write anymore,” he continues. Kittler believes that writing done on a computer is not to be seen as an historical act anymore because the writing tools of the computer “are able to read and write by themselves.”2
Kittler writes: “[The] all-important property of being programmable has, in all evidence, nothing to do with software; it is an exclusive feature of hardware, more or less suited as it is to house some notation system.”3
My view is the opposite of Kittler’s. I think that software code can be the site of the re-emergence of écriture in Derrida’s sense. There can be a shift from programming as the programmability of some device to programming as creativity, creative expression, and writing in the deepest sense of effecting change.
In his examination of the Saussurian sign, the early Derrida focused on the negative linguistic concept of difference, taking apart Saussure’s (mistaken) dualistic metaphysics of ‘signifier’ (sound) and ‘signified’ (concept). Derrida radicalized Saussure’s semiotics when he said that there are endless chains of signification in sign systems, and not just a one-to-one static relationship between the ‘signifier’ and the ‘signified’. Linguistic signs always refer to other signs, and there can never be a sign that is the endpoint of signification. One never arrives at any ultimate meaning of a word. Writing in Derrida’s sense is the opposite of the system of stabilized and clear-cut definitions of words which dictionaries are intended to be. There is always an insurmountable gap between what I ‘write’ or ‘say’ and what my ‘readers’ or ‘listeners’ read or hear.
For Friedrich Kittler, the software space is just virtuality or simulation. It is not possible, according to him, to establish any new relationship to ‘reality’ through programming, any aesthetically instituted opening for democracy or creativity. Art/aesthetics/design and informatics have no possible bridge between them. The miniaturization of hardware is, for Kittler, the proper dimension of simulation, of our “postmodern writing scene” which is no longer a scene of writing.4 Jean Baudrillard thought something similar to this when he wrote in Simulacra and Simulation that “genetic miniaturisation is the dimension of simulation.”5 Yet Baudrillard transcended this conservative and nostalgic position with respect to technology when he practiced his photography and wrote about photography as “the writing of light.”6
For Kittler, hardware always precedes and determines software. “There are good grounds to assume the indispensability and, consequently, the priority of hardware in general.” “All code operations,” he wrote in the essay “There is No Software,” “come down to absolutely local string manipulations, that is, I am afraid, to signifiers of voltage differences… The so-called philosophy of the so-called computer community tends systematically to obscure hardware with software, electronic signifiers with interfaces between formal and everyday languages.”7 Kittler’s solution, on the contrary, is that we should all write our programs in assembler code in order to counteract the tendency of the entire world to hide the machine from its users, in order to keep at the forefront the awareness that the underlying hardware is what the program boils down to.
Kittler waxes nostalgic for “the good old days of Shannon’s mathematical theory of information, [when] the maximum of information coincided strangely with maximal unpredictability or noise.”8 Although we are said to live in the ‘information society’, and this has been said for several decades in sociological discourse, in my view it is very difficult to come across any definition of information (or communication) that illuminates much of anything. Roman Jakobson elaborated a classical model of communication that identified a message transmitted from a sender to a receiver.9 I think that there are three limitations of Jakobson’s model:
(1) The sender-receiver paradigm is not sufficient for understanding today’s virtual online software systems where a message is sent to a shared data structure by a publisher which is then seen by many subscribers.
(2) As Jean Baudrillard pointed out in his 1972 essay “Requiem for the Media,” the alleged objective and scientific status of Jakobson’s model merely formalizes a socio-culturally given configuration.10
(3) Jakobson’s model of communication is ultimately a simulation model. The purpose of the model is to provide ‘technical safe passage’ for the transparently readable message, which is stripped of meaning and ambivalence, and become pure information.
To summarize, we can speak of an old paradigm of communication and a new paradigm of communication. The old Communication Model, as exemplified in the works of Claude Shannon and of Roman Jakobson, has three problems reflective of its 20th century context: the obsolescence of the point-to-point messaging which occurs through a queue or an elementary ‘physical’ channel as distinguished from newer publisher-subscriber messaging exchanges which take place over a ‘topic’ data structure or via even more complex ‘virtual’ channel messaging topologies and across simultaneous multi-media channels; the idealized elevation of specific socio-cultural relationships of power to the allegedly ‘neutral’ or ‘eternal’ or ‘technological’ status of the technical code (communication considered as being strictly a matter of and for engineering); and the elimination of the reverberations, resonances and depths of language in favour of an ‘information’ that gets ‘purified’ by being stripped of the interference of ‘noise’.
The new paradigm of communication, relevant and promising for the 21st century, takes the publisher-subscriber model as its point of departure, emphasizes the political science (feminist, post-colonialist) awareness of specific historical relations of power, and underlines the ambivalences and singularities of words and of languages.
All three of these innovations, bringing technical codes and technical systems design into hybrid coupling with cultural codes and cultural design patterns, move in the direction of expanded narration. The publisher-subscriber model, leaving the realm of the strictly technical, is a ‘storytelling’ framework of interactive human contact and the circulation of ideas and discursive material ‘information’ that is social and participatory and involves many people, in contrast to the simplified straightforward point-to-point ‘narrative’ of the archetypically 20th century node-to-node connectivity phone conversation which operates with two persons only and takes place over a single media channel.
The ‘politicized’ or hybrid technical-cultural awareness which accentuates sensitivity to power relations is a more expanded narration relative to the myth of ‘noise-free’ communication as implemented by an exclusively technical code and carried over a merely technical channel. Openness to the richness of language rather than solely paying attention to the engineering dimension of the message transmission relates within the university classification system of knowledge to the study of comparative literatures and languages, which belong to the province of narration. The academic and scientific assignment of the field of communication to the perspective of engineering has previously reduced the treatment of exchanges of meaning in human sign systems to the non-narrative of an abstract manipulable no-time and no-space.
The point-to-point communication model is explicitly superceded by publish-and-subscribe messaging in ‘message-oriented middleware’ like IBM’s WebSphere MQ or SonicMQ from Progress Software, and in the Java Message Service (JMS) Application Programming Interface, which is a higher-level specification for programming such messaging systems. In the publish-and-subscribe model, messages are delivered to subscribed consumers without them explicitly having to request them. This is expanded narration because the number of readers is not restricted by a declarative programmatic deed. The performative acts of reading by the subscribers are something that transpires outside of the programming by the programmer, made existentially specific and alive during the runtime of the running application which, contemplated from the new transdisciplinary perspective, is the context of a ‘social’ and ‘literary’ practice. Publish-and-subscribe is a social model, yet technical books on messaging would never describe it as expanded narration because literature studies and ‘literary sociology’ have been excommunicated from the engineering domain. Once we take it upon ourselves to study communication in a transdisciplinary way, then the spread and explosion of narrative which has already happened in the last decades becomes evident.
Now I will examine more closely the famous Shannon-Weaver model of communication and information, which was developed shortly after World War II, and emerged from the context of the telecommunications industry. Claude Shannon published his article “A Mathematical Theory of Communication” in the AT&T Bell System Technical Journal in 1948.11 In my view, the Shannon-Weaver model is now obsolete. Its goal is to isolate the message as a technical entity, to ensure the integrity of the message. Everything which is not this technically conceived message gets relocated elsewhere in the system.
Let us consider the 8 well-known components of the Shannon-Weaver model, how we can critique the assumptions of each component, and how this leads towards a new model:
Component of Shannon-Weaver model | Critique | Comment | New Concept |
Source |
There is no origin (Derrida). “In this play of representation, the point of origin becomes ungraspable.”12 |
Publishers continue an ongoing process which had no beginning. | Subscribed Publisher (a message producer broadcasts to topics and simultaneously consumes messages from other topics) |
Encoder | The format is not neutral (Marshall McLuhan and Quentin Fiore). The media is the message/massage.13 | The format is flexible and extensible; encoding is a creative act. | Creative Code Modifier (service or process is altered at runtime in specific real-life circumstances, but code or specification is not changed). |
Message | There is no one-to-one relationship of signifier/signified; there is an endless chain of textuality (radicalized semiotics). | The message contains markups or index values connecting it to lots of other data. | Indexed Message (each message contains a header which identifies its role in a cross-referenced software design schema). |
Channel | “57 channels and nothing on” (song by ‘The Boss’ Bruce Springsteen). | Not all communication is meaningful (au contraire!) | Topic (the named destination to which we publish and/or subscribe). |
Noise | “We live in a society of noise” (Anonymous). | Move the information/noise boundary farther over into the territory called noise. | Interpret the Noise (instead of trying to interpreting noise as data bits, which messes up memory addressing or program logic flow, start from the viewpoint of the ‘non-knowledge’). |
Decoder | The format is not neutral (Marshall McLuhan and Quentin Fiore). The media is the message/massage. | The interpretation or reading of the format offers creative options. | Creative Code Modifier (service or process is altered at runtime in specific real-life circumstances, but code or specification is not changed). |
Receiver | Some pitches don’t arrive in the catcher’s glove. In baseball, this is called a passed ball, or a wild pitch. | Systems are constantly crashing. | Glitch (instead of designing around errors, one should design starting from the perspective of the anomaly, accident or soft error) |
Feedback | Exception Handling, rather than return codes, to change program flow under anomalous conditions (Bjarne Stroustrup, originator of the C++ programming language).14 | Errors are systemic events of differing severity levels. | Social Exception Handling (return to the spirit of experimentation and surprises of cybernetics, but replacing the notion of feedback with a proactive design strategy of multi-inheritance levels of Exception Handling, as in object-orientation). |
Semantic Software or Linked Data is another example of the new communication model in action. Linked Data entails the design and implementation of a new software ‘integration layer’ that adds more intelligence to the use of already existing structured databases, and unstructured data such as websites and blogs, in its invocation of multi-level ‘database joins’ (in the former case) and associative ‘semantic crawlers’ (in the latter case). The provided software layer is an ‘abstract complex’ pattern or representation analogous to the topic data structure in the Java Message Service: it is an intermediate ‘middleware’ artefact that gets positioned between what used to be called ‘senders’ and what used to be called ‘receivers’. It furnishes the real ‘data processing’ power of the system, which is at the same time a social power and a narrative power. With Linked Data, the flexibility of search is brought together with the exactness of query. The user or software agent sees new relationships between previously unconnected data, and benefits from the contextual reasoning of the combined search/query.
The recent emergence of software studies (Matthew Fuller, Lev Manovich) contests Kittler’s thesis that “there is no software” and points to the primacy of software as a societally critical hybrid of technical and cultural patterns. In 2006, Fuller published a pioneering book on software as media and as culture called Behind the Blip.15 In his 2013 book Software Takes Command, Manovich expands media theory to include software theory. His book “is concerned with ‘media software’ – programs such as Word, PowerPoint, Photoshop, Illustrator, After Effects, Final Cut, Firefox, Blogger, WordPress, Google Earth, Maya and 3Ds Max. These programs enable creation, publishing, sharing, and remixing of images, moving image sequences, 3D designs, texts, maps, interactive elements…”16
Thinking along with Manovich, we can assert that one of the major contemporary challenges to media theory is to consider how websites, computer games, web applications and mobile applications transform the essence of what media are. And how do the universality and trends of software affect the design process? Is the basic nature of design altered by the fact that it is now almost everywhere carried out with the tools of simulation and software which are built on top of object-oriented design patterns? What is the relationship between the object-oriented and ‘business logic’ patterns of software design and the patterns of other kinds of design (such as architectural, graphical, fashion, communication, industrial and product design)? Together with Manovich, we can ask the question: “Are there some structural features which motion graphics, graphic designs, web sites, product designs, buildings, and video games share since they are all designed with software?”17 And what does ‘media’ become after software?
Lev Manovich’s theses are in some ways reminiscent of the ideas of the great media theorist Vilém Flusser who, in his seminal book Into the Universe of Technical Images, presented the pragmatic-utopian vision of an advanced ‘science fictional’ society of the continuous creative creation and permanent prolific exchange of high-tech images.
Following Flusser, we can assert that technical images are made possible by scientific principles worked up into technologies. Particles in the contexts of specific technologies are assembled or computed into visible images. Each image technology (the photograph, the .JPG image, the VRML-programmed virtual world) is a different way of structuring particles. Technical images are reservoirs of information. Programming is a form of freedom. In the future society of images, everyone will be empowered to ‘envision’. Everyone will be a programmer and a synthesizer of images.
“There will be an ongoing dialogical programming of all apparatuses by all participants,” writes Flusser in Into the Universe of Technical Images.18 New media artists and creative people should initiate a project of transforming software code into something other than what it currently is. We must go beyond practicing the unconscious ‘reification’ (Verdinglichung in German) (a theoretical term coined by the Hungarian Marxist György Lukács meaning the ideological operation of treating an artifact that is a specific cultural-historical construction as ahistorical or eternal) of assuming that software code as ‘left-brain’ (the rational-calculating side of the human brain) engineers have defined it is the only possibility for software.19
Beyond software studies (beyond even the positions of Fuller and Manovich which have not quite worked through the problematic of ‘reification’, and which remain chiefly tied to the empirical study of software as it is, characterized by engineering and commodification), I propose starting the activity of observing and participating in the active transformation of software by creative coders who are artists and designers and thinkers: devising a new curriculum for informatics itself – a ‘right-brain’ (the creative and intuitive side of the human brain) informatics that builds on existing computer science yet moves it much closer to art, design, sociology, philosophy, and cultural theory.
According to Marshall McLuhan and Bruce R. Powers in The Global Village: Transformations in World Life and Media in the 21st Century, reading, writing, and hierarchical ordering are associated with the left brain, as are phonetic literacy and the linear concept of time. The left brain is the locus of analysis, classification, and rationality. The right brain is the locus of the spatial, tactile, and musical. ‘Comprehensive awareness’ results when the two sides of the brain are in true balance.20
A key aspect of software code as expanded narration is the concept of similarities (as opposed to the system of discrete identities and differences of ‘combinatorial’ software). Similarities is how the reality of the universe in fact really works. Urgently required for software development after object-orientation is the design and implementation of relations of similarity, fractal/holographic-like patterns, and music-like resonance between the whole (the software instance) and the parts (smallest units of information or database elements) as opposed to the logic of discrete identities and differences of Turing machines. The approach that would correspond to a true breakthrough into 21st century science would be to identify relationships of similarity, to find samples or patterns that capture something of the vitality and complexity of the whole without breaking it down in a mechanistic way, as in the 17th century Cartesian method of dealing with a complex problem by breaking it down into smaller, more manageable parts, along the lines of the mechanistic relation between the whole and its parts in the archetypal legendary car engine.
The design and implementation of the new logic of similarities involves a major reconsideration and inclusion of ‘non-knowledge’. We need to rethink science as a whole with a healthy dose of ‘non-knowledge’, away from the pure obsession with knowing everything and seeking total information. The significance of ‘non-knowledge’ for science is already manifest in the 20th century sciences of quantum physics and chaos theory.21
It is within quantum physics that we find the idea of a vast number of states of information which are potentialities, not yet ‘actualized realities’, and which have a relationship of similarity to each other.
Previously (in “A Proposal for Developing Quantum Computing in Software”), I wrote about the ‘non-destructive space of observation’.22 We want to build a ‘quantum reservoir’ of ‘non-observable information’ that cannot be simply read or written in a visible way as in the standard ‘get’ and ‘set’ operations of conventional programming without ‘destroying’ the integrity of the data. What we want in the ‘quantum reservoir’ is a special sort of blueprint. We want an immensely vast number of software classes which are similar to each other in very subtle ways. They are invisible to the observer. They have no identity and we cannot look at them. The information is read only in order to no longer be what it is. In the act of reading, the information is transferred from its own quantum state into the domain of real-world usefulness.
It would be a mistake to call the number of states within the quantum informational reservoir infinite. Here we are in a realm beyond traditional mathematics, beyond concepts like finite and infinite, beyond their binary opposition. We are involved with a more complex and paradoxical topology. This is the applied task that awaits a new mathematics: to make a correct description of the quantum informational space.
We need a system where an immense number of possible states is possible, but the switching actions involved are manageable. There is a great deal of flexibility in assigning individuals to classes, and a high degree of variability among the individuals of a class.
Empirically speaking, in the business world, a new software paradigm is emerging: software that handles uncertain social media data and massive volumes of data, software that is ‘alive’ and is an ecosystem, code that does something productive but is also poetic, musical, and expressive: an expanded narrative.
In the age of Big Data, new customer business requirements at the systems and applications levels are also changing what software is and how it fundamentally should be designed. These new computing requirements include embedded data analytics, linked data, unprecedented massive volumes of data, uncertain social media data, and continuous self-learning as a crucial and intrinsic quality of software. Storage, memory, networking and processing will move ‘closer to the data’ as long, sequential, symbolic, scripted, ratiocinating top-down logic gives way to short, parallel, semantic-semiotic, coupling of perception and action, immediate bottom-up intelligence.23
Creative coding where a line of code is an aesthetic artefact and not only an instruction to the machine, where a new software layer opens up as a performance space for music, poetry, storytelling, dance and philosophy.
Creative coding projects which are going on right now include the artist-oriented ‘Integrated Development Environments’ (IDE) called openFrameworks, vvvv, and Processing.24
There is the area of generative art (artworks which have been created using an ‘autonomous system’ such as a computer, a robot, an algorithm or mathematics), the vast area of programming and music, and the growing area of programming and dance.
There is the music programming language called SuperCollider, and the music programming environments called Max/MSP and Pure Data.25
From the openFrameworks IDE website: “openFrameworks is an open source C++ toolkit designed to assist the creative process by providing a simple and intuitive framework for experimentation. The toolkit is designed to work as a general purpose glue, and wraps together several commonly used libraries.”26 Among these are coding libraries for graphics, typography, computer vision, 3D modelling, and audio, image and video processing.
The artist-oriented development environment vvvv is a visual programming toolkit for rapid prototyping and creative coding. From the vvvv website: “It is designed to facilitate the handling of large media environments with physical interfaces, real-time motion graphics, [and] audio and video that can interact with many users simultaneously.”26
From the Processing website: “Processing is a programming language, development environment, and online community. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology. Initially created to serve as a software sketchbook and to teach computer programming fundamentals within a visual context, Processing evolved into a development tool for professionals.”27
At the University of Bayreuth, Germany, there is an important project of creative coding. “Creative coding,” its initiators write at their website, “refers to the use of programming languages and code as design tools for media production. This is not an effort to understand software development as an engineering discipline, but rather to bring together practices that can be described as bricolage, tinkering and hacking (in the original sense). In the broadest sense, [creative coding] is about learning to understand that software is a creative form of expression that has its place alongside the other arts.”28 (my translation)
According to its SourceForge open source project website, “SuperCollider is an environment and programming language for real time audio synthesis and algorithmic composition. It provides an interpreted object-oriented language which functions as a network client to a state of the art, realtime sound synthesis server.”29 Professor Alberto de Campo of the University of the Arts in Berlin has made major contributions to the development and applications of SuperCollider in the areas of just-in-time programming, object modeling, the ‘sonification’ of linguistic data and social media data, auditory display, microsound, and many others.30
According to the German-language and English-language Wikipedia articles on the music programming toolkit Max/MSP, “Max/MSP is a graphical development environment for music and multimedia maintained by San Francisco-based software company Cycling ’74. It is designed for real-time processes. During its 20-year history, it has been widely used by composers, musicians, performers, software designers, and artists for creating innovative recordings, performances, installations, and interactive software.” It provides creative coders with independence from the imposed “aesthetic requirements of commercial products.”31
From the Pure Data music programming environment website: “Pure Data (a.k.a. Pd) is an open source visual programming language. Pd enables musicians, visual artists, performers, researchers, and developers to create software graphically, without writing lines of code. Pd is used to process and generate sound, video, 2D/3D graphics, and interface sensors, input devices, and MIDI.”32
The next major phase of my research is to intensively study the ongoing creative coding projects and to extract from them the basic principles of a cultural and professional movement towards a new paradigm of writing software as a creative act practiced by artists and designers. The pedagogy of instructing artists and designers how to make software involves teaching them how to write code in a way that is not dry and boring for them (as the engineering approach can often be for creative-oriented students), teaching them how to design software in a way that brings together software patterns and artistic/cultural patterns, teaching them creativity, and teaching them cultural theory so they can grasp conceptually how the paradigm of object-orientation can be pushed through to the next paradigm (which I call – as one of its names – ‘power to the objects’).
We need to unpack object-orientation ‘philosophically’ into its two separate streams which are ‘commodified’ and ‘creative’. The mainstream understanding of object-orientation by engineering schools and the institutions for which they train programmers is philosophically naïve: they assume the existence of a ‘real world’ and so-called ‘real world processes’, and regard software development as being the practice of ‘modeling’ these ‘real world processes’ in a province of utility known as software. This alleged ‘real world’ is really the realm of ‘simulations and simulacra’, as diagnosed by the media sociologist-philosopher Jean Baudrillard in his extensive and important work.
Radicalized and creative object-orientation (the direction and new paradigm of software that is coming in the very near future) neither assumes the existence of a ‘real world’ nor does it seek to ‘model’ or ‘simulate’ this ‘real world’ (an approach which becomes, in the mainstream practice, the simulation of a simulation). The activity of creative coding wants to fashion a ‘new reality’, a hybrid of the good old familiar phenomenological ‘reality’ and new ‘virtual realities’, new experiences of existence in a hybrid real/virtual dimension. This is the potential of software at its best, and as its present and future will soon unfold for us.
NOTES
1 – Friedrich A. Kittler, “There Is No Software,” in Literature, Media, Information Systems: Essays (edited and introduced by John Johnston) (Amsterdam: G&B Arts International, 1997); pp.147-155. German: “Es gibt keine Software,” in Friedrich A. Kittler, Draculas Vermächtnis. Technische Schriften (Leipzig: Reclam 1993).
2 – Ibid.; p.147.
3 – Ibid.; p.153.
4 – Ibid.; p.148.
5 – Jean Baudrillard, Simulations (originally published in French in 1981 as Simulacres et Simulation) (translated by Paul Foss, Paul Patton and Philip Beitchman) (New York: Semiotext[e], 1983); p.3.
6 – Jean Baudrillard, “Photography, or the Writing of Light,” (translated by François Debrix) Also, under the title “Photography, or Light-Writing: Literalness of the Image,” in Jean Baudrillard, Impossible Exchange (originally published in French in 1999) (translated by Chris Turner) (London: Verso Press, 2001); pp.139-147.
7 – Kittler, Op.cit..; pp.152,150.
8 – Ibid.; p.151.
9 – Roman Jakobson, “Linguistics and Poetics,” in T. Sebeok, ed., Style in Language (Cambridge, MA: The MIT Press, 1960); pp.350-377.
10 – Jean Baudrillard, “Requiem pour les medias,” in Pour une critique de l’économie politique du signe (Paris: Gallimard, 1972); pp. 220-223.
11 – Claude Shannon, “A Mathematical Theory of Communication,” in Bell System Technical Journal 27 (July and October 1948): pp. 379-423, 623-65.
12 – Jacques Derrida, Of Grammatology (originally published in French in 1967) (translated by Gayatri Chakravorty Spivak) (Baltimore, MD: The Johns Hopkins University Press, 1997); p.36.
13 – Marshall McLuhan and Quentin Fiore, The Medium is the Massage (New York: Penguin Books, 1967).
14 – Bjarne Stroustrup, The C++ Programming Language (New York: Addison-Wesley, 1991).
15 – Matthew Fuller, Behind the Blip: Essays on the Culture of Software (Brooklyn, New York: Autonomedia, 2003).
16 – Lev Manovich, Software Takes Command (New York: Bloomsbury Academic, 2013). See
17 – Ibid.
18 – Vilém Flusser, Into the Universe of Technical Images (originally published in German in 1985 as Ins Universum der technischen Bilder) (translated by Nancy Ann Roth, introduction by Mark Poster) (Minneapolis, MN: University of Minnesota Press, 2001); p.154.
19 – György Lukács, History and Class Consciousness: Studies in Marxist Dialectics (originally published in German in 1923) (translated by Rodney Livingstone) (Cambridge, MA: The MIT Press, 1972).
20 – Marshall McLuhan and Bruce R. Powers, The Global Village: Transformations in World Life and Media in the 21st Century (New York: Oxford University Press, 1989).
21 – See Alan N. Shapiro, “Rethinking Science,” in We Magazine Special: Future Challenges (print and online editions) (Bertelsmann Foundation, 2010).
22 – Alan N. Shapiro and Alexis Clancy, “A Proposal for Developing Quantum Computing in Software,
23 – See the current IBM Research project called “Cognitive Computing”:
24 – openFrameworks: . vvvv:. Processing:
25 – SuperCollider: Max/MSP:. PureData:
26 –
27 –
28 –
29 –
30 – See The SuperCollider Book (edited by Scott Wilson, David Cottle, and Nick Collins) (Introduction by James McCartney) (Cambridge, MA: The MIT Press, 2011).
31 –
My rendition combines a translation from the German-language Wikipedia article with some phrases adapted from the English-language Wikipedia article.
32 –