>> So... Before I was a programmer
who loved fiber arts,
I was a textile designer
who really loved computers.
And while I was studying textile design,
I learned that the history of weaving
technology is actually totally critical
to the development of computers
the way we use them today.
If you've never gotten to experience
learning that two things you really
like are actually closely related
when you thought they didn't have anything
to do with each other,
it's a really awesome feeling
and it's super exciting.
So what I'm hoping to do is explain
a little bit about how weaving works and
why I think weaving is cool, so you can
understand the relationship between
weaving and programming and get to
experience a little bit of this excitement
for yourself.
So what is weaving in the first place?
Weaving is one of the most common ways
that you can take yarn and turn it
into fabric. Knitting is the other one.
Knitting uses one really long piece
of string and loops and makes it stretchy.
Weaving uses lots of pieces of string
and interweaves them together
and makes them not stretchy.
So your jeans are made out of woven fabric
and your T-shirts probably out of knitting.
There we go.
So a woven fabric has two categories of
yarn. There's the warp, which goes up
and down and is highlighted in blue
here, and there are lots of those. They
run parallel to each other along the
length of the fabric. And there's the
weft, which is one long piece of thread,
or maybe multiple pieces of thread
to make different colors, that runs back
and forth and interlaces between the
warp threads. If you've ever done
this grade-school craft project
where you cut strips of paper, that's
basically weaving, and making this
fabric called plain weave. That's the
simplest way to make a woven fabric.
And this is the simplest kind of loom,
called a tapestry loom. It's basically
just a frame that holds a bunch of warp
threads tight for you. And if you look
at this picture, you can get an idea of
how slow and tedious making something on
a tapestry loom can be. You're taking
your hands or maybe a fork or something.
And you can make incredible things this
way, but it'll take a really long time
and be really tedious.
So people tried to invent looms that
were faster and allowed you to make more
complicated fabrics more easily. So this
is a loom with harnesses, which are
basically frames that hold a bunch of
warp threads together in a group. And
those frames are connected to pedals, so
you can press the pedals in a specific
order, and it'll allow you to lift
different groups of warp threads.
But you're still limited in the
complexity, because mechanically, you
can't have that many frames and you're
limited on the number of warp threads
you can lift at a time. But in a loom
like this, you can draw out a plan for
how you're going to make a fabric.
This is like source code for a fabric,
called a draft.
In the center of the draft, you have a
grid, and that represents -- each square
is an intersection of a warp and a weft
thread. The horizontal rows are one pass
of the weft, and each vertical row is
a warp. The weft is on top if it's red.
White is on top if it's weft. You can see
that a woven fabric is representable
as binary. All you need to know is,
is the warp is on top here, or is it
underneath the weft?
The top part of this diagram is
telling you which harnesses each warp
thread should be connected to.
So each horizontal row is a harness.
The top left part is how you connect the
harnesses to the pedals. That's something
you can change depending on the fabric
you're trying to make. And the left side
tells the weaver what order to press the
pedals. So you can make complicated
fabrics this way. There's a lot of
things that are possible. But each time
you want to change it, you have to
reconfigure the loom. Hooking up the
pedals a different way, or taking off
the warp and rethreading it, which can
take hours and is really tedious.
And you still can't get something as
detailed as a tapestry fabric.
So people continued to try and improve
this, and a lot of people made efforts,
but this is the most successful.
This is Joseph Marie Jacquard. In 1821,
he invented a loom that is still called
the Jacquard loom.
It uses a series of punched cards
to record which warp threads should be
lifted in a pattern. Each warp thread
was connected to a hook. If the hook could
poke through a hole in the card,
then that warp thread was lifted.
So you could each each warp thread
individually, and you could change
the entire pattern you were weaving by
swapping out cards, without having to make
any changes to the loom.
In fact, that picture I showed you of
Jacquard is a Jacquard fabric
that was woven to show off.
This took 24,000 cards to weave.
I think it was about this tall.
But you can see in this close-up
that there are interesting parallels
between bitmap raster images we make
we make on computers today
and woven fabric.
There's a pixel happening here.
There's dithering. And if you have
multicolor fabrics, you can use
optical mixing to make an illusion
of having more colors than you
really do. So if you're familiar with
how early computers work, you might see
this connection about to come together.
So here we have Charles Babbage, the
English scientist and inventor.
He loved this portrait of Jacquard.
He owned multiple copies of it, and
He liked to show it to party guests
and ask how it was made
and then kind of laugh at them
when they guessed wrong, because--
(inaudible - audience laughter)
So in 1822, he started developing
this machine called the difference engine,
which could basically do arithmetic.
It was totally mechanical,
and a lot like early looms,
you had to kind of reconfigure the
entire machine to do a different
calculation. And this picture and the
next picture -- he never managed to
finish these, but people have created
replicas of them in modern times, and
they actually do work. So he wasn't
happy with that. In 1837, he started
this new project called the Analytical
Engine which would be much more general
purpose. It also used punch cards for
input, and Babbage wrote that he was
directly inspired by Jacquard's looms
using punch cards as well.
The Analytical Engine used two different
sets of punch cards. One was the input,
basically variables, and the other was the
operation. So you could change the input
and the operation independently.
Ada Lovelace was also really interested
in Jacquard looms and the Analytical
Engine. She translated an Italian paper
on the Analytical Engine and wrote
a lot of notes that ended up being longer
than the paper itself. Her notes included
the first computer program, and some
suggestions for improving Jacquard looms
by making them capable of doing loops,
much like a computer program would.
It also includes this awesome quote,
which is the thesis of my talk:
But then there's kind of a pause in the
development of computers for a while.
Charles Babbage lost funding and never
finished either of his machines and Ada
Lovelace died young, so nothing happened
for about 100 years. But then we have
this guy, Herman Hollerith, whose brother
owned a Jacquard mill in New York.
In 1889, he invented this machine called
the tabulating machine that used
punch cards to record information
and calculate sums.
So it was used in the 1890 census,
and each person would have a card
and you could feed this into the
machine and it would tell you how many
people were male or female, and do all
this much faster than previous, which
was just done by clerks, hundreds of
clerks in a room for months and months.
So he sold this machine to a company
called the Computing Tabulating
Reporting Company. But it turned out
that this machine he built was the most
successful product they had and they
decided to change their name in 1924,
to one that will probably be more
familiar to you, IBM.
IBM sold punch card machines for a
really long time. Well into the 1980s.
And in the '30s, they were selling
3 billion punch cards a year. Their
machines could process 30,000 cards an
hour. As an aside, if you've ever
wondered why 80 characters is the
default width for a terminal, it's
because these punch cards have
80 columns on them.
After that, there's a lot of other
advances in computing that you're
probably more familiar with. That's
ENIAC, the personal computer, smart
phones, and all that stuff. But
actually, we can bring things back to
weaving again, because once computers
existed, then computers could be brought
back to help weavers make more awesome
things too. So in 1983, the first
computerized Jacquard loom was invented.
I've actually worked on designing these,
and this picture does not do justice to
how gigantic this is. If you look at the
ladder, that's twice the height of a
person. The looms run their own versions
of UNIX and have hard drives and all
this stuff. There's super elaborate CAD
software that allows you to design
fabrics like this.
And the combination of weaving and
computers together allows you to make
really beautiful, complicated things,
like you could never make with those two
things separate. So I hope you enjoyed
this little bit of computing history
and fiber nerdery. Thank you!
(applause)
Subtitles by the Amara.org community
