Softwear: A software art exhibition by Nadia Campo Woytuk

26 October 2020 - 28 November 2020
This project is part of re|thread︎︎︎
Project blog:︎︎︎
Article about Softwear on︎︎︎

Special thanks to my colleagues in the software department and to Marie Louise for helping with the text for the exhibition.
Through different works of knitted software art the “Softwear” exhibition sheds light on the shared nature and historical connection between software and knitting.

In three artworks made with software and a knitting machine, code and yarn come together to blur the boundaries between what is soft and what is hard, challenging the gendered associations of both computing and textile. The artworks build on feminist theories and curious encounters with technology, and ask the viewer to look for patterns and deviations of ones and zeros, repetition, symmetry, randomness, and manual embodied labour.

By deeply entangling software and knitting, the exhibition seeks to demystify the pasts, presents and futures of computer science, making the field more approachable to those who have been historically pushed away.

"The Analytical Engine weaves algebraic patterns, just as the Jacquard loom weaves flowers and leaves"
      ― adapted from Ada Lovelace’s notes from 1842.


The pieces in this exhibition have been knitted in cotton yarn using a Silver Reed SK840 knitting machine and DesignAKnit software. The code that generates the patterns was written in Javascript, using the open-source library p5.js. The piece “Ada’s Sol” uses Java and Processing.
Artist Talk:

“Exploring feminist entanglements of software and knitting”

Ada’s Sol

Nadia Campo Woytuk and Nicolas Harrand

The Analytical Engine is considered to be one of the very first computer designs. Although it was never fully built, its design was inspired by the Jacquard Loom, and data was inputted into the machine via punchcards - a technique that is still used today in modern knitting and weaving machines. To demonstrate how the Analytical Engine worked, Ada Lovelace wrote examples of programs that the machine could run. This knitted piece represents a well-known example, Note G. Based on this work, Lovelace is widely considered to be the first computer programmer, and her method is recognized as the world's first computer program.

Note G computes the first n odd Bernouilli numbers. The note shows a table where columns are variables, and each line indicates how each step of the program changes the values held by each of the variables.

The left-most columns contain the input parameter, the middle section contains intermediate values that the program needs to compute in order to obtain the desired values in the rightmost columns. These last columns contain the Bernouilli's number that the program is designed to compute.

These values are represented in the knitted pattern. Each value is a fraction of a natural number.

You can observe the first line and see the numbers on the first three columns: 1 / 1, 2 / 1, and 1 / 1, as well as the first values computed by the program, in the following three columns: 2 / 1, 2 / 1 and 2 / 1. After many steps, the program computes the first Bernouilli number (1 / 6) in column 21. This value will then never change. Then the third Bernouilli number (-1 / 30) appears in column 22 and so on. On the last line, at the last column, the value of the fifth Bernouilli number (5 / 66) appears.

Find the full code at︎︎︎


An exploration of juxtaposing symmetry and randomness, fabricated with digital and physical, soft and hard materials. The patterns on the screen are randomly generated every few seconds, but always maintain a symmetrical shape.


The code for Symmetries is live here:

Cellular automata ::: rule 30

A cellular automaton is a pattern created on a grid of cells where the next row is determined according to a set of rules based on the neighboring cells.

In this knitted piece, rule 30 is used. For example, if the current cell is ︎  and with its neighbors it looks like ︎︎︎, then, according to rule 30, the cell below it in the new row will be ︎.

Wolfram MathWorld

The long print hanging next to the knitted piece is a JSON file containing the USB trace of the communication between the knitting software and the knitting machine.

SOFTWEAR blog: thoughts, notes and design process documentation


conductive thread & making a knitted speaker

qr code knitting

knitting process

exploring knitting software formatsexploring the hardware for the knitting machine