>> Donald Brinkman: Hello everybody. Thank you for... pleasure to introduce Nick Montfort. And he's going to...

advertisement
>> Donald Brinkman: Hello everybody. Thank you for coming out today. It is my absolute
pleasure to introduce Nick Montfort. And he's going to be giving a talk on his book, 10 print
CHR string[dollar sign] 205.5 plus RND one go to 10, truly one of the most incomprehensible
book titles, but actually one of the most elegant book titles that is in existence. This book, as
many of you know, is a discussion, it’s close reading in the humanistic tradition of a one line
program on the Commodore 64, which you can see up here, and just, if you haven't noticed
already, this is not an emulator. We actually have a Commodore 64 running on our podium
through a composite video connection. So everything you see here is truly the way the original
works. It makes me very happy. I think this book is tremendously important not just for digital
humanities but also for computer science. And for a couple of reasons, and one is, of course,
that it's applying these techniques of humanistic study to computer science and thinking about
programs and programming languages as languages like English, French, Portuguese, or
Cherokee; they possess a lot of the same challenges and opportunities, and we can look at
them through the lens of art philosophy, you know, translation and other ideas, but also, very
important, is that Nick is not the sole author of this book. This is a 10 person collaborative
endeavor, and it's not an edited volume where each author holds a chapter. This was done in a
very tightly collaborative nature, which is inspiration not just to the humanities, which is
oftentimes where articles and books are written by single author, but even to those of us in the
sciences as a very great, terrific example of close knit collaboration. I'm not going to say much
more, just that Nick is an associate professor of media studies at MIT. He does work in
constrained and computational poetry, computer, he writes computer games, and writes on
the nature of software and society. And so without further ado, let's give him a warm
welcome.
>> Nick Montfort: Thanks very much. So Donald, thanks very much. I am delighted to be here,
and I'm also delighted that after at least a dozen times before and after this book's publication,
speaking about this program, that you are the one person, so far, who has actually pronounced
the title of the book in full in introducing me. So the book is 10 print CHR string[dollar sign]
205.5 plus RND one go to 10. And I want to acknowledge the people who wrote it with me.
The book is by myself, Patsy Baudoin, John Bell, Ian Bogost, Jeremy Douglass, Mark C Marino,
Michael Mateas, Casey Reas, Mark Sample, Noah Vawter. And I'll talk some about the process
of writing this book and how I think that the models for collaboration laboratory-based work,
conversation, leading to positive outcomes, which people know quite well here at Microsoft
and Microsoft research, they know many computer science departments and other context at
universities throughout the US and around the world, can inform the work that people are
doing in the humanities to connect things like digital media, like code, to culture and the world
around us. And to understand these better in those contexts.
So I mentioned a few things though, to begin with about who my collaborators are, how it was
that we met, posted this program two years ago at the critical code studies workshop that was
online, and these are these collaborators of mine are the people who responded, for the most
part, to my call for discussion about it. People looked at computer programs and thought that
perhaps if they were provocative, if they were something a queried database of potential
terrorists or if they related to different work processes and this was very visible and comments
and variable names and other aspects of the program, then, in that case, they might be
interesting. These may be the programs that we focus on. And so I put this program out as a
very short program, which doesn't have any comments, it doesn't have even any variables and
variable names. We don't know who wrote it; we still don't know if it has a corporate author,
which is Commodore Inc., but we don't know the person who wrote it after writing the book. It
doesn't do anything startling or threatening or any more provocative than presenting a visual
pattern. But we were interested to investigate it and we found that there was a lot to say. In
fact, about 300 pages’ worth.
So I worked with people including the librarian, a sound artist, some people I collaborated with
before, including one person I've written a book with before, people who are artists, you know,
working internationally, co-creator of the processing language, Casey Reas, he’s also the one
who designed the book. And many other people who are academics in my field of digital media
and working as faculty and different places throughout the US. So I do want to mention that if
you're interested in reading the book, if I don't blunt the interest that you already expressed by
coming here in my talk, that you certainly can pick up a beautiful instance of the book itself, but
you can also download it, we made it available at 10Print.org. And it's available there as a PDF,
and we had hoped to be able to share the book just as freely as its original program was shared
with other people and the ways that it was transformed and thought about and the ways that it
provoked people. We hope that our text would do some of the same thing. So let me ask what
reaction you have to the output of this program? What word, phrase might come to mind,
what concept?
>>: Nostalgia.
>> Nick Montfort: Nostalgia is a good one. Nostos algos. People that ache of homesickness,
you know, and so that's certainly one of the aspects. That's a way that people have looked at a
lot of really gaming experiences and home computing experiences. That can also be a way to
dismiss things that are interesting about maybe this as a program itself and aspects of that time
and aspects of computer experience, right? So we can certainly think about this as nostalgic.
And this is a program that I, myself remembered from my days using a Commodore 64. When
we started working on this project we didn't have a printed source for this program; it's just a
version of it that I knew, that we started talking about. And it certainly did hearken back to a
time of exploration and a joyful time for me. But I think also we were all interested in looking
at not limiting ourselves to the perspective and nostalgia, of trying to see what it was
historically, not just in our current memory, what it was from a standpoint of design, from a
standpoint of art that might be interesting about this. Are there other words? As to what this
is or what it represents?
>>: Random.
>> Nick Montfort: Random. And is it truly random? Yes, this is a great question.
>>: It's a maze.
>> Nick Montfort: It's a maze. Yes. So, I mean, the idea of randomness here is very interesting.
So this is one of things that we discuss in the book, in fact we have a chapter of the book
devoted to randomness. Now talking about randomness in the arts, the way it worked in
process-based computational modern art, up through considering how it functions in useful
applications in cryptography and in the generation of [inaudible] and computer graphics and
things like this. One of the things, randomness is a really intriguing concept, a very powerful in
the arts and greatly of interest to people in the humanities. But there’s a lot of questions of
what exactly do we mean matter randomness? So there's competing definitions that we might
say the most concise, the link with the most concise program that can generate this pattern,
you know, or we might talk about unpredictability. As it happens, this program, let's see here,
this program is random in the sense that it's pretty hard to guess what the next left linear, right
leaning line is going to be.
If you're just coming up, if I were to break this program, and I were to start running it again, the
first thing it’s going to print is going to be a left leaning or right-leaning diagonal line. Which
one is it going to be? I think we’d have a hard time guessing that unless someone is able to
follow as with an emulator. Right? So in that sense is quite random. However, it is
pseudorandom in the sense that it’s seeded with the same value, this doesn't have a real-time
clock, it's a deterministic sequence such that any time we turn on any Commodore 64 hardware
or emulator and run this program, we'll get the same pattern. That's not destructive of the way
it looks. That doesn't make it seem unappealing. Oh, it looked good before, but now we don't
like it. Right? But it has some utility, obviously, in that we are using other sorts of programs
and we were wanting to test how they performed if we repeatedly run them, obviously it’s a
good thing to be able to have a sequence that is nonregular, somewhat unpredictable, but can
be repeated the same way.
So one of the things that we discuss in the book is a relationship to various artistic practices,
and things like, for instance, why computers generate random numbers at all. I mean, the sort
of cultural model of the computer certainly in the 1950s was not that the computer is going to
be a really good source of random numbers for us, it’s that it would correct compute bills that
we owe and are going to be sent to us, would predict the weather properly, would does all the
sorts of things that involve the correct calculation. Randomness was the first approximations to
randomness are documented John von Neumann, developing randomness as a developing
pseudorandom polynomial counter approximations to randomness in the context of the
hydrogen bomb development.
So it wasn't a playful sort of a dice rolling concept that led us to this type of randomness. The
other thing I would note about this is that this is definitely the sequence of right linear, left
linear diagonal lines. I try to avoid calling them right slashes and left slashes, I mean
backslashes, because this is actually the slash character on the Commodore 64, this is the
character that's used, and this is the other left-leaning diagonal line that's used. And there is
backslash on the Commodore 64, a sort of extended ASCii or Petski character set. So these two
characters that are being generated here are being generated, one might say, uniformly at
random. We pick or at least to an approximation of that. We are picking which of the two
characters will be shown at random. Well, for one thing, we could change that. We could have
them generated some other way. What if I change this .5 to .1 and then run the program? The
pattern is similar in certain ways, obviously, but it doesn't really look like the same jumbled
confusion. What we're getting is that left-leaning diagonal line is occurring nine times as often
as the right; we are still picking from the same set of two characters, but we changed the
distribution. We can change it further if we like. And see what it looks like. We can, you know,
learn by doing. I don't know of any introductory statistics lecture or article that is as compelling
as being able to play with this program for a little bit and see that you keep this set of two
characters, you're choosing the same, you change the distribution, and the visual effect that
you get differs.
So we also might notice though, that in addition to randomness, this program is taking
advantage of a great deal of regularity. We are only choosing among two characters. We could
choose among, if we wanted to, a much larger number. I won’t try to mess this up by going all
the way to 256, but let's look at say 30 more characters, for instance. And we get a very
different effect. Right? So our constraint, our choice of only two characters produces a very
different visual pattern. So we might, this might be appealing in a certain way to us. It looks like
we crashed ultimate three or something maybe. But it's not the same type of effect in leading
the i in particular ways showing longer and shorter passages that we would see here. So having
only two characters and choosing between them, and also choosing uniformly at random,
having a distribution that's evenly weighted, better types of regularity. Another type of
regularity is that all this is happening on a grid. Right? So we're given a 40 character wide, a 24
character high grid of characters. Does anyone notice anything odd about the way these
characters are being produced? Dot, dot, dot. So what's happening here at the bottom is that-
>>: [inaudible].
>> Nick Montfort: Yes. The displace moving them up, scrolling them up two lines, filling in the
two lines, and then scrolling up two lines again. That's sort of odd. And it has to do with the
Commodore 64 having a logical internally represented 80 character line but a physical display
that's only 40 characters wide. And I'll mention some about why it's got that 80 character line
in a bit. But I want to mention a few other things about the types of regularity that we see
here. Obviously your regularity of process, the flow control is taking us back and we’re
executing the same instruction again and again. We have a regularity of the pace or rhythm
that this is output at, right? So this actually, even though it is not something that we found in a
famous gallery, it’s not something that's valorized by the art world, it incorporates some
interesting principles that make a lot of art generated by computer, effective in that it balances
aspects of randomness with a framework of regularity and aspects of regularity. It's making,
actually, it's using here literally, a bit of randomness in the sense of one bit of randomness. It's
only choosing between these two characters, the left and right leaning diagonal line.
So, Donald you mentioned the program’s a maze or a maze [phonetic]. Do we have any
detractors, maze detractors in the audience, people who say this is not a maze? Because this is
a reaction. Okay, one anti-maze. I mean, one position, I don't know whether this is yours, but
one position is that, you know, well a maze is presented as a puzzle that has, it’s possible to
traverse, you can solve it some way, this is a pattern, but perhaps we wouldn't call it a maze.
So the last, the book here is organized with, there’s five chapters and in between each of these
chapters we have remarks that focus on specific code. And the last of these remarks is a
program called Maze Walker, which is basically a 65 line BASIC program for the Commodore 64
that operationally answers this question: is it a maze? It actually takes the image that is
produced, starts on the left-hand side and determines operationally if there is a path to the
right-hand side, one of the things that we can do using computers, using computation to
investigate things. We can generate and test; we can find out whether something is a maze in
that sense or not. So those who find the idea of it being thought of in an offhand way as a
maze as disquieting, we have a program that will show you which of the patterns it produces,
which screens of right-leaning and left-leaning line actually are mazes according to certain
definition and which are not.
But it certainly, we also have a first chapter that deals a lot with the way that, the idea of the
maze is present in Western culture and specifically in computing. Among other things, Claude
Shannon built a robotic mouse called Theseus that was able to navigate through physical maze
spaces. Actually, the intelligence was in the maze and not in the mouse, in this case. It was a
set of relays, it was tripped different ways. We had an early program on the tixo[phonetic] at
MIT called Mouse and the Maze, which presented a maze much like the Experimenter’s Maze,
with the rat moving around in it. And the rat or mouse could, I'm feeling like I'm at Chuck E
Cheese, I forgot whether it's a rat or a mouse, but the creature could go around and consume
cheese, but it could also be given martinis which would disorient it as it moved around. And of
course, mazes are very important in various 2-D and 3-D computer games, beginning with
Maze, A Maze War in the 3-D realm. And so this was a program that, you know, probably had
some specific resonance with things that were interesting about computing.
One of the things though about this pattern is that peculiar capability of it here is this using that
diagonal line. It creates something that is not aligned to the axis of the screen. It's a diagonal
maze rather than an orthogonal maze. And we actually didn't locate in any computer games,
there’s Q-Bird, there's some isometric games and so forth, but prior to this program's existence,
we didn't locate any examples of diagonal mazes that you could actually navigate. Not bad for
a one line program.
So those are some aspects of this related to the maze. I want to mention a few things about
alternatives, other programs that you could write. So instead of using characters 205 and 206,
which are those two lines I showed you, you could use, for instance, characters 195 and 196. In
fact, we could see what the set of characters looks like, what the series of characters look like
between 195 and 198. And interestingly, they are all horizontal lines like this. So we can
modify the program to print any of those lines. And as written, it's printing two of those less
often than the other ones. Right? But we could. So one of the things, there’s plenty of ways,
you know, to very trivially, very simply start modifying this program and looking at what
happens. Here's a look at characters 198. That's not as interesting as I'd hoped. We probably
want that back in there to choose between two of them. So here we have what is sort of the
vertical line equivalent of the program except it’s not really equivalent. So when you actually
make a program like this and you see what it is, you realize well, actually vertical and horizontal
lines can’t meet up the same way that the two diagonal lines can. They can’t intersect in as
many points. So this is an interesting pattern, it looks more like something maybe woven and
less like an architectural structure or less like a pattern, like a maze.
So the point of writing such programs, let's see what we can do, that is not something we can
do, there we go. That's my version of Hello World in this format. But we can experimentally
take a look just as an artist sketching might do. What if something looked like this? What if
something look like this, right? We can treat code in this way. As people trying to figure out,
you know, what's interesting about this program, why do people memorize it? Why did
someone go to school knowing this program, type it in to impress their friends and not some
other program that was equally short? Right? Why was this printed in Commodore Manual
and RUN magazine in 1984. Why has recurred again and again separate from references to our
book on the web? Well, we can look at what the alternatives are and can try to determine
through experimentation and through making, by creating these different programs, we can
see what it is about a particular program, a particular bit of code that made interesting. We can
also, and one of the things we did, in working on this program is we can port this to other
platforms. So it would be possible to write this on other home computers, we did this in
several cases, Apple 2 version, interestingly on the Apple 2 we find that the Apple 2 has exactly
diagonal slash and backslash characters, but they don't meet up. So it doesn't actually read as a
maze pattern. It's a quirk of the Commodore 64, this Pestki character set that had these
graphics that allowed it to work this way. You can implement it in Perl and JavaScript. It looks
much better if you use Unicode than if you use ASCii because Unicode has those diagonal lines.
So through working with this program, not just researching it, which we did, not just talking
about it and theorizing about it amongst ourselves as we did, but also exploring it as
programmers, as makers of code, we really came to more of an understanding about how this
particular program was interesting, and we also uncovered some new ways to think about
code, which I think would apply not just to one line hobbyist era BASIX computer program but
to many other cases.
So I mentioned some things about the code itself. Notable is that it's written in BASIC. It's
written in a programming language that John Kennedy and Thomas Kurtz, working with
undergraduates, developed starting in 1962 at Dartmouth College, became very popular in
many computer use by 1976 there were already people were saying that it was like the dialects
of English. There are many different dialects of BASIC which cannot be understood at times.
Mutually. You know things like this. This is before the time of micro computing. These
complaints were already being placed about BASIC. Of course, BASIC also came to the
microcomputer and the major force behind that was Microsoft. This version of BASIC, the
Commodore BASIC version 2 is a BASIC that derives from the Altair 8800 BASIC. Do people
know who wrote this version of Commodore? I won't make anyone testify, but I'm just curious
if people know who wrote this particular version of BASIC on the Commodore 64. There's two
people at Microsoft. Rick Welland was one of them who did the conversion for 6502 in
Commodore 64, and the other person is Bill Gates. So I was shocking my free software friends
by telling them that I was going to be doing my presentation entirely using Microsoft software
when I came here.
And it's interesting to see this evolution that, you know, when BASIC became the lingua franca
of the microcomputer, there were features like PEEK and POKE, which really didn't make much
sense on a mini computer, you couldn't write arbitrary locations of memory when you're on a
time-sharing system, and other people have processes running, right? But they were fine for
the microcomputer and they were effective, they allowed quick access and creative types of
programming. What we see in BASIC, there’s some features of this program itself that are just
here in the line of code that are quite telling. The first feature to note is this ten, this line
number. Why do you need line numbers? You don't need line numbers, as Microsoft's
demonstrated with QBASIC and several other versions of BASIC. You can refer to things by
label, assembling language has doesn't have line numbers, you know, there's other ways to go
about this. But the line number is very handy if you are editing on a print terminal. If you're
using an ASR 33 teletype, which is what was used at Dartmouth in 1962, 1964.
You can use this line number to, this is going to be very impressive here when I show you how it
works with this one line program, but you can type, you know, list a particular line number, and
you can see that line number. If you wanted to you erase the line number, let's see here, I'll put
line 1 in, I want to erase it, I just type one and then is gone, right? So it's actually that type of
line editing mode in a print terminal, that is one of the reasons you have line numbers at all.
But that doesn't answer why you would have 10 instead of one. And that's because programs
need room to grow and to change. When you put a program in, even a one line program like
this, you might want to put something ahead of that line, as I just did. And this program starts
with line 10 is an indicator that these, even these sure programs that are there not to build an
accounting system or not for some mass purpose, even these short programs are always open
to change, play, modification.
So the next thing after 10, actually the next thing is a space. So it's interesting in BASIC, in the
original BASIC from Dartmouth and also in the Commodore 64 version, spaces are optional.
You can just write this entire program without spaces. You could do that. We could even use
keyword abbreviations if you wanted to on the Commodore 64 to make it really difficult to
understand. Oh, this is a nice trick. We want to write this program very compactly. I can just
use a go to by itself. I don't need to use a line number. Why is that? Because I use line number
zero. So if I don't give it a line number it will go to zero. So this is a perfectly good, as I was
showing you here, this is a perfectly good version of this program. And the contrast between
these shows that even when you're writing a program like this that no one is forced to use
reverse Hungarian notation. No one is brought in to tell you how it is that comments should be
made and so forth. There's not an extensive plan here. Even when you have a program very
simple like this someone's still making an effort to make this legible and understandable to a
human being. The computer is almost never the only audience for your program. It might be
you yourself but a later time, it might be others, even in a very simple program like this. And
the nature of spaces as optional shows that even though it takes an extra keystroke to press
that spacebar, people do that so that you can read the program well.
Let's see how this, so this is going to list, so that's how it lists, that's what I typed lists out, it
expands these keywords. And then of course, the thing after this is print which seems like a
very obvious way to displace something to the screen. In 1963, I do not think that if someone
came up to someone else and said, print this for me, and they’d swiveled around a video
display and showed that display emblazoned with a message that they asked under print, they
say, oh, thank you, you printed that for me. We now think that it's, of course, what print
means. But that wasn't what print meant, and that it wasn't what print meant to people who
were building BASIC on print terminals, on ASR 33 teletypes back at Dartmouth. So already,
even though this computer was made less than 20 years after BASIC was invented, already it
embodies these ghosts of the past. You can get away from the history of how technology is
made. Right? You can't get away from the assumptions that people had about how things
would be displayed or made.
So we could go on and we do go on and look sort of symbol by symbol at this, discuss the
maze, discuss randomness and regularity, we talk about BASIC and about the Commodore 64 as
a platform. The Commodore 64 is the best-selling single model of computer ever. It has to do
with, of course, there being many more models of a typical computer nowadays. But the lower
bound is 12 and a half million units of this sold, introduced at 595 dollars in 1982. Very
successful system and Jack Trammell decided he wanted to actually sell a lot of them, which
maybe wasn't the idea that Steve Jobs had about the Apple 2. It was fine to just make a lot of
money off a smaller number of computers. So all of these are factors that came together. Our
discussion we talked about this on a mailing list, we wrote the book together on a wiki, we
wrote programs and talked about them and improved each other's code, look at and analyzed
the output, checked each other's sources, looked at the research that we were doing and what
we were uncovering about this program, and we were trying to develop not only an insight into
code, but also a new way that people working in the humanities could borrow from ideas and
the sciences and engineering about how to collaboratively explore and understand topics.
So I can answer some questions about specifics of the book and this code and our project and
why we're interested in something, you know, as seemingly trivial as this. I can talk about the
writing of it as well as the content. But I'll mention, you know, that basically we have code that
is, however it happens, however it occurs in our society is culturally embedded in various ways.
When someone who is a minority gets turned down for a mortgage because of redlining. That
happens because of a piece of code at the bank. It's not a person who decides, no, I won't put
your application in the first place. That application gets typed in, it goes to a computer system,
and these things are codified. These things are written into systems, and the effects of these
systems, if we have the ability to look at code like that, we would learn different things than we
would if we talked to the people who were turned down for loans or officials of the bank. We
would have new access to understanding how software is working in our culture.
And the nice thing is, that even if we can't get within banks to look at a variety of code that is
there, there are a variety of sources of code that's culturally important that are now coming to
light in all sorts of ways. The University of East Anglia's climate change simulation code which
we are leading people to actually call out individual lines of code in discussions and say, look,
this fudge factor, this proves climate change is false. This is the way the code’s being brought
into political and cultural and everyday discussions now. Diebold voting machine code is
another example. Right? And as we develop better ways to understand the relationship of
code to culture, not to dismiss what it does, not to dismiss things about the processes of how it
together and how to plays out in society, but also to understand the ways that it relates to
people as well as computers. Right? Then I think we are in a better situation for understanding
competing technology as it relates to culture and society. So thanks very much. Let me offer
you some bookmarks and take any questions.
>>: When I said nostalgic, I didn't mean nostalgic in the abstract, like early eighties, I meant
nostalgic for a time we're in the 80s coming at this time, it was still a very [inaudible], so
Revenge of the Nerds, your jocks and nerds, but even among the nerds it was still very, do you
like design or do you like technology? And so something like this as opposed to any of the
characters was the first time I could iterate and experiment and create using code and
experience visually. Right? So there was a response that kind of died off and came back again
when Flash came out, right? But we seem to now have, over the past decade, where it started
getting back into specialization again. Are you a high-end graphics or are you a programmer?
And then this aspect of processing or [inaudible]. So we’re starting to see this Renaissance type
person, but I felt like Leonard da Vinci when I could finally start combining code and technology
then, and a lot of people the last couple of generations have lost that, and we’re starting to see
it again. How do you feel [inaudible] that? Is that destined to be>> Nick Montfort: No. I'm completely with you. I do think that, the other thing is it’s important
to say we are not inventing, you know, the way for people to be Renaissance people and to
combine. We are rediscovering it in some cases. I mean, this computer here, which I don't
usually carry around to give presentations, but, you know, if I want to edit video, I am not going
to use this, I'll use my other computer that I have in my bag. If I want to connect to social
networks, communicate online, I'm not going to use, this is not good for that, right? For most
presentations this is not good, although hopefully it did all right in this case. But one thing you
can do with this system is just turn it on and it takes 5 seconds to start. It takes me 10 seconds
to type in the program that I'm showing you here. And you can run this program in 15 seconds.
You can start modifying it, you can have tried three or four different versions in a minute.
That's something that we don't have and I can't open up other modern computers, start them
up and do that with that much immediate access, that much immediate capability. And I would
say actually, that Microsoft, with a small BASIC for instance, has been championing the BASIC
programming language as a way to do this and has been promoting that more than anyone
else.
There are opportunities to program in processing, in Flash, a lot of the creators, I don't know
that, you know, when I look at really creative things done by teenagers in Flash, I wonder if they
paid for their copies of Flash, because it's not software that's made for kids to play around in.
It’s targeted at a different audience. But I suppose our problems with Flash will be going away
before too long. So I think this is one thing that, this is one of the issues with nostalgia, with
looking back, with an archaeological perspective or a historical perspective, is to say that yes,
this computer is not, you know, generally a better device for us to use in our everyday world
today, but it's possible that there's some things that were left behind when we made advances
that we thought that writing programs was just something that maybe you had to do that. But
you don't have to do that anymore. It's so easy. We'll give you your apps. Do that instead.
And my perspective is no, I mean, there's actually real access that's provided to what
computation can do to how it interacts with visual design, gaming, literary art; and we should
be working to bring that forward, to surface that.
>>: Do you think that it’s moving up, I mean, because we have higher and higher level of
abstraction from the hardware itself. Do think it's moving more to the realm of the aware,
these smart phones now, where they can interact with 100 different APIs and build something
that's, you know, up until maybe six months ago, wasn't even possible. Where do you see that
going? Have you seen into that? Are we moving to a realm where we just type a question and
it understands the semantics of it and goes out, extracts the data from a myriad of data sources
on the fly, and retrieves back the decisions that we want?
>> Nick Montfort: Well, we are always going to have, certainly we always interact with
platforms of some sort and programming, the Commodore 64 BASIC is not programming it in
assembly. And programming your, programming this program in Perl, you know, on the
command line is not programming it in x86 assembly, which by the way, has recently been done
in 10 bytes. There's been some people in the demo scene competing to get smaller and smaller
versions; I got an e-mail from one of them, 13, someone beat me, got it down to 13 bytes. But
there's no way it'll, it’s 10 bytes now.
Anyway, there's so much around this besides just the computational abilities of the smart
phone. Right? So the smart phone, we can make programs on our smart phones, but can we
give them to other people the way we can these? I mean, if I make something, like the Apple
Store might not approve of what I make. You know? So, too bad. I just don't get to give my
program away to friends. You buy a computer, whether it's free software, whether it's,
whatever it's running, running Windows, OS 10, whatever, you can write the program that you
want. I mean it might not be this easy. But you can write the program that you want to, and
you can give it to anyone. You basically have a system because of the nature of a computer is.
Try that on a videogame console. Well, that’s not the world of the videogame console or
economic model of it, you know, whatever else. The smart phone is also coming from a
different sort of economic heritage. So I'd love for my smart phone and everybody's smart
phone to be as computer like as possible, but that's not where I would hold out hope for a
really creative exploratory access to programming and playing with computation.
>>: Other questions?
>>: I'm curious about your collaboration model [inaudible]. What was the starting point? Did
you all start in different places and meet in the middle, how did the iteration go?
>> Nick Montfort: The full answer to that is very long, but I'll try to give you a condensed and
useful one, which is that it was done with a lot of structure. So the very first thing I asked
people is I said, go write 2000 words about something about this that you really, really care
about. The idea being, you know, the thing that you think is most interesting at the beginning
of this and most motivates you is probably going to get worked into the book somehow. Right?
So start there. People were very resistant to that idea. My collaborators said what, we need
some more information. But we ended up, I ended up assigning, first of all, collaborating with
everyone to determine the structure of the book, which it did change to some extent as we
worked, but to determine at least a provisional structure of the book and what topics would be
covering, and to assign a lead writer, not an editor, but a lead writer for chapters, who would
then recruit other writers and put together the chapter with them. We had internal review in
which the chapter that was produced was reviewed by someone who didn’t work on it but who
was within our project. And we have also all sorts of special contributions from people like
Casey, our designer, from people who looked at code and worked on, focused on specific
remarks from people who came in to try to repair things like, oh, this is the very first thing we
worked on, and it looked great at the time but I'm not sure if it fits anymore, we need to revise
it.
So it was not a free-for-all. It was pretty highly structured, and it was structured in a way that
we made up as we progressed through the project. So, in certain ways, in terms of people's
perceptions and the gap between them, maybe it’s looking at Wikipedia, oh, it all just comes
into place. No, actually, there's a lot of things that go on there. But our project was very
different in that it's 10 people, it wasn’t writing in public; we did it on a private wiki and we did
maintain the mailing list and the wiki as ways of working. Sometimes people would grab some
text and go off and work on it individually, in person, or online, but we tried to keep those two
as the focus of our activity. So those are some specifics and maybe answers.
>>: How do they differ from your two-person client ratio off of your previous book? I mean,
what's significant [inaudible]?
>> Nick Montfort: Yeah, so the two person, I’d say that the two person one that, you know,
some of the questions people ask about collaborations are like, oh, did you trade off writing
chapters? And to me the answer to that is not very informative because you can trade off
drafting chapters and then people can go back and substantially revise them and you can work
together and so forth to where you basically have a book that both of you wrote. Or you can
trade off writing chapters and then you're done. You can leave it at that, right? So, and how
did you decide what the chapters would be in the first place? So there's a lot more to
collaboration than those particular steps. The project I did with Ian Bogost, which is Raising the
Beam, is a book about the Atari video computer system, and we did draft different chapters
originally, but we went through, we were working, we were revising, a lot of that book in terms
of the mechanics of it, we met in person several times to work on it, but we also, we wrote it in
markdown and we went on IM and we would just throw paragraphs back and forth. You know,
someone would have the chapter because you don't need to work about the format getting
messed up. So that was mechanically sort of how it was that we worked in that case. And I'd
say, I think the two of us had a pretty thorough total view of everything in the book. And I think
the types of depth perspective and angles that people had were different in this project.
>>: I was a bit intrigued by your kind of out of the blue mention of Diebold voting machines. I
was just wondering to see that fitting into this model?
>> Nick Montfort: Well, I mean mainly it’s just, for me it’s an example of a place where source
code itself has come into the political discourse. The absence of the source code, the leaking of
source code, discussion about whether, you know, based on this source code, whether this is a
reliable way to conduct our democracy, things like that. So there are these cases where, it's not
as if you know where the 10 of us, you know, and a few academic allies are the first people to
sort of bring out this idea like hey, I think code has some cultural relevance. Like in fact it's
already out there, it's being discussed. You know, I don't know if this, when the Hans Richter
case was in Wired Magazine, it was actually punctuated with lines of code from Richter FS
where he had variables like darkness and light and things like that. And basically to show oh,
look at this bizarre, you know, language, that's present in the source code. Right?
So we see, you know, these things are already, it's already there, it’s already evident to people
that this must mean something, but what exactly does it mean? Does it mean something
about, you know, what does it mean about C, that Hans Richter chose that language to write his
file system in. Does it, is there a relationship, you know, what is that mean, I always think it's
interesting, everyone knows that everyone would think, who knows anything about Deep Blue,
would say oh, it's a triumph for IBM, it’s capitalist corporate victory over the Soviet Union and
this chess player and everything and Cold War venture, but I've never heard anyone say like, oh
that proves, you know, risk is the right architecture to use for your chip. Or like this means like
C in the UNIX operating system are great. Right? But why not? That project had those
dimensions as well, it's just some of them were chosen to be highlighted. But surely, you know,
the fact that UNIX was around, that sort of something like Bell Labs produced this and so on, I
mean that's not discussed as part of that narrative, but all of these dynamics are there. And so I
think it's ways to enrich the discourse about things that we're talking about, but we’re only
talking about them at the level of the corporate entities that are involved sometimes and also
to figure out things about how computers model our world. Like what does in terms of climate
simulation, like, it's clear that the people who are saying, who are looking at this code and
saying oh, fudge factor, things like this, or I need to fix this, oh yeah, the presence of I need to
fix this in some scientific code means the entire field is fraudulent, obviously. Right? It's people
who haven't read, no one has any context. They have a red code. They don't know what, that
code is dynamic, for instance. And people are still working on it. To do a research project
means that you continue writing code.
So these are things that if we're going to figure out how to incorporate this into our society
rather than just use it as sort of brandish it to make fun of political opponents or things like this,
we need to look, I think, deeper into it.
>>: What do you think about big data, though? I mean I've been looking at this, and it's
essentially 50-50 cheat probability, but what if all you had was the end result in trying to work
your way back within and develop an understanding of what kind of the genesis of it was, or I
mean we’re logging all these tweets and everything like that, you know, where do you think
that's going to end up going where we have a huge amount of data; are we going to get just
down to a point where we have got a 90 percent probability of making a decision because
there’s such a vast amount of information to mine? And all servers require power, and even
with Moore's law, there’s going to be a point where there's just so much information that it
becomes impractical.
>> Nick Montfort: Yeah. I think there's a lot of big data research. There's a lot of big data
questions that are very significant. I like to say, you know, the 10 of us are giving our answer to
big data is small code. Right? That not only can we look at those issues of big data that are
very popular in the humanities, but we can also consider code, which is von Neumann would've
been told, is data itself, data and code are interchangeable, but we can also look at that level.
So I think there's, I mean one of the things I noticed, for instance, with relation to Twitter,
specifically, right, that some of these very same issues, I never told you why this is 80 columns
internally and logically, but it's deriving from the 1928 IBM punch card. IBM managed to
increase the number of holes on their punch card from 45 to 80 in 1928. This is obviously
before computing used for tabulation and so forth. And that card, along with the teletype,
which also predates computing, these were hooked and computers and became part of the
media, as part of the data storage systems, like related to computers. You look at these, so
looking at the material history of computing here is that something that I would say is very
important in understanding what Twitter is. Why are Twitter messages one hundred and forty
characters long?
>>: Because of SMS.
>> Nick Montfort: Because of SMS. 20 character header and 160 character SMS message. Why
are SMS messages one hundred and sixty characters long? I don't know, maybe one of you
knows this guy’s name, there's a German guy who largely invented SMS as a standard. He
typed things on this typewriter to see what sort of messages would be reasonable. He looked
at postcards. He used an existing medium, right? A material medium where people wrote on
the postcard. And he's like, well, if the message on a postcard is good enough and useful
enough for someone to send, then why don't we have that much text for SMS? Right? So there
are all these material histories behind the length of a Twitter message. Interesting that his
typewriter was probably 80 characters wide, maybe also related to the IBM punch card, and so
two of those would've been 160. But anyway, so these are the types of things like, it I don't
know the answer to the analysis of big data, but I think that it's going to be enriched by
understanding in these sort of material contexts. Right? Not to say that postcards and Twitter
are the same thing. I might send a friend a postcard at some point, but I don't think I would
ever make a choice like oh, I think I'll tweet instead. Like, I mean these are basically a distinct
media, but they're wrapped up in their histories. So I do think that there's ways of relating the
research that we are doing here to big data questions and that’s some of how I would begin. I
would look at the material histories of where those systems came from. There's, as Lisa
Gittleman says in an upcoming book, there is no such thing as raw data. There’s just data that
we have which occurs in different formats and media that are set up in different ways.
>>: There are several comments I’d like to make. Definitely something, a topic that's
passionate to me too, but I guess one thing I'd like to bring up is that it seems like culturally,
you were talking about, you know, code in culture, and what I see is that I see that the idea and
the concept of technology is very, very prominent in culture, but the actual underlying code is
hardly visible at all. And it seems like there's this gap between them that people love using
their devices, they love being on Facebook, they spent all their time online, but they really are
not literate about how that works and what's going on behind the scenes, and I don't know
about a question, but kind of a challenge is what I'd really like to do is to decrease that gap in
whatever way I can. And it really sounds like part of the things you could do with projects like
you're working on is to inspire people to make things like this.
>> Nick Montfort: Yeah, I very much hope to. I'm at work on another project on exploratory
programming and trying to focusing on the arts and writing in humanities. Trying to help
students to see how code can be used as a way to think, sketch, and explore. Not so much, you
know, build a JavaScript PHP slick website of some sort, but actually think through your
problems using computation. These are really important issues, and code was more visible, I
mean you could go to the grocery store and get a magazine off the rack that was full of BASIC
programs in 1984. So that doesn't mean that, you know, that's a superior way to distribute
software and we should go back to it. But it did make it evident, like hey, this is what makes
this run.
>>: I think I'll follow up on that comment and the previous threads is, this definitely was a time
when the ability to create and consume were balanced, right? I mean, you can go to
RadioShack in the 80s and [inaudible] is awesome, twenty go to ten and you walk out and feel
like you hacked the Gibson or something like that. Today, Microsoft does well, but we don't
have, my seven-year-old daughter she can't, she doesn't have the same interaction with
computer that I did, where it was always there. Right? But Khan Academy has been doing
some very interesting things online using processing JS exactly for this thing as well, and I know
you are working with the processing guys. As a teacher, the students that come in, are you
seeing a shift recently from how they were before, I mean do they come in thinking combining
code and design or where is that thought pattern right now are you seeing in your new
students?
>> Nick Montfort: I wouldn't say they do, I teach two categories of students. I was looking for
a, there's a photo in here, which I could hold up, but no one would be able to see anyway,
people any retail store, you know, kids standing around, one of them working, maybe
programming, playing a game on a VIC-20 or a Commodore 64. These were environments
where, in fact, you could just walk up and use computers. There were places like the People's
Computer Company, Menlo Park, storefront space where people went in and wrote programs.
So I teach MIT undergraduates who generally all know, even the ones, programming isn't
required as a course, but everyone in my experience knows how to program basically in my
writing classes where I'm teaching, and then I teach graduate students in comparative media
studies. And some people, they include people who have computer science bachelor's degrees,
but there are also people who have no background in programming who have interest in media
and expertise and background of various sorts, but it doesn't include working with code.
>>: It seems also as if society has shifted, I mean, Minecraft has taken off the system
specifically for the world building, that the closest I can define modern to what it felt like in the
early 80s with code; it’s hearing these kids talk about Minecraft and in their world and setting
up their water systems and it’s exact same fielding and like the other person said, they’re not
thinking about this in terms of code but it’s exact same internal flame, right, but they're just
advanced.
>>: A couple of thoughts. I'm seeing a connection between what you said at several points
through the talk, and Bill Rosen’s, The Most Powerful Idea in the World, are you familiar with
that book? It's about the history of steam power?
>> Nick Montfort: Okay. I’m not.
>>: What's interesting about that, it's kind of a weird connection, maybe, but what becomes
clear is the incrementalism of a very important end result, right, which was the steam engine,
and the steam locomotive, but he traces it back hundreds of years in multiple countries, all
these innovations that had to happen to result in that. And that I see is the same thing like the
way the Commodore 64 works, right? There's influences from punch cards and there's
influences from five or six models of computers Commodore itself made, and that all results in
the final product.
>> Nick Montfort: Yes. This program runs on the [inaudible], runs on the VIC-20, unaltered,
yes.
>>: So anyway, that was one thing. The other thing is that I have two boys, almost ten and
almost 13, and I initially thought that they just wouldn't care at all about my whole history with
Commodores because you know, they've grown up in a very PC centric world, and it's a very
rich world, right, and they're very into things like Minecraft and there's a lot to learn there for
them and a lot of richness; and I was really surprised that they actually have been really
interested. We've got really involved in the retro Commodore scene here locally. And there's
something about these older computers that if kids get exposed to them, they really are
interested in them, and I’m trying to tease out what that is, and part of it seems to be that you
can get closer to the bare metal with them. You can actually, it's kind of like owning an older
car, you can actually understand everything about how it works versus computers now, which it
almost seems like it's nondeterministic because it's so complex you can't really figure out
what's going on. So I don’t know. Just throwing out some thoughts.
>> Nick Montfort: Yeah. I mean, they're great machines. And they're still, I didn't even make
mention of any of it, but there's a huge amount of continuing productive activity on the
Commodore 64. People in demo scene creating amazing audiovisual programs, people doing
SID, you know the sound interface device, Bob Yannes’ SID, there's a huge amount of work
that’s still going on, and it's, I mean, to some extent it’s for some people, I mean it's not
nostalgic. I met a guy who was, it’s been two years ago, I guess, whose working in the demo
scene on the Commodore 64, he's 18 years old. He didn't program on the Commodore 64
when he was young. He came to this machine, found it really compelling and interesting. So
yeah, I think there's a lot to be said for the use of these machines just as a way not only to
understand computer history, but also to just engage with computing and to explore and play. I
am doing a BASIC workshop, a Commodore 64 BASIC workshop at UCLA, so we'll see what the
students there next week will think about that.
>>: Do think part of the appeal is the relationship between constraints and how that seems to
sometimes create this burst of creative energy because of those constraints?
>> Nick Montfort: Yeah. Definitely. But it's also, I mean, every system that we use is
constrained, it's just sometimes more obvious. It's easier to see what those constraints are and
to understand them, you know, when you look at in older system like the C-64. I mean, there's
increasingly there is a lot of amazing work that's done. Last year they discovered a new video
mode on the Commodore 64. So I mean this is like, we actually have, you think that this type of
system, there's some people who are sort of dismissive about this. Like one of the activation
programmers was mentioning about the Atari VCS, he's like oh, you find out how to do
something really new and clever and interesting, but it’s just like finding change under the
couch. You put it there to begin with, and now you're taking it out like it’s not a big deal. But
no, I think there's something, I don't feel like that. I think there's something to it.
>>: So this goes back to some the stuff you were saying a moment or two ago about that sort
of the perception of programming or whether young people program and so on, and I just
wanted to bring up, it seems like you found a bunch of interesting things about the way that
the Commodore 64 was pitched and who it was pitched to, I seem to remember some
interesting old commercials that illustrate programming as a fun activity in a way that it’s not
really considered a fun activity anymore. I wanted to know if you had a little to say about that>> Nick Montfort: That's certainly the one thing I would show if I had hooked up my modern
day computer, would be that Australian Commodore 64 commercial. But you know, you really
had, again, I mean, partly from necessity, but partly as an empowering way to experience
computing, it was foregrounded that you would, of course, program in BASIC. And there were
ads, you know, the Apple 2 ads that said you'll be programming on your first day, and people
would be depicted in print advertisements and video advertisements as programming alongside
other things that they would do on the computer. So this was, I mean there's other funny
things about those ads, like they would often have, the computer would be like set up on the
kitchen table, the family would be around there and you would be like where do they eat now?
You know, it was sort of strange, they weren't quite sure because I mean, there wasn't a place
in the home really to put the computer necessarily already. Certainly not where everyone
could use it, right? So there was sometimes a strange tension in these ads. But they did make
it clear that programming in BASIC was supposed to be for everyone.
>>: The cords and power supplies were always missing in those ads.
>>: Have people’s expectations gotten too high? The thing I was just thinking of watching this
was around this time with Apple 2 and Commodore, you know, you could go get a computer or
even in the store go in type ten print hello and have it run and then you'd say hello, or then
you’d start adding minor things, but at the time, even that was something to brag about. It's
like whoa, this computer actually is doing something. And now I can change it so says, which
way do you want to go and then input X string and then you could put in North and then if it’s
North it’s not like that. And that would be really exciting, your friends would be like whoa, you
created a game. But now, if I showed my son that, he'd be like, so? What's the big deal? And
so is that really what is one of the barriers there because the alternative now, of course, is
okay, well HMO plus JavaScript plus Canvas, but the barrier to entry there is really high.
>> Nick Montfort: Yeah. So I guess you have to ask with programs like these, what does it
prove? [inaudible] infinity, right? But what does it do when you are writing these programs and
when you’re creating an effect? Some of them might be tricks. But in this case, I'd say I tried
this program both ways, right? And what this program, with the two line version of this
program tells me is that it's as easy for a computer to do something an unbounded number of
times as it is to do it once. And that's actually sort of interesting because that's not at all what
it's like for a person, right? So now I understand something, I mean, what is this silly twenty go
to 10 thing adding on here, it's actually possibly giving me some access to something about the
way computers work, what they can do, how I might be able to use them, what I can expect
from them, right? So I don't think these are exclusively trivialities. And I think there's things
about, like being able to put up pages on the web and I wrote a story, I want to put this on the
web, I want everybody to be able to read it, I mean that's, oh gosh, it’s as easy to make this
available to the world as it is to my friend, three doors down. You know, that's a pretty
powerful thing to. So I think there's something behind these things. It is important, I think, to
articulate what it is. And it's not always obvious when you have some program that is trivial
looking or that looks like a trick, but I think there is something behind many of these programs
leads people on to understanding computation better and be able to manipulate it more
powerfully.
>>: I have a question related to yours. You know, when we think about microcomputers and
really the introduction of personal computing in the house, they came with the thought of we
are going to give you this, it's yours, and do whatever the hell you want with it and discover and
explore and share, right? And then we fast-forward to now, and we have really the opposite,
where everything comes out and it says the Corporation owns this and we are going to let you
use it this way and that way and no other way, and do you think that sort of the social impact of
that and how it's cascading and growing is going to have a negative effect on society as time
moves forward and people become less exploratory in that aspect?
>> Nick Montfort: Well I think that, fortunately you're still describing smart phones and video
game consoles more than you’re describing computers, laptops and desktop computers. There
are still a lot of, I mean we may not like certain things about how they work and what happens,
but we still actually have an environment where we can sometimes with difficulty, but we can
create with computers. So I think that's, you know, part of it for me is whether that model, like
I mean, I haven't run into anyone, I think people recognize that smart phones are capable of
general-purpose computation, right? But there are very few people who really would say oh
yeah, I have a right to make apps on my smart phone and send them to people. I mean, I know
people who are app makers who like to do that, but the idea that that would just sort of be
fundamentally an ability. So I think that computers are actually sort of a stronghold of like
people being able to do stuff online and, you know, in a stand-alone sort of load. And that we
should continue to exploit that ability. This all has to do with the fact that when you buy a
computer from Dell, Dell isn't waiting around for you to buy more software for them, from
them, in order for them to make their money back. Like they're making their money when they
sell it to you which is not the way the videogame consoles work, which is not the way generally
that smart phones work, right? And so forth, so there's generally different sorts of issues of
control and exchange that are happening.
>>: Two comments. It's been kind of mentioned here before that I think there's two elements:
one, kids today, you know, they look at search. They take it for granted that they can just go
put it in the little, some stuff into a text box, hit go, and they get back a huge results, that they
don't understand necessarily how it works and they don't necessarily care. It's kind of like in
the Matrix. You don't necessarily know how all the machinery works but you don’t really care
about it as long as it works. The other part is, I mean I work in operations, and for me it's about
scaling myself, and I think that's a lot of where computing is going and what could be lost. I
think that, for me that’s the thrill, is being able to go and what I can do against one machine
building a tool that allows me to have 1000 machines. I can scale myself and that's, the same
goes for Twitter or social media where you have a whole bunch of followers. You're now
popular. And I think that's where it's going. But I'm just wondering where that's going to end
up because I think it>> Nick Montfort: I think is some people would say it would just end up having a number. You
might end up having a number of friends, but not friends. Just a number. So yeah. I think
there's some things and maybe there's some things you can scale being able to administer
machines might be different than having social connections to people, right? And so, not to say
that there aren't great things about the ability of the web to connect people, but these are all
significant questions. And not all of them you would directly address with the Commodore 64,
that doesn't have that type of connection capability and that possibility for scaling up in those
ways, but it can still provide a perspective on pieces of the issue.
>>: So we want to give a little bit of time so that Nick can sign books if people want him to. But
thank you. That's one of the best Q and A sessions I've seen in this room. And yes, please do
talk to Nick afterwards, and he can sign your books. And I was just going to close out, I did
actually find that Australian Commodore 64 commercial. So let's give Nick some thanks and
then he'll be here.
>> Nick Montfort: And also, actually, let me invite you to, well, Donald wants to switch over to
the modern-day computer, but I also want to invite people to come up and use the Commodore
64, make some modifications to this program or type in your own, if you like.
>>: Yeah, I'll play this quick, and then I'll switch it back. So how about that. Thank you, Nick.
>> Nick Montfort: All right.
Download