Golan Levin: Cassie Tarakajian is an edu­ca­tor, tech­nol­o­gist, musi­cian, and artist based in Brooklyn, New York. After receiv­ing a bach­e­lor’s degree in elec­tri­cal engi­neer­ing from Johns Hopkins University, they focused their work on cre­ative tools, work­ing on the soft­ware Max/MSP at Cycling 74, and join­ing the Processing Foundation in 2016 as the lead cre­ator of the p5.js web edi­tor. They also serve as an adjunct pro­fes­sor at NYU ITP, teach­ing cre­ative cod­ing work­shops and class­es. Their past artis­tic projects range from gen­er­at­ing son­nets from Wikipedia arti­cles to teach­ing com­put­ers how to love as a mem­ber of the band Lullabies for AI. Cassie Tarakajian. 

Cassie Tarakajian: Hi every­one. Let’s get this start­ed. Thank you for the intro­duc­tion, Golan. Hi. I’m Cassie. I use they/them pro­nouns. And as Golan said I am a tech­nol­o­gist, edu­ca­tor, and artist and musi­cian. And for this res­i­den­cy at the STUDIO for Creative Inquiry, I have been con­tin­u­ing to work on the p5.js web editor. 

Which I’m sure many of you are famil­iar with, but it’s an in-browser code edi­tor for cre­ative cod­ing in p5.js, and I’ve been work­ing on this project for five years. And we’ll talk a lot more about it. First I want to talk about some of the oth­er stuff that I do. 

So I am an edu­ca­tor. I’m an adjuct pro­fes­sor at ITP and I also teach lots of work­shops. So here’s a pic­ture of me teach­ing a Max/MSP work­shop, anoth­er cre­ative cod­ing tool that I like. 

I also like jokes. So here’s an app that I’ve worked on that tells you whether or not you’re hold­ing your phone. 

I also am inter­est­ed in my own cre­ative projects at the inter­sec­tion of com­put­ing and art. So this is a project I worked on called Wikisonnet, which scans Wikipedia for sen­tences that were writ­ten in iambic pen­tame­ter and reassem­bles them into rhyming cou­plets to form Elizabethan son­nets. And what I think is fas­ci­nat­ing about this project is that if you’ve ever tried to sit down and write a sen­tence or phrase in iambic pen­tame­ter, which is a sequence of stresssed/unstressed syl­la­bles and words, it’s like quite dif­fi­cult. But we’re acci­den­tal­ly doing it all of the time. So on Wikipedia there’s tons of these phras­es. And the site, the inten­tion is that it’s pure­ly infor­ma­tion­al, and I think tak­ing the con­text from infor­ma­tion­al to poet­ic is inter­est­ing. I like that there are phras­es in here— I won’t read the whole thing but like, Proposal for HyperText Project.” Like a sen­tence that is maybe not usu­al­ly poet­ry can be poetry. 

I also play music, and I’m inter­est­ed in car­ing for the AI chil­dren that we’ll cre­ate in the future. So here’s a sweet musi­cal project I had about teach­ing our AI babies how to love. 

I’m also real­ly recent­ly inter­est­ed in memes and this con­cept of like, cursed con­tent. And I’m teach­ing this class this semes­ter called blessed/blursed/cursed” that’s about like are memes impor­tant? Is cursed con­tent impor­tant? I don’t real­ly have any answers, but all I know is that I real­ly enjoy sav­ing these images and let­ting it expand my mind. And it makes me feel things, and that’s all I real­ly know. Yeah. And I accept any…if you want to just email me memes, just @ me on Twitter, please. I love memes. 

And I want­ed to talk about how I got into cod­ing and art. And like how I start­ed work­ing on the p5 edi­tor, you know, since now I’ve been work­ing on it for five years and maybe it seems sort of like if you want to do some­thing like that like…how do you do it? And why is it impor­tant to me? 

So I want to give a shout out to this web site called Neopets, which I think has been around over twen­ty years. But I start­ed using the site when I was around 12 years old. And on the site, you can have pets, you can make a shop or like a home for them. You can have mon­ey, you can engage in like the stock mar­ket. There were likes Flash games on it that you could play. You could do quests to get items. There’s all kinds of stuff you could do. 

But one thing you could do is make a web site for your pet. And the way that you would edit it is that they would give you this text box with just com­plete­ly non-syntax-highlighted HTML and CSS. It was like you could­n’t even have a sep­a­rate CSS page. And you would use this and you would make pages for your pet. I real­ly enjoyed doing this. I unfor­tu­nate­ly don’t have any evi­dence of it because when I even­tu­al­ly logged back into my Neopets account many many years lat­er it was hacked and all my pets were gone. And the web pages are attached to your pet. So I don’t have that, but this was my first expe­ri­ence cod­ing and I nev­er really…you know, espe­cial­ly when I was like 12, 13, 14 I did­n’t think of myself as a coder.

And then I went to under­grad and I stud­ied engi­neer­ing and had this expe­ri­ence of being more of what a like, pro­fes­sion­al soft­ware expe­ri­ence looks like. And I found that expe­ri­ence con­fus­ing because what I was doing was I was writ­ing Java and C++ appli­ca­tions on the com­mand line. And I would write these tools and it would spit out num­bers and phras­es and what­ev­er. I had to learn about all these com­pli­cat­ed data struc­tures. But I did­n’t real­ly feel like I learned any more about how to make a web site for my Neopet? So for me there was this dis­con­nect between like, the tech­nol­o­gy I was work­ing on and its pur­pose. And you know, maybe now many many years lat­er I can feel like that dis­con­nect is per­haps on pur­pose? But yeah, I just felt like I just kept wait­ing for the moment when I would be like, Oh, I see how these tools empow­er me.” But I did­n’t feel that and instead felt like I had to keep learn­ing stuff in order to be empowered. 

And so I car­ried this with me when I moved for­ward in soft­ware devel­op­ment. And just ulti­mate­ly felt dis­sat­is­fied until I learned about cre­ative cod­ing and the pos­si­bil­i­ties there. I learned about Processing and p5, and was inspired that the goal was like, learn­ing as lit­tle as pos­si­ble to make some­thing? Whereas I felt like my engi­neer­ing expe­ri­ence was learn so much and only then will you be able to make something. 

And I was inspired that— So here here’s a screen­shot from Lauren Lee McCarthy, the cre­ator of p5, show­ing one of the first ver­sions of p5. Like how you could cre­ate a demo in the mid­dle of a talk where­as you know, when I was writ­ing C++ appli­ca­tions it would be like okay let me com­pile my code in the com­mand line and then I’ll have an app that just spits out num­bers. This to me was super excit­ing. And also, a lot of my expe­ri­ence of open source and tech tools was not that there were women and women of col­or lead­ing these projects? So that was super inspir­ing to me. 

Also, I loved that p5 had this com­mu­ni­ty state­ment. And that the goal of this tool was­n’t just let’s make this awe­some flashy thing” but like let’s make some­thing that aims to include and empow­er peo­ple.” I real­ly love things like you know, “#noCodeSnobs (because we val­ue com­mu­ni­ty over effi­cien­cy).” Like in engi­neer­ing school it’s just like, let’s opti­mize data struc­tures and stuff. So this was just so inspir­ing to me, and I end­ed up apply­ing for a Processing Foundation fel­low­ship. And the Processing Foundation is the foun­da­tion that man­ages all these dif­fer­ent projects like p5.js, Processing, and so on. 

And I did­n’t get it, but I sort of stayed in touch and was like I real­ly want to be involved in p5 some­how.” And a few years back there was this desk­top edi­tor for p5, which was sup­posed to be sim­i­lar to the Processing desk­top edi­tor, where it was an appli­ca­tion you could down­load to write p5. But the issue is that often you know…for exam­ple, if you’re using it in an edu­ca­tion­al complex…like, schools have a hard time down­load­ing soft­ware onto their com­put­ers, and it has to run on dif­fer­ent oper­at­ing sys­tems and— This project was start­ed by a per­son named Sam Levine. And so I was approached by Lauren Lee McCarthy and Dan Shiffman and they were like We have some fund­ing from NYU ITP to start an online ver­sion of this.” The goal of the online ver­sion being it will increased access to p5. It’s like you don’t have to down­load or con­fig­ure any­thing to start cod­ing, you can just start work­ing on it.

And so that was at this point five years ago. My first com­mit was appar­ent­ly May 2nd, 2016, ini­tial com­mit.” Which means that my anniver­sary for this project is like…wow, three days away? That’s fun. And you know, when I start­ed this I had just start­ed doing web devel­op­ment like…maybe like a year and a half before. I was­n’t super famil­iar, had nev­er led a project like this, had real­ly want­ed some inde­pen­dence. And yeah, I was excit­ed about this oppor­tu­ni­ty but felt very very scared. I was like how do these peo­ple know I’ll do a good job? Like I could just do a ter­ri­ble job. Like what’s gonna hap­pen? And my goal at the begin­ning was like let’s just make some­thing work.” 

And I actu­al­ly start­ed teach­ing work­shops with it with­in a cou­ple months of it start­ing. Here’s an ini­tial ver­sion that just would take code and ren­der it. You could save ver­sions. I think on this ver­sion you could­n’t even log in or any­thing? Maybe it’s just cut off. I don’t know. Yeah, you could­n’t even cre­ate an account, but I got it to this point where it just kinda…worked. And then it was quick­ly used in some teach­ing set­tings at NYU and at UCLA and oth­er places. 

And then it kind of—like as I kept work­ing on it more and more folks start­ed using it. And then sort of in fall of 2018 I did a pub­lic release. And that was when I got it to a point that I felt like— You know, for a while I had it under the URL like alpha​.edi​tor​.p5js​.org. And I took off the alpha,” so it could be like an offi­cial date of release.

And for me this denot­ed a time that I felt like the project was sta­ble enough. I felt like for a while I had to hide it and I did­n’t want to be unsta­ble and have peo­ple rely on it and then like, have the frus­trat­ing expe­ri­ence of it being down. Like some­times the site would be down and I would get emails or texts from peo­ple, and I would just be like oh no, I’m doing a ter­ri­ble job. But that’s soft­ware, I guess. It hap­pens. It’s hard when you’re run­ning a site on your own. But at this time, fall 2018, I feel like I got all of the host­ing to a more sta­ble place. I had to teach myself a lot about…yeah, like devops and stuff. I had to learn like Docker and Kubernetes, and that was hard. But I did it, you know. I did it. 

And now you know it’s in this place where like, I use it in teach­ing. Here’s a screen­shot from me teach­ing a cre­ative cod­ing les­son at GitHub Universe about a year ago. And Dan Shiffman also uses it on his YouTube chan­nel, which has like 1.25 mil­lion view­ers? So it’s…terrifying. (Or, sub­scribers.) It’s ter­ri­fy­ing that this project has so much reach. It’s kind of unbe­liev­able to me. But you know it’s in a good place, where lots of peo­ple can use it, and that’s real­ly cool. 

And then after that, in 2019 there was a con­trib­u­tor’s con­fer­ence. And this gave me an oppor­tu­ni­ty I think to con­nect with a lot of folks in the p5 com­mu­ni­ty and just like get a sense of where I want­ed to take this project and what my next goal was. 

To the p5.js community, "contributing" means many different things including: teaching, documentation, writing code, making art, writing, design, activism, curating, bug reporting, organizing, outreach, and more. We seek to erase the line between user and contributor, and expand the definitions of both as far and wide as possible. Diverse perspectives come together to make a tool that enables many different people to express themselves creatively.

And I was real­ly inspired first of all by this open con­cept of what it means to be a con­trib­u­tor in p5. For a long time I thought that what it meant to con­tribute to an open source project was just code. And like you had to be this like tech­ni­cal­ly elite per­son in order to work on it. And you know, in being the lead main­tain­er for the p5 edi­tor I’ve done so many oth­er things besides cod­ing. I’ve done prob­a­bly every­thing on this list, right. I’ve done teach­ing, doc­u­men­ta­tion, mak­ing art; writ­ing, design, activism, curat­ing, bug report­ing, orga­niz­ing, out­reach, and more. I’ve done the and more,” what­ev­er that means. Yeah. So I am con­tin­u­al­ly inspired by this, and it was real­ly great to meet at this con­fer­ence lots of folks who do con­tribute in all of these dif­fer­ent ways. 

Photo of a panel at the 2019 p5.js Contributor's Conference showing a slide stating that "p5.js will not add any new features except those that increase access"

And I was also inspired by this idea that came out from the con­fer­ence. And the idea here was that p5 was reach­ing a point where we want­ed to have like a 1.0 release that was like, This is offi­cial­ly out into the world. This is the sta­ble ver­sion,” sim­i­lar to like the pub­lic release of the p5 edi­tor. And this idea that p5 will not add any new fea­tures except those that increase access,” defined as inclu­sion and acces­si­bil­i­ty. I love this and I love that a goal of a tech­ni­cal project could be just includ­ing more peo­ple. You know, I think again my tech­ni­cal background…like, the goal had been very shift­ed. And this to me was real­ly inspir­ing that now that I’ve got it sta­ble how do I pri­or­i­tize what I want to work on next. I’m sure you’ll hear more about this from eve­lyn, who worked a lot on this idea of access defined as inclu­sion and accessibility.

So some of the ways that played out was there’s a Spanish trans­la­tion by a per­son named Omar Verduga. And they laid the ground­work to do trans­la­tions, so now there’s a Hindi one, there’s a Japanese trans­la­tion of the edi­tor. And I hope it keeps grow­ing. There’s also a push to have a mobile ver­sion of the web edi­tor, which unfor­tu­nate­ly is not fin­ished and isn’t public-facing yet. But I hope to get this done soon; we’ll see. But that was by a per­son named Thales Grilo. 

And now I’m think­ing a lot about sus­tain­abil­i­ty and like… I’m just going to read this old-ish tweet from Lauren McCarthy where she asks, how do you make a volunteer-based open source project sus­tain­able? is it even pos­si­ble? i real­ly need some help fig­ur­ing this out.” 

Like, I… You know, open source has this his­to­ry of being built on the expec­ta­tion of free labor, right? And that leads to the only peo­ple hav­ing the free time to work on open source be like cishet white men. And for p5, I want for the goal of the project to be includ­ing more peo­ple, mak­ing sure that many peo­ple feel sup­port­ed. Sustainability to me looks like including…being able to have more people—being able to pay peo­ple that aren’t just cishet white men to work and build these communities. 

So I’ve been think­ing a lot about what sus­tain­abil­i­ty looks like. Also, that this project has huge reach. So this is just some data I pulled from like the last week? And so in the last week just on editor.p5js.org—not even on p5js​.org, just the editor—there were 232,000 users. Which is like a huge num­ber that I can’t real­ly wrap my head around. And many of them in India. And you know India, Brazil…I guess we’ve got Canada here, Japan, Germany, so…around the world. 

And you know, there’s also 4.5 mil­lion sketch­es that’ve been uploaded, and right now there’s around 672,000 reg­is­tered users. Like hon­est­ly I made this slide like a week ago and it’s prob­a­bly big­ger now, so I don’t know where it’s at. And the whole time it’s been sup­port­ed by vol­un­teers and grants and dona­tions. And it’s been free of cost, but it’s not free to main­tain. Not only does it cost mon­ey to host it because cloud com­put­ing or what­ev­er is not free. I costs mon­ey to host it all on all these dif­fer­ent ser­vices. But also there’s the cost of con­tri­bu­tion labor, whether that’s soft­ware devel­op­ment, or design­ing, or build­ing community.

For me, sus­tain­abil­i­ty means not just pre­serv­ing the san­i­ty of the peo­ple in charge, but also extend­ing the oppor­tu­ni­ty to work on it to peo­ple who would love to be part of the project if we could pro­vide a means of access.
Lauren Lee McCarthy, What Does Open Source” Even Mean? p5.js edi­tion [slide]

And so I’m gonna read a quote from Lauren as well, if I can fig­ure out how to move this Zoom win­dow so I can read the whole thing— You know, I can’t move it so I’m just gonna try to guess what it says…the words that’re cut off. It says For me, sus­tain­abil­i­ty means not just pre­serv­ing the peo­ple in charge, but also extend­ing the oppor­tu­ni­ty to work on it peo­ple who would love to be part of the project if we could pro­vide a means of access.

So, Lauren is say­ing here is like not only is it about pay­ing the peo­ple who are cur­rent­ly in charge of main­tain­ing these tools, but also that sus­tain­abil­i­ty is direct­ly linked to access. 

So yeah, I’m think­ing a lot about that. And the oth­er thing I’m think­ing about is like, how do we get insti­tu­tions who use p5.js who can sup­port us mon­e­tar­i­ly, to sup­port us mon­e­tar­i­ly, while still mak­ing sure that p5.js is acces­si­ble and inclu­sive? And yeah, there are many insti­tu­tions who use p5, like uni­ver­si­ties and many oth­er tech com­pa­nies that can sup­port us but like, there’s not cur­rent­ly a way…you know, we kind of just have like a donate!” and that does­n’t real­ly com­mu­ni­cate the val­ue or…it’s not real­ly like a direct ask of like We need mon­ey because build­ing soft­ware takes labor and labor is money.” 

So there are dif­fer­ent avenues to approach this, which could be big­ger grants, or more dona­tions, or oth­er. And this is what I’m try­ing to fig­ure out right now. Like at the cur­rent rate of expan­sion of p5 and the num­ber of peo­ple who keep using it, how do we sup­port that? Yeah.

And even­tu­al­ly I would like to replace myself. Because I’ve got­ten so much out of this project, and I think many oth­ers deserve to be empow­ered in the same way that I’ve been. 

So recent­ly, through the fel­low­ship at the STUDIO I had a mentee, Connie Ye. And she worked on an auto­mat­ed test­ing guide, which was real­ly awe­some because I know noth­ing about auto­mat­ed test­ing. You may think that the p5 edi­tor is like a pro­fes­sion­al site by a per­son who real­ly knows what they’re doing but you know, I don’t know every­thing about web devel­op­ment. I don’t know every­thing about mak­ing an online code edi­tor. And one of the things I don’t know about is auto­mat­ed test­ing. So, Connie has been help­ing me fig­ure that out and has done an amaz­ing job sup­port­ing me. And I’ve learned so much from her and I real­ly appre­ci­ate it. 

And the last thing I wan­na say is real­ly like, open my heart to you, who­ev­er you are, to con­tribute. Just wan­na empha­size that you don’t need to have any spe­cial skills. If you’re inter­est­ed in con­tribut­ing and being part of this com­mu­ni­ty, you are wel­come and I hope that you feel sup­port­ed and heard. You know, I did­n’t— There are many things I felt scared of when I start­ed con­tribut­ing and felt like I did­n’t know and felt like I should’ve known. And I’ve only been met with sup­port. And I’m so grate­ful for that, and I hope that oth­ers can feel empow­ered in the same way to join and I hope that this com­mu­ni­ty can make many oth­ers feel empowered. 

So I just want to thank all of you, espe­cial­ly to the STUDIO and my peers in this fel­low­ship for your end­less sup­port. I real­ly appre­ci­ate it. You can reach me in many dif­fer­ent ways if you would like to get in con­tact with me. And that’s all I got. So, thank you. 

Golan Levin: And thank you, Cassie. Thank you so much. Stick around for a sec­ond. We’ve got just a cou­ple com­ments and ques­tions, perhaps. 

First I mean, I’m remind­ed in see­ing your pre­sen­ta­tion about the kind of dou­ble conun­drum of work­ing both in the arts and open source. Like, there’s no mon­ey in the arts, there’s no mon­ey in open source, and we’re choos­ing to kin­da work at the inter­sec­tion of both. 

And yet you know, there’s some­thing that’s real­ly spe­cial that needs to be com­mu­ni­cat­ed to I think donors and fun­ders. And I think you make this clear. Software that you’re devel­op­ing, and you’re the lead devel­op­er and you—what, you’ve writ­ten like 90% of it, per­haps, for the p5 edi­tor for exam­ple. That more than half a mil­lion artists around the world, demon­stra­bly, are using your soft­ware. Every dol­lar in to sup­port­ing the work that you’re doing through the Processing Foundation, for exam­ple, goes back out to the com­mons not a thou­sand­fold but near­ly a mil­lionfold. This is astound­ing. And sup­port­ing the arts, right, by sup­port­ing you to make sure that you can work and pro­duce these tools.

Something that also real­ly struck me. The spir­it of Lauren McCarthy is heavy in this talk. And I was remind­ed about how when she first was talk­ing with Casey and Ben about the need for a browser-based, Javascript-based, ver­sion of Processing, that they were like Well why don’t you just go ahead and do it?” 

And she was like What? Me? I’ve nev­er direct­ed an open source project before.”

And that sto­ry had a kind of rhyme in your own expe­ri­ence, where they said to you you know Well why don’t you just go ahead and make the edi­tor,” you know. And you’re like…what?

Cassie Tarakajian: Yeah.

Levin:And even your expe­ri­ence with our stu­dent Connie at Carnegie Mellon, where you’re like, Okay let’s do some test­ing and val­i­da­tion,” Connie’s like Uh, what?” [both laugh] You know. I think it’s real­ly impor­tant that peo­ple’s expe­ri­ence does­n’t always mean that… Qualifications are not entire­ly always based on what you’ve done before. You have to start some­where, and it’s great to give peo­ple a kind of oppor­tu­ni­ty to start some­where with a real­ly mean­ing­ful task if you know that you’ve got some­one who’s respon­si­ble and committed. 

There’s a cou­ple quick ques­tions in here. Maybe I’m just kin­da… What might sup­port look like for stu­dents and oth­ers who may want to sup­port in terms of a few hours per week?

Tarakajian: I mean, there’s a lot of dif­fer­ent things. Like one place to start is on GitHub and look­ing at issues and see­ing if you can pick one up. But it can also just be like…using these tools is sup­port­ing. Finding bugs is sup­port­ing. Like mak­ing bug reports is a great way to sup­port. Doing trans­la­tions, doc­u­men­ta­tion, tuto­ri­als. Yeah, those are some good ways to start.