Winnie Soon / Artist-Researcher
//part of the Critical Software Thing group
//use discussion tab above for leaving any comments relating to material on this page
ver 3: Live Execution: The temporality of buffering in distributed networks
Within the discussion of computer execution, it often refers to the execution of computer source code that is in the form of textual lines as instructions, or the translation of source code from a human readable code to a machine readable code. Increasingly, software is highly networked, daily-used application like mobile games and social media platforms are networked in a complex form, which requires accessing, retrieving, formatting and translating of data, including complex reading and writing processes, in different programs. As such, executing a piece of source code is not only about the static lines of algorithm, mathamatics formular, computational logics and procedures of a single program, but also includes executing other code that interfaces with the source code, such as external libraries, application programming interface, database query and other protocol’s commands that are possibly operated in other computers and operating systems. This interfacing interactions as events constitute the expressive power that an execution enacts.
This article examines the process of buffering, usually it happens while streaming data and loading a relatively big chunk of data. A notable animated icon ‘throbber’ indicates complex events that are under processing, but the icon is often reduced to a repetitive animation with several graphical ellipses or lines, affecting human’s emotions and responses. The unpredictable display of the cultural icon is subjected to network and computer resources, code execution and data processing. It never state the end time or progress of such buffering process. However, code has the ability to sense, or to keep track, the computational environment. Throbber displays when the data level falls below an allocated data storage space, leading to a constant interruption of data display. In other words, buffering is a complex process of computer interactions, where loading of network data involves the relations of computer memory, data, code and network situation that is subjected to a live computational environment. The display of throbber entails the assemblages of code. Instead of thinking about the fragility of computation that leads to interruptions, I suggest to rather examine the temporal dimension of the nonhuman interactions, and to begin to accept such buffering as part of our cultural production logic. This article unfolds the temporality of buffering in a distributed system as complex and dynamic hidden processes in order to provide a different perspective in understanding the socio-technical relations and the aesthetics of buffering.
ver 2: Executing (micro)temporality in Peer-to-Peer network
This article will structure the focus in P2P network, in which files are not only downloaded from a decentralized network, but also forces file tranfer segmentation. Files are then downloaded non-sequentially and recombined by a software client. In addition, a person who requests a file (call peer) will become a seeder, sharing the downloaded file with other anonymous. Therefore, the process of data transmission is inscribed both the technical and social complexities of data format, memory, network protocols, status and identities. All these affecting the quality and quantity of a timeless delivery of a piece of data. Both Miyazzaki Shintaro (2012) and Wolfgang Ernst (2009) use the term ‘micro-temporality’ to discuss the fundamental concepts of time within computational processes, such as algorithmic time, epistemic quality and the sensation of timelessness. This article will address the imperceptible aspects of mico-temporality through a close reading of BitTorrent protocol and The Pirate Bay. I pay particular attention to software that has to be executed within a network (including elements of interfaces, protocols, servers, memories and data transmissions). Diving into the operative processes might help understanding how Ernst has been described as "a sense of ending" in computational means. When million files are constantly requested from a P2P network, unfolding data in real time, what have been executed other than code instructions? How might we bring forward a temporal dimension/perspective in understanding the computational meaning of "execution" ?
//25.Feb >> as u might see, i change things every time meaning my brain is in a mess at the moment. But hopfully everytime i get a bit closer to demonstrate a clearer thinking of mine.
ver 1: Executing commands
Following the collection of short essays of the book Software Studies: A Lexicon (edited by Matthew Fuller in 2008), it offers a range of digital object study that are approached from the cultural, political, social and aesthetic perspective of software. This short article suggests the operative term ‘executing commands’ as an important topic, an expansion of the existing critical text, in understanding and engaging with everyday software. In addition to executing lines of code instructions in a program, there might be unplanned and accidental things happen that are resulted from code execution, such as bugs and errors, which interrupt the running of software. There are also other object relations, such as establishing connection with databases, fetching data from other systems and calling functions from library modules, that are constantly being executed but are not made apparent to most users.
‘Executing commands’ demonstrates a continuous process of reading, writing, interpreting, interfacing and interrupting at the level of both operative and cultural dimension of software studies.
Rough thinking on Execution
- Departs from the thinking of two lines
- 1/ Computer perspective: A program needs to be run by a computer, the execution of machine code/instructions, change of machine memory state, relates to computability
- 2/ Law perspective: Death penalty execution: A kind of punishment, putting people to death: death/time limit/ending/authority in relation to execution
--> also relates to the term execution in law discipline: :"The completion, fulfillment, or perfecting of anything, or carrying it into operation and effect." from Law Dictionary: What is EXECUTION? definition of EXECUTION (Black's Law Dictionary)
- Others good definiation: "the act of doing or performing something, especially in a planned way"  the act of executing a piece of pre-written code
- How to link the two lines? sense of death, ended, satisfaction and completion of 'life' / 'running life". This has been discussed in Parisi and Ernst's writing -> "algorithms drive towards completion" + "a sense of ending"
- My argument is the undead of execution and it is a continuous and dynamic process. For example using 'try and catch' in programming, contingency handling for different scenarios which hope to keep the program runs continously. What has been executed is not only instructions, change of memory states and variables computation, but through the properties of mutability/unpredictability and temporality of execution, we need to see the notion of execution through undeadness. i.e the living dead. The ability to continually perform - what has been left behind, is it still performing/running? Perhaps is related to the consequences? Affect? or how does a particular exeuction impact another execution? The assemblages without boundary? What is the living of execution? Chun's "undead information" / "ephemeral appearance"?
old stuff -
- A program needs to be run by a computer
- More than instruction (machine code) execution
- Relates to real time operations of a machine
- Relates to the assemblages/relationality of code with other entities - for example, when a program is run, there is a change of memory state from the machine itself. Every execution of an instruction involves not only translation of program code to machine code, but also relates to influx and outflux of data, as well as change of memory states, performance of machine, and performativity of code (ref from Speech Act Theory - this has been articulated by Geoff Cox, Florian Cramer and Inke Arns)
- Execution includes both technical and social/cultural dimensions
- I want to focus on executing rather than execution - depicts a strong sense of continuity, becoming and processuality
- Another line of thinking execution is death (drawing the notion from Death Penalty Execution). Death means an end, not only a pause. There is something related to time/end(less)
What is execution
- "Before they can be executed by a processor, pro- grams written using high-level programming languages must first be processed by a compiler, a program which takes a program in a source language and translates it into an equivalent program in the machine language of a given processor. A program in ma- chine language is “that representation of programs that resides in memory and is inter- preted (executed) directly by the hardware.” (Blaauw & Brooks, 1997, p. 16)" --> execution is not a software thing, it is about hardware
- "The thing is, execution is a complex, platform-dependent process." and "Any of the subjects or objects (e.g., compilers) actively involved in the execution process is necessarily overlooked. " 
- "“the public execution is to be understood not only as judicial but also as a political ritual. It belongs, even minor cases, to the ceremonies by which power is invested” (97)." - Michel Foucault, Discipline and Punish: The Birth of the Prison, trans. Alan Sheridan (London: Penguin Books, 1991), 47, 48–49, 49, 50. Originally published as Surveiller et punir: Naissance de la prison (Paris: Éditions Gallimard, 1975).
- not only a way to publish but execise control. Power of the executor, the context of being public.
- shifting power from punish to defense -> foucault's word - torture
- execution must be spectacular -> public -> torture, what are the unintended outcomes of public execution?
- notion of foucault's torture 
- the act of execution 
- Algorhythmics: Understanding Micro-Temporality in Computational Cultures by Shintaro Miyazaki
- “...ELSE LOOP FOREVER”. The Untimeliness of Media by Wolfgang Ernst
- Real-time for Pirate Cinema by Geoff Cox
- ‘The temporality of code’ and ‘Real-time Streams’ in The philosophy of Software by David Berry
- Real Time: Reaping the Whirlwind in Computer: A history of the information machine by Martin Campbell-Kelly an dWilliam Aspray
- Speed and Politics by Paul Virilio
- Politics of Time by Peter
- Jonathan D. Kramer, The time of music. New meanings, new Temporalities, new Listening strategies, New York (Schirmer)
- Foucault - Discpline and Punishment
Thinking in Progress
- "A sense of ending" as mentioned by Ernst can be seen parallel with Parisi - p.117 "Algorithms drive towards completion; this is of course evident at the level of their execution" .."completion is always entailed within the finality of the procedure". Thinking about ending/completion with machine's consciousness. But in an automated (constant loop) system, what is the ending? Is it to just finish a single loop of a "for loop"? Can it be no ending? Why we need to think of an end?
- The temporary suspension of Pirate Bay might be similar to the notion of "death" in Ernst article. Take the literal sense of death - organs mailfunction which is the platform is not function: "inscribes a temporal vector into the human sense of being"
- Temporal aesthetics (Kramer) - "temporal continuum that results from principles permanently governing a section or piece" => this can be helpful in thinking the fragments of BT files into equal size small pieces.
- Constant changing states of archives (the files), always ready to upload and get download by other peers