Code[ish] logo
Related Podcasts

Looking for more podcasts? Tune in to the Salesforce Developer podcast to hear short and insightful stories for developers, from developers.

Tags

  • generative art
  • plotter art
  • ai
  • machine learning
  • processing

29. Technology and Art

Hosted by Erin Allard, with guest Cory Haber.

What is art? It's a question that's stumped philosophers for thousands of years. Fortunately, we're not going to ask that. Instead, we want to know what it would look like if a computer made art. Cory Haber is a painter who programs; he knows a thing or two about writing programs that paint. He engages in a discussion led by Erin Allard about the intersection of technology and art in a discussion. Whether it's generating art through machine learning or developing hardware that can hold a paintbrush, this field of creativity is just getting started.


Show notes

Cory Haber is the VP of Technology for Furnished Quarters, a global corporate housing company. But he's also an educated painter. He's interviewed by Erin Allard, a Platform Support Engineer at Heroku, to delve into the effect technology has had on art, and vice versa. For Cory, art is about the intent of the artist; it's a moot point to ask whether anything a computer produces can be considered art. In the end, a human has trained an AI or written the software, and the computer becomes a tool, similar to a camera or a pen.

Engaging in artist practices allows Cory to take a break from the purely logical examinations which programming requires of him. To some, it may be seen as procrastination, but he believes that the best way to solve a problem is to allow your mind to wander of. That's what his current painting practices allows him to do. At the same time, he also follows along on the generative art movement, which takes place primarily on Twitter. There, artists and programmers share their programs that generate art that can be represented on screens or canvases.

The history of generative art goes back to the 60s. For individuals curious to learn more about this practice, he recommends the Processing programming language. Similar to a Jupyter notebook, it's a part-framework, part-application hybrid that works in generating visual arts. He also encourages individuals with no artistic background to just start taking classes on painting or music. No one knows everything about programming when they first start; they learn the skill and become better at it the more time they invest. Art is created under a similar focus.

Cory has compiled a list of resources with more information on the intersection of technology and art:

Early Generative Artists

Current Generative Artists and Plotter Artists

AI Artists

Frameworks

Learning Resources

Influential Artists

  • Piet Mondrian
  • Sol Lewitt
  • Hilma af Klint
  • Kasimir Malevich
  • Wassily Kandinsky
  • Joseph Albers

Transcript

Erin: Thanks so much for tuning into this episode of Code[ish]. My name is Erin Allard, and I'm a platform support engineer at Heroku. So, I'm on the team that responds to any tickets that get submitted when folks are stuck or are having trouble with their builds. We make sure that those folks get help or that we send them to the right people. That's me at Heroku. I've only been here about three months, but I absolutely love it. The more I learn about all of the cool things, Heroku makes easy, the more in love with Heroku I fall. It's a really great feeling. So, I'm going to pass it off to you, Cory. Would you tell us a little about yourself and what brings you in today? What's the message we're going to be talking about today?

Cory: Sure. So, Cory Haber, VP of technology for Furnished Quarters. Furnished Quarters is a global corporate housing company. We have thousands of apartments that we rent out to corporations and individuals for short and longterm stays.

Erin: Cool. So the topic of today really is art and programming or art and technology. How did you first become interested in art and technology and the intersection of those two?

Cory: Sure. I had been making art my entire life. As a child growing up, I had always painted and took lessons and classes and whatnot. It wasn't until sort of later in life that I became a software developer and pretty quickly after I became a developer I had discovered that you could actually make art with code. That's just not something I knew about. I had no mental framework for such a thing. I sort of immediately latched onto it, because it was a way to learn more about software development, but also to be creative and not just sort of focus on writing code, but actually outputting visual images that were aesthetically pleasing. I really gravitated towards that.

Erin: It's really clear that art has been a strong theme throughout your life, and I can sense this excitement you felt when you discovered that you could combine art, which you had done your whole life, with this new skill and new passion of programming. How do you define art?

Cory: Well, I think art is all about intent. It can be anything. Right? Like we've learned, in museums you can have urinals, you can have anything. It's about the intent of the artist. So, sort of the same thing with programming. You can write code that makes something with the intent of sharing it and disseminating it, and then people have emotional reactions to it, and so that's art.

Erin: We're talking specifically about visual art or front end if you will, type of art.

Cory: Exactly.

Erin: Got it. You mentioned that you came to software development later in life. Can you tell us a little bit more about that journey and what kind of led you there?

Cory: I had worked at a company for a good number of years and then left to do my own startup, which we eventually sold. Then I had this opportunity to go back to school for software development. I went through a bootcamp, and graduated, and was trying to figure out sort of like what was next for me. Along the way I had discovered a programming language called Processing. Processing is an open source, free to download, interface that allows you to write code in Java, or JavaScript, or Python create art. I just instantly gravitated towards that. I thought like this is an amazing thing as a software engineer to think about problems in a totally different and abstract way and then how can I connect this to my day job?

Erin: I am also a bootcamp grad. I went to Hackbright several years ago now, which is hard to believe how much time has passed. But I, similarly to you, the first coding course I ever took was a Khan Academy course online, and it was JavaScript. I remember in that intro course they used Processing.js as part of the course. At the end of the course, the project was you had to use code to create a plate, and you had to put shapes that represented food items on it. My favorite meal is breakfast, so I made a breakfast plate, and it had strips of bacon, and toast, and eggs. I just remember being blown away that ... I don't know if I would've considered that art per se. Right? I wasn't really communicating an idea, and it certainly wasn't very refined, but the visual aspect was certainly there. I think that was a small part of what hooked me. I think people have this sense that when you write code, you can't actually see what it's doing, and that's totally not true.

Cory: Right. Not True at all. You can visually express a tremendous amount of the real world through code. There's an entire branch of visual design called Algorithmic Botany. Right? There's all these algorithms that you can now find that can mimic different types of plants, and it's just really fascinating. You can write code that can mimic nature so realistically.

Erin: That's really cool. I guess going off on a little tangent, I have often wondered, and I've heard on the the StarTalk Podcast, Neil deGrasse Tyson talking about how maybe our entire existence here is actually a hologram and the person controlling this hologram that we live in is some 14 year old kid in some other universe constructing this from code or something. So, when we tie this back in to algorithmic botany, we're using code to actually mirror natural processes. It totally blows my mind that we can come to a pretty good approximation of simulating natural processes.

Cory: You'd be surprised how much you could actually simulate with code.

Erin: Now, before we started recording, we were having a little chat, and you mentioned doing some work in the AR space, VR space. Can you tell us a little bit more about that and whether or not that was a sufficient combination of art and technology for you?

Cory: Well, I think that anytime you have the opportunity to connect programming with some sort of visual element, it just taps into this other side of you. Writing code can be very analytical, and, like you said, you don't get to always see the output of what you're doing. But when you work with technologies like VR and AR, it's extremely visual. The idea here isn't you have to make art if you're a programmer, but you should have some sort of creative pursuit that unlocks that other side of your brain that allows you to visualize and imagine things that aren't real. Then you can actually make them real. That's what's key I think for people developing their careers, people who maybe feel stuck in what they're doing. You have to tap into that other side of your brain to unlock your creativity.

Erin: I would completely agree based on my own experience. I also read something many years ago, and of course I can't remember the reference now, but it was something along the lines of procrastination and how for some people, certainly not all, but some people, myself included, procrastinating is actually for me a way of thinking through a task and just kind of noodling on it. And usually I can come to a good solution for a problem if I'm washing the dishes or I'm out on a walk, or for me, I'm a quilter. I love making quilts. It forces my brain to focus on something completely unrelated, and usually my choice is for that thing to be creative. I like to make things. It's like the solution to whatever it is that's blocking me just kind of slithers in, while I'm not thinking about it so hard, and it sounds like that's what you're talking,

Cory: I mean, look at some of the most successful people in science and technology. Einstein used to say that the key to his success was his imagination. He could imagine himself riding a beam of light. That's how he came up with his ideas of general and special relativity. Or when he was stuck on a problem, he would play the violin. Right? So, that's exactly right. You can't always be focusing on the problem at hand. You have to allow yourself to sort of wander off, and whether it's procrastination, or taking a walk, or doing something else to allow that other side of your brain to help you solve whatever problem you're working on.

Erin: Let's switch gears a little bit. We've been talking about how art and technology are kind of intertwined is this idea that with computers and with code we could create art. You mentioned this a few minutes ago. I heard about artwork that sold recently for hundreds of thousands of dollars that had been created with artificial intelligence. I'm really curious to know your thoughts. I don't even want to say too much in my question. What do you think about this?

Cory: Yeah. It's a really fascinating topic. can an artificial intelligence create art? Can it ever create art? There's a lot of debate about, well, it's still a human being who's involved. You're training an AI on a certain dataset. So, who's actually making the art? That's a whole philosophical question, but what-

Erin: What do you think it is, if you had to say yes or no?

Cory: Well, right now, without a doubt, it's the human who's making the art, the human who's directing the AI. The AI is simply a tool. The AI isn't on its own learning and making decisions. It's the human the entire way saying, "I'm going to give you 10,000 images of 18th century portraits, and then go ahead and make some art out of that." It's going to make an 18th century portrait that looks similar to the data that it was trained on. So, to me it's still a human endeavor without a doubt. It was really interesting. I read about an artist who was using AI to generate new images, but then he takes that image and paints it. So, the scene itself, the colors, the composition is composed by the AI, but the human eventually creates the painting.

Erin: Oh. that's really interesting.

Cory: It's very interesting, because maybe it will help unlock some creativity in humans by using AI as a tool.

Erin: Yeah. Almost like an inspiration buddy, if you will. I mentioned I'm a quilter. I've often had this quilt idea, which I have never gotten to. I don't know if I ever will. There's like a hundred quilts in my mind. But this one is, I wanted to ... So, my primary coding languages is Python, and I wanted to have Python randomly pull colors out of a list, for example, and then construct a quilt that could show you what the randomization in Python looks like. It sounds very similar, where like a computer program is kind of telling you what to do, and then the human is then implementing that instruction.

Cory: Yeah. Exactly. And in the case of AI, what's happened recently, you know there's a lot of open source code, and there was a French collective called Obvious that took some of this code, modified it, trained in AI. They printed out one of the outputs, called it the portrait of Edmond de Bellamy, a completely made up a name I believe, and put it in a nice, gold frame, and put it up for auction. It was estimated to sell for between $7,000 and $10,000, and it sold for $432,000.

Erin: Wow. That is astonishing. How do you feel about that, as an artist who has toiled over your craft? You're now a professional in tech, so I'm assuming you're not also a professional artist.

Cory: Correct.

Erin: How does that affect you as maybe a professional artist wannabe?

Cory: I think a lot of people were upset. It doesn't upset me. I think it's the evolution. I think it's showing that people are willing to pay good money for something new. Right? If modern art has taught us anything, it's that showing something new that hasn't been done before is part of the evolution of the history of art. This is like totally way out there that people who don't come from technology, who don't have an understanding of what a generative adversarial network is and what AI is, they want to own it. That's what drives up the price. It's not necessarily that it's worth $432,000, but someone was willing to pay $432,000 for it. The problem of course is I could and have downloaded the same code, trained my own network, and I can generate an endless stream of images. So, you could flood the market with this type of art-

Erin: Very easily.

Cory: ... very easily, and then the value basically goes to zero. It's really this is just like one step in the evolution of art and technology, and it's really gonna be interesting to see what happens from here. Who can then use this to make something sustainable, and new, and of value?

Erin: You mentioned a moment ago how one could conceivably flood the market with these art pieces that have been generated with AI. Do you see that as a replacement eventually to art, in the way that people were really afraid that eBooks would replace paper books?

Cory: Have eBooks replaced paper books?

Erin: For me, no. I am a die hard, hold it in my hand reader.

Cory: I am the same. I have like a 10 pound book that I traveled here with. No. I think that this is simply another tool, and some people will use it, and some people won't. I don't think it's a threat to artists. I don't think it's a threat to creativity. It's a tool for humans to use to maybe unlock creativity, not to supplement it.

Erin: I would agree, especially about the unlocking piece. I think throughout the history of art, and admittedly my knowledge is probably way more limited than yours, but it seems like art is constantly pushed forward by advances in technology, and that technology has not always been electronic, like how most of the technology is now. I'm sure in the evolution of paints and what went into the paint, and what the ingredients were, there was probably significant progress from one generation to the next, and you could consider that technology. So, yeah, I think that having AI be your inspiration buddy, as I put it earlier, is kind of similar to to that unlocking and maybe allowing artists to get to places or get to ideas that they couldn't have gotten to before.

Cory: Absolutely. If we're using AI to conjure up new designs for cars, or we're using AI to try new chemical combinations to invent new drugs, that's a tool. We don't ever say AI is replacing humans in those scenarios. We say AI is helping humans to create new things or material science is another great example. But in art, all of a sudden people say, well, that's the end of creativity, and it couldn't be further from the truth.

Erin: We've talked a lot about art and technology now, and you're the VP of technology at Furnished Quarters. I'm really curious to know if or how this background in art that you have finds its way into your work, whether it's how you think about solving problems? I don't know if you're involved in any aspects of design through your work. I'd like to kind of loop this back into your professional life. Can you tell us more about that?

Cory: Yeah. Absolutely. I think on a couple of fronts. One, it keeps me in my spare time working with code and exploring totally different avenues than I might explore at work. That's one obvious connection. The other is when a problem arises at work you have to sort of imagine the solution. You have to come up with some sort of way of troubleshooting this problem. If you focus so exclusively on logic and reason and you can't visualize a problem, I think it severely hinders your ability to solve problems. For me it's the perfect creative outlet. Many people might be intimidated by picking up a paintbrush, or learning the violin, or whatever it might be, but if you're a software developer and you like writing code, here's something you can do to help I think your professional career by becoming more creative, by becoming a creative problem solver.

Erin: One of the things that I really love about being a software engineer is I tend to be surrounded by other software engineers who believe that they can learn anything. I find that so empowering. I think growing up and being in my twenties, I knew that about myself, but it hadn't been tested. Over, and over, and over again in my life as a software engineer, I'm having to constantly not only learn new things, but then turn around and explain them to other people, to customers, for example, or colleagues who might need help. That has just blown the top off of every other aspect of my life, especially in art. I started with quilting, but I probably have done at least a dozen other things, like I've taken woodworking classes, and gardening classes, and all this other stuff. I think software engineers in particular are in an industry where it's just expected that you can never know anything. There's so much. I would really encourage folks listening to just really own that in other parts of their lives as well, and go out on a limb, and try painting or-

Cory: How many times did we hear that to be a successful software developer, the most important skill is learning how to learn? It doesn't matter if you get a job programming a language that you've never worked in before. Who cares? If you understand how to learn, then we always say you can do it. Right? So, why is that different for another creative pursuit, if you've never picked up a pencil and drawn before, because you're so afraid of it, how is that any different from saying if you know how to learn something, like software development, like Python or JavaScript, why is it any different than learning how to draw? It's not.

Cory: We all innately have this ability to be creative and to have creative pursuits. We're here in the context of software development, so why not as developers learn how to learn something outside of software development? How cool is it if you're walking one day and you see a beautiful tree or you come across a work of art, and you start thinking, "I bet I can write code that can make that?" That's what's happened to me. That's how I now see the world. It's like this amazing thing.

Erin: That's really cool. I think I'm going to have to up level myself on that, because my bad habit is walking into a store, and picking up something I think is super cool, and saying, "Oh. I bet I could make that," and then wasting, not wasting, spending a lot of time trying to duplicate this thing, rather than forking over the money for it. But I love this idea of thinking, "How could I write code to create something." Maybe not a physical product, like what I'm picking up, but as you said, something out in the world.

Cory: Yeah. There are so many sources of inspiration, especially artists in the art world. Look up Sol LeWitt. You'll look at his artwork and you'll go, "This is all code," but he doesn't write code. Right? He was an artist in the 60s/70s. His Work is so algorithmic, but he didn't use ... I don't know. I don't think he used algorithms to create his work or code to create his work, but he actually would leave behind instructions for how to make his art. It's really fascinating. You can look at Sol LeWitt, Josef Albers. There's even generative artists dating back to the 60s who you can look up and draw inspiration from. Yeah.

Cory: Let's switch gears. You mentioned earlier you were using Processing for creating generative art. Are there any other languages or frameworks out there people are using for this kind of thing?

Erin: Yeah. I think there's something for everyone. Processing I think maybe being the most popular one. You can write Processing in Java, JavaScript, Python. There's a lot there. There's another framework called openFrameworks, and that's a C++ implementation. I think that there is something out there for everyone, and I don't think that one is necessarily better than the other. It's just sort of how you think and maybe what you like, what language you like writing in. But there's definitely something for everyone.

Cory: I'm really curious to know what kind of art projects you're working on in your spare time. And I'm sure it's limited you. You've got your job, and I know your daughter's got a birthday coming up.

Erin: Yes. There's kind of two areas I personally like to focus on. One is geometrics and sort of working simply with triangles, and circles, and squares, and what can you do with that? There's surprisingly a lot. The other is I'm also a photographer, so I have like this history, this long history of photography. I've always wanted to use code to manipulate my images to make something new, and like beyond Photoshop. Right? I don't want to just like apply a filter to an image. I want to repaint the image. I come from this background of actually painting, so how could I sort of make something new out of that? Right now I have a lot of work that I do where I take an image and then manipulate it in some way to create some entirely new output.

Erin: Very specifically, I'm working on a pointillism algorithm that sort of mimics-

Cory: Oh. cool.

Erin: ... like post impressionistic pointillism style with-

Cory: Very cool.

Erin: ... very wild colors. You can really limit your color palette and predefined a color palette, rather than using the colors from the actual image. There's so much you can do.

Cory: Where do you get your inspiration from for these projects?

Erin: I get a lot of it from other generative artists. That's really like my inspiration right now, because sometimes you don't even know what's possible, and when you look at other people's work, you can really draw inspiration from it. Tyler Hobbs is one. If you look on Twitter, there's a Twitter hashtag called, I guess it's #generative, and a couple others where you can really get a sense for what people are doing.

Cory: What about Instagram? Is that a widely used platform for showcasing generative art?

Erin: I think it is. I personally haven't done a lot on Instagram. I've seen a lot on Twitter.

Cory: That makes sense, because a lot of software engineers are on Twitter. Have you ever sold any of these side projects?

Erin: I actually have. I actually encourage people if they do take up this creative pursuit, to try and sell your work. I mean, why not? You're not trying to produce another revenue stream. You're not trying to necessarily supplement your income, but I think that it forces you to make really tough choices about your work. It forces you to focus and limit your work to some sort of output that you think might be aesthetically pleasing and have some value to someone else. Why not try and take your work, create something that you really like, print it, and try and sell it? For me, I haven't sold a lot. I'm not trying to sell a lot, but in one week I made a sale to someone in London and Paris.

Cory: That is super cool.

Erin: I mean, come on. If you can't get excited about making a sale ... As a software developer who does art on the side, making a sale and shipping something to Paris, because someone else found value in your work. It's a real rush.

Cory: I'm so sorry. I just have to make this joke. Shipping code and shipping art overseas. A follow on question to that, because I have created things to sell in the past, and sometimes it goes well, sometimes it doesn't. Have you noticed that the way you approach your art has changed, depending on whether or not you're trying to sell it?

Erin: Yes. And there's so many different ways you can go. You can certainly make art for yourself, but I encourage people to share their art with others, and trying to sell it as one way. Friends and family is only a small circle, as opposed to putting yourself online, and opening yourself up to criticism from others, and seeing how others react to your work, because that, it's like a feedback loop. It helps to influence you to I think improve the quality of your work. You can certainly like something that you create personally, and maybe lots of people say, ""Eh, I think you can do better," and there's nothing wrong with that. I think it helps you become a better artist and creative thinker.

Cory: Yeah. I've had the experience specifically with commissioning quilts where someone will come to me with an idea that they have or it's an occasion and they have something in mind for what they want created, and while I love the process of construction, I have found that because I spend 20 to 60 hours on a quilt, if I don't like the colors or if I don't like the design or the pattern, it just becomes a huge chore to finish it, and it will take me a really long time. That was kind of what I was getting at with my question about for me a commission like that was a transformative experience, because it really solidified for me, I have to make something that is just coming from my soul. It is very hard for me, unless I'm really in tune with the other person's concept, it's hard for me to enjoy the process if the art, if you will, is kind of being laid on me, rather than coming out of me. Does that make sense?

Cory: I think it does, and I think that's a challenge with commissions. Right? Then it becomes one person's idea that they want you to create, as opposed to you sort of having that creative process yourself to come up with that idea and then put everything you have into it.

Erin: And have you done commissions yourself?

Cory: I have not.

Erin: Do you think you will, or do you think what I've just described is enough of a deterrent?

Cory: No. I would love to do a commission and collaborate with someone on an idea. I still think that's a great idea.

Erin: Right on. It occurs to me, we've been saying this phrase over and over now, generative art. Can you actually tell us what generative art means? We should've answered this question half an hour ago.

Cory: Sure. It's really anything created with code could be considered generative art. Now, there are definitely some defined avenues that you can go down. It's so broad, so where do you begin? You can look at geometrics, which we've talked about, just using geometric shapes to create art. Then you can take that a step further and you could look at fractals. Look up Benoit Mandelbrot and the Mandelbrot set. There's a lot of art that's been created on the Mandelbrot set and probably an infinite amount of art you can create, given the nature of fractals. But it's color, and shape, and design that you can still add something to that conversation.

Erin: I was wondering when you use a computer to generate art, and you talked about printing and shipping to London and Paris, is printing your art the only physical way you can distribute it?

Cory: No, and in fact this is where I feel like I've come full circle. I discovered that there are artists out there who are using a device called a pen plotter.

Erin: A pen plotter.

Cory: Pen plotter. These devices have actually existed I think before printers were around. Some of the first generative artists in the 60s ... Remember, computers in the 60s didn't have monitors, so to actually get their artwork out of the computer, they used a plotter, which is like a device that has an X and Y axis, and it holds a pen, and it uses just vector lines to create and draw the actual work of art. What I have done is use a plotter to output my work, instead of printing it. Then this also forces you to think in a completely different way because, sure, with generative art, you could create any image imaginable, but you couldn't plot any image imaginable.

Cory: So, you start to think, how can I make something that can also be plotted? Let's be clear, when you use a plotter, it doesn't have to only hold a pen. It could hold a paintbrush. It could hold a paint marker. It could hold a piece of pastel. Now, you could get really, really creative and say, I can create an image that let's say has these lines, and these curves, and these shapes, and then use these real artistic materials to create something that would actually be one of a kind.

Erin: Oh, I see. Yeah. I think now that you're describing all of this to me, I remember a couple of years ago going through a big Raspberry Pi phase, and I remember seeing some videos, I guess they were plotters, but people had figured out how to make a Raspberry Pi control X and Y axes of a big wooden frame and do something similar.

Cory: It's probably the same thing.

Erin: So, this has got me really curious. I wonder what it would take to do that project, because I do still love Raspberry Pis.

Cory: Yes. Who doesn't?

Erin: Cory, thank you so much for joining me and having this super awesome conversation about art, and technology, and painting, and coding. Is there anything you'd like to leave us with? Any parting wisdom or anything we didn't get to yet that you really wanted to talk about?

Cory: I would just leave it as tap into your inner child. Learn a creative pursuit. If you want to learn how to make art with code, there's so many resources available. Just get out there and do it.

Erin: Get out there and do it. I like it. I want to be sure to mention that folks can check out some of your work on your website. Will you tell us what it is?

Cory: Sure. It's just a CoryHaber.com.

Erin: C-O-R-Y H-A-B-E-R.com.

Cory: Yeah.

Erin: Well, thanks again. It's been really, really a pleasure chatting with you this afternoon.

Cory: Thank you.

About code[ish]

A podcast brought to you by the developer advocate team at Heroku, exploring code, technology, tools, tips, and the life of the developer.

Hosted by

Avatar

Erin Allard

Platform Support Engineer, Heroku

Erin is a Platform Support Engineer at Heroku and loves helping customers get their software projects and products out into the world.

With guests

Avatar

Cory Haber

Vice President, Technology, Furnished Quarters

Cory is a tech professional and startup veteran. He serves as VP, Technology at Furnished Quarters, a global supplier of temp furnished apartments.

More episodes from Code[ish]