Litspam: Coding
Language into Cloth

Besides the other
things worse for
lunch. Mind that make
sure the new apart-
ment. Calm down the
hall with. Mommy and
when they watched
tv with. Please god is
that matter. Will come
inside the living room.
Tired smile in there to
answer. Except for
having sex with each
other. Hold on either
side of course.[58]

Most of the spam emails I have been receiving (and sending to my “Cool Spam” folder) are bypassing Gmail’s spam filters in a delightful way. Open the email and be greeted by a message colourful both in font and word-choice. Highlight this email, and a background text in tiny white letters becomes visible (see fig. 4). The legible part of the email is straightforward porn spam, but the hidden text is something far more bizarre and intriguing. “This was litspam, cut-up literary texts statistically reassembled to take advantage of flaws in the design and deployment of Bayesian filters.”[59] Litspam works because,

“[a] huge portion of the literature in the public domain is available online as plain text files, the format most convenient to programmers: thousands and thousands and thousands of books and stories and poems. These can be algorithmically fed into the maw of a program, chopped up and reassembled and dumped into spam messages to [trick spam filters into reading them as non-spam]. Hence the bizarre stop-start rhythm of many litspam messages, with flashes of lucidity in the midst of a fugue state, like disparate strips of film haphazardly spliced together.”[60]

The hidden messages in the spam I’ve received are full of first names and terms around home, family, religion, and intimacy. They seem to be computer-generated interpersonal messages, an algorithm’s idea of what people talk about in the privacy and confidence of emails to loved ones. The incongruity of the two sets of text in these emails appealed to me in what it was doing with language and what it said about online communication. Finn Brunton expresses this sensation I had, describing how litspam, “delivers its words at the point where our experience of words, the Gricean implicature that the things said are connected in some way to other things said or to the situation at hand, bruisingly intersects the affordances of digital text.”[61]A pastiche of readily available texts of all different origins and purposes is used to push an email into my inbox to get me to fall for a horny girl’s plea to look at her pics. It’s just too good not to weave.

Before starting this project, I had a few weaving tricks that I wanted to experiment with, and these litspam emails offered up the content I was looking for. I had been interested in shadow-weave, a technique that uses the alternation of two colours in the warp and weft to create optical patterns. I also wanted to come up with a technique of coding language or data into a visual pattern. Wanting to start with code instead of image for this series, I chose to use a computerized multi-harness loom that sticks more strictly to the basic principles of weaving than a Jacquard does.

Shadow-weave seemed appropriate for the translation of computed material because it is composed of two colours that must always alternate, in both the warp and the weft, reminiscent of binary pairs. A zero or a one always refers back to its other. I used black and white to exploit that tradition of opposites. Then I had to translate my texts into binary code. There are many programs online where inputted text can be outputted as binary, but I found it most interesting to undertake this process by hand, using a dated chart. Each weaving in the series encodes a different spam email, received by me between April and June 2015.

With this system, each Ascii character is composed of seven “bits”, i.e. a zero or a one, and I found it interesting to see how each character was composed. Sadie Plant teases out the complexity of computer code as it operates beyond a black-and-white binary:

“[…] ambivalence is inscribed in the zeros and ones of computer code. These bits of code are themselves derived from two different sources, and terms: the binary and the digital, or the symbols of a logical identity which does indeed put everything on one hand or the other, and the digits of mathematics, full of intensive potential, which are not counted by hand but on the fingers and, sure enough, arrange themselves in pieces of eight rather than binary pairs.”[62]

This ambivalence, and the metaphor of the hand and the fingers, helped me to situate the idea of code into a material practice. The binary pairs she describes were my threads, and the “bits” were inscribed in the way I threaded the loom harnesses: 14 harnesses to control seven pairs, each pair requiring two harnesses.

In terms of how the binary code would physically materialize, I used the lifting of a thread to represent the “on” or the “one”, and a lowered thread to represent “off” or “zero”. Shadow-weave is a structure where the exact opposite of the first line is woven in the second line, completing the two-line system and providing a solid plain-weave cloth. So, in ProWeave, an antiquated but fun-to-hack weaving software, I made each letter, symbol, and command a unique 14-thread black and white pattern (see fig. 6). Seven bits, each composed of a black and white thread, with either the black thread “on” or the white thread “on”, and then the direct negative of that pattern. Through the magic of weaving, the pattern repeats itself over and over again along the length of the cloth (see fig. 7), evoking the millions of identical spam emails repeatedly flooding the world’s inboxes.

As explained by T’ai Smith, Anni Albers was also interested in weaving as a code, and the possibility of its translation: “A code is based as much on a principle of transparency as it is on obfuscation. So if a code is that which enables or blocks the relay of messages, how can one represent it as such? How does one represent the functioning of a code? If weaving is like a code, Albers suggests, it both can and cannot in and of itself be translated.”[63]

The importance of my coding strategy did not depend on the act of decoding and reading the texts of each weaving. (If you wish to do so, however, you may refer to the examples here, using the alphabet chart in fig. 6 to read the patterns.) For me, the significance was to materialize and visualize the way in which computers store information as binary code, to illustrate the principles held in common between computer memory, code, and weaving.

Since I am including weave drafts as illustrations of my process (see fig. 7), I will quote Smith’s insight on weaving notation at length:

“What is a weave draft or system of draft notation? Basically, it is a road map to a desired fabric, like a musical score or diagram: it is a flat, graphic pattern based in a grid that can be read. As Albers explains, in this ‘shorthand, spaces between vertical lines on the graph paper denote the warp threads, spaces between horizontal lines weft threads. A filled in square indicates a lifted thread at this point of intersection.’ From a semiotic perspective, one might say that the system of notation is at once semi-symbolic and semi-iconic. (Its system is at once arbitrary and motivated.) But actually, if the draft notation provides an image that bears a resemblance to the threads in use, it is only very abstractly related to the actual cloth, the referent. The draft notation is something like an image of practice; it tells us not how the textile will look so much as how the loom’s warp is threaded or spaced through the heddles – that is, the technical operation through which it is made. While the weave draft is not essential to the act of weaving, this little diagram articulates the layer or process that intervenes between production and product, process and artifact. So this is not a diagram of the object but, rather, of the medium –
the in-between. It is something of an algorithmic code-as-image.

Following the draft notation, three-dimensional weaves are born out of the flat geometric codes. But they are also transformed in the physical process of working at the loom. Any single draft might yield multiple, very different results, depending on the texture of threads chosen or the colors combined […]”[64]

For the litspam weavings, I used one cotton thread and one linen thread together for each “technical thread”, to give the cloth its particular character. Linen provides a lovely stiffness and shine, and cotton is soft and fluffy enough to fill in the gaps between threads. This helped to achieve a more pixelated effect (where each pixel is right next to the next, the in-between is non-existent) than mesh-like (where the negative space between threads would lend as much to its visual and physical texture as the fibres). Yet the woven cloth has much more texture and dimensionality than the weave draft. The all important under-over or over-under is physically manifested and tangible in the cloth, not simply “represented” by a self-referential semiotic system where a black pixel means “up”.

Since the litspam emails were playing with invisibility and legibility, I decided to reverse their game. I encoded the legible text – the message the spam was actually trying to relay – into a dizzying pattern that would be almost impossible to decode even with the key. Then I would reveal the strangely fragmented and poetic text hidden in the emails by embroidering fragments of it on the woven cloth. Amongst the overall unsettling effect of the litspam’s mass, some sentences stood out as strangely touching, emotional or relatable. The entire text of one such email reads like this: Family and what you can see this. Said to give it came his hands. Informed her place and jeï were. Said this is charlie sat up adam. Chad and opened her heart. Just how was looking like that. Grandma to leave for everyone. Matthew to help his sister. Joel to make that charlie. Chad in for very strong hand. Having to put up without any sleep. Even though the glass door while adam. Lot of someone else for everyone. Warned charlie could hear me what. It can only made sure that. Continued to stand up from. Beppe was tired of work. Whimpered charlie climbed into place. Melvin will have any help. Is going into another day of food. Maggie had been looking forward in here. Against her even though it down. Whimpered charlie he apologized adam. Shirley could hear what it easy. Took me drive into tears adam. Muttered adam found out here. Leî hand as though adam. When she apologized charlie sat down. Reasoned charlie will be careful. Here he placed the food on chuck. Come from him with some sleep charlie. Replied the man could hear him away. Proposed adam called charlie asked shirley. Next day at least not yet again. Shouted adam followed by judith bronte. Only be your mind oï ered charlie. Whispered adam began their music room. Confessed adam went outside of trust. Them that he saw him right. Chuckled adam had been making any sleep. Smiled vera to keep you come home. Began the most people and put that. Rosa before making charlie arrived. Waiting to leave me take oï ered. Shipley and chad to where. Mike and hurried away the kitchen table. Since adam grabbed her house. Clock on his uncle adam. Here and kissed her head against adam. Apologized adam quickly shook his eyes. Answered adam however charlie reached out here. [65]

For each piece, I edited down the text to my favourite sentences, at liberty to my own sense of rhythm, association, and humour. Is this poetry? It seems incredibly perverse to say so, but this project revels in perversity. So on top of a weaving painstakingly programmed to spell out,




Ć L Ĭ ϹҚ Ԋ Ȩ Ŕ Ě”[66] in illegible code, I chose to machine embroider some jilted, corny, faux-intimate faux-poetry.

Brunton describes how litspam “is the expression of an entirely different intentionality without the connotative structure produced by a human writer”[67] – it exists only to bypass algorithmic filters, not to be enjoyed or analyzed. What happens when we do analyze it? What could it say about the words we use most commonly, how we inscribe them with meaning? The program generating these randomized texts seems to be attempting to mimic email-writing patterns, and use the most common, everyday vocabulary of the email medium. In editing these texts down to short stanzas, I implicate myself as a human author or curator, and the computer-generated text’s intention completely changes.

I worked with digital embroidery beause the mechanizing and digitizing of traditional textile processes is a fraught territory. Though some specific and important aspects such as temporality and tactility are lost in the production process, new potentials open up with the introduction of the digital. Rather than just trying to replicate hand embroidery, hand-brocaded weaves, or hand-printed cloth to “save time,” I am more interested in investigating the new characteristics, associations, innovations and failings of computer-assisted textile productions as separate, distinct mediums. (Connected, of course, to a very relevant historical tradition.)

In this series, I exploit machine-embroidery’s associations with tackiness and consumerism, because spam is just another facet of that culture. Through various strategies of translation – from invisible to visible, legible to illegible, intentional to randomized, random to selected – these weavings are an interpretation of spam as the revealer of how and why communication functions online. Spam reveals underlying systems of information control and regulation based on dominant society’s beliefs about gender and sexuality, about what people want to be and to consume, and about how we can manipulate a medium as ubiquitous as email to suit various needs.

table of contentsnext / view the litspam series

58., e-mail message to author, April 10, 2015.
59. Brunton, Spam, 143.
60. Ibid., 145.
61. Ibid., 148.
62. Plant, Zeros + Ones, 50.
63. T’ai Smith, Bauhaus Weaving Theory: From Feminine Craft to Mode of Design, (Minneapolis: University of Minnesota Press, 2014), 148.
64. Smith, Bauhaus Weaving Theory, 149.
65., e-mail message to author, April 24, 2015. See weaving in fig. 8.  
66. Ibid. 
67. Brunton, Spam, 150.

Figure 5. ASCII Code Chart, scanner copied from the material delivered with TermiNet 300 impact type printer with Keyboard, February 1972, General Electric Data communication Product Dept., Waynesboro VA. Accessed March 2, 2016.

Figure 6. My coded alphabet. Screenshot from workspace in ProWeave Software.

Figure 7. Weave Draft for re:Amargo Pooser wants to let Sophia Borowska know ABOUT her BODY in ProWeave software. Read from top to bottom along the right-most column. Top row represents the loom’s threading (14 shafts), and right column represents the treadling, or which combination of threads is lifted at each pass of the weft. Central section represents to interlacement of threads, a preview of how the weaving might look

Figure 8. re:Amargo Pooser wants to let Sophia Borowska know ABOUT her BODY, 2016. (Detail) Hand-woven cotton and linen, rayon embroidery thread. 23” x 21”. Digital Scan.

Figure 9. RE:Timmie B. Wurster is GOING HORNY Sophia Borowska, 2016. (Detail) Hand-woven cotton and linen, rayon embroidery thread. 23” x 43”. Digital Scan.