10 min leestijd

Computer Science, Off Course! Episode 7 - Second Self

Computer Science, Off Course! Episode 7 - Second Self

We have a new episode out, on The Second Self by Sherry Turkle.

And what a book this is! The first thing I learned from this book is how broken I am personally. Even thought the book is filled with insights about how people use computers and how programming works, I kept thinking "Is this computer science?" Somehow, I had this thought much more often than with Weizenbaum (episode 6), who was a "real programmer" because he programmed things, and also more than with Laurel (episode 2) who was of course an outsider but also had some programming experience that she talked about.

Turkle however is an absolute outsider, she has a background in Freudian psycho analysis. This book does not really go into detail on that, but last summer I read her memoires (notes on that in my Dutch newsletter of last summer) which is good background reading if you more deeply want to understand her work.

And I think that is the reason I kept wondering whether this book is "computer science"; because Turkle is so unapologetically an outsider. She states somewhere that in the book that she can't program, and yet wants to understand is. And I could not help but think: "then why don't you just learn it, so you'll understand better?"

But the truth is (and probably she knew this) it is not needed so see and say useful things, there might be a real benefit to observing from the outside, to participating in a culture (she does work at MIT, after all) without participating in an activity. A bit like how a psycho analyst can help you understand grief or loss or pain without having to have had your precise experiences, just by listening and guiding.

You will see different things that way, but I realized while reading how much I myself have also been infected by the idea that you can only understand programming if you do it, or if you at least have done it a whole lot.

Can you understand the mind?

One of the interesting points Turkle raises about computers—and about AI specifically—is that she says that the whole notion that we can understand the mind (by building it), whereas she is describing how previously, influenced also to Freud's psycho analysis, people believed the mind was not to be understood (hence, we need to understand it by proxy, through dreams and subconcious desires). It is not clear what came first, the notion that the mind can be understood, or the notion that it can be built, but the general shift is interesting and not something I thought about before.

But of course it is a clear tenet of AI, we need to agree the mind can be understood, before it makes any sense to try to build it.

A liminal object

One of the interesting concepts of the book is the idea that a computer is a liminal object. It is not alive, but it is also not entirely lifeless. Even before AI, we tended to attribute personality to computers; it can be stuck, confused, angry.

She uses an interesting methodology, she has extensively interviewed different groups of people: children, early computer hobbyists, MIT students and early AI pioneers. I especially found her work on students at MIT recognisable, she observes how programming for these students is a world that they can retreat into.

[H]ackers try to avoid ambiguity in dealing with people, where others might find pleasure in the half-defined and the merely suggested.

This I think is so true, and it is something I also talk about in my upcoming book (in Dutch), how programming removes vagueness, and how programming all day must have the effect on people, at least on some people, of losing the ability of (or the joy of) the vagueness that is inherent in life.

One of the students Turkle interviewed stated:

“I have devoted so much of myself to the computer that all the humanity has drained out of me. You're just a device. I am afraid that by hacking I am draining myself of something I need to live— humanity or something.”

It made me think of a long interview with David Foster Wallace (that Hanna once sent me!) where he explains how hard and boring it is to be an adult. Which is so true. And sadly, most people just have to deal with that, with loss and sadness and the unpredictability of other people and situations.

This attitude is reinforced by the nature of programming. For many programmers, much of the excitement of the computer comes from freeing the mind from the constraints of matter. Recall the hacker who described programming as “building straight from the mind.” What is most valued and most beautiful is what is most freely constructed.

This is similar to the power that Weizenbaum was talking about, which was on my list of quotes for episode 6 but did not make it, but it feels apt to add it here:

[Computer s]ystems [...] compliantly obey their laws and vividly exhibit their obedient behavior. No playwright, no stage director, no emperor, however powerful, has ever exercised such absolute authority to arrange a stage or a field of battle and to command such unswervingly dutiful actors or troops.

He continues:

One would have to be astonished if Lord Acton's observation that power corrupts were not to apply in an environment in which omnipotence.

Talking about Weizenbaum, it is also interesting how Turkle in the 80s describes that Weizenbaum and ELIZA (als also Dreyfus) are well known, whereas I would say they very much fell out of fashion, out of the CS canon, somewhere in between then and the 2020s when they resurfaced because of LLMs.

A computer is not just a tool


Another core idea of the book is to argue that a computer is not just a tool. She says:

[I am] writing against the common view that the computer was “just a tool,” arguing for us to look beyond all the things the computer does for us (for example, help with word processing and spreadsheets) to what using it does to us as people.

Here I would say she goes even beyond Brenda Laurel, who (as we discussed in episode 2 but that Turkle does not refer to as Laurel's book comes out later) says that you play a certain role when you use a computer. Turkle argues that that role is not tempory, but permanent, computers change who we are:

But my focus here is on something different, on the “subjective computer.” This is the machine as it enters into social life and psychological development, the computer as it affects the way that we think, especially

Therefor, she says, teaching programming in this way is the wrong mode of thinking. Even while programming, the computer is not simply following our instructions. I love how clear she is in her opposition that teaching programming is done in the wrong way (while generally still being very constructive, different from Weizenbaum in demeanor). Programming, she says, is much more like playing a text adventure, which at the time were very well known. She writes:

“[Playing a text adventure] is a window onto a way of experiencing the computer. The experience it gave me was of a far different order from what I had gotten from a beginning course in computer programming. There I learned to write simple instructions and got to watch the computer following them. Like most people, I came out of this with a vision of the machine and of programming as simple, controllable, linear. “The machine is dumb, just a giant calculator,” the professor had said. “Programming is a straightforward act of mechanical regurgitation. Garbage in, garbage out.”

And I think we have all learned this way of thinking about the computer, and maybe we have even taught programming this way too. But Turkle argues this is not correct:

[Playing a text adventure] has nothing in common with writing a simple program in an introductory course. However, it is [playing a text adventure] that better captures the hacker's experience of living with his code. It is the introductory computer course that fails to give its students a sense of what programming is to its virtuosi. When systems get complex they become worlds that you can live in.”

I love this so much as a metaphor for programming, a world to live in! When you build a program that is a little bit more than a few lines of code, it is like playing a text adventure. You have some idea of the code, but definitely not all of it at once, and by exploring, you figure out things. Here again I was thinking of how an IDEs could look differently, of this was our mental model of code (as we also said in episode 1).

I also love how she compares the view of programming to painting:

[Saying programming works by calculating] is a little bit like saying that Picasso “created Guernica by making brushstrokes.” Reducing things to this level of “local” description gives no satisfying way to grasp the whole.

There is always a tension, she says, between the local and the whole:

When we talk about perception—for example, how we grasp visual images—there is a tension between the atomic and the gestalt. Do we build up the picture from discrete bits of information or do we grasp it as a whole? Similarly, in thinking about computers, there is a tension between the local simplicity of the individual “acts” that comprise a program and the global complexity that can emerge when it is run.

Transparency means different things

What I also took away from this book is how many interesting things we can learn from contrasting different computer users, a sort of maximal variety sample.

She discusses two types of computer users, the early ones who wanted to understand the memory, the bare metal, and the second one, who just want to get things done. Each of the groups had a different meaning of the word "transparency":

But when Macintosh users [the second group] spoke about transparency, they were referring to an ability to make things work without going below a screen surface filled with attractive icons and interactive dialogue boxes. Indeed, these screen objects suggested that communicating with a computer could be less like commanding a machine and more like having a conversation with a person.

What "transparent" meant for this group is something we might now call intuitive, immediately clear what to do, not, as for the first group, understandable (even if not right away) how it functions at the lowest level. I think exploring the meaning of words for computer users, and how those meanings change over time, is such an overlooked but important part of (the philosophy of) computer science!

It made me think of how, when I give examples of hard programming languages, I often pick both Haskell and C++, even though these languages are very different from each other. I realized while reading the book that they both embody exactly these different forms of transparency, C++ is the hobbyist notion, while Haskell is more the Apple way, where the program reveals what it does without the lower level details.

Turkle observes so very lovely, how...

[p]rogramming [...] served as the projective screen for personal and cultural differences.

This is such a lovely contrast with modern PL discourse in which people discuss how one programming language is better than another, rather than understanding they have different properties that serve different goals and, more importantly as Turkle points out, fit different people or subcommunities.

Cooking is also a nice metaphor for this, as we discuss in the episode. Some people, but also some recipes, fit doing everything precisely, other fit just "trying the soup and tasting it". She calls programming a "rorschach test", we see in it what we already think.

AI & colonialism

Turkle isn't always reserved and balanced though. She also has some strong words about AI research in the 80s, which she compares to colonialism. The backstory of this form of AI research must be seen as researchers exploring other fields and trying to learn them, in order to program them into AI systems, which at the time were expert systems; systems following precise rules that Weizenbaum and especially Dreyfus (episode 4) also talked about and critized.

Turkle says:

[T]he politics of “colonization” soon takes on a life of its own. The invaders [by which she means the AI researchers] come not only to carry off natural resources but to replace native “superstitions” with their “superior” world view. AI first declared the need for psychological theories that would work on machines. The next step was to see these alternatives as better—better because they can be “implemented,” better because they are more “scientific.” Being in a colonizing discipline first demands and then encourages an attitude that might be called intellectual hubris. You need intellectual principles that are universal enough to give you the feeling that you have something to say about everything. The AI community had this in their idea of program. Furthermore, since you cannot master all the disciplines that you have designs on, you need confidence that your knowledge makes the “traditional wisdom” of these fields unworthy of serious consideration.

Wow. This is so incredibly true, and as I say in the episode, this could be in New York Times about people building LLMs today, and would still make absolute sense. [[1]]

But as we also discuss in the episode, I don't know how to get people in out field, especially students, to see how true this is. Now, maybe even more so then in the 80s, people reading this would be angry about the view of CS as a colonizer, as we are taught so explicitly that we are "the good guys" that we are helping and supporting people. Made me think of the "Are we the baddies?" sketch of Mitchell and Webb.

And therefor, I am very curious how this was received by her own colleagues! I think if I would say these things today in a CS department, people would be mad!

The tattoo quote

As we have been doing for a few episodes now, Hanna asked me what the tattoo worthy quote is, and I picked this one:

Beyond distaste for computer science, girls express distaste for the careers that might be available to them in it. Young women see computing as a field that will take them away from people and they would rather choose professions in which they can use computers but in the context of more “people contact.” From these observations it follows that if we wish to draw more women into computer science, we need a more inclusive computer culture that embraces multiple interests.

It is so beautiful, and so sad that this quote predates initiatives like Girls who code or PyLadies, which all assumed that, if we can just get girls to code, they will like it (and that they then would change the field). But here the question is also, how do we get people to understand how true this is? As I wrote in my Dutch language newsletter, Turkle's statement also assumes that girls are different from boys, from which again we could conclude that it is fine if they don't like CS.

Homework

  • Read the last chapter of the book on AI. The whole book is great, but this last chapter is a summary of the Turing Test, Weizenbaum and Dreyfus. Read it and you can skip 4 of our 7 episodes so far :) It is a bit heavy maybe, because of the comparison to colonialism, but otherwise it is great.

    For bonus work, I joked that you can annotate each statement by AI people from those days with one of the last year, easily.

Hanna's homework can be found here, she adds lovely details on how to collect richer data while observing people doing task!