# posts

title: I am writing on a computer
writingfield:
<div>I am writing on a computer ... different from the one you are reading on now. I am typing letters with the keyboard and the software is going to display it again and again. Until an error prevents the software from displaying, so that any of my written words will be lost in the process of querying the database and displaying to the screen. What you will see then is the error, the link to my writing. <br></div><div>I regard this activity nnnnnnot so much as a demonstration of a physical fact, but to show the fragility and potential of writing on a computer <a class="linkTo" href="2">→ Reading Kittler on a screen</a>.<br></div><div><br></div><div><img class="textimage" src="/img/Screenshot_from_2019-03-26_19-06-52.png"></div><div><img class="textimage" src="/img/Screenshot_from_2019-03-26_19-07-39.png"></div><div><img class="textimage" src="/img/Screenshot_from_2019-03-26_19-08-33.png"></div><div><br></div><div><sub>Following the protocol of <a href="https://www.youtube.com/results?search_query=i+am+sitting+in+a+room">"I am sitting in a room" by&nbsp;Alvin Lucier</a></sub></div>


title: Reading Kittler on a screen
writingfield:
  <div> I am reading “There is no  software<a class="linkTo" href="1">&nbsp;</a>” by Friedrich Kittler. I downloaded the pdf file of the text to my computer using the Firefox browser. The browser has saved the file in my downloads folder. I can find it through the file-system, which I can view in a representational view by opening the file explorer. By clicking the icon of the file explorer the computer opens a new window for me. I see different icons of folders and many other ones for files. I double click my way through the folders until I end up in the Downloads folder, where the newly downloaded file is placed in a list view among others. The file is called “Kittler_Friedrich_1992_1997_There_Is_No_Software.pdf”. I hover the small bar with the title. The operating system default setting is to open the file with the document viewer and so I do, by double clicking the left mouse button. Within seconds a new window appears putting the file manager window into the background and foregrounding the title page of the pdf framed by small icons and scroll-bars. I click to enlarge to full-screen and start to scroll down till the first lines of text appear. I zoom out pressing the combination CTRL and - twice. Next, I start reading the first sentence. “The present explosion of the signifying scene, which, as we know from Barry McGuire and A F. N. Dahran, coincides with the so-called Western world, is instead an implosion.” Barry McGuire? I hover the name, press the mouse down and drag from B to e. The text tints white with a blue background. The release of the mouse button is followed by pressing CTRL C. I switch to the browser, which still shows the download page of the PDF. I paste the name into the search bar and press enter. The search engine shows a list of results – one video, this must be it. As the link reacts to my hovering, I click on it and with a short flickering I end up on YouTube. Without any action required the video starts and the speakers play: “The eastern world it is exploding”, to which Kittler must have referred. <br> But at the same time the world is imploding.<br> </div> <div> <br> </div>  


title: 6 exercises in software art
writingfield:
<div>1. Write a program that quits itself<br></div><div><br></div><div>2. Write a program that displays its own code. (quine)</div><div><br></div><div>3. Write a program to display a square on the screen</div><div><br></div><div>- - - - - - - - -&nbsp;</div><div>|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|</div><div>|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|</div><div>|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|</div><div>- - - - - - - - -&nbsp;</div><div><br></div><div>echo ◼</div><div><br></div><div>4. Make your device tell a story, with typography / with sound</div><div><br></div><div>5. Use Software to display a window.</div><div><br></div><div>6. Observe Software: Do a simple action and document in as great detail as possible.&nbsp;</div>


title: Compression Loop
writingfield:
  <div> <img class="textimage" src="/img/myimage.gif"> </div> <div>Image compressed and decompressed 1000 times in a loop. <br> </div>  


title: The physicality of software
writingfield:
Software also manifests itself in the physical space. Space is a recurrent scheme in computation. Computer Science tries to shrink and expand at the same time. It is almost like a play that can be occupied on different layers. The »compression of space«&nbsp;<a class="linkTo" href="4">→ Compression Loop</a>&nbsp;onto the size of a micro chip is opposed with the exploding need for power or, to remain within the metaphor of space, disk space (Kitchin 2011, p. ix). The expansion of the digital does not remain within the computer, but it is actively becoming part of our real spaces. »[S]oftware generates behaviors and opportunities, and traffics in meanings, readings, and interpretations« (Kitchin 2011, p. ix). To figure out these exact moments of influence and these borders between computers and the real world might be very hard to accomplish, if not impossible. <br><div>As Hu points out, the material and the digital world are interwoven more deeply than we think. For example, the imagination of the internet as a cloud manifests in the real world as cables that get placed across oceans and buildings that hold thousands of servers (Hu 2016, p. 6).</div>


title: My iPod is bored
writingfield:
<img class="textimage" src="/img/ezgif.com-resize.gif"><div><br></div><div>Through many different new technologies, the iPod has become an obsolete device. It is left only with its memory. So it discovers itself, playing with its own memory.</div>


title: This text
writingfield:
<div>This text is written on a screen.</div><div>It has been typed with a keyboard.</div><div><br></div><div>ShiftthisSPACEShiftteBackspaceBackspacetextSPACEisSPACEwiBackspacerittenSPACEonSPACEaSPACEscreen.Enter</div><div><br></div><div>It is stored as a string inside the <a href="database">database</a> on the server.</div><div><br></div><code>&gt;œÅ|ÉiThis text&lt;div&gt;This text is written on a screen.&lt;/div&gt;&lt;div&gt;ShiftthisSPACEShiftteBackspaceBackspacetextSPACEisSPACEwiBackspacerittenSPACEonSPACEaSPACEscreen.Enter&lt;/div&gt;&lt;div&gt;It is stored on the &lt;a href="database"&gt;database&lt;/a&gt; on the server.&lt;br&gt;&lt;/div&gt;Ñ:%à_<br></code><div><br></div><div>This server is located on a Raspberry Pi at <span class="darktext"><a href="http://143.176.80.56">143.176.80.56</a>.</span></div><div><span class="darktext"></span><br>IP-adres:
        <span class="darktext">143.176.80.56</span>
      <br>Internetprovider:
        <span class="darktext">Tele2 Nederland B.V.</span>
      <br>Stad:
        <span class="darktext">Den Haag</span>
      <br>Staat/regio:
        <span class="darktext">Zuid-Holland</span>
      <br>Land:
        <span class="darktext">Netherlands</span> <br></div><div><br><div class="mapouter"><div class="gmap_canvas"><iframe id="gmap_canvas" src="https://maps.google.com/maps?q=Den%20Haag&amp;t=k&amp;z=11&amp;ie=UTF8&amp;iwloc=&amp;output=embed" scrolling="no" marginheight="0" marginwidth="0" width="600" height="280" frameborder="0"></iframe><a href="https://www.emojilib.com">emojilib.com</a></div><style>.mapouter{position:relative;text-align:right;height:280px;width:600px;}.gmap_canvas {overflow:hidden;background:none!important;height:280px;width:600px;}</style></div></div><div><br></div><div><br><span class="darktext"></span></div>


title: Introduction
writingfield:
<div>Software <a class="linkTo" href="11">→ search for software</a>&nbsp; is not neutral. Software is emotional. <a class="linkTo" href="6">→ My iPod is bored</a> Software is reading <a class="linkTo" href="2">→ Reading Kittler on a screen</a>&nbsp;and writing.&nbsp;<a class="linkTo" href="1">→ I am writing on a computer</a>&nbsp;Software is hiding. Software is a material.&nbsp;<a class="linkTo" href="5">→ The physicality of software</a>&nbsp;</div><div>I am dependent <a class="linkTo" href="12">→ dependencies in software</a> on Software. This text <a class="linkTo" href="7">→ This text</a> is written using software. Software is writing software.</div><div>Take software seriously, play with software, make it break and write it again.<br></div>


title: Depiction
writingfield:
<img src="https://industries.ul.com/wp-content/uploads/sites/2/2015/12/Software-and-Application-Security.jpg"><div><sub>figure 1: Software depicted as&nbsp;code <a class="linkTo" href="12">→ dependencies</a>&nbsp;</sub></div><div><br></div><div><img src="https://thelegendweb.com/wp-content/uploads/2018/06/software-2.jpg"><br></div><div><sub>figure 2: The packaging serves as the metaphor for software, even though most of the time this packaging is replaced by a download link.</sub></div><div><br></div><div><img src="https://www.chip.de/ii/1/1/0/2/3/4/5/0/3/aufmacher-bf6800d337589f8c.jpg"><br></div><div><sub>figure 3: GUI representative for the whole software.</sub><br></div><div><br></div><div><img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRmkagHMndOcYpgCaC3ID4-lLUO_f6Vpn4RBic_Tmpi2ArxjWpe"><br></div><div><sub>figure 4: A combination of a monitor and gears</sub></div><div><br></div><div><img src="https://www.ucsc-extension.edu/sites/default/files/images/certificates/istock-485633375_softwarequality_hero_2560x1084.jpg"></div><div><span style="font-family: suisseintl; font-size: 14px;">figure 5: flow diagrams and connections</span><br></div><div><span style="font-family: suisseintl; font-size: 14px;"><br></span></div><div><img src="https://itscurrie.com/wp-content/uploads/2016/10/time_management_software_full_14177545.jpg"><span style="font-family: suisseintl; font-size: 14px;">figure 6: a computer mouse connected to SOFTWARE as a 3D-word</span><br></div><div><br></div><div><br></div><div><br></div>


title: Software searching for software
writingfield:
<img id="putimg" src="https://farm8.staticflickr.com/7893/33636165428_2205480c06_b.jpg"><div><br></div><div>Software is often depicted <a class="linkTo" href="9">→ Depiction</a>&nbsp;with methaphors of packaging, code or matrix like images.<br>But how would software depict itself?&nbsp;<a class="linkTo" href="turninbinary">→ hand in your binary</a><br>
<script type="text/javascript"> var keyword = "software"; $(document).ready(function(){ $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?", { tags: keyword, tagmode: "any", format: "json" }, function(data) { var rnd = Math.floor(Math.random() * data.items.length); var image_src = data.items[rnd]['media']['m'].replace("_m", "_b"); $('#putimg').attr("src", image_src); }); }); </script> <pre class="default prettyprint prettyprinted" style=""><code>&lt;script type="text/javascript"&gt; 
    var keyword = "software"; 
    $(document).ready(function(){ 
        $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?", { tags: keyword, tagmode: "any", format: "json" }, 		
        function(data) { 
            var rnd = Math.floor(Math.random() * data.items.length); 
            var image_src = data.items[rnd]['media']['m'].replace("_m", "_b"); 
            $('#putimg').attr("src", image_src); }); 
    }); 
    &lt;/script&gt;
</code></pre></div>


title: Dependencies
writingfield:
  <p> With its increasing speed, <a class="linkTo" href="13">→ loading speed</a> computation fosters itself while depending on the previous version of its own. The same holds true for software. Therefore we can recognize a spiral of dependencies and influences that includes humans and machines. After the first hardware was able to draw new, even smaller hardware than it would ever have been possible with paper and pen, the system of hardware design became dependent on itself (Kittler 1992). This means the next generation of hardware is always enabled by and relying on the previous version, making it possible to create even smaller and more complicated parts. The same can be found in the culture of software development. Software can only be built with software: software that enables to write the program code, software that compiles the code into machine readable binary-code and an operating system that executes it. This also means that nearly every program relies on other ones, requiring users to pre-install specific versions of software in order to run the program. If one single component of this chain of dependencies breaks, many other programs will be affected. <br> The dependence on companies that produce software is great. If the company decides to discontinue their software, the user is directly influenced by it as he can not use his software anymore. This happened for instance, when Microsoft shut down one of their scripting languages, many companies that relied on it suffered (Ullman 2012, p. 105). <br> Software is changing over time. As Ellen Ullman mentions, this is also the reason why software can quickly become unstable, especially if multiple programmers are working on a program over a longer lasting period of time. Code can be written in many ways different ways making it hard for other persons to read or understand. Still, huge systems with a long history have to be kept running as many other systems rely on them making it a very fragile system, in which you can hardly change anything (Ullman 2012, p. 117). These kind of dependencies tell their own stories and are rarely clearly visible. Also these dependencies have the potential to show the history of software. It clearly shows that software can not exist on its own, but is always embedded into a greater ecosystem, a cultural framework that follows its own rules. <br> <br> »We shape our tools and, thereafter, our tools shape us« (Davis 2016) says a famous quote by John Culkin from 1967. But if we look at the dependencies of software one could also say: we shape tools and these tools shape new tools again. Transferring this idea to the notion of software as a cultural object, the interrelation between shaping and being shaped could be formulated as follows: software creates and influences culture, and therefore this culture shapes new social conditions under which the construction and use of software itself is altered. This might become clear when looking at the example of software-hacking. The distribution of proprietary software with Digital Rights Management (DRM) lead to multiple groups cracking and circumventing software limitations. These cracks are then distributed as new software. <br> </p> <div> The original culture of software was actually build around open source culture, even though this concept wasn’t formulated yet – because it was not necessary. Early software production was very dependent on this openness. (Mansoux 2017, p. 31). Without the sharing of software and code, the development would have been very tedious, if possible at all. <br> </div> <div> <br> </div> <div> <br> </div> <div> <sub> Davis, F., 2016. We shape our tools and, thereafter, our tools shape us. Medium [online]. Available from: https://medium.com/@freddavis/we-shape-our-tools-and-thereafter-our-tools-shape-us-1a564cb87484 [Accessed 27 Feb 2019]. <br> </sub> </div> <div> <sub> <br> </sub> </div> <div> <sub> Kittler, F., 1992. There is no Software. [online]. Available from: https://monoskop.org/images/f/f9/Kittler_Friedrich_1992_1997_There_Is_No_Software.pdf [Accessed 28 Feb 2019]. </sub> </div> <div> <sub> <br> </sub> </div> <div> <sub> Mansoux, A., 2017. Sandbox Culture: A Study of the Application of Free and Open Source Software Licensing Ideas to Art and Cultural Production. [online]. Available from: https://monoskop.org/images/e/ea/Mansoux_Aymeric_Sandbox_Culture_A_Study_of_the_Application_of_FLOSS_Licensing_Ideas_to_Art_and_Cultural_Production_2017.pdf [Accessed 28 Feb 2019]. </sub> </div> <div> <sub> <br> </sub> </div> <div> <sub> Ullman, E., 2012. Close to the Machine. Reprint edition. New York: Picador Paper. </sub> <br> </div> <div> <br> </div> <div> <br> </div>  


title: Loading speed
writingfield:
<p id="load_time"></p><script>var beforeload = (new Date()).getTime();

function getPageLoadTime() {
  //calculate the current time in afterload
  var afterload = (new Date()).getTime();
  // now use the beforeload and afterload to calculate the seconds
  seconds = (afterload - beforeload) / 1000;
  // Place the seconds in the innerHTML to show the results
  $("#load_time").text('Your browser loaded this page in  ' + seconds + ' sec(s).');
}

window.onload = getPageLoadTime;</script>The speed&nbsp;<a class="linkTo" href="14">→ slow, please</a>&nbsp;of the page depends <a class="linkTo" href="12">→ dependencies</a> on different factors. How "heavy" the page is also define its power / CPU usage.<br>


title: Slow Loris, Slow, Please!
writingfield:
<div>Slow&nbsp;Loris is not only an animal but also the name for a method to attack a server. This (so called&nbsp;Denial of Service Attack) blocks the targeted server by sending messages very slowly and blocking as many open connections as possible, making the server unreachable for other people.<br></div><div><br></div><div><u>Slow Turtle</u> is a simple server, that is as slow as Slow Loris. Therefore it is not breaking down with slow requests, but responding very very slowly to every request.&nbsp;</div><div><br></div><div><img class="textimage" src="/img/Screenshot_2019-03-31_at_00.17.40.png"></div><div><br></div><div>Meet Slow Loris &amp; Slow Turtle.</div>


title: Minimal writing
writingfield:
<img class="textimage" src="/img/Screenshot_2019-03-31_at_20.06.21.png"><sub>figure 1: The nano texteditor showing its own source code.</sub>
    <img class="textimage" src="/img/Screenshot_2019-03-31_at_20.02.38.png">
    <sub>figure 2: a custom texteditor written with 16 lines of python&nbsp;code.</sub><sub><br></sub>
<code>from tkinter import *
from tkinter.filedialog import asksaveasfilename
root=Tk("Text Editor")
root.title("Minimal Texteditor")
text=Text(root)
text.grid()
def saveas():
    global text
    t = text.get("1.0", "end-1c")
    savelocation=asksaveasfilename()
    file1=open(savelocation, "w+")
    file1.write(t)
    file1.close()
button=Button(root, text="Save", command=saveas)
button.grid()
root.mainloop()</code>&nbsp;<div><img class="textimage" src="/img/Screenshot_2019-03-31_at_20.23.19.png"></div><div><sub>figure 3: a minimal C program that transforms keystrokes and letters into a vertical line</sub><br><div><code><br></code></div><div><code><br></code></div></div>


title: Bootloader publishing
writingfield:
<div>A publication that comes in the form of a bootloader.<img class="textimage" src="/img/Screenshot_from_2019-04-23_22-10-44_2.png"></div><div><br></div>


