Coming in at a measly 2.39 MB, the 1993 videogame Doom has been played on everything from digital cameras to pregnancy tests (yes, really). There are entire blogs and subreddits dedicated to cataloguing the strange and wonderful ports of the first-person shooter. The technology that lead to the “it runs Doom” phenomenon can be traced back to one of the earliest human technologies – weaving.
At its core, weaving is the process of overlapping fibers to create a stronger, more durable fabric. The vertical threads, the warp, are held stationary while the horizonal threads, the weft, are woven under and over the warp in an alternating pattern. More complicated patterns can be achieved by changing the number of warp threads that are held above the weft. The earliest evidence for weaving dates to the Upper Paleolithic, between 20,000 and 28,000 years ago, when fabric left an imprint on wet clay. Since then, weaving has change a bit. Technological developments have changed weaving – particularly of patterned cloth – from a highly skilled profession, requiring many people, to an automated process that most people never interact with. The simple over-and-under pattern of warp and weft threads directly inspired the creation of a binary language for computing.
The Jacquard Loom, developed in 1801, is often considered the first computer. Before this invention, complex woven patterns required incredibly skilled workers devoting hours of time to creating patterns by hand. Assistants would have to sit on top of looms to manually raise and lower threads to create a colored pattern. To use the Jacquard Loom, a pattern was painted onto a gridded paper and then translated to punch cards; these cards were held together in a belt and attached to the Jacquard loom. These punch cards held the instructions for changing the pattern of the threads and created replicable patterns in fabric. Ada Lovelace, a mathematician and the first computer programmer, was inspired by the loom stating, “We may say most aptly that the Analytical Engine [a precursor to the computer] weaves algebraical patterns just as the Jacquard-loom weaves flowers and leaves.”
Binary representation – 1s and 0s – used in modern computers comes from the punch cards that were used in weaving. Using this basic binary structure, large quantities and varieties of data can be stored. This same approach was used to create the rope core memory in the Apollo missions. The “Little Old Lady” memory was created by weaving individual copper wires through or over tiny magnets to create the binary code used in these space missions. The women who created these rope cores were hired specifically for their sewing skills.
The technology of weaving has been passed from the earliest humans to today. It started 28,000 years ago and launched modern computing. Each thread holds a piece of information. And weaving? Yeah, it could run Doom. If you were to knit it, it would work out to a reasonable 3,300 square feet of knitting.