It looks like you're new here. If you want to get involved, click one of these buttons!
Before I begin, I want to note that this code critique is a collaborative effort of Shawné Michelain Hollaway and myself, Paul Hertz. We have a common interest in the performative and social aspects of algorithms and code: how social interactions are encoded in culture and how artists can create coded performances as a social (inter)action.
I am going to start things off by introducing our topic. Shawné will respond. Then I'll post some code examples. Following that, we hope to engage in an open-ended dialog, which we invite CCSWG participants to join.
FloodNet was developed in 1998 by the Electronic Disturbance Theater (EDT), a group of artists and activists working in the area of Electronic Civil Disobedience (ECD). FloodNet enabled activists to hold "virtual sit-ins." Using HTML pages and some minimalist Java code, participants could stage an online protest by flooding a targeted server with repeated requests for pages. Typically, a time would be set for the protest, participants would open the FloodNet home page during the protest and an applet embedded in the page would send out requests from the client page to the targeted server every 7 seconds. Participants could also send "personal messages" encoded as URLs to the server. The client would request a non-existent page, causing the server to generate and log a "404 Page Not Found" error, for example: "welcome//impartiality/_and_respect not found" or "welcome//human_rights/_and_dignity not found". If enough people participated, they would have a noticeable impact on the server response time, potentially flooding it with so many requests that it would crash. In other words, FloodNet operated as a DDoS (Distributed Denial of Service) attack.
DDoS as protest was controversial from the start. As Geert Lovink notes, "...hackers were divided over the effectiveness of the Floodnet software[...]. Libertarian minded hackers suggested that the 'flooding' of corporate and government servers was ending up nowhere. Massive hit attacks, directed at the enemy site were getting lost in the general net, thereby mostly harming others, in particular your local ISP." Governments also took notice and began taking steps to make such attacks illegal, conflating political DDoS with terrorist attacks on the Internet. [Lovink 2002, pp. 254-274]
The most well-known use of FloodNet was in a series of protests in support of the Zapatista social movement (or "insurgency" as sources in the Mexican government would have it) in the state of Chiapas, Mexico. Without going into the depth that the topic deserves, I would note that the Zapatista Movement, which continues to the present day, offered models of decentralized organization both in its political philosophy (i.e., having as its public face "Sub-Comandante" Marcos, who functioned more as a spokesperson than a leader meting out decisions) and in its cultural roots as an indigenous movement protesting among other injustices the latifundio system of land ownership brought by the Spanish colonists, which saw shared ownership and cultivation reduced to single ownership over vaste expanses and cultivation ordered "a dedo," by pointing to whomever would be given work in a pool of marginally employed day-laborers. The Zapatista Movement was very savvy in its use of media, and in many respects centered its strategies around defensive or non-violent protest actions, community organization, and occupation of lands. The style and open organization of the Zapatistas appealed to many political activists outside Mexico.
Our concern in examining the FloodNet codebase, however, is not with its historical setting so much as with two concepts within its form of social activism that are embedded in the code. First, as artists who have worked within the Chicago Dirty New Media and international Glitch Art movements (where #Chicago is a non-locative hashtag), we are fascinated by intentional error as a tactic and specifically by the creative use of 404 errors. These errors present themselves in server logs, where they will eventually be read by a human operator, and are performed, captured, and spread on the client side as an ironic souvenir or token to be passed around. Secondly, we want to foreground the ways in which DDoS as Electronic Civil Disobedience is distinct from malicious DDoS, ways that are embedded in the codebase and the performed actions: activists do not hide their identities and may well sign their names; servers are not anonymized.
Regarding the FloodNet codebase: the source code for the Java applets is missing. The original developers from EDT could not find it. However, opening the .class files in a text editor reveals embedded strings scattered through the non-ASCII, and these strings tell a story. The HTML pages also provide clues, but for the sake of focus, we will dig into the .class files, viewed as texts.
Source for a "developer's kit" version of FloodNet can be downloaded from http://www.thing.net/~rdom/ecd/jan99ddk.zip. FloodNet's Zapatista protest is running in emulation in the Rhizome net.art archive, at https://sites.rhizome.org/anthology/floodnet.html. I have also downloaded the Rhizome HTML and .class files, so we will occasionally cite them.
Lovink, Geert, An Insider's Guide to Tactical Media. from Dark Fiber, MIT Press, 2002, pp. 254-274