Elm Town 90 – Wonder: Contorting yourself with Ari Schlesinger
Ari: for anyone who's listening who did an interview with me, thank you. I am so grateful to all of you for all of your generosity and time and for letting me be a part of this community and learn from you. And one of the things I learned was, boy, oh boy, does everyone have feelings about Elm, particularly Elm versus JavaScript and Elm versus Haskell.
One thing that was super clear was the way people felt about the Elm compiler and Elm error messages and how this was unique and different to other programming languages they had worked with. And not just shaped their sort of emotional, psychological experience of programming, but also the actual physical activity of programming.
Jared: Hey folks. Welcome back to Elm Town. I'm your host Jared M Smith. We'll
be visiting with Ari Schlesinger today, but what
Ari: do it again and again. Maybe the whole podcast will just be the intro. We'll just go.
Jared: We'll take retake,
Ari: Hi, I'm Jared, welcome to Elm Town. Today we're talking to Ari Schlesinger.
Jared: I'm, I'm Ron Burgundy. Um, okay.
Ari: Exactly.
Jared: Hey folks. Welcome back to Elm Town. I'm your host, Jared M. Smith. We'll be visiting with Ari Schlesinger today. But first, let's talk about our sponsor, Logistically. At Logistically, we make intuitive software to help logistics teams make better decisions and reduce that's not right.
Ari: We don't know what we do at Logistically. We do make software.
Jared: We make software, intuitive
Ari: for logistics.
Jared: teams make better decisions and,
Ari: About their logistics.
Jared: and improve efficiency.
I was like
this, 'cause I started to say the word reduce, that you don't wanna reduce efficiency.
Ari: Yeah. You read, you must have read some parts of my dissertation and prepping for this, and there's like a set of keywords floating around your head that might not normally be floating there. And they're in, they're invading your Logistically intro.
Jared: Yes,
Ari: That's my guess, based off of which word you just chose.
Jared: I
think that's a hundred percent. I'll take it.
Ari: We'll go with it.
Jared: Okay. Hey folks.
Welcome back to Elm Town. I'm your host Jared M Smith. We'll be visiting with Ari Schlesinger today, but.
[00:02:27] Introduction (for real)
Jared: Hey folks. Welcome back to Elm Town. I'm your host Jared M Smith. We'll be visiting with Ari Schlesinger today, but first, let's talk about our sponsor. Logistically. At Logistically, we make intuitive software to help logistics teams make better decisions and improve efficiency. We build the front end for all new features in Elm. If you're interested in our mission and enjoy writing Elm, please drop us a line, Elm Town at Logistically inc.com.
I'll put a link in the show notes.
Now, let me introduce Ari Schlesinger. Ari is an assistant professor of computer science at the University of Georgia. She's also the director of the Socially Responsible Tech Lab. Ari researches how to advance socially responsible computing and what makes responsibility so hard in practice. She studies software developers, CS students, computing culture, tech policy, and lines of code. Ari's work has applications in human computer interaction, artificial intelligence, and computer science broadly. Ari co-wrote the paper, "A Case for Feminism in Programming Language Design" with Felienne Hermans, which references Ari's research on Elm from her PhD dissertation "Addressing Computing's Discrimination Problem: A Framework for Anti-discriminatory Computing". Ari, welcome to Elm Town.
Ari: Thanks for having me. I'm really excited to be here.
Jared: Yeah, I'm excited to have you on. So I wanted to start by just explaining sort of how I discovered your work. So, uh, hopefully by the time that folks hear this, I will have published an episode of a recording with Felienne Hermans. And during that episode and research for that episode, I discovered that, of course, Ari, you co-wrote the paper, " A Case for Feminism in Programming Language Design" with Felienne. And I was, I found references to Elm in there and then started looking into that and found your PhD dissertation and in there found, wow, there's all kinds of Elm related stuff in there. So that's definitely something that I want to get into. But maybe to kind of start, I usually ask this question of, you know, how did you get started in computing?
And I kind of want to know, I definitely wanna know that, but I, I wanna know sort of how that intersects with your introduction to feminism and the anti-discriminatory framework that you use in your dissertation.
[00:04:57] Origin story
Ari: Okay, great. I think that now that we're talking about this, the easiest, most straightforward path might be to talk about all the ways that I didn't get interested in computer science. Which I think is sort of the same question, but opposite outcome of your normal conversations on Elm Town. So does that seem like a fair assessment?
I think most people are like, oh yes, I remember the first computer that came into my house and I just was addicted to programming and haven't been able to stop since. Is that a fair ...?
Jared: Yeah, that's, that's pretty much the typical one. Yeah,
Ari: Great. That's not me. I'll just be, let's talk, let's just rip that bandaid off. That's not me. When I, so one of the first like profound computer memories I have was on Windows XP. One of the things you would get with Windows XP is we had computers before XP. We had 95 in my house, if that gives you a sense of how old I am.
But I specifically remember on Windows XP that there was something called Encarta. Do you remember this?
Jared: Yeah.
that sounds familiar. Keep
Ari: Nobody, nobody remembers Encarta. Okay. So when everyone else who ends up in CS was like, wow, if you mess around with a code, you can impact change on your computer. I was like, there's an encyclopedia on this computer.
Oh my God, that's amazing. Right? I just remembered the idea that there was knowledge, this whole breadth of knowledge inside of the computer and it was hyperlinked such that if I started to go down a rabbit hole back before, maybe that was the phrase that we would all use. And see something interesting, I could click on that thing and it would take me to another encyclopedia entry about that thing.
Um, and I think my relationship with computers and computer science is very much so a bunch of missed connections for a long time in terms of like, I didn't get into programming, but I did always love computers. I, at some point in high school, somebody was like, I really think you'd like programming. You should give this thing a try.
It overlaps with you're interested interest. And I was like, nah, I'm busy. I'm like, really interested in why school sucks. Uh, I would describe myself as someone who has loved learning, hated school for pretty much my whole life. And so I was like, I could spend some time learning programming, but that won't help me answer Why does school suck so much?
So no thanks, I'm gonna pass. Um, and then I got to college and I took a whole bunch of classes and very much in this thread of I love learning, I hate school. How do I get the most out of college? What is something new that I can learn? And I wasn't really sure what I wanted to study. And in the background, everyone was like, Hey, computer science, computers are really important.
They're in everything. If you study computer science, you can have a good job. And I was like, oh. The financial crisis of 2008 was not very far in the past. And I was like, wow. A good job. That seems important. And so I started taking CS classes in college. And on the first day of the first CS class I went to, um, the Claremont Colleges.
I took some computer science classes at Harvey Mudd College and Pomona College. And on the first day of class, everyone was like, wow, computers, they're so important. And you're gonna learn how to control computers. You can have a, a role in shaping the future, right? This is a narrative that we like in computing.
And then I remember every day after that day, that was an irrelevant sentiment. Like the types of things you learn in a computer science class aren't about, Hey, computers are in everything. Computers are changing the world. People are interacting with computers in every day. What does that mean? And I was like, Hey, Hmm, that's kind of weird.
this is all interesting, but like, what about that? Hey, computers are changing the world. You need to know how to use computers and to program computers if you want to be a change agent in society. And so I, eventually was like, Hmm, that seems like a false narrative about why someone should study computer science.
Um, and at the same time, I was taking these classes in social studies and humanities disciplines in my, at my college, Pitzer College, I was taking media studies courses. I was doing, there's this really interesting seminar about feminism and technology and I was like, Hey, these people over here, they're, they're talking about the fact that computers are actually changing the world and shaping the way that we think, the way that we talk, the way that we're living our lives.
And it's really interesting and really important. And holy cow, I don't think the people in the feminist STS Science and Technology Studies classes and the CS classes could have a conversation. I remember like really profoundly being like, these groups of people actually can't talk to each other. And I was like, okay.
So if the narrative around computer science and why you need to program and why it's so important is because you're gonna change the world and computers are in everything, but those people can't have a conversation with the people who are actually studying that thing. I was like, Hmm, seems like we might have a problem here.
And I was honestly really stumped about what to do with it. And I'm the type of person who's really motivated by my responsibilities and obligations to other people and to society. This is one of my core values. And that's something that really doesn't get expressed in the way that we think about teaching programming in this normative computer science context.
And so I was really struggling to be engaged in CS classes. And I remember there's, um, when I took my algorithms class at Pomona College, it was taught by this wonderful professor, Yi Chen. She's fantastic. And we were doing an optimization problem, and I don't remember the context of it, but we were optimizing oil pipelines.
And I remember going to office hours and I said to her, I was like, why are we optimizing oil pipelines? This isn't abstract problem. We could be doing anything, right? Like I had like been reading recently at that time about bridges at like universities in Alaska that kept students off of the ground so that they didn't have bear encounters during the winter.
And so I was like, what about bear bridges? Why not optimizing bear bridges instead of oil pipelines? Like what's the difference? And she said to me, wow, I've never thought about it. And I was like, huh, okay. So this like instinct about, there's a narrative that computer science is important, but computer science can't engage with that narrative in a meaningful way.
And there are other people talking about this, but none of those people can talk to each other. Started to become like feel more and more pressing up to the point where I finally was like, that's it. I'm gonna do something which you could do at my university, which is create your own major. And I was like, I'm gonna do that.
I'm gonna study half computer science, I'm gonna study social sciences and humanities focused on technology. I'm gonna combine those things and really try and figure out how to help those people have a conversation. And so I designed a major called Technology and Social Change, studying exactly what you would think based off of all the things I just said.
And suddenly I was getting to ask questions. You know, it was like permissible to be like, well what's, what are the social relationships and the social constructs being embedded in a computing classroom in the computer science curriculum? And how is that shaping the way we're thinking about what problems computer science can solve, and the agency people who are learning how to program through these mechanisms, what role they play in sort of shaping the world.
Because if you are learning how to program, you're being told it's important and it shapes the world. But then everything you do is about like null pointer exceptions or, you know, like playing around with this picture of your professor's face and changing the, like the colors using an algorithm, the, you get farther and farther away from maybe the thing that we're telling people is important.
So that's where all of those pieces started to come together for me. And I guess sort of like there's, there's, we're at a fork in the road and I can keep talking specifically, I can start talking about the feminism of it all. Um, or I can let you ask me a question because I did just dump a lot of information on you.
[00:14:33] Why Did School Suck?
Jared: Well, I do, I have lots of questions. One thing I just.
I just wanted to state is that it seems like you keep coming back to this question of why, right? You're asking why is it this way? And one of the first things that you asked, um, I definitely wanna come back to, to where we're at in this conversation, but you asked why school sucks, and I'm just curious, why did school suck for you
in
Ari: Oh boy. I mean, it's great question. I dunno about you, but I love learning and I have found that school is not about learning. Has that been your experience?
Jared: Uh, I don't know. I think I definitely found the learning in school and so maybe I just sort of had that bias of yeah, I like the learning and so that's what I'm going to focus on in it. There are definitely a lot of other parts that I'm like, eh, I could do without, you know, or, or that, that was difficult for me. Maybe it would be a better way to put but yeah.
So.
Ari: Okay. So let me try going about it this way. Let's say I love math, which I loved math, I love algebra, but I'm stuck. I'm having a problem in my fifth grade pre-algebra class and I'm really stuck on something and I'm struggling through it and I'm trying to figure out how to resolve this issue, but I'm stuck and my teacher doesn't seem to understand why I'm stuck and how to help me.
But I'm really trying, like, I really wanna work through this problem and then turns out that module is over. I'm still stuck, but we gotta move on. There's only so much time in the semester and we've got standards to cover and I'm sorry that you are stuck, but we're gonna keep going.
Um, and this idea that like, I, I don't think there's anything wrong with being stuck, right? I know Felienne has talked with you about sort of how hard learning is and learning a new concept sort of can involve deconstructing things that you thought about yourself or the way you've understood the world.
And so there's nothing wrong with learning being hard. Learning is hard, but the way that school is constructed, if you don't learn exactly within the shape of what is right, so there's this sort of like normative model of like, here's what we cover, here's the sequencing. We'll dedicate this much time.
And if you truly wanna understand and don't, but the module is over, too bad. So sad. Do you know what? Like, and so some, right? Like exactly. So long. Some people are able to go, okay, I don't understand this, but I can rotely perform the thing I'm being asked to do and then keep up with the curriculum. Even if I lack understanding and I'm gonna forget it a few weeks later.
I can do this and perform the thing that I'm being evaluated on, such that at the end of the day, I get the grade that I need to get and I gotta get that a in preschool or middle school or high school so I can go to the college that I wanna do and then I need to get that a in college and so I can get the job that I want.
And we get so focused on keeping up with the speed and keeping up with the external validation metrics that learning itself is secondary, if not unimportant to, you know, that doesn't mean people don't learn in school, people do, but like that's maybe not what the focus is. Right? Um, and so, and if you don't understand something and the whole class is moving on, you can feel dumb, you can feel ashamed, you can feel stupid and like maybe you really wanted to understand why and it's just taking you longer.
And I don't think there's anything wrong with that. But that's just, school's not designed in a way, right? When you've got scale and time pressures and 30, 40, 50, 60 students in a class, individual learning is not the most important thing. And that just bummed me out. 'cause I was like, I was the type of kid who was like, but I wanna know why and there isn't enough time for that, but I'm not willing to let it, maybe this is like some of my unique sort of function dysfunction.
But I was like, I don't wanna let it go. I really wanna understand why. And it's okay that it takes the time that it takes, but not if you need to finish fifth grade on time. Which
did, but I didn't finish every grade on time just in case anyone out there is like, I wanna be a professor, and I didn't finish.
You didn't finish a grade on time. It's still possible.
Jared: Yeah. That's great. Okay. Thank you for sharing. And so I wanted to explore this a little bit deeper. I love that, again, you keep coming back to this question of why, right? You're, you have this sense of wonder,
right? You're, curious. And I think for me, I definitely, I think early on in school, I fell into this sort of the educational framework of like what you were saying.
Like, I, I, was able to be motivated by the external rewards of getting good grades. And so that worked for me for a very long time. And then, I don't know. Yeah, I guess at some point I, I probably woke up maybe in college and, and then I was more like, wait, I, I want to know why, but I'm glad, I love that you were asking this question much earlier when I was still just kind of blindly like, Ooh, this is great.
This is just the way it goes. Um, but yeah. Okay. So then that's great context. So then we're coming back and you, you're still in this, you're, you're motivated by these questions and you've come to the point where you're like, okay, if there's not a place for me, or if this question that I have isn't being answered, I'm gonna make a, a, whole place for it to, I'm gonna carve it out.
So you've-
Ari: I'm stubborn. I'm very stubborn.
Jared: I love it. I mean, especially on this, you know, there, there are many things you could be stubborn about, which, but, but this is a great one.
[00:20:41] A little thing called Y Combinator and 4chan happened
Ari: So there's a surprise twist that Felienne Hermans, the, my collaborator knows about, but it's not obvious in the paper, which is, I first started writing about feminism and programming languages in 2013, which is a long time ago now.
Um, and it was during my undergrad when I had been like, Hey, what's happening here? These pieces aren't working. How do we get these people talking to each other? I was working with a feminist film scholar, Alex Juhasz, and she was part of a feminist collective, FemTechNet. And we were doing a seminar about feminism and technology, and we read a book by Wendy Chun called Programmed Visions. It was all about the way software is shaping the world and the metaphor of software is shaping the world.
And she started doing close readings of, in the sort of humanities tradition, methodologically of a close reading of various aspects of software. And I was like, oh, this is really interesting. And I was thinking about it and she was talking about how, right? Like we've now started using software and software metaphors in our everyday language, right?
Software versus hardware. When we think about like brain versus sort of physiology as a way that people use this metaphor, things like, have you tried turning it off and on again? Or buffering. There's all these like ways that computing and software have shaped the way that we talk about the world. And she was, and in reading this, I was like, well, programming languages, they shape the way people who write code, write code, right?
I was like, sort of what we're talking about shaping what is permissible, how you solve a problem, what it means to solve a problem. I was like, programming languages are a huge piece of this. What would it mean to think about programming languages in this way? To do a close reading and to think about how programming languages are shaping not just sort of like programmers, but society at large.
And I remember. Really thinking to myself, I don't wanna just deconstruct programming languages that already exist. What would it mean to think about constructing a feminist programming language? This was right, 20 12, 20 13. What would it mean to think about constructing a feminist programming language?
How would, thinking about who gets to create knowledge, how do we think about solving problems? How would asking these epistemological questions give us new ways to think about designing a programming language? And I didn't have an answer. That's a huge question. I was an undergrad. My advisor was a film studies person who thought was like, wow, what an interesting question.
And I remember her saying to me, Ari, I can't help you. I don't know anything about computer science. I can't help you. And my computer science professors, colleagues, like in class, they were not, that was not a, that question did not make any sense to them. And so I, on her advice, this is buckle in, we're in for a wild ride.
So on her advice, she was like, I can't help you, but there's gotta be somebody out there who can. So she was like, there is a online community, HASTAC. It was a digital humanities website run by Cathy Davidson. She was like, post a blog on HASTAC asking for advice, maybe somebody can find it and help you.
And I was like, okay, great. I'm really interested in this idea. And I keep hitting dead ends because this is really complicated. You know, I was thinking about things like binary and there's this great piece by Donna Haraway, the Cyborg Manifesto. And in this piece, if my memory is correct, she sets up this, she creates a dualism chart of the ways that we construct things as like either/or, masculine/feminine, um, as an example.
And I was like, well, social constructs are constantly being built into code. And if everything, if the easiest variable is a binary variable, right? It's either true or false. And we've taught people that it's either masculine or feminine. True or false, how is just even that basic level of on and off shaping the way that we're thinking about the world.
And I really wanted to talk about these ideas and work through them, but I would get stuck. 'cause you know, you do and you're thinking about hard things. So I posted on HASTAC and I hoped somebody would have enough knowledge about both of those pieces to have a conversation with me. And boy, oh boy, did something happen on HASTAC!
Uh, a little thing called Y Combinator and 4chan happened, which is the blog post I wrote asking for advice, got picked up and shared on 4chan and Y Combinator. And you, uh, probably won't be surprised to know that people weren't really happy I asked this question.
Jared: Hmm.
Ari: Yeah. You know, how dare somebody, how dare somebody think about the ways that programming languages could be sullied by such an idea like feminism, who has the audacity? I got some real interest, but I got more harassment by asking this question than anything else. Um, the depth of that harassment is something we can talk about. The response on 4chan is something we can talk about, but I learned, I'd say the thing I really learned from this experience was how not safe it was to have these types of ideas, how unwelcome computing, as a sort of industry, was to these types of ideas writ large. and I got that reinforcement of the initial problem I had identified, which is these people can't talk to each other even asking a question totally, just like, Hey, I'm exploring these ideas. I'd love to get some insight into how you might think about this problem space was an unacceptable impermissible offense. You know, I was stupid. Let's just, whatever. There's all sorts of, now as I say that, I'm like, oh no, I can't say that out loud because then someone's gonna, it made me very nervous about being in public, right? Being online because it's like anything I say can, can and will be used against me, my image will be used against me.
Um, but yeah, people thought I was dumb that I was asking stupid ideas. Another example of why women don't belong in computing. And so most people would when confronted like something like that, I suspect go, you know what? I can find somewhere else to go. Thanks, so long. You know, thanks for all the fish. So long.
I'm good. I don't need this anymore. Uh, but I'm stubborn and I was just like, oh, you think I don't belong? How can I insist that you are wrong and that I do belong? And so the question became, what does that look like? Sort of feminism and programming languages as an idea got put on hold because I didn't know how to handle that and there was nobody in computing that I could have a meaningful conversation with.
The people in the feminist STS space had lots of really interesting things to say, but we couldn't talk about programming and programming language design in depth. It was really just sort of like the world wasn't ready for this question to be asked. And so I was like, well, what if I went to grad school in a computer science program?
Hmm. It's kind of hard to say I don't belong if I go get a graduate degree in computing. But I also didn't want to not do the things I was interested in. I was like, this is this overlap of like, how do we account for the world? How do we account for our responsibilities to our, to each other, to the planet in the way that we're designing and shaping technology?
Is there a place where I can do all of these things and study computing? Um, and so I decided to go to grad school.
Jared: That's Wow. Yeah. Okay. I'm sorry. I, um, was getting caught up in it. I was, um, just thinking how, um, the idea that you had to do all this extra work, I don't know, it just, uh, I, I'm sorry. I'm,
Ari: no, cried about this a lot, so it's making you emotional,
Jared: it is. Yeah.
I validate that. And I will say, I still cry about this because it was a very overwhelming experience. There's nothing like knowing that your name is on the Wikipedia page for sexism in the technology industry to really make you feel welcome in computer science.
Wow. Yeah. Oh my gosh. Okay.
[00:30:43] Anti-discriminatory framework
Jared: One of the things that I have on here is a little quote from your PhD dissertation. Um, and this kind of brings it back into Elm and,
and just so that, um, maybe a, a little bit of a, a more delightful, uh, avenue for a moment here, but, okay.
So, um, it says, and this is on page 20..., 128 of your dissertation, quote, in contrast with the hostile and exclusionary culture of most open source communities, Elm represented something different in nearly all of the Elm interview participants commented on this. Participants recognized Elm was striving to set cultural norms that were more welcoming and less toxic than those of typical open source communities.
So, um, yeah, this also ties into another thing that I wanted to, to bring up.
Um, I have another bit, it's a quote from that, um, but it's around this idea of just the words that we use. So kind of going back to what you're saying about binary and Felienne, and I talked a bit about this as well, um, about, you know, the world isn't binary.
It's it's analog. It's, you know, it's not even one dimensional or two dimensional, you know, it's a, it's multidimensional. Um, and, but anyway, this, this other quote, um, that's kind of in this realm of, uh, this word that I, the Japanese word for, um, the, the power of words, Kotodama, is sort of what this made me think of.
But, um, the quote is, "humans have always been a part of computing systems. Part of the interconnected set of hardware, software, data, environment, stakeholders and ecosystems. Even past simplifying acts like calling people, users have obscured our ability to address variety and difference that are essential aspects of our humanity." And so you, you have this, you know, you're pulling and you're getting deeper and you're realizing the complexity here, right? And not just the complexity, but the, um, the things that you will come up against, the conflict that that arises when you question, um, the existing norms, right? The, uh, the system, uh, as it is.
So, um, with that in mind, I, I kind of wanted to talk a little bit about this framework, the anti-discriminatory framework and sort of how, what that is. Maybe let's just start with that. Could you just tell us what that is?
Ari: Yeah, I'll do my best. So I think a core piece of an of my framing this anti-discriminatory framework is respect for other people, particularly respect for people who are often marginalized or disrespected or sort of punished by society. But it's also just a respect for everybody, right? What does it mean if we start all of our work from this place of respecting the dignity of other people? And I think about this in reference to programming language is design. It's a, I think one of the things that makes Elm really interesting is the way that Elm also, right?
Evan and Elm really have constructed a world in which, hey, people have dignity and they're whole people, and this is a thing they're using. What does it mean to start from a place of respect for the dignity of other people? And so that's a big sort of core value and most like metaphysical place to be starting from.
And so in my dissertation, part of what I was talking about when talking about an anti-discriminatory framework for computing is what happens if all of computer science starts from this place of respecting the dignity of other people, all other people, right? You, me, someone who's normal in computer science and respected as belonging and someone who isn't respected, you know, gets told to fuck off for having crazy ideas.
Um, just what, how does the shape of the technology, how does the shape of the conversation change if we start with a place of dignity and respect? And so to do that requires that you spend time and effort getting to know the experiences and the needs of people. People who are like you, people who aren't like you.
And so in this anti-discriminatory framework, I talk about sort of this continuous work that we as individuals or organizations need to do to expand our understanding of ourselves and our understanding of other people, to really make sure that we are finding ways to see the humanity in others. And then when we do make things, when we do create programs, how do we engage with those people in whatever way that you are able to, coming from this place of dignity and respect.
So I talk about sort of continuous work that a person or an organization needs to do and then this like iterative work of like what does it mean? So like right continuously to see the dignity in other people. That's a lifelong journey. That's not a thing you just go, oh, we need users. I've gotta remember they have dignity.
Which let me be clear, that's a great place to start if that's where you're starting. Welcome. The water's nice here. We like treating other people with respect. Everyone's welcome, you know, but it to really embody that is a process. And so. I was trying to articulate what does it mean to engage in that process and then also to act on those things that we learn and to act from a place of respect.
And so that's what the anti-discriminatory framework is about, and it's really, a core part of my thesis, my dissertation work from my PhD at Georgia Tech, was there are almost no parts of computer science that people aren't somehow implicated in. There are a few. There are a few, but there are so few parts, right?
Like when we think about the data that we're trying to work with and when we're doing any sort of algorithmic work, where does that data come from? Whose data is it? What constructs are represented in that data, right? Simple things like alphabetizing a list have cultural assumptions embedded in them.
Different alphabets come in different orders, different letters follow one, the next, the next. And so if you have respect for the dignity of other people, say people who don't speak English, then you care about making sure that when you are thinking about alphabetizing a list that you can do that with different alphabets.
If your system is supposed to be used in contexts where English isn't the only language, and so there are just. There are so many opportunities to be thinking about how do we respect other people and how do we respect our sort of obligations to each other across the entirety of computing? And that's a world of computer science.
I'd like to see as being more normal, more normative, rather than this like extra add-on person who has no space in this world, has these ideas and is on the fringes.
Jared: Right. Yeah. Okay. So you have these, this framework, and it has, you know, starting with respect and this sort of, this idea of the continuous work and then the sort of cautious work of, of, of trying things and then seeing, you know, what comes of it and Yeah. And kind of maybe, would that be kind of like pushing the boundaries of It makes me think about, um, the continuous thing is like daily, I need to do certain things in order to like, you know, I have to kill my ego every day kind of thing.
Like, you know, to remind myself you are, you know, you're here to help other people, right? And, and, um, and like daily journaling, things like that. Like, that's stuff that I have to do every day. And then occasionally I'll come upon something where I'm like, Ooh, like this is, you know, like getting. You know, caught up in crying, basically hearing this story. You know, that's something that now like, okay, I, I should probably confront right. This, this particular thing. Um, so yeah, that's, that's really, that's really good. Okay. So the,
Ari: Can I respond really quick?
Jared: Yeah, of course.
Ari: I think this might be helpful and also in trying to prepare for our conversation, I was reminding myself of things that I wrote and I hadn't read the beginning of my dissertation in a while and you helped me remember my framing. So thank you. Um, and I can speak to, and maybe add a little depth around the continuous versus cautious sort of give and take, which is a lot of the times something that happens is we discover something that happened that we think is disrespectful or unjust and we want to do something about it.
We're like, no, this is awful. I have to, I have to do something. And one of, so I am a professor of computer science. I get to teach computer science students about the things that I think are important for computer science students to learn in the context of socially responsible computing and human-centered computing and human computer interaction.
And one of the things that I teach them, there's this great paper by Tiffany Veinot called "Good Intentions are Not Enough". And it is about informa health informatics and how a lot of interventions in the healthcare space that have the best of intentions, truly these people saw something wrong and we're like, I want to help other people.
Sometimes, a lot of the times, good intentions are not enough. This is why there's this like continuous work and this cautious work, which is you see a problem and it's really important to make sure your intention to make it better doesn't accidentally make the problem worse. And so caution there is, right, tied to this dignity and respect for other people, which is to say, okay, I've learned of a new problem.
I might have just learned about this, but somebody's known about this problem for a really long time. So what if I respect their dignity and their knowledge and learn from them before I jump in and try and solve the problem? Because maybe I'll just try and solve the problem the way every other person has tried to solve the problem.
And it just makes everything worse. And so part of it is being willing to slow down, which is like anathema to the way that we live these days. It's like faster, faster, faster, faster. And part of what I am trying to communicate to people is it's okay to say, I need to learn. Okay, I've learned about something new.
I would like to help, but I'm gonna be cautious because I don't wanna make, I don't wanna contribute to other people's suffering, and I don't wanna contribute to the harm that computing systems can perpetuate. And so I wanna make sure that the actions I take are respectful and dignified, you know, help other people.
And sometimes helping other people means letting them, giving them the space and the resources to solve their own problems. But that can be actually a really active choice. And there are many ways that we can contribute to helping each other solve problems. But right what you were just saying about like reflecting and deciding, like when, when is your ego helping you versus when is your ego in the way?
And so that's part of this cautious, right? Continuous learning from other people, engaging with other people's stories, being a citizen of the world and thinking about your obligations to others and your respect for others. But then caution and saying, maybe someone has already tried to solve this problem and before I jump in, I should learn something about it.
Make sure I'm not perpetuating harm. So that's part of this continuous versus cautious dichotomy of my anti-discriminatory framework.
Jared: Yeah. Thank you. That's great. Uh, clarification and details there.
[00:43:00] Language shapes reality
Ari: There's something in reflection to your Japanese word, kotodama, that you'll like as well, but we can follow the book.
My memory's pretty good.
Jared: okay, good.
Yeah, this makes me think about this idea, this parenting book that I have by Dr. Becky Kennedy called Good Inside. And in it, she has this idea of taking the most generous interpretation and, and that to me, I've, I've taken, you know, in, in all parts of my life, and I think, you know, this, it applies here perfectly.
It's like, you know, kids do some things, their behaviors that seem like, you know, they're just like, this is, this is rough. And, but
when you look underneath and you set, you try to like step outside of how it appears to you, right? Like that sort of like unjust anger reaction of, of whatever happened. And then look at like, well, maybe what's going on in their world that may be, you know, causing this or you know, like what are the systemic things that are, are, that are making this the way it is? What, how do we kind of, you were, uh, getting ready to say something about Kotodama, like the words that we use again, like they they influence how we think and our rationale. What, what did you have to say about
Ari: Kotodama?
So back when I was exploring these programming languages and feminism idea for the first time, and we should get to the resurgence of this idea with Felienne, but when I was thinking about the first time around, one of the things I got introduced to was the Sapir-Whorf Hypothesis. Have you, are you familiar with this? In linguistics, it's the idea that our language shapes our reality. It shapes the way that we understand and see the world. And it's very, it's probably not exactly the same, but it's definitely related to this idea of Kotodama and the words that we are saying and the impact those words have on other people. Um, and they're within the Sapir-Whorf Hypothesis.
There's the strong version versus the soft or loose version about how much our words shape our reality. Um, but yeah, I think there, this idea to be generous with other people is so helpful. It's really important. It very much so is related to, if you can see the dignity in other people and that other people are suffering, even people you disagree with, it can help you see their humanity and find a way forward built on a basis of respect, that might otherwise have been difficult. And sometimes people take that to mean, sometimes people hear this and they go, oh, you're saying you can excuse everybody's behavior, and that nothing matters so long as you can find a way to respect the goodness or the generosity or the dignity of other people.
And it's like, no, nobody's telling you to like throw all of your judgment out the door or to let go of the way other people hurt you in the name of being generous to others and finding the, you know, trying to understand. It's really just about, it's easier to continue moving forward even when you disagree with someone else. If you can have respect, um, and under and see the dignity of other people. And so it's complicated, right? Like there is no perfect, there's no perfect way out of the thorny issues that impact society. Good intentions are not enough, but if I know someone has good intentions, it's easier for me to figure out how do we move forward and work together?
How can we try and solve this problem together than if somebody has bad intentions? And assuming mal intent. And in my experience, we all see the world in different ways, but I don't think there are too many people who wake up every morning and go, wha ha ha, ha ha. How do I do evil today? I'm sure there's a few, you know, there's a lot of people on this planet, but I think a lot of people are really struggling every day to figure out, how do I move in this world in a way that is respectful to myself and respectful to others?
And we lose, I think, the respectful to others when trying to be respectful to ourselves. And so trying to figure out, especially the more power you wield, the more important it is to be able to do that perspective taking. And so that's part of the reason why I think it's so important in computing, right?
Computing is this space where there's so much power and so much control over the world. Um, and so it's also a space where perspective taking and this, the humanity of it all is abstracted away, sort of like, let's hand wave that away for another problem and another day. So they all come together. It's just a little tricky.
Jared: Yeah.
Yeah, that makes me think about one of the things I, you know, I mentioned journaling and trying to kill my ego, and one of the ways that I try to do that is when I write, instead of saying I this or I that, which is great when explaining to somebody else, right? Like using from, this is from my perspective, but when it's to myself, I sort of have to get outside of myself a little bit in order to get over the idea, in order to be able to, to see it.
And so one of the things I'll do is write and for you, like, you know, I'll say, you did this or you did that. And so then when I read it back then it, it's, it's more. It's sort of personal. It's not so much as saying like, you know, third person like Jared did this, or Jared, you know, or, or whatever, completely putting it somewhere else.
But it definitely helps me with just like this blocker of like, you know, the mind is very tricky. It can really, uh, blind, you know, rationalize all kinds of things. So, I don't know. That's just something that came to mind. And then I think this really ties into, uh, one of the things from the paper with Felienne Hermans is this idea of looking at the analysis of glaciology through the feminist lens, and then sort of tying that into programming languages.
So like, again, starting with something outside that's maybe not so knee jerk reaction-y.
Yeah,
what, how does, how was that analysis helpful for, for you in, in that,
[00:49:23] Glaciology
Ari: so I will say that that analysis was really helpful for Felienne, and I think it's an awesome analysis, but Felienne and I came to this paper from really different places. I started with feminism, sort of like way back when, and I was like always sort of how. How do we bring these two ideas together? Whereas Felienne came to feminism much later in her programming language journey and experience.
And so I think to see the way that a natural, so computer science has a weird relationship to the concept of science and the concept of natural sciences, which if you skimmed my dissertation, you might've seen some of my writing on that though. It's a long document, so no worries if you have not read that part.
But Right. Computer science and the founding of the discipline made a, made some really clear intellectual alignments to try and justify the need for a new discipline, a discipline of computing. And one of those alignments was towards prestige related to math and prestige related to science, particularly natural sciences.
And we do talk about this in the feminism, " A Case for Feminism in Programming Language Design" paper. And I think the power of seeing that in a natural science, right, a science that studies glaciers, that there are ways in which gendered power dynamics, not gender essentialism. It's not that like tall glaciers are this gender and local glaciers that are near your town at the base of a mountain or another gender.
That's not what that means. But the idea is that what we consider hard, what we consider valuable. The way that we try and assert our worth to the world and to the people around us shapes what gets studied, such that it shapes which glaciers have been studied, that glaciers that are harder to access, have been studied more than glaciers that are easier to access, I think is really profound and really impactful.
And part of what was so exciting about working on this paper with Felienne, right? So Felienne reached out to me. She had discovered that I had written this blog post in 2013 or 2012, I think 2013, but she couldn't find it anymore. And so she reached out to me asking if I was interested in talking about it and if I had a link.
And so we started having conversations and to finally have someone in computing who had all of the, uh, all of the computing pieces of this puzzle to talk about around programming languages, be willing and interested to have a conversation around feminism. I was like, do we need glaciers to talk about this? Great, glaciers?
Let's talk about glaciers. You know, whatever it is that makes this tractable, because I, you know, what I was saying earlier about like, okay, I'm gonna go get a degree from a computing program. I have, since this is something I've talked about with Felienne, I have spent over 10 years now trying to figure out how to talk to people in computing about these ideas that I got introduced to in college over 10 years ago that I did not feel that they would be able to have a conversation about.
Jared: Yeah.
Ari: And so Felienne represented a bridge. I, you know, I always figured I'd come back to talking about and writing about feminism and programming languages, but I didn't know when. It was very much so like a, now I'm an academic and there are things that you have to do to get your dissertation and then you get a job if you're lucky.
And then if with that job there are all these things you have to do to get tenure and feminism and programming languages does not help you do any of those things, which is something she talks about and we talk about in that paper. And so alone, from where I had started, this wasn't something I could talk about.
But with Felienne, this became a problem that was tractable again and something we could talk about. And so, you know, for anyone who reads the paper, you'll notice, and this is something she and I have talked about, you'll notice that my story is not a part of that paper, right? We talk about I and we in that paper a lot and we switch back and forth between the pronouns that we use.
And whenever we talk about I, we talk about Felienne, and we do that on purpose for a bunch of reasons, but one of them is, Felienne's story is relatable to people in computing in a way that my experience is relatable to people who have left computing probably more than it is relatable to people who remain in computing.
And I mean, I do think my story is gonna be relatable to people in computing, but if we think about the idea of like natural sciences and glaciers giving us something concrete to hold onto, that's easy to understand. Felienne's narrative of having been a person who was, by all sort of markers, a valued member of a computer science community feeling not valued and struggling through the ways that she continued to be not valued is easier to understand and to make sense of than right, like glaciers can be, oh, okay.
If glaciers can, the study of glaciers can be impacted by gendered sort of epistemological attachments, then maybe programming languages can too. And so I think this is one of those, like sometimes ideas just need time and glaciers helped make this idea tractable in a way that like, you know, me being like, well, circuits in computers, the on and off is an arbitrary mark point, like.
Circuits don't. You have to decide what amount of current is on and what amount of current is off, and then you have to have some fault tolerance. And all of that indicates actually, that they're not perfectly binary. That this construct of perfectly on and perfectly off exists out of the computer, falls apart, under close, close, close scrutiny.
Um, but that's maybe too close to home. And there's something about glaciers, which it's like, oh, I respect glaciology. I respect climate science. I respect the natural sciences and the study of these things. That helps make it easier to see. Because people have been writing about, um, right? Like Helen Longino is someone who comes to mind, have been writing about gendered knowledge construction and who's allowed to know things and what types of things are respected as knowable, um, in the science studies context for a long time.
Right? What can she know? But glaciers made it tractable and I'm, I'm a big fan of things that help make things understandable to other people.
Jared: Nice.
Yeah. Yeah. Okay, so this. This served as a, a tool, and I love that it's glaciers because you, it took you so long to get, uh, back around to this, and glaciers are so slow moving. I feel like there's,
Ari: There is something really beautiful about that, right? And I love Felienne. Like something so interesting is like, she says that the first time she read that she was like, what is this nonsense? And then she came back around to it and she was like, oh, oh, there's something to this. I see now. Um, because a lot of people hear feminism and they have this gut reaction that they think it means X and as a result, they reject everything they hear about it. I remember when I first started talking about feminism and programming languages, I was doing computer science education research at the same, at around the same time. And when I would talk to people in the CS Ed world, they'd go, oh, so you wanna build a programming language that helps little girls learn how to program?
And I'd be like, Nope. Different project. That's a, I have nothing to say about that, but different project. And people would get angry at me. I actually had people be like, so then what is it that you're actually trying to do? And so glaciers, gender knowledge construction, amazing. Love it when something makes something makes sense to someone.
And the something slow moving, this is everything in time, right? It's a now it's doesn't, it doesn't fit the model of quick, quick, quick, quick that we live in anymore. But some things take time, some things move as fast as a glacier.
Jared: Yeah. Move at the pace of nature is what I like to say.
Ari: It's lovely.
[00:58:12] Relation of Ari's research to Elm
Jared: Yeah. And so, okay, so you did this research for your PhD and a lot of it's related to Elm. I kind of wanted to explore that
a little bit more. And, and I know you've, you've been excited about sharing this a bit, um, with the, the community. So, um, would you talk a little bit maybe about how you discovered Elm and then we'll jump into your research?
Ari: Yeah. Okay. I'm gonna try and do the quickest way that I discovered Elm. I got invited to present at Papers We Love Conf, which was right before Strange Loop as one of the pre-conference events. Um, I think I misunderstood the assignment. I presented on someone else's paper. In hindsight, I realized, I think I was invited to present another paper I had written, but I was just like, well, I love this other paper.
Anyways, that's why I'm like, there's a bunch of tangents we could go down, but I was at Strange Loop and I had been told by my dissertation advisors, my, my advisors in grad school, that I needed to do more empirical work as part of my dissertation. And all of the things I was trying to do weren't in search of a field site weren't working.
I really wanted to study the relationship between the social and the technical. And to do that, I thought it was really important to be able to have access to people and to code. But a lot of environments, that's not a thing they want you to do. To have access to either might require an NDA. And an NDA, uh, doesn't help you write a dissertation that's publicly available to the world. So I had been really struggling to find a field site and I got invited to Strange Loop and I was like, who knows? The world's a weird place. Maybe, maybe something will work out here. And so I gave this talk at Papers We Love Conf.
And then I stayed for the rest of Strange Loop and I went to a talk titled The Hard Part of Open Source or "The Hard Parts of Open Source" by Evan Czaplicki. And in this talk up on the stage with somebody who is doing something I find myself doing, it's a very much someone who loves to learn kind of a talk where it's like, so I went back and I read this book called Propaganda by Edward Bernays about how some people try and shape the ideas for other people.
And I also read like the, what is it, the, oh, I'm forgetting the name of the magazines, but if you It's a talks on YouTube for folks who haven't seen it. And I wouldn't be surprised if a lot of people have where he
looks la
Jared: Oh, I'm sorry.
Ari: whole earth.
Jared: Yeah, The Last Whole Earth Catalog, I have a
copy of that. It's like really broken up, but yeah,
Ari: yeah. Right. This, the ideological sort of origins of all these ideas.
And I was like, that is someone who speaks the same language that I speak. I was like, I have read all of those things. I have talked about those things. He's talking about what makes open source so hard and it's the people. And I was like, I don't know why I hadn't thought about it before, but I was like, open source.
You could study the social and the technical and all of it is publicly accessible. And then there's Evan talking about how the social part of the open source is the, the hardest part of the project, which is not a thing. We like to sort of in the computing space, acknowledge how hard the people part is.
Everybody's like people easy, tech hard it'd say is a simple distillation of that narrative. And so I was just like, maybe I could study Elm. This seems really interesting. And so after his talk, I went up to him and introduced myself. We talked about some of the books that we had both read and what we thought about them.
And I don't remember exactly, but I basically was like, I'd be really interested in studying Elm and understanding this. Right? You're, you've, you've so clearly tried to make a welcoming and inclusive space and to manage the social parts that are hard and yet it continues to be hard. And I'd love to study that.
And Evan is somebody who I would say is like academia adjacent and was like, oh, that could be really interesting. And that is the beginning of that story. And it's, so I remember thinking to myself then. How wild all these years later, it's not feminism in programming languages, but here we are, we've come back to programming languages.
It's like this just interesting return, uh, as you know, as I orbit the sun. Um, and so that's how I found Elm and Evan was interested and so I was like, amazing. Let's, let's really look at this whole space. Let's look at the code, let's look at the people, let's look at the social environment. Let's look at the whole stack, you know?
Um, and I could, because it's open source and I could, because Evan was open and interested. And then also once I started recruiting and observing and being in the Elm space, boy, oh boy, did y'all wanna talk? And I am forever grateful. It was such a, people were like, yeah, I'd be happy to talk. And all of a sudden, 44, 2 hour plus interviews later, we had, yeah, collected all sorts.
Like, you know, I learned a lot about Elm and about what makes Elm special and what makes Elm hard and what makes programming fun or not fun, and what does it mean to feel welcome or included and why Elm instead of something else. So. That's the I, in messaging back and forth with you, I said, I've learned so much about Elm that I could probably write a whole book, and I think that's true.
I wish I had time to write a whole book or that a whole book counted as part of the tenure process in my department. A book is literally equal, equal a book chapter. I'll let you figure out how that makes sense. But, um, so one day, but yeah, that's, that's the intro to Elm and I think now is a good time to stop talking and let you ask a question.
[01:04:33] Elm error messages
Jared: Okay, so yeah, you, you discovered Elm through Evan's talk and you realized, okay, so this is a, a place, it's open source. There's a lot that you can gather on your own. And then of course, with Evan's help and uh, folks in the community, you were able to do this research. And of course, one of the things that is mentioned in the paper with Felienne is the error messages, right? So I feel like that maybe that's a good place to start there.
Ari: a great place to start.
Jared: wanna talk a little bit about the word breakdown and you know, the Kotodama of that, if you will.
Ari: Yeah, I'd love to. Okay. So. One of the things for me with like, I guess a little bit of meta context is that in the academic space, a lot of attention has been paid to the experiences of novices in computing, right? How do we make computing education more accessible to K through 12? How do we make intro classes more welcoming?
And there has been very little in recent history, attention paid to what is the experience of computing for the professional developer, right? And so if we're thinking about getting all of these people into computing by making the intro more welcoming, well maybe we wanna make all of computing more welcoming, just a thought.
Seems logical to me. And so one of the things that's so exciting about getting to study Elm is here is a community of predominantly professional developers who have made choices about what languages they're more interested in working with, either professionally, personally, or both based off of the experiences they have while programming and those experiences were so directly tied to error messages and to com, the compiler itself.
And so in my interviewing process with the Elm community, and truly for anyone who's listening who did an interview with me, thank you. I am so grateful to all of you for all of your generosity and time and for letting me be a part of this community and learn from you. And one of the things I learned was, boy, oh boy, does everyone have feelings about Elm, particularly Elm versus JavaScript and Elm versus Haskell.
People have feelings about Elm versus everything. I'm sure that that tracks for you. But one of the, I'd say the two most common languages that Elm got compared to were JavaScript and Haskell, and the experience of programming in Elm versus the experience of programming in JavaScript or Haskell. And so one thing that was super clear was the way people felt about the Elm compiler and Elm error messages and how this was unique and different to other programming languages they had worked with.
And not just shaped their sort of emotional, psychological experience of programming, but also the actual physical activity of programming. The way you interact with the compiler, the willingness you have to try something new while doing, while programming versus feeling constrained to make sure you're not getting yelled at by your, by some sort of angry compiler mirror error message, like good steps.
Some one, somebody said something about a sta, a stack trace, they just could not interpret for the life of them and how it was so nice in Elm that those things didn't happen. And so. I had never heard somebody refer to the compiler as my friend before, but I don't think that, I think multiple— I'll, I'd have to, I'll have to go back to the interviews, but people would say, the compiler is my friend.
I love Elm. I feel like I'm having a conversation with the compiler. Some people said, it feels like Evan is helping me program. Um, and so I thought to myself, well, why don't we look at what makes Elm's error messages different than JavaScript's error messages and different than Haskell's error messages and compare them. And is this what you were alluding to?
Jared: Yes.
Ari: Yeah. Yeah. So this was really fun. But, um, so yeah, the one, so there's like a, I'm sure depths we could go into about the differences between them. But I think the easiest place to start is who error messages are written for, or who error messages aren't written for. And one of the things that was very instantly clear in comparing the way you would, when you're doing like a close reading method in an English class, the error messages from one programming language to another is that Elm error messages personified the compiler, they were written.
There's a clear first person subject, I, I can't understand, I don't have, et cetera, et cetera. Whereas, um, and then would address you, the developer and in full sentences with a subject and a predicate as if there was a realization that there was a human on the other side of the compiler experiencing the things that are being returned to them.
And that's just absolutely, as I'm sure many of you here will remember or know from your daily experiences, not the way error messages and other languages are written, not even a little bit. Right. And so in JavaScript, I think I described them as like Exclamatory outbursts. In JavaScript, there is no subject, there's never an I or a we.
The, I just, in my, um, in the research, I describe it as being like a, the voice of God in a theater production, which is when a booming voice comes on over and speaks to the audience. You don't know who the voice is, why it's speaking to you. That's sort of the way JavaScript writes its error messages where you don't know who, right?
It's like error, but it doesn't say like, where, why, how, who. The error messages in Haskell are all over the board, which is also not surprising when you think about how Elm's compiler is written by Evan. JavaScript is written in a corporate environment, and so there's a lot of speed pressures to get stuff done, and that has an impact on the type of error messages that get written.
And then Haskell is an academic collaborative project that's been going on forever. And so there is no consistency in the error messages in Haskell. Sometimes it's written from the perspective of we, sometimes it's written from the perspective of I, sometimes it's a full sentence, sometimes it's a sentence fragment all over the board.
But it's interesting what we can learn about the ways that the developers are thinking about the audience or the user of a programming language by deconstructing the error messages they write themselves.
Jared: Yeah. Yeah. Okay. So yeah, that's, that's pretty deep. There was one aspect of it that I think was interesting, um, was that it talked about what it would expect instead,
Ari: Yeah.
Jared: Like, yeah. You wanna talk a little bit about that?
Ari: Yeah. This was something that was most consistent and unique to Elm. So at the end of my dissertation chapter on Elm, I wrote this list of inclusive, welcoming error message sort of guidelines based off of what I'd learned from comparing them and what y'all had said during your interviews, and one of the things that was so important about Elm's error messages is they didn't just tell you how you were wrong.
Most error messages tell you how you were wrong and they tell you what you did wrong. Right. Missing semicolon, well, that one's not a good example for what I'm about to say, but sort of like un like they'll be like unexpected. They'll talk about all the things they didn't expect, right? I didn't expect to see a semicolon here or a curly bracket here.
And then Elm. The framing would be, I saw blank, but what I expected to see, I being the compiler, in this case, what I expected to see was blank. Um, right. So I saw X, but I expected to see Y. That's fundamentally a different framework for thinking about the communication the compiler is having with the programmer, which is to say maybe what you need to know.
And Evan has spent a lot of time working with the community and thinking of from his own perspective about what it is that is helpful when you're programming. But it's to say maybe it's not so helpful to know what was unexpected. Like what? Okay, well I already wrote what was unexpected and it's not working.
What, thank you. Thank you so much. You didn't want this thing there. Great. Now what? Right. And so with Elm, you get information about what is expected. You might even get a link to some documentation telling you why it was expected. So you can go and answer that question if you want to. And that's a fundamentally different approach to communicating with a programmer via error messages than pretty much any other language I'm familiar with.
And certainly at the time of the analysis that felt incredibly unique. And one of the side effects, funny word choice to use, Ari, one of the implications of that choice is that you don't have to copy paste error messages into search engine of your choice or large language model of your choice and say, what does this mean?
And then go to stack overflow and read six answers that are chastising the person for not knowing the answer in the first place until you get down to the bottom or you get the helpful one that is like, oh, actually you wanna see this other stack overflow post written 10 years. You know, you don't have to do any of that, which is a huge amount of like additional labor.
You get to just go, oh, I, here's something that wasn't working the way the compiler, I, the compiler expected. Here's what it is expected. I can, I have the agency and capacity to make that change right now without having to go Google anything. And that is fundamentally a different experience. And not only is that different from the way that we write error messages, but part of what was so interesting to me in talking with all of you is how the emo the emotional resonance of how different that experience was.
And I don't know that this comes across as fully in the dissertation work, but people talked about feeling safe and able to write programs without having to worry. If we go back to what you were talking about before, learning versus school, people felt safe to make mistakes. It wasn't the end of the world to be wrong because the compiler was gonna help you get to the right answer rather than yell at you for not knowing already.
Jared: Yep. Yeah, exactly. Yeah, I've, I've talked about this before. The idea that coming from other languages that, uh, had uh compilers, I would avoid the compiler errors. Like I would do extra work to like read through and make sure I didn't have any issues before I tried to hit build because I felt, I don't know if there's a sense of shame or, you know, or what of, you know, failure of, of, of making mistake or just like the idea that I might have to read through whatever it output and it would derail me from, from doing work.
Um, I would, you know, just work extra hard to kind of pre-compile in my head, um, versus then moving to Elm and then deciding, oh, this compiler is my friend. Yeah. Like it's, I've described it as like my happy place, you know, like if no matter what else is going, like I can come work on some Elm code and I know like, you know, okay, it's gonna be all right.
Like, uh,
it's not so bad. So Yeah. And it,
Ari: so interesting, right? That like a programming, that the intentional design choices of a programming languages can give you emotional, psychological, safety assurances, that it can be a safe place to turn to
Jared: yeah, powerful.
Ari: wild. Amazing. Very powerful.
Jared: yeah, and, and I find this interesting as you were talking about it, that now the thing that I, when I'm working with someone else who is maybe newer to Elm. Is getting them through that, through that, like, you know, that kind of recovery of, of having to deal with other, either, you know, an interpreted language where they just have to, you know, try it and see what happens.
Right. Kind of thing. And, and it's
usually like, you'll make a bunch of things in there and then like, you know, you get chaos and that doesn't work for Elm it's like you gotta make smaller changes. You gotta work at a slower pace. But, um, if you pay attention, then, you know, and actually read the compiler error messages.
It's not so, not so, uh, so difficult or so Yeah. Um, so tough. So yeah, I think that's, that's it. That's like just the, the struggle is like getting them to recognize that, okay, make a small change, see what the compiler says, and then we can, you know, we can move on and see, you know, kind of lead with that as opposed to like trying a bunch of different things until something just makes the compiler error go away.
Ari: Yeah. Yeah, right. It's a very different approach to what it means to program, and what it means to interact with the programming language or interact with a compiler than what most people are used to. And so a change is hard, but sometimes change is rewarding. Sometimes it means your compiler's not yelling at you in a language you don't understand anymore because most compiler messages are written as if people don't exist.
It's like very much so this weird human agnostic, machine focused sort of keyword vomit.
Jared: Yeah. Yeah. And even the idea, I like that, um, you mentioned the resources that, you know, it'll tell you this is expected, right. And, And, um, and then one of the things that I think you put this in the paper. Yes. I'm pretty sure you did. Um, you correct me if not, but, um, that Evan was interested in, in making it so that you could get started online without, you know, having to download and, you know, use the terminal and, and go through all that, that could block you from ever even getting started.
Right. Like you're saying,
like this, you've had starts and stops with, with,
this and in, in these blockers and it's like, yeah. What kind of interesting ideas and, you know, intersections of, of work could we see if, if we had the, an environment that embraced and made it possible for more folks to be involved.
Ari: Totally. Right. And going back to some of what we wrote in the paper, in the glacier of the glaciology of it all, something being hard versus not hard, that like, you know, it's not enough to make the entry point of CS or the beginner programming language welcoming if everything else is then artificially hard just because we've valued the idea of things being hard.
There are so many hard things for programming. Why do error, right? Like going back to why, why do error messages? This is what Evan, you know, something Evan and I have in common. Evan was like, why do error messages have to suck so much? They don't really, you just have to spend more time. Like, he's like, you just have to be able to spend the time fixing them. But you can do that. Programming languages are made by people, presumably for other people. Right. That's why programming languages are a little weird in that like they're for people and for computers and that's a hard thing to manage. And so we are training CS people to think about the for computer side of things rather than the for people side of things.
And so PLs have overindex on the for computers of it all, rather than the for people of it all. And Evan was like, why not? Let's try something different.
[01:20:37] Slackbot / Feminism
Jared: Yeah, exactly. what other things did you find in that research?
Ari: The Slack bot I think is really interesting. And specifically the Hey guys Slack bot, which I'm sure for people who have participated on Elm Slack, you will immediately have a reaction and that reaction will fall along a spectrum and it will be like, oh yeah, I remember that thing. Or Oh, uh, I remember that thing.
People have very different feelings about it. Um, and one of the beautiful things about interviews is that because they are anonymous, people will tell you how they feel in a way that they might not feel comfortable doing. So in sort of the Slack community itself where it's identified, but the Slack bot really was divisive for some people.
Made some people stop participating in the Slack community, but was also a signal that this was a safe place for other people, right? And so I think there are larger questions that this asks us around what can be efficient, what, what can you automate versus what requires person to person interaction.
You can automate the hey guys, right? You can do keyword matching, regular expressions, and anytime somebody says, Hey guys, you can have the bot pop up and say, Hey, that language is exclusionary. What if you said, Hey folks, or Hey everyone instead. And that's very easy to operationalize using chatbots, right?
No big, no big deal there. But depending on where people are in their personal journeys, around what does it mean to have inclusive language, that can be such a delightful surprise. Oh hey, an open source community that realizes that "guys" is a gendered term and that when we use guys as a default, we are meaning that everything can be referred to as bio masculine.
And that's okay. And you know, the inverse of that is, would it be acceptable if everyone said, Hey girls. And most people are, most people are like, well, if I'm not a girl, I don't wanna be called Hey girls. And then you go, well, there you go. That's the hey guys of it all. But on the other hand, people are like, but this is just how I talk and you're telling me this thing that I know and this way of communicating in the world makes me mad.
It makes people feel bad about themselves. Um, that's, it's complicated, right? But, um, one of the participants, I think I'm doing a very bad job of talking about this. It's very messy. But I think that this is sort of the reality of being in community with other people. It's pretty messy. Some people really weren't active in the open source of it all with Elm. They were using Elm for work. But seeing that the Slack bot existed made them feel like Elm was a place that was safe for them. Um, particularly people who identified as not men. And that's amazing and wonderful. And some people who identified as men really liked the signaling that the bot did to say that, Hey, this is a welcome and an inclusive space for you.
Um, for some folks, the bot helps them change their behavior offline. People said they've never thought about it before, but then after sitting with it and having an initial negative reaction to it at first, but then processing and going, you know, it's not that big of a deal to just say, Hey folks, instead of, Hey guys.
Um, right. So this whole range of reactions just from one little automated decision to signal what the values of the community are. And I think it's a really interesting little slice into what does it, what is, what are the power of our words? What does it mean to say, Hey, what is, what is your everyday language say about the way you understand and shape the world?
Right? I can't imagine some people do intentionally walk around and say, Hey gal,
Jared: Yeah.
Ari: as a counterpoint. But that's an intentional choice rather than a default. And so, you know, one of the things I like about feminism as a lens is the way it helps us reflect on and challenge our defaults. But that's hard work.
And not everybody wants to challenge your defaults, but maybe that just means that this isn't the place for everybody, and that's okay too.
Jared: Yeah. Yeah, that's true. And I think the, the thing that I learned is like feminism is a framework of challenging those things, right? Like that that is an important thing to recognize about feminism. And maybe this should have been closer to the beginning of this conversation or even the conversation with Felienne, but yeah, like the idea that, um, well, for one, it's not binary, right?
So like saying feminism, right? Like there's that knee jerk reaction of like, I don't know, maybe like almost it seems like, uh, you know, like a sexist thing to, to even, right? That, that whole
idea, it's like, a
Ari: programming language for little
Jared: girls.
Right? Yes. That, that
kind of reaction. Um, but to recognize that the ideas are, are not applied in, in just a binary way, and they're not applied in a way of, like, again, if you're coming from a world where the idea is like domination as the default, right?
Then the idea is like, oh, you're trying to dominate. But it's like, no, it's, we're just trying to like, create this balance, right? Like this, this idea that, that an op, um. A balanced playing field is, is, you know, is is better overall for everyone.
Ari: yeah. I really like this framework too, of like, we are living in a world right now where a lot of people are getting hurt every day. If we go back to this concept of anti-discriminatory and starting from dignity and respect the way the world exists is, is hard on a lot of people. And feminism is one of the things that feminism can do is help us analyze the defaults of the world that preference certain things over others, right?
That preference, the idea that something has to be hard to be valuable. And, you know, if you grow up and you're being told that like you're a man, you have to value hard things. You have to like math, you have to like computers. And you, if you, if any of those things don't sit with you, you know, re if any of the things don't resonate with you, or maybe they do, but you also like dance, right?
Masculinity as a construct doesn't, it makes it hard for you to have space for all of those things. Why can't you be a man that loves to dance and loves to program? I think that's beautiful. And I'm not saying, but, you know, but the idea is that like this macu, like we wanna live in a world where there's more options for more people, where the defaults are more inclusive, that you get to be your whole self rather than a part of yourself.
And so, recognizing the way that gender based defaults are negatively impacting everybody allows us to think about, well, what if we made different choices? Why is hey folks, not the default, you know? Or hey gals.
Jared: Yeah, exactly. Yeah. If you, if you say it, then it, it definitely makes you question it, or I guess react to it in some way. But yeah, if, if you're open-minded, right? If you have that sort of sense of wonder, then,
then you have the opportunity to question it and say, well, why is it, yeah, why is it that way?
Ari: Yeah. Why can't you be the most full version of yourself? And you know, if, if something you like is coded as feminine and you've been told that feminine is bad because feminine is soft and you're not supposed to be feminine, then that's a way that gender is hurting you personally. And that's happening every day across the world to everybody.
And it's, yes, we definitely want to be thinking about the way that women are being excluded and being shaped in a particular way. But feminism is right? Bell hooks, feminism is for everybody. When we break down these barriers that are telling us that we have to be a certain way to be valuable and to say, no, I, maybe I'm valuable as I am, maybe society should be more open to difference then everybody wins.
Jared: Yeah, it's going back to asking how can we be responsible for in helping the world, right.
And helping the community and Yeah. And, and doing our part. Yeah. Okay. So, um, did you have anything else about that research before I moved on to other things?
[01:29:23] Why study Elm?
Ari: Boy, there's so much there. I think we did a good, a good fly by. I will say. Um, and you know, if this isn't helpful, feel free to cut it out, but I think some people might wonder. Evan already did all this work. What's the value of this research? I maybe Ari is saying things that like I already know to be true about these compilers.
Like, yeah, duh, Elm is nice to me. Elm says what's expected. It's like, why does that matter? I, I do think that like some people wonder and so right. Evan chose to build Elm because he wanted to, he thought that this needed to exist and he thought a path forward to make it exist. And he realized that if he took the academic path, and he, I think he talks about this in the last Strange Loop talk that he gave, if he had taken an academic path, he would've had to focus all his research questions around what is fundable and what is valuable from an academic perspective.
And if he had gone on the corporate direction, um, right, trying to embed within a large, big tech company, he would've had to shape Elm to the values of the capitalist logic of those com companies. And so by choosing this in-between space that is, has been very difficult. He's been able to shape Elm such that he could spend all that time writing error messages that everybody else wouldn't have valued as a research project.
And so, yes, Evan has already done stuff and we all benefit from that. And one of the ways we can benefit from that is by studying it and writing about it so that academia, so that it becomes more legible in the academic discourse so that maybe one day, some day in the future somebody can get grant funding to work on error messages and more languages that make programming more inclusive and welcoming to a broader number of people.
And so that's the value of this. That's one of the ways that this type of work is valuable, which is yes, you may, in your lived experience already know that these things about Elm are true. And by writing it up in a way that makes it sort of comprehensive through this academic discourse to a whole new community, we can increase the spread of these ideas and help demonstrate the impact and value of them.
Jared: Yeah, that's great. I'm glad you, you shared that. So yeah, the, the. You know, just the idea. Yeah. Like that Evan couldn't, couldn't have done that if he had taken that path. And so, yeah, I mean, that's definitely a, um, an avenue. And then in the, um, just being able to share this in this community and the way that we're talking about it right now, I think helps folks on, you know, maybe on the business side, right, who are, who work with Elm, but then still the culture that maybe that they work in is, you know, is one that maybe isn't as inclusive as, um, as it could be.
[01:32:15] Contorting yourself
Jared: So I did have a question here. It's kind of a long, um, set up, but I thought it was kind of a fun one. There's this quote by Donna Haraway. It's from, "When We Have Never Been Human, What Is to Be Done?: Interview with Donna Haraway" um, in Theory, Culture & Society by Nicholas Gane. It's, "We live in a world where people are made to live several non isomorphic categories simultaneously, all of which torque them." Torque, T-O-R-Q-U-E.
Ari: QUE.
Jared: Yeah.
Ari: Not twerk them.
Jared: yeah, torque. Uh, yeah, I, maybe I can't, I can't speak very well, but, so, and
I then.
Ari: perfectly well. I'm sorry I've interrupted.
Jared: No, no, no, you're fine. Um, but then I wanted to clarify isomorphic here. Um, which it, to me, in the programming space, from what I understand, I don't have a very deep understanding, but it means sort of like having this clear or similar mapping.
So in programming we might say that two data structures are isomorphic, if they can be completely mapped between one another. Um, this phrase and particularly the word torque makes me think of our motivations and principles and how they can be difficult to reconcile.
So in personal life, protecting your family and not owning a gun, in a business sustaining profit without harming the environment or a group of people. In terms of social issues, what are some of the ways we currently torque ourselves in technical systems?
Ari: I, it's, so when, do you know what year this was published in?
Jared: 2006 is, yeah,
it's that one.
Ari: So what's, I wonder if I've read this before. So back, back in, back in the day, I used to talk about, as part of this translation work that I was doing, attempts of like very, like isomorphic problems. How do I make something legible? Right. So like the idea of calling feminism an overloaded operator in the feminism and programming languages paper is a way to help people understand that there are multipli, like there's multiplicative multiplicities there.
Um, I used to describe this translation work between feminist media studies and feminist STS to computer science, talking about code and programming as isomorphic translation problems. And that I was just talking earlier this week with my partner about all of the ways that in order to make my ideas legible to computing, I have contorted myself into different shapes and different spaces trying to, okay, well this version wasn't legible.
What if I bend this way and put my elbow in this spot? You know? Um, and all of the personal frictions that has caused for me in trying to, right, trying to create a space where I'm valid in computing. I've had to let go of the things that I wanted to talk about in the first place in this like constant reworking and reworking and reworking and what you were just saying, and I don't know which part was the quote and which
part was the I realized that, sorry.
and that's okay. at the end of, so her quote was, "We live in a world..." Donna Haraway's quote was, "We live in a world where people are made to live several non isomorphic categories simultaneously, all of which torque them." End quote.
Yes. Did you ever watch the TV show The Good Place?
Jared: Oh, love that. Yes,
Ari: so we're gonna potentially some spoilers for The Good Place. If you haven't watched The Good Place yet, either pause this and go watch the whole series right now, or live with the consequences because it did come out a while ago. But I was talking to, um, my therapist about Chidi from The Good Place, who's the philosophy professor.
And he's insufferable to the people around him because he cannot make decisions, and he cannot make decisions because he's constantly thinking about the consequences of every decision he makes. And it's like turtles all the way down kind of a way. Um, I have this like, you know, we all, there, there, they're the stories that we tell about ourselves.
And here's a story I tell about myself when I was in college. So we're back to college. I was in Target standing in front of the peanut butter on the phone with my father crying because all I wanted to do was buy some peanut butter. I love peanut butter. So American love peanut butter, but I didn't wanna buy any peanut butter with palm oil in it.
Because palm oil was contributing to deforestation and having horrible soso soc like social and economic impacts on a lot of the women who were working in palm oil harvesting, because that was now the only job in the area because it was so lucrative. And then that was contributing to monoculture, which was contributing to soil degradation, which was contributing to all sorts of broader ecological harms.
And I'm still, I just needed to buy peanut butter, right? Like all I, I had, I was in college, I probably had homework to do. I just needed to buy peanut butter, but I could not buy peanut butter without seeing this downstream harm of ev. So this choice that someone else had made for me to put palm oil in it, because palm oil is cost, it's very affordable, it's shelf stable.
It will prevent it from separating so you don't have to stir it. Um, and I was in college and the ones that you have to stir, not that they were selling any of those at Target at this particular point in time, but those were also more expensive. And I just was like, I remember being like, I can't make an ethical choice.
There is nothing I can do to make an ethical choice. And the reality is that we do not all have time to cry on the phone at Target trying to buy peanut butter. You just have to move on. Like you can't, right? Like we can't, there's a reason that we don't all live like Chidi does in The Good Place. It is an impossible way to live if you are constantly reckoning with the ways that, right. In economics, we abs, I love the idea of abstraction, right? In economics, all these things are abstracted away as externalities. It's somebody else's problem. And it's like, well those are actually, if we're thinking about our responsibility to each other and the planet, those are actually all of our problems all the time.
But we shape our problem spaces in particular way. And so this non isomorphic version of ourself, right? Like you might want desperately not to buy something with palm oil in it because you don't wanna contribute to the monoculture and the soil degradation and the Chidi, right? Like this ethical, you can't buy a tomato without incurring negative points in the bad place.
There are the spoilers for you, right? Because you buy flowers and this, this, this, this. And every choice we make actually is so, so fraught that there are no good choices to make anymore. If you wanna keep living your life, you can't think about those things. You have to, you have to set up boundaries so that you can go into target and buy peanut butter and go home to your kid and put together a pb and J sandwich without having like an hour long meltdown in front of the peanut butter.
Jared: Yeah.
Ari: And so I think that that resonates a lot with me, and I suspect that other people have realized, um. In their daily lives, the ways that this resonates with them. And I actually think about this in the computing space a lot and thinking, I think there are resonations with Elm, right? It's sort of like, so one of the things I'm really interested in as a researcher is, right, how do we help improve socially responsible choices in computing all the way down?
You can't, you can't be stuck in the peanut butter aisle when, right? If you've got a deadline and you've got a deliverable and you need, you know, the product is gonna ship. You need to make a decision. You aren't given the luxury of time and space if you wanna keep feeding your family. So you have to make choices.
And so we, you know, one of the consequences is in computing is almost all computing technology is inaccessible to people with a whole bunch of different types of disabilities, right? Like when we talk about user interfaces, it's actually, we know how to make accessible user interfaces. And yet, most of the internet, most websites are inaccessibility, they're inaccessible, they're accessibility nightmares.
Um, and one of the problems has to do with how the problem space is defined and what is included and what is excluded. And so. Uh, you know, one of the things I'm thinking, one of the things I like to think about is how right most people wanna wake up and do good in the world. They wanna, they want to be contributing to our sort of societal betterment.
This is a, this is something I choose to believe when I wake up in the morning. And so how do we help more people in their daily lives make those choices more easily? How do we support socially responsible design in computing systems by realizing that not everyone, right? I'm an academic. I have lots of time to read.
Well, I don't have lots of time to read, but it's my job to find time to read things and to figure out how all the pieces fit together. If that's not your job, it's maybe not fair for someone to be like, well, have you read this? Have you read this? Are you keeping up with this? Are you keeping up with this?
At a certain point, you, the Chidi of it all comes in, it becomes overwhelming and you can't keep up. And so the same thing to do is to go, just gonna focus on what I can control, gonna focus on what I already know how to do. And so one of the things I'm interested in is how do we help, right? So if we're thinking about Donna Haraway talking about these non isomorphic versions of ourselves, what are ways that we can, what, you know, how can an academic think, who has time to think, think about ways to make it easier for other people to act on the things that they maybe want to act on, but don't have time for.
Because the problem space they've been presented with, it's been abstracted away from.
Jared: Yeah, that makes sense. And this makes me think about, at the beginning you talked about why school sucked and it was like getting left behind. Right. And this is that idea, right. Coming full circle here
of like trying to think about how not to, to leave folks behind. That's great.
Well, is there anything we should chat about before moving on to picks?
Ari: I'm sure there's stuff we could talk about,
but maybe we should,
um, move on to picks because
there's always time for another conversation
at some point in the future.
Jared: Sounds great.
[01:43:01] Picks
Jared: Well, what picks do you have for us today?
Ari: Okay, so there is a book I really like that I recommend to other people that came out in 2024.
It's called Possible by William Ury. He is a conflict management negotiation facilitation expert who's done public sort of international dispute resolution for many years. I think he's great, and one of the things in this book, he introduces a frame, which is who can do what with this information tomorrow?
And so if you've been listening to this conversation and you are like, wow, socially responsible computing, I don't feel like I get to enact that in my job. But that's something that resonates with me. There's a version of this where you go, well, what can I do tomorrow? Right? Maybe you can't save the world tomorrow, but maybe you work on the front end.
Maybe you all haven't been talking about accessibility. And so broaching accessibility as an important thing for your interface to be capable of. Is it screen reader compatible? Is the contrast appropriate? Are there appropriate labels on all of the images using alt text? So especially since elm's front end, you know, WCAG's got a whole bunch of really good pointers.
So feel empowered that you can't fix everything. But what, who can do what with this information tomorrow so possible by William Ury is a very interesting read. And it doesn't take, you know, it's a good book. So that's one of my recommendations. And it also, let me say one of the things I wanted to say, which is we all have agency and within your sphere of influence, there are things you can do and you don't have to change the, you know, change the world in the big sense to make little decisions like using Elm to make your life less miserable.
Thinking about how can you advocate for accessibility in your workplace. Um, so that's one pick. Should I give another pick?
Jared: Yeah. One thing I just wanna say is I listened to an interview with William Ury. Um,
find a, a link to it. Very good. Yes. I, I'm gonna have to check out that book.
Ari: It's great. It's so, he's fabulous. He's very famous. He wrote this book, The Power of the Positive No. Getting To Yes, is another famous book that he wrote. And so Possible is like a retrospective, bringing all of those ideas into one book. So if you were looking for a place to start and you are trying to think about how do we live in a world where we are in conflict and make that conflict constructive, this is a good book for you.
Um, now for something completely different, um, I don't know how many of you, I'm, if you like anime, you've probably already been watching this, but if you out there are like looking for something to watch or read, Frieren is amazing. It is such a delightful manga and anime, very, very faithful to the anime, is very faithful to the manga, but I'm a person who finds the world to be very stressful.
And when I need to unwind, I want to go somewhere that is not going to make me feel worse about the world. That's one of the things I look for in my entertainment. Not something that everybody looks for, but that's important for me. And so Free Ren is a great place to go for deep meditations on what does it mean to experience loss and what does it mean to be in relation with, to the other people around us, as told through this fantasy meandering journey through a different land where there are magic, where there are elves and magic and human and humans all sort of trying to figure out how to survive, um, and slave demons at the same time.
So that's a good one.
Jared: What, recommended
how do you spell that?
Ari: Frieren, F-R-I-E-R-E-N. Colon Beyond Journey's End is the name of both. So if you are looking for something to watch that's so good. If you are interested in feminism and programming languages or feminism in technology, I would highly recommend the book I mentioned earlier, which is Programmed Visions by Wendy Chun.
That's really interesting. Um, likewise, Judy Wajcman has two books that I return to over and over again. Feminism Confronts Technology and Techno Feminism. Those are great reads. If you're looking for a place to start, um. If the accessibility thing resonated with you. I am on the Association for Computing Machinery Policy Council, and we recently released a tech brief about advancing accessibility in the digital world.
So you can check that out and get sort of like a two pager as to why accessibility's important. It's really useful if you're in policy, but there's some good pointers if you're not in policy. So also PBS is great. I love Sesame Street. I'm a big puppet fan. I'm a big PBS fan, so, um, send some love to your local PBS station.
Jared: I love that.
Excellent. Okay, well I have a couple of picks as well.
Um. The first one is an article by David Griffiths called "Queer Theory for Lichens". Um, and it's helps me kind of think about the non-binary world, um, and thinking about it through the lens of nature. Um, I was introduced to that through Entangled Life by Merlin Sheldrake, which is an excellent book as well.
I've recommended that before on the podcast. Um, but yeah, I just, I like this idea of, um, yeah, just taking a different view, being curious and being open-minded. And definitely that article, um, helps you think out outside the box there and, and so
yeah. Cool to check
Ari: have you read Mus? Uh, I think it's The Mushroom at the End of the World by Anna Tsing.
Jared: No,
Ari: you might enjoy that. It's a good one.
Jared: I'm writing it down. And the author's name again.
Ari: Anna Tsing, T-S-I-N-G. If I'm getting the title of the book slightly wrong, you'll still find it. It's close. It should be close enough.
Jared: Okay. Excellent. Um, and then the second pick that I have is the rehearsal. It's a show on Max, um, by Nathan Fielder, and it's like a docu comedy, I think is what they call it, but it's like a documentary plus, uh, like a pseudo documentary. Um, but it's about like rehearsing for everything. And it's based on this premise that like, you can't really control nature and other humans and how they react to things. Um, but it's this idea of like trying to play out every scenario and sort of like, sort of like this Chidi thing, right? It is like premise of The Good Place, but um, in a more like, sort of mockumentary. I, I don't know. I wouldn't say it's mockumentary. It's like, it almost seems real. It's like it's so close that I'm like, is this real?
I'm like, no, it's not real. But I'm like, it could be real. You
know, it very well could be real. Um, but yeah, they'll have these different scenarios, like one episode, uh. Nathan is trying to help someone, uh, come out about a, uh, that they had some form of education that they didn't actually have. And so there's like this really, uh, elaborate scheme of, of recreating the bar in which they'll be having this conversation.
And like an actor will be sitting there and, and, you know, trying to get to, into, into the persona of the person. And as like this, this whole, um, flow chart of different, you know, like if they say this way, then you react in this, in like all these different ways that things, it's, it's pretty interesting. Um, I think it has some like neurodivergent, um, thoughts in there.
Like, you know, what it means to be autistic, which I think, yeah. I, I may, uh, may be on that I'm not diagnosed, but, you know, I, I think it, it definitely resonates with me. I'll put it that way.
Ari: Do you watch Taskmaster?
Jared: No.
Ari: Okay, Taskmaster, they're on their 19th season now. It's a British comedy game show where a bunch of comedians are given a bunch of arbitrary and ridiculous tasks and then they try and complete them.
And it's, I think, and I mean, knowing what I know about Nathan Fielder gonna be a very different direction. But that is a thing I like to watch if I need a good laugh at the end of the day. And it's very much so, like, you know, how do different people approach the solving the same problem in different ways?
Uh, and how is that heightened by them all being comedians?
Jared: Mm. Okay. Yeah. Sounds interesting. I'll have to check that out. Thank you. Um, yeah, and then the last one, I thought of this as we were talking, we were talking about school. Um, there's this book, Deschooling Society by Ivan Illich, and it's sort of makes you question, sort of ask why we do education in the way we do and learning in the way we do, and maybe, um, stepping outside of that box and how it could be done differently. Um, but yeah. And that's all that I have. So Thank you Ari. Thanks to folks listening out there. If you're enjoying the show, um, you can go to the website. I haven't said this before, but Elm Town, you can subscribe there and get the episodes early before I publish them everywhere else. Thanks Ari for coming to Elm Town.
Ari: Thanks so much for having me. It's been a pleasure to be here.