Live-Coding, Performance, and Computational Art with Char Stiles

In the third episode of the Art&&Code podcast series AMT Lead Researcher, Hannah Brainard, talks with Char Stiles, a computational artist, educator and programmer based in Brooklyn, NY. Stiles works creatively in the lower levels of graphical computational systems and is currently at the MIT Media Lab’s Future Sketches group.
In this podcast, Stiles talks about how her background in painting introduced her to the world of live visuals. While enrolled at Carnegie Mellon University, Stiles picked up gigs as a VJ and has since gone on to perform internationally, including festivals such as Electric Forest and Mutek Nexus. Additionally, Stiles shared about the importance of working collaboratively in the creative process through groups like Livecode.nyc and Hex House. Stiles dives into her current and recent work with galactic algorithms and extending live-coding visuals into augmented reality spaces. This podcast was made in partnership with the Frank Ratchye Studio for Creative Inquiry. This podcast was made in partnership with the Frank Ratchye Studio for Creative Inquiry.

Transcription

Hannah Brainard  

Welcome to another episode of Tech in The Arts, the podcast series of the Arts Management and Technology Laboratory. The goal of our podcast series is to exchange ideas, bring awareness and stay on top of the trends. You're listening to our Art&&Code podcast series highlighting artists working at the intersection of performance, real time visuals and live coding. This series is in partnership with the Frank-Ratchye STUDIO for Creative Inquiry at Carnegie Mellon University. My name is Hannah Brainard, my pronouns are she/her and I'm the Lead Researcher for AMTLab. 



Today, I'm joined by Char Stiles. Stiles is a computational artist, educator and programmer based in Brooklyn, New York. She works creatively in the lower levels of graphical computational systems, and is currently at the MIT Media Lab's Future Sketches group. She's a part of the Livecode.nyc collective, and she co-founded Hex House, an artist's studio and event space in East Williamsburg. She has performed internationally including festivals such as Electric Forest and Mutek Nexus. 



Char, thank you so much for joining us today. It's great to have you on the podcast. You're a Carnegie Mellon University graduate, you earned a Bachelor's degree in Computer Science and Art with a Minor in Media Design. So could you tell us a little bit more about some of your experiences while you were a student at Carnegie Mellon, maybe in the classroom, outside of the classroom and sort of how that shaped your career path so far? 



Char Stiles  

Oh, it's so exciting. Yeah, yeah. I got into Carnegie Mellon, for fine art. At first, I came with a painting portfolio. And I basically catfished CMU because I never made a painting since I basically switched to I first was I first we dabbled in sculpture. And then in one, fateful night, in Doherty, I just vowed to never be working in sculpture again, I was like making these like this, like magnetic wax sculpture. And, and my hands were, like, all burned. And I was like, I can't, I can't do this. And then I decided, I had actually applied to the School of Computer Science, like when I was a freshman, or I mean when I was in high school. But I didn't get in, which makes sense, because I didn't have any coding experience. And I actually got to read the essay that I applied with and it was, it was earnest but also, it was clear, I had no idea what computers were, I was like, I want to make computers better. And so then I switched to kind of media art and computational code, and switched to computer science and fine art. Yeah, some some experiences that there's many more experiences. I've been having a lot of fun being back here. And yeah, and looking around. 



Hannah Brainard  

Was there anything sort of outside of your, like, academic experience while you were here in Pittsburgh that you kind of dove into?



Char Stiles  

I worked a lot with contemporary dancers, Slowdanger, and they're still around. Yeah, yeah. They, they work it they are like, they were their dance style is called Gaga. And it's like this. They kind of have like a very dramatic and dramatic like, lighting and all their performances. And they really like using emerging technologies. And I was also a VJ, I was one of like, the four. Like, I think at one point, I was like one of the three VJs in Pittsburgh. And it was a great place to get started VJing because nobody had a choice, but to hire me. So I got a lot of a lot of experience getting started in just like, you know, like just running AV and then in different in different spaces and having that the all of the things experiencing all the things fail. My first show is at this venue/pizza place called Spirit and like it was a Thursday night and Lauren Goshinski booked me and I think like six people showed up. It was really fun.



Hannah Brainard  

That's great. Yeah. So diving into some of your more recent experience, one project that I saw that was really interesting is called coral, or Code Augmented Reality Live, which extends live-coded visuals onto people's phones in real time. Could you talk a little bit more about that project and some of the software hardware that went into it?



Char Stiles  

Oh my gosh, yes. I'm really excited. You mentioned this project, because I'm gonna be I've been dusting it off recently. Yeah, so I made it a couple years ago. It was a collaboration at first with Chirag Dave. We made it at Recurse Center. And then I've kind of like after we built it originally in Three.js and I moved it to WebGL first, and then so I've been I've been iterating on it since then. It's a we use the hosting service/editors/all in one web app website called www.glitch.com. Highly recommend it. It's basically free and you get, you can have like a server and it hosts it for you. And it's, it's just like a really nice welcoming environment. And so, if you go to glitch glitch.me Oh, no fim.glitch.me you can see, you can see what it looks like or I think also Carl works, but I have it set up right there at fim.glitch.me and, and it uses the phone orientation, it passes that into a shader, which is using a 3d algorithm called ray marching to construct a scene and also into the shader is imported the camera input. So that can be the pass through. And then the objects that the ray marching renders is then superimposed over the camera feed. And the direction is of the of the camera in the virtual world is influenced by the orientation on your camera. So unfortunately, it doesn't have like x y transforms, it just has rotation. But it's pretty good. It's good enough to have this kind of like just a very to have like a bare bones AR experience in in live coding. Yeah, and I, I've, we so we first debuted at Recurse Center at a couple of shows, and then I made this I made it so that you can the last code comment in the, in this sketch, I'll call it a sketch, is then superimposed over that. So I can talk to the audience by writing comments, real time. And I develop that because I did a virtual performance for GitHub. And I wanted to have more control over like audience interaction, because virtually when you're doing something virtually, it's like really difficult to kind of get that that like person to person feeling. Yeah,



Hannah Brainard  

That's great and I'm glad that you mentioned that because I'm kind of reading about your background working, like you've performed at different festivals, including Electric Forest. And an interview that I thought was interesting is that people will often think that maybe you're the lighting designer, yeah, in situations like that. So how do you work with the lighting designer and other professionals to ensure that your experience is conveying what you'd like to the audience. 



Char Stiles  

Right. So most of the time, when I'm working with lighting designers, it's for an artist that I talked with, sometimes their name is DJ_Dave. She's a live coder artist who writes sonic pi. And usually, it really ranges like sometimes the lighting designers like they won't even introduce themselves, and they'll just like, do their thing. And then they they talk to Dave's team, who just tells them like, okay, her colors are pink and blue. And then I do that. And then sometimes we're like right next to each other. And then like I follow like, was one lighting designer that was in road runner in this venue, in Cambridge know in Boston. And she, we really were like, riffing off each other. Like she would strobe I would strobe and then like, she would turn green, I would turn green, I would turn blue, she turned blue. So it was this kind of like this really fun collaboration that that was really worked. That really worked out.



Hannah Brainard  

That's great. Yeah. And collaboration seems to be kind of a big thread throughout your work. You're a member of Livecode, Livecode.nyc, and you founded Hex House. So could you talk about sort of this collaborative approach and how being part of these groups helps your practice? 



Char Stiles  

Yeah, it really helps me because I'm like my worst. My worst point is like time management. And having other folks be with me, in on like, in on, it makes me feel like more responsible of like, okay, I have to get this done. And like, it gets me excited about doing the project because if I'm like trying to do something by myself, it's really hard to like find momentum. And so these collaborations really are like a huge fire and driving force behind a lot of my work. For me, Hex house is a really great place for me to help create one of those spaces.



Hannah Brainard  

That's fantastic. Yeah, another space that you're a part of, you mentioned that you're a graduate student at MIT as part of the Future Sketches group in the MIT Media Lab. So could you tell us maybe a little bit about the work that takes place in Future Sketches and your role in that? 



Char Stiles  

Yes. So I started that in September and it is a space to think about the future of creative coding. So what are the tools that artists are going to be using to creatively make things with code five years from now 10 years from now, and truly the tools do shape the artwork that comes out of this medium a lot of times and I like to think about tools as an expression of a way of thought because you can, you can kind of, in when you're making the tool, obviously, like your values and the things that, that you really care about get instilled into that and so that's that's a big part of future sketches is tool building. Another thing is working just creatively with with code like what does it look like to theorize about how light works with code and and think about different languages with code and different interactions with code and the body. I think that's that's mostly what future sketches has been doing. 



And so things that I've been working on specifically there is I'm working on well, there's some things that are unreleased that I'm not sure are going to happen. And because I've been there, so it's what is it December, like three months, I guess it's yeah, it's like a while now. So some things I've been working on there is I'm working on like a presentation tool. So I want like, for my presentations to be made with, through code and art mean through code so that I can kind of have it be like a more controlled environment. And then also, we've been working on some experiments with neural radiants fields, and Gaussian splatting. And so that's a, a way to render a 3d model. That is a little different than  how it conventionally can be rendered, or how to render a 3d scan. And so I've been experimenting with some nerfs and splats. It's a really interesting way of, I can like nerd out about it. 



Hannah Brainard  

 Cool, go for it. 



Char Stiles  

So it's a very interesting way to represent like a 3d scan, usually, like 3d scans up until this point have been sometimes a point cloud, or sometimes it's been like a point cloud that's been turned into a mesh, and then that's displayed. But what splats do is, it's a way of creating these different Gaussian blurs. So there's kind of like ovals of shape of like with blurred edges, and the splats describe the shape that way, and it just looks a lot better than then if you were to just do uniform points, wherever the scanner picked up, whether solid, something solid. And then normal radiance fields, aka nerfs are a AI model that is trained on the images input. And the AI model spits out, you know, a bunch of weights that when you give the input of a camera's position, it can render the output of what it looks like from there. And so that is different than other 3d models, where it's like, you kind of use the graphics pipeline to, to display things in 3d. So being sort of in this position, you get to look forward, you get to look ahead at some of the future trends. 



Hannah Brainard 

Is there anything that you see coming down the road? What are you excited about?



Char Stiles

Oh, this is a good one, I might think about this for a little bit. What's coming down the road? Ooh. I mean, I think it's a lot of I think what's coming down the road is a lot of nichification of different tools. So I like to think that down the road, artists will more and more be able to create their own tools that then they use, so more personalized tools, and less Adobe Illustrator. And less, like, you know, the Adobe monopoly and also it's like, I kind of have to relentlessly believed these things, even even if it's very, even if it's lead of sounds very difficult for it to come to fruition. I you know, that's that's the future that I want for artists to be able to be the the creators of the tools themselves. Yeah, that's great. Yeah.



Hannah Brainard  

What about the project you're working on now? 



Char Stiles  

Yes. So the the project that I'm working on right now, is very unhinged. And it's called the fastest integer multiplier. And it recently it's been like a series of things I've been working on, but stemmed out of this inspiration from the fact that the fastest integer multiplier algorithm known right now, is is it is what is categorized as a galactic algorithm. And what a galactic algorithm is, is that it's an algorithm that isn't practically used. too, because it's so large, it takes like the amount of space that it would take up to implement is astronomical. But it is the fastest known algorithm. So in computer science, there's this concept of big O, which is how fast an algorithm runs for an arbitrary amount of data. And you describe the big O in terms of how big that data is. And so for example, O(n) is that an algorithm runs in linear time. So it only takes the like, that's like iterating through a list of n, that is n length, that's O(n). And then there's O(n^2) , which is, you know, you iterate the list that many times n squared times I'm sorry, you you have n squared amount of operations in the in the algorithm. And so this galactic algorithm runs at like, O of like n of like, 1.7, I think, and but it only reaches that optimization. If the numbers that are inputted that you're multiplying together, are bigger than like 10 to the 30 digit, I'm sorry, bigger than 10 to the 30. So there's 30 digits there. Which is just like not practical, like when is like when we need to multiply two integers, I have more than 30 digits. 



Yeah, exactly. Like, that's not very practical. But I just think it's hilarious and absurd that like you have the fastest way to multiply integers is using glide together. And it specifically uses a 1729 Dimensional for a Fourier transform. And so I thought about, wouldn't it be funny if I attempted to make the fastest integer multiplier in the world just to see where it fails. And so I'm taking this class right now called How to Make Almost Anything and there's a lot of printed circuit board design in there. And so I wanted to make a hardware, fastest integer multiplier. And so I'm starting off by trying to just make a Fourier transform, because that's part of the of the algorithm in it in, in a printed circuit board. And so that's, that's one part of the project, because I'm just going to see like, where it feels like, you know, just you as am I going to, like, how far am I going to get am I going to actually be able to print this printed part of it, because the in the paper that this, I wish I could quote, who wrote the paper, but I can't remember off the top my head. But in the paper, they kind of sketched out how you could make this energy multiplier with only an eight dimensional Fourier transform, which is something that is possible to do on a printed circuit board, I think. 



And the other part of this project is, I made a performance that was using Carl, yeah, so I had people on their phones access a page that I was live coding, and I pretended that this phone was a window into being inside of the largest integer multiplier in the world. And an integer was represented by a sphere, and in AR, they could see the quote unquote, integer in front of them, which was the flooding sphere. And then I described how, you know, we are inside the finest infests integer multiplier and describe how it's a series of Fourier transforms. And, and the different describe briefly, what a Fourier transform is, is that it's breaking down of frequencies of these numbers. And then I described a Fourier transform. I mean, I guess I imagined the visualization of that was a series of like Tauruses within each other, because I think about frequencies, it's like ringlets within each other. And then those were rendered in front of you. And then it was like, this is in a field of 1729. And then the field expanded to all of the different fourier transforms, and then we kind of danced around that field. So it's kind of like, I think the reason why I do this is because I make dumb stuff, to just talk about these concepts that are, you know, that are usually not put in dumb environments. Usually, when you hear about Fourier transforms, it's like, you're in a signal processing classroom and your professor, your very seasoned professors,  tell you about these things. But I think they're funny. And I want to make jokes about them, and make AR about Fourier transforms and integer multipliers and algorithms, just because it's like, you know, if the Yeah, just to just to recontextualize it and I don't know, I think there's like, yeah, there's validity in that and being absurd about computers.



Hannah Brainard  

Yeah. Yeah. It's this very complex thing. Fun to get involved.



Char Stiles  

Yeah. I think about how the at the genesis of computing in Alan Turing's essay who's like quoted as like the father of computing, he talks about how the Genesis is the like, I strive like to strive to create a universal solver. And I'm thinking about like what other subjects is and its Genesis, the goal is to create a universal solver. It's like, okay, there's computer science, right? Because it's the Alan Turing, and then philosophy and religion, the other two ones. And so like with computation, there are, like vastly more silly and nonsensical things you can do with it, then things that are practical or make sense. And I think that silliness is very inspiring to get into computation. Yeah. I could talk forever about that stuff.



Hannah Brainard  

I'm like, can you I'm like, Whoa, yeah. That's great. 



Char Stiles  

Yeah. And I think CMU is partially responsible for the way I took this class called theoretical computer science with this professor Anil Ada, who I'm gonna go see tomorrow to like, just be like, Thank you for your this lecture class. And it was just a lecture class, but I was really inspired by it. So I'm gonna go talk to him tomorrow and be like, yeah, it's very inspiring.



Hannah Brainard  

Kind of one of the best parts about being on CMU campus is I mean, like brilliant artists, brilliant people in the field of computer science. It's all happening here. And coming together here. Yeah, just really. I mean, not that many other places in the world can say that.



Char Stiles  

Exactly. Yeah. It's like if I'm kind of year round, like, yeah, like when I got into CMU, if I'm not doing computer science stuff. I just really want to see see what's up, you know? Yeah. Yeah, yeah. Oh, I was gonna talk about Turing completeness. Okay. Are you familiar with that concept? Okay. Okay, so the concept of Turing completeness, is that any system that is Turing complete, it can simulate any other system that is Turing complete. And it's kind of like this recursive definition. Where it and there's also like other things that define it, like you can, you can write to, you can write down something, and you can read something and you can move ahead, that's basically like what makes something Turing complete. And so for example, every single almost every single programming language is Turing complete. So every single programming language can simulate a different programming language. And that means that almost every single computer can simulate another computer. And that's the reason why you can have hackers who are like running Dune, which is like a video game, on like a pregnancy test, because that has that has the ability to execute code. So like anything that can execute code can can simulate another thing. And this Yeah, I think and I think that that's part of the the vast, nonsensical things you can do with computers. It's like an endless The possibilities are endless. 



Hannah Brainard  

Have you experimented with kind of putting things on silly mediums, or ?



Char Stiles  

Yes, so one of the things I say I'm a graphics programmer. And so one of the silly things that I did recently was I tried to make ASCII art but on the GPU, so usually ASCII art is a you know, you have your characters and then you make pictures of the characters. And GPUs are extremely good at making pictures without without text. It's almost like ASCII art was like, filling in for the fact that we didn't have any kind of graphics processing and then GPU solve that issue. And then I'm bringing this old solution back into GPUs. And so I did that be when I only wanted to use just the GPU without having any kind of image import and then like sampling the image. So what I did is I used Lissajous curves, I think I might be saying that wrong because it's French. Lissajous curves that I pixelated and Lissajous curves are basically just like a sine and cosine line in a 2d plane to own an image you just draw out like, like if you were to, it's like when people swing paint around, and it creates that little eight pattern. It's Elise's Ross curve because it can be described by cosine and sine. And so I use Lissajous curves are very easily computable on a GPU, then I pixelated them, and then depending on and then I was able to translate other images I made on the GPU to those images by depending on how dark the area was, in that part, or in that part of the image. That's how much of the Lissajous curve I drew. And so I created this fake ASCII art, which I can send photos of. Yeah. Great.



Hannah Brainard  

 Well, thank you so much for joining us.



Char Stiles  

 Yes. 



Hannah Brainard  

It's great to kind of hear more about your story and your background. 



Char Stiles  

Yes.  Thank you so much. It was so good to meet y'all.



Hannah Brainard  

Thank you for listening to the art and code series on tech in the arts. Be on the lookout for new episodes coming to you very soon. If you found this episode, informative, educational or inspirational. Be sure to send this to another arts or Technology aficionado in your life. You can let us know what you think of this podcast by visiting our website amt-lab.org That's AMT dash La b dot O R G. Or you can email us at amtlabcmu@gmail.com. Follow us on Instagram @techinthearts or Facebook and LinkedIn at Arts Management and Technology Laboratory. We'll see you next time.