15
Untangling knowledge work by maypole weaving with a Penelopean robot swarm
David Griffiths
Introduction
The PENELOPE project is concerned with untangling relationships between the weaver’s thought process while weaving, traces of this thought remaining within the textile, and the wider society in which this all takes place. When we study these relationships in the context of the ancient world, we are able to gain new perspectives on the hidden peculiarities of our own, contemporary culture.
When attempting to understand weaving in society, we need to confront assumptions of textile production and the roles involved. A weaver observed by an audience runs the risk of being misunderstood as an automaton; the repetition of actions used to manipulate symbolic information in threads (Harlizius-Klück 2015 and 2017) is easily read as a kind of absence of thought – ‘mindlessly’ following someone else’s rules, at the lower levels of an imagined power structure. A computer programmer meanwhile, repetitively operating a keyboard in order to process symbols represented as glyphs on a screen – is the epitome of our society’s current view of well paid and important ‘knowledge work’. Such a worker is seen as a master of the world, highly trained in arcane arts.
Robots have a unique role in our culture: they are automata that follow someone else’s rules – and yet we can all too easily assign agency to the simplest robots. We see them as an inescapable part of our future, and yet we are also wary of what they might do. Interventions involving robotics can take advantage of these cultural attributes to expose our social/technological assumptions in a unique way. A principle of the Penelope project is to design performances and artworks which present the weaver and weaving, and the programmer and code, in a way that asks questions about work, gender, technology and control.
The first instances of robotics in history are as artworks for performance. In the third-century BCE text Liezi, we find an account of Zhōu Mù Wáng, the fifth king of the Zhou dynasty of China, who was presented with a singing and dancing robot:
As the performance was drawing to an end, the automaton winked his eye and made sundry advances to the ladies in attendance on the King. This, however, threw the King into a passion, and he would have put Yen Shih to death on the spot had not the latter, in mortal terror, instantly pulled the automaton to pieces to let him see what it really was. And lo! it turned out to be merely a conglomeration of leather, wood, glue and paint, variously coloured white, black, red and blue (Liezi 5.34, after Giles 1912: 91).
Robots have always provoked and challenged our understandings of agency: in the modern era, bomb disposal robots used in the military arena provide a stark example of how strongly we can relate to robots in our working life:
Every time he was working, nothing bad ever happened. He always got the job done. He took a couple of detonations in front of his face and didn’t stop working. One time, he actually did break down in a mission, and we sent another robot in and it got blown to pieces. It’s like he shut down because he knew something bad would happen (Garreau 2007).
Our connections with automata do not seem to be reliant on their sophistication or similarity to living organisms such as ourselves: if anything, as with the bomb disposal robot above, the more utilitarian the robot, the more likely a sense of connection. Kacie Kinzer’s small cardboard Tweenbots (Kinzer 2021) navigate Washington Square Park in New York by the use of a small flag that displays their destination. These vulnerable robots rely on the good will of passers-by to successfully reach the goal, by pointing them in the right direction or helping them when they become stuck under a park bench or drain.
This paper describes the use of robots to perform weaving – not as mechanical looms to be judged by the quality of the textile they produce, but as alien beings inserted between the weaver’s mind and the act of traditional textile production.
Practical methods and notations of woven robotics
In this description we pay particular attention to the notation systems used in the design process, and use these notations to highlight the ‘discontinuities’ (Latour 2013: 41) in both the working process and the final systems. In doing so we aim to describe technology as a ‘seamful’ (rather than seamless) material.1 This is common in weaving practice, where various levels of notation systems are required to describe, reason about and communicate a multi-layered technology.
Penelopean dancing robots are woven automata designed for choral dancing and maypole weaving. They are constructed using low cost materials and accessible techniques, including a tablet-woven structure to provide them with an overall form which is robust, flexible and soft. Critically, the woven form presents a very different technological narrative to more standard plastic 3D printing or aluminium extrusion. These robots can be programmed remotely by radio communication (either individually or broadcast to the whole ‘swarm’) and their dancing can be synchronised to musical beats for performances.2
Initial robotics workshop in the Penelope laboratory
We began this investigation with a workshop, with the help of Christian Faubel in our Penelope Laboratory (Harlizius-Klück 2019). Here, members of the research team constructed various different forms of robots, using custom electronics and off the shelf standard parts (Lego Mindstorms), both digital and analogue, (Faubel 2016) control circuitry and a variety of different locomotion methods.
At the end of the workshop, we set up a small maypole during the opening hours of the Museum for Casts of Classical Sculptures where the lab is situated. We attached the robots to the pole with ribbons, to allow them to interact and tangle ‘weaves’ together. We then observed participants watching the resulting dance, and found that our legged robot prototypes elicited stronger reactions of empathy and attachment than our wheeled ones. There was a tendency for observers to intervene and ‘help out’ legged robots that was absent from those that ‘looked a bit like cars’. Walking robots are more challenging to construct, but as our objective is to question attitudes to agency, these responses are important to explore.
The shopping list
The role of Then Try This3 in the Penelope project is to facilitate technological investigations by designing and building artefacts that can be used to carry our experiments and artistic interventions. Penelopean robots have 3 pairs of legs, each able to rotate on one axis. Their basic components comprise cheap, easily obtainable components:
– Tablet-woven flexible structure holding everything together (see below)
– 3 SG92R micro servos to drive the legs
– 3.7v li-ion battery
– NRF24L01 radio module for remote control/programming
– GY91 accelerometer/gyro/compass sensor module
– Custom Atmega328 main PCB
– Radio, sensor and servo breakout secondary PCB
– 3 laser-cut ply leg pairs
– 2mm diameter wire to provide rigidity
– Extra yarn to stitch everything together
A notation for tablet weaving
Penelopean robots are constructed using tablet-weaving (Collingwood 2015), an ancient technology dating back to at least the sixth century BCE and probably earlier (Priest-Dorman 1999). Tablet looms are simple to set up, and consist of a stack of easily constructed square cards with holes punched in the corners, through which the warp yarn passes.
Fig. 15.1 Final robot form (photo by David Griffiths in 2019)
Usually, tablet-weaving produces a strong braid. For the robot structures a technique known as ‘Icelandic double weave’ is used (Collingwood 2015: 158), where the cards are rotated at 45 degrees and use two wefts at the same time. This allows us to split the weave into doublecloth, to create more complex three-dimensional forms that we can use to support all the components for our robot.
We used 100% cotton yarn and measured out roughly ten wefts to hold the SG92R micro servo and eight wefts for the 18mm diameter cylindrical battery. In order to record and notate the weaving process required, we used the following notation:
Fig. 15.2 Symbols used to describe these two tablet orientations. The blue warp thread is used as an indicator (photo and graphics by David Griffiths in 2019)
This describes the tablets, warp and weft threads, seen from the side – the tablet is set up so a single colour indicator warp yarn is threaded through one corner of the tablet, which enables us to keep track of the rotation at each step. The weft is repeatedly inserted after each 90° rotation.
Fig. 15.3 Symbol used to describe tablets in an Icelandic double weave orientation, where we can use two wefts in the two sheds provided in the warp (photo and graphics by David Griffiths in 2019)
So far, this can be described by traditional tablet-weaving notation; however, in order to describe Icelandic double weave we need to allow for two wefts and a 45° offset rotation. Between each (double) weft, we still rotate the tablets 90 degrees, but only once back and once forward – the creates the two separate fabrics:
Fig. 15.4 Full notation for a Penelopean robot (see text) (photo and graphics by David Griffiths in 2019)
If we keep turning two more times and then repeat the split weave, we can pass one side of the double weave through the textile and ‘weave’ the structure through itself to create separate sections.
Given this notation system, we can record the steps required for a Penelopean robot in full. We begin with a supporting weave, using normal single weft weaving for 8 wefts (two times four 90° card rotations), and then start splitting to hold the 3 servos and a battery, along with a supporting spacer to make the legs equidistant, which is needed to improve walking performance (4 or 5 wefts each). We finish with a final supporting weave of 8 wefts at the end.
As the structure is woven into the fabric rather than being stitched afterwards, it is extremely strong and able to cope with the forces involved. This turned out to be important during events when the robots were handled by lots of children. The final stage is to stitch the components into the structure to hold them in place, and add some thick wire to give the legs something to push against.
A notation for walking
The robot’s front and back legs move in the ‘yaw’ axis, while the central legs move in the ‘roll’ axis with respect to the robot. Broadly, this arrangement allows the front and back legs to be used to drive the motion, while the central legs are used to select which feet on either side are touching the ground at any time as they sweep backwards and forwards. By changing the phase of the central legs, it is possible to change the direction the robot is walking in. The central legs can be used to more precisely control the friction of the feet with the floor, to rotate it gradually for turning or more quickly for on-the-spot turns.
Fig. 15.5 180° servo rotation represented as symbols (graphics by David Griffiths)
In order to describe and experiment with all the different motion types possible, each servo is controlled via a ‘movement pattern sequencer’ which interprets symbols that represent angles of rotation. This is partly designed to simplify synchronisation with music and movement across the entire swarm.
Each pattern consists of 12 symbols, split into three patterns of four symbols for each of the three servos (front, middle and back). This seems to be the minimum we need to describe the range of motions required. The full servo range is 180 degrees, and we use ‘A’, ‘B’, ‘C’ and ‘D’ to refer to clockwise rotation up to 90 degrees from the servo’s central position (so 23, 45, 68 and 90 degrees) while ‘a’, ‘b’, ‘c’ and ‘d’ symbols refer to the same angles in the counterclockwise direction. ‘0’ sends the servo back to its central position.
Various patterns (found mostly via experimentation) are predefined for convenience:
front middle back
walk-stop: “0000 0000 0000”
walk-forward: “AAaa AaaA AAaa”
walk-backward: “AAaa aAAa AAaa”
turn-left: “AAaa 0CC0 aaAA”
turn-right: “AAaa C00C aaAA”
turn-left-fast: “AAaa 0DD0 aaAA”
turn-right-fast: “AAaa D00D aaAA”
silly: “AaAa AaAa AaAa”
Turning on the spot is a more complex sequence where momentum is built up by the ‘driving’ legs and controlled by the central one to swing the robot around. As this procedure is dependent on many variables we cannot control (for example, the texture of the floor) we can use a magnetometer sensor as a compass to accurately keep track of the rotation achieved by each step.
A notation for describing robot behaviour
One of the challenges of working with a robot swarm is to update and distribute code changes to them. We use ‘Yarn’, a new live coding language and system made for the Penelope project, where compiled bytecode (Bovermann and others 2014) can be broadcast over radio in small packets and written directly to each robot’s memory. This bytecode can be halted, reset or run via separate radio messages and is isolated from the robots’ other processes, which need to take care of polling the radio for incoming data, controlling the servos and reading sensors. This means we can program, debug and experiment with multiple robots easily, by sending them messages over the air.
The bytecode is compiled from a variant of the Lisp language family providing typical constructs for conditionals, looping and a full function call stack with local argument variables. It is designed to be implemented on the very small processors we are using on-board the robots.
The Yarn language provides access to a set of registers that describe and control the current state of the robot. These include the servo movement sequencer above, and incoming sensor information. Registers can be altered in order to change the current walking pattern or light up their indicator LED.
One of the important registers is ‘next-pattern’ which selects the walking pattern from the list above, for example to trigger a forward walking movement is very simple:
(set! next-pattern walk-forward)
or to stop the robot moving:
(set! next-pattern walk-stop)
All servo movement timing is decoupled from the code so it can be synchronised externally across all the robots, so we include a ‘step count’ register to keep track of what is going on. This can be reset via another register, so we can, for example, wait for a number of steps to be carried out before resetting and continuing. This program moves the robot 5 steps forward, then moves it 5 steps backwards and then repeats:
(forever
(set! step-count-reset 1)
(while (< step-count 5)
(set! next-pattern walk-forward))
(set! step-count-reset 1)
(while (< step-count 5)
(set! next-pattern walk-backward)))
Similar registers are provided so angular rotation or accelerometer movement values can be checked and used to trigger different actions or behaviours. Various servo parameters such as speed or movement smoothing can be modified too.
Fig. 15.6 Track for 12 pairs of maypole dancers (graphics by Viktoria Lubomski in 2010)
One of the most complex behaviours to model is at the higher choreographic level – for example, setting up two groups of dancers walking in opposite directions (see figure 15.6), where one group needs to politely wait for the other to finish before they can continue.
We model this by using a register as a ‘ready’ semaphore that is used both to trigger the robots to start walking in a group, as well as to signal that they have reached their destination:
(forever
(while (not ready-semaphore) ;; wait for external signal
(set! led 1))
;; now we can start walking
(set! led 0)
(set! step-count-reset 1)
(set! next-pattern walk-forward)
(while (< step-count 8)) ;; wait for 8 steps
(set! next-pattern walk-stop) ;; stop walking
(set! ready-semaphore 0)) ;; signal that we have finished
A notation for dancing together in a pandemic
During the year 2020, a new extension to the Yarn programming language was developed to make the robot language more accessible, and allow the robots to be live coded online using a visual ‘block based’ language. This was a reaction to the coronavirus pandemic, which interrupted our plans for performances with physically present audiences (more on this below). Each participant could be paired with their own robot, which could be viewed as part of a larger collaborative dance via online video streaming.
Fig. 15.7 Remote robot programming interface to be used alongside video conferencing so you can see your robot respond to your code changes (screenshot by David Griffiths)
To achieve this, Google’s Blockly system (Seraj and others 2019) was adapted to generate Yarn lisp code. A Raspberry Pi fitted with the NRF24L01 radio module served a web-based application for participants using standard web browsers to remotely create robot programs. Using this interface, participants could choose an individual robot and click on a ‘Transmit’ button to send the compiled code to it. We attached markers to the robots so they could be picked out on the video feed by colour and letter. The interface provided rapid feedback on failure, such as a robot being out of radio range. With everything running on a single Raspberry Pi, we were able to reduce the network message-compile-transmit-acknowledge loop to under a second, even with eight people using it at the same time.
An advantage of this kind of block-based visual programming is that it is impossible to create syntactically incorrect code. This is why they are commonly used in educational settings (Maloney and others 2010) and are fully featured languages in their own right. We could use the blocks to encapsulate common behaviours that made it more convenient for people to sequence their robot’s actions.
Fig. 15.8 A code example including the use of a magnetometer sensor for orientation detection (screenshot by David Griffiths)
We could use Yarn blocks to easily expose all the features in the robots’ registers, including their walk speed and individual servo controls. These turned out to be important so participants could learn to fine-tune their programs for their individual robots using trial and error. Here is a more complex example using one of the robot’s motion sensors as input – checking the current magnetometer compass heading to create a program which will gradually adjust its aim to walk in a southerly direction:
Results
A series of performances was undertaken where the robots (acting as reimagined choral dancers from Greek antiquity) were presented alongside a recitation of Classical Greek poetry by Giovanni Fanfani and a live coded music (Collins and others 2003) performance by Alex McLean. For Giovanni’s poetry recital we use two pieces: Homer, Iliad 18.590–603, and Sophocles, Oedipus the King 883–910. The Sophocles passage presents a specific form of metrical transformation known as epiplokē (McLean and others 2018), which we rhythmically blend with the live coded music inspired by contemporary musical instruments and sounds. We also used the robots in installation form over a longer duration, facilitating audience interaction with them. To aid in this endeavour, in later performances the robots were programmed to move sporadically, with two groups taking turns as explained above – this created pauses during which the robots fell still, giving people an opportunity to pick them up and adjust their positions, as a form of audience-lead choreography. A third form of performance was created under pandemic lockdown conditions, where a maypole was constructed for remote participation, with the robots individually live coded by the participants via an online interface. This was designed both as an educational introduction to programming, and a chance to ‘dance together’ in the same space while remaining socially distant.
Performances in the Museum for Casts of Classical Sculptures
The debut appearance of the Penelopean robots occurred during Sandra De Berduccy’s opening event for ‘Away | Takiy – Raise the Curtain for Weaving’ at the Museum for Casts of Classical Sculptures, Munich.4 The audience consisted of students, researchers and museum visitors in the context of a comparative display of ancient Greek and pre-Columbian Andean weaving. The improvised musical live coding was based around rhythms matched with the poetry recital. The robots were synchronised together, but not directly with the music; their movements were controlled using a ‘pattern matrix’, a tangible interface where 12 tokens represented the simple and lowest level servo movement notation explained above. Six robots were arranged in a circle and were instructed to move synchronised together, gradually at first – slowly building up to a walking pattern which disrupted their initial circular configuration until they wandered among the audience for some time after the performance had finished.
Fig. 15.9 Opening performance for ‘AWAY | TAKIY – Raise the Curtain for Weaving’ at the Museum for Casts of Classical Sculptures, Munich (photo by Giovanni Fanfani in 2018)
A second performance took place in the same location with a private audience consisting of students from a local university. The poetry recital and live coding improvisation was similar to the first performance, but the robots’ activity was simpler in that they were given an initial walking movement and left to wander unaided among the audience during and after the performance.
AlgoMech maypole performances
The third and fourth performances occurred during the 2019 AlgoMech festival.5 Here we used a maypole to include a form of tangling or braiding into the results of the robots’ movement, incorporating all the elements of poetry, dance and weave inherent in ancient Greek performances. The location was the Sheffield Winter Garden – a covered public garden in the city centre, and the performing lasted over the course of two days. The audience on both days consisted of a mix of engaged festival participants and groups who happened to be passing by, from young families to pensioners. The maypole was approximately 3 metres high, with each robot attached with ribbon and arranged in two opposing circular formations. The music, poetry and robotic movements in these performances were all synchronised.
Fig. 15.10 Maypole performance at Algomech 2019, Wintergarden of Millenium Gallery, Sheffield (photo by Giovanni Fanfani in 2019)
Before and after the performances, the robots were left slowing weaving and unweaving for several hours. During this time passers-by, mostly children, parents and people interested in technology interacted and played with the robots. As we found previously, they found that they could help by guiding them – repositioning them when they became tangled or fell over, and also by changing their direction in order to alter the patterns on the maypole. The tangles and twists left behind represented a record of the movements and choices of previous participants. The robots took approximately half an hour to fill the maypole up, and the same to un-weave back to their starting positions. At some points, up to 12 people were interacting with the installation together, while others sat patiently watching the progress of the weaving2 for several weave/unweaves.
Dancing together safely around a maypole
Having worked extensively to make the most of tangible and tactile forms of technology, we found in 2020 that we had to re-evaluate our approaches during the coronavirus pandemic. The necessity of social distancing and new acceptance of online streaming gave us an opportunity to adapt the maypole performance with the development of ‘Yarn blocks’ and work on a far more accessible and direct form of interaction with the robots’ underlying code.
This activity took the form of a lecture for Masters students covering the historical and critical underpinnings of the Penelope project, followed by a maypole workshop. The students, who had no previous experience of programming, were split into two groups of 8 and 7 people, so we could assign individual robots to everyone. These two sessions lasted 90 minutes, and participants could start by sending code to flash the LED on their robot to make sure they were looking at the right one. They progressed from simple remote control of their walking behaviour to coordinated and timed actions in conjunction with the other participants. At the end we could inspect the tangle/weave that resulted. Due to the greater complexity and therefore freedom of movement of the robots, all behaving differently, these tended to be more complicated (and take longer to unwind) than the previous single direction twisting.
Feedback from the students included the desire to have individual camera views for their robots, multiple camera angles and many more robots and participants.
Conclusion
Several practical observations can be made for the use of Penelopean robots in the context of historically embedded live coding performance. The woven structure and electronics survived hours of play and interaction with small children – the flexibility of their tablet-woven construction meant they could cope with the dangers of a public space including being occasionally trodden on or knocked over. The batteries lasted for the entire duration of the installation and could be recharged overnight.
Fig. 15.11 Remote maypole coding-dancing as part of a lecture on weaving and code (screenshot by David Griffiths in 2021)
More importantly, both the performance and installation worked as a kind of public intervention to encourage discussion – particularly amongst the less ‘already engaged’ passers-by who were not expecting to see such a spectacle during their normal daily routine.
Discussions often began with the nature of the robots themselves, a comparison with more ‘scary’ depiction of robots presented on film or used in military research. Topics cropping up in discussion included whether these robots contained artificial intelligent algorithms, and what the meaning or expectations of that really was. Importantly, the woven technique could be recognised by people with a background in textiles, and the familiarity of material in general meant that people were likely to pluck up the courage to pick the robots up for closer inspection. There seemed to be a general feeling that they ‘could probably make them if they wanted to’ – which represents an important and distinct response compared to most contemporary technological devices.
Longer discussions were had on the nature of work, the history of technology and its disruption, particularly in Sheffield which has an industrial history of significant technological change well within living memory. The ancient Greek topics were surprisingly present in many discussions with the younger audience, relating it to their school education.
The development of the remote maypole weaving, although an adaptation made necessary by the pandemic, represented an important step, as for the first time we could provide participatory live coding of a robot to create a weave.
. . .
Our maypole robots provide a way to present weaving as a complex technological feat, one where the weaver’s role becomes one of managing a collection of robots that seem barely up to the job – to the extent that they even require additional human assistance to occasionally help them out. The ‘automata’ are now in clear view, not to be confused with the humans, who are still very much required. The ‘weaving’ itself, can barely be called that: it is more a collection of tangles. While it would be possible to design more complex choreographies, capable of weaving more consistent braids, this seems less important than the overall message.
We know very little about the choral dances of Greek antiquity. Only tantalising hints from ceramic vase painting and frieze sculptures remain, alongside incomplete texts (Fanfani 2018). These robotic performances can also be seen as a type of experimental archaeology, where we try to fill in some of the gaps in our knowledge with contemporary technology, designed with much care – but representing a clear and humble admission of a lack of knowledge. This allows us to invite our audience to suspend their disbelief, which leads to further considerations. One of the most important of these is that, by incorporating dance, textile production and music of the ancient world, we are continuing a tradition of transdisciplinary life. In some ways this is the most challenging and even jarring aspect for us to understand and accept today – that in the past, people inhabited a world where intimate knowledge of the materials and techniques needed for their civilisation, textiles included, was diffused throughout society (Öhrman, 2018). This meant that their technology could form a central role in their philosophical framework, with weaving specifically expressing the notion of ‘cosmos’ via the interlacing of warp and weft (Harlizius-Klück and Fanfani 2016). This compares with the rather fragile system of specialist technological knowledge that exists today (Guzdial 2019), and the challenges we face with its uneven distribution that can be problematic for social cohesion (Wylie, 2020).
Endnotes
1 In an interview with Sam Hart, critical engineer Julian Oliver argues that we should look for seams in technology: ‘The ideology of seamlessness associated with “cloud” technologies, these children’s book metaphors (I would argue patronizing metaphors), are intrinsically disempowering and are designed as such. So if you can actually produce the seams that tie these technologies together, then you are being culturally, socially, and critically productive.’ http://avant.org/artifact/julian-oliver/.
2 Fanfani and others 2020; see also McLean’s chapter 13 ‘Algorithmic Patterns’ in the present publication.
3 Then Try This replaced the name FoAm Kernow under which we began our cooperation with the Penelope project.
4 In September 2018, the Bolivian weaver and media artist Sandra De Berduccy worked in the Penelope laboratory to produce an interactive textile installation while the project team explored the algo-rhythmic and arithmetic properties of ancient pattern weaving and choral lyric. The final exhibition, entitled ‘AWAY | TAKIY – Raise the Curtain for Weaving’ presented her artwork as well as an experimental interactive performance with the pattern-matrix-controlled Penelope robots dancing to the algo-rhythm of ancient Greek poetry. The exhibition functioned as a pre-opening to RODEO Munich, a dance festival supporting our collaboration. In addition, the visit of De Berduccy was funded by a residency at the Ebenböckhaus of the city of Munich, and by the Goethe Institute Bolivia.
5 The third AlgoMech Festival on Algorithmic and Mechanical Movement took place in Sheffield, 17–19 May 2019, see https://algomech.com/2019/.
References
Bovermann, T., and D. Griffiths, ‘Computation as Material in Live Coding’, Computer Music Journal, 38.1 (2014): 40–53.
Collingwood, P., The Techniques of Tablet Weaving (Brattleboro, VT: Echo Point Books & Media, 2015).
Collins, N., A. McLean, J. Rohrhuber, and A. Ward, ‘Live Coding in Laptop Performance’, Organised Sound, 8.3 (2003): 321–30. https://doi.org/10.1017/S135577180300030X.
Fanfani, G., ‘Craftsmanship and Technology as Chorality: The Case of Weaving Imagery in Archaic and Classical Choral Lyric’, Dionysus Ex Machina, 1.9 (2018): 6–40. https://doi.org/10.5281/zenodo.2553430.
Fanfani, G., D. Griffiths, E. Harlizius-Klück, A. Mamidipudi, and A. McLean, ‘(Micro-)Performing Ancient Weaving in the Penelope Project’, Performance Research, 25.3(2020): 123–30. https://doi.org/10.1080/13528165.2020.1807772.
Faubel, C., ‘Machine-Machine Communication without Hierarchies and Protocols’, Proceedings of the Fourth Conference on Computation, Communication, Aesthetics and X, (Bergamo, 2016): 201–10.
Garreau, J., ‘Bots on The Ground’, 6 May 2007. http://www.washingtonpost.com/wp-dyn/content/article/2007/05/05/AR2007050501009.html.
Guzdial, M., ‘Computing Education as a Foundation for 21st Century Literacy’, Proceedings of the 50th ACM Technical Symposium on Computer Science Education, 502–3. SIGCSE ’19. New York, NY, USA: Association for Computing Machinery, 2019. https://doi.org/10.1145/3287324.3290953.
Harlizius-Klück, E., ‘Against All Odds: Pure Science and Ancient Weaving’, in K. Grömer and F. Pritchard, eds, Aspects of the Design, Production and Use of Textiles and Clothing from the Bronze Age to the Early Modern Era: Nesat XII. the North European … in Hallstatt, Austria, Bilingual edition (Budapest: Archaeolingua, 2015): 271–77.
Harlizius-Klück, E., ‘Weaving as Binary Art and the Algebra of Patterns’, TEXTILE, 15.2 (2017): 176–97. https://doi.org/10.1080/14759756.2017.1298239.
Harlizius-Klück, E,. and Fanfani, F., ‘(B)orders in Ancient Weaving and Archaic Greek Poetry’, in G. Fanfani, M. Harlow and M.-L. Nosch, eds, Spinning Fates and the Song of the Loom. The Use of Textiles, Clothing and Cloth Production as Metaphor, Symbol and Narrative Device in Greek and Latin Literature (Oxford: Oxbow, 2016), pp. 61–99. https://zenodo.org/record/840005.
Harlizius-Klück, E., ‘Das Penelope-Labor’, in A. Schmölder-Veit and N. Schröder-Griebel, eds, Lebendiger Gips: 150 Jahre Museum Für Abgüsse Klassischer Bildwerke München, (Munich: Propylaeum, 2019), pp. 166–71. https://doi.org/10.11588/PROPYLAEUM.549.
Kinzer, K., ‘Tweenbots’. http://www.tweenbots.com/ (accessed 30 April 2021).
Latour, B., An Inquiry into Modes of Existence: An Anthropology of the Moderns (Cambridge, Massachusetts: Harvard University Press, 2013).
Giles, L., Taoist Teachings from the Book of Lieh Tzŭ (London: Murray 1912).
Maloney, J., M. Resnick, N. Rusk, B. Silverman, and E. Eastmond, ‘The Scratch Programming Language and Environment’, ACM Transactions on Computing Education, 10.4 (2010): 16:1–16:15. https://doi.org/10.1145/1868358.1868363.
McLean, A., G. Fanfani, and E. Harlizius-Klück,‘Cyclic Patterns of Movement Across Weaving, Epiplokē and Live Coding’ Dancecult. Journal of Electronic Music Dance Culture, 10.1 (2018): 5–30. https://doi.org/10.12801/1947-5403.2018.10.01.01.
Öhrman, M., ‘The Singing Loom: The Importance of Textile Production in the Roman Domestic Soundscape’, Archaeoacoustics Lll: Proceedings of the Third International Multidisciplinary Conference, 3 (OTS Foundation, 2018): 143–50. http://www.otsf.org/contact.html.
Priest-Dorman, C., ‘Scutulis Dividere Gallia: Weaving on Tablets in Western Europe’, Creating Textiles: Makers, Methods, Markets. Proceedings of the Sixth Biennial Symposium of the Textile Society of America, New York 1998 (Earleville MAD: Textile Society of America, 1999): 51–60.
Seraj, M., E._S. Katterfeldt, K. Bub, S. Autexier, and R. Drechsler, ‘Scratch and Google Blockly: How Girls’ Programming Skills and Attitudes Are Influenced’, Proceedings of the 19th International Conference on Computing Education Research, Koli Calling ’19 (New York: Association for Computing Machinery, 2019): 1–10. https://doi.org/10.1145/3364510.3364515.
Wylie, C., Mindf*ck: Cambridge Analytica and the Plot to Break America (New York: Random House, 2019).