beanz Magazine

Textiles and Text Files

sand_and_sky on Flickr

Join us as we weave together how looms and binary data are comparable!

Textiles are one of the most ancient art forms humanity has created, with the loom — an instrument for weaving fabrics — being invented before the invention of writing, perhaps even as old as 10,000 years ago.

What’s amazing, though, is that this ancient device ties into the history of one of the most defining modern human inventions: the computer.

In this article, we’ll be exploring both how weaving technology influenced the development of computers, how computers are also influencing textiles, and how patterns of weaving and programs are similar in the right light.

First, we need to explain how weaving with a loom works. Weaving involves a mix of horizontal and vertical threads. The vertical threads, called warp threads, are fixed in place. The actual weaving is done by working horizontal threads, called weft threads, through the warp threads. For every warp thread, there is a choice of whether the weft thread should go above or below the warp thread. It’s a binary choice, I pointedly say peering over my glasses, hinting at the connection we’ll discuss further on.

The actual patterns of the fabric are given by these choices of overlap, creating a kind of grid of colors almost like pixels like in the image below:

SEN Heritage Looms – Sophia Tsourinaki, CC BY-SA 4.0, via Wikimedia Commons

So in summary, you can think of each line of the fabric as being encoded by a sequence of binary data — up and down or just as easily one and zero — to create the pattern.

In this way, a loom was the first example of a kind of programming!

The first loom to explore this idea was Jacquard Loom, an invention of the early 1800s, which used a sequence of cards that had lines with a pattern of holes punched in each. These punch cards encoded the binary decision of how the weft thread should move above and below the warp threads. A hole encoded that the warp thread should be moved up above the weft thread, a blank spot in the card meant that it should stay down. In other words, holes encoded a one and a space a zero.

With this, a designer could create patterns for textiles that could be reused and replicated: clearly a form of programming!

In fact, this punch-card-as-binary-number encoding was so useful that it was the basis of most programming in the early history of computers!

Programs were typed on what looked like a kind of typewriter, which would type both the code in characters that a human could read and punch out the appropriate holes in the card to encode the line of code as ones and zeros.

This way of programming computers, with huge stacks of punch cards just like the huge stacks of punch cards used for Jacquard looms, was the main way computers were programmed up through most of the 1970s!

So that’s one direction of connection between weaving and computers, but it also goes the other direction!

Since a loom itself operates by something that looks a lot like binary numbers, then you should be able to control looms with a computer. This is exactly what some people have done: building programmable looms, like in the project linked in the further reading of this article!

But there’s so much more! One of my favorite projects, one that fits into the idea of art in partnership we talk about in another article this issue, is a loom where code generates the patterns for the loom, and even lifts or lowers the warp threads as needed to fit the pattern, but a person does the weaving by hand and has the ability to override the computer’s pattern at any time.

It’s such an amazing inversion of the typical relationship between computer and creation, one where you the human practice the actual craft but in conversation with the computer, that in turn is running the code you wrote and sharing the implications and surprises of it with you.

So, yes, there are wonderful still unfolding relationships between one of the oldest technologies and one of the newest through an interwoven future.

Learn More

The live coded loom project

Computer controlled loom

How punch cards for computers worked

An easy loom making project

History of the loom

Weaving in the ancient world

The Jacquard Loom

Power Loom

Weaving paved the way for computer coders

How industrial weaving gave us the computer (video)

Women’s Work from weaving to computer programming

Weaving with computers

Also In The October 2021 Issue

30+ ideas for STEAM-theme gifts for kids of all ages!

Everyone knows the difference between saying, “Let’s eat, grandma!” and “Let’s eat grandma!” Computers don't.

Join us as we weave together how looms and binary data are comparable!

Time for lesson two on how to make a fairy tale in Scratch!

Meet a 'Colossus' in the world of early encryption!

We all use fonts yet rarely notice they are designed. Here are some interesting details to help you notice fonts.

Looking to put your programming skills to the test? It may be time to join an open-source project!

Exploring the relationship between operators, negation, and exclamation points!

What is a G and why do we have 5 of them now? Find out through this quick history of cellular data!

Links from the bottom of all the October 2021 articles, collected in one place for you to print, share, or bookmark.

A collection of fun and inspiring stories from October 2021.