Resources

Alice Walsh | Becoming Creative: How I Designed a Quilt with R | RStudio (2022)

video
Oct 24, 2022
15:32

image: thumbnail.jpg

Transcript#

This transcript was generated automatically and may contain errors.

I work in cancer research, where I lead a computational team that solves challenges in drug development, but that's not what I'm here to talk about. Like many of you, I'm really excited to be here learning about MLOps and tidy models and quarto and all those things. And I think those are all great skills that help you be good at your job.

However, I want to talk to you about a skill that I think can help you be great at your job, and that is creativity. And I want to walk you through some of the steps that I took in my creative process for using R to help design a quilt. And hopefully that will extend a little bit more into how you can apply these things to get better enjoyment and fulfillment out of your personal projects but also your day job.

And so first I have to start with a disclosure slide. And my disclosure is that I'm actually not a creative person, or I never thought I was creative, because creative people look like this. They have, like, paint coming out of their chest, they have, like, light bulbs around their head, and they're genetically more creative. They have creative parents, and they just know how to solve problems, and ideas come to them from heaven.

And I went to engineering school for almost ten years, and I'm good at math, and I like it when there's a correct answer, and I can follow steps to get to that correct answer. However, I'm in an industry that requires a lot of innovation, and I looked around at the people who were doing inspiring work around me. And whether those are people that, you know, report to me or are people who are influential in the field, they were very creative. And so I, you know, as a good professional, I've been on a journey over the last some years to learn skills and to practice being more creative and learning techniques to also help teams and cultures be more creative.

Quilting as an art form

So now quilting. For those of you who don't know what a quilt is, it's a blanket, and quilting has been in practice for thousands of years. And what makes a quilt is that you have three layers. You have a top, you have an insulating middle layer, and you have a back layer. And to quilt, you connect these layers together, usually with thread, and this can be very decorative. It's an art form.

And personally, I got really excited about making quilts as art, and particularly the modern quilting movement. Quilting is just fabric, you cut up, you sew together, and then you sew it together again.

So back to modern quilting, this is an example of a beautiful modern quilt. It has these organic shapes made out of fabric. This one I also love, extremely different, but it has this beautiful composition that draws your eye around the frame. Quilts can also play with color, like this example, which is really challenging to do, given that you don't have every color in the rainbow available to you in fabric. Quilts can also have political messages. Or quilts can be personal, like this is a self-portrait, someone made in fabric.

So I was really excited about this, and that brings me to the prerequisite. The prerequisite is that you are excited about your work. I don't think you need to be the most experienced person. So I started quilting at the beginning of 2021. I bought a sewing machine a little over a year ago, but I'm not going to let that stop me doing something interesting if I'm excited about it.

The creative process: generating ideas

So the first step in my creative process is to come up with too many ideas. I'm somebody that I like to come up with one idea, and then execute the crap out of it. Like don't keep thinking about other things, but my new method is that I try to come up with more ideas than I think I need. I have an idea quota, where I come up with 10 ideas, 40 ideas, 50 ideas. From that, you end up with new ideas that you had never originally thought on day one, and also takes you in directions that lets you better curate your ideas.

And what I ended up doing with this project was coming up with a solution where I could fuse two domains. And I had just taken a drawing class, and I learned about the concept of two-point perspective. Two-point perspective is a way to make a 3D visualization in two dimensions, like these cuboid shapes. And I also know about R, and I thought, well, I'm really excited about the things that are happening with generative art using R. Could I create some sort of landscape in this way, a 3D, 2D production of a 3D landscape using R, using something like geom polygon? And so with that, I was really happy with that idea, and I started to go forward.

Improvisation and research

So step two was I did a lot of improvisation. So I can start to learn, how could I make this visualization in R? How could I mess around with the dimensions? How many shapes I wanted, the size of these, the overall aspect ratio of the colors?

And then I had to do a lot of research, because the fact is that the design that I had chosen is not easily convertible to fabric, which is not something that I had planned for. So I had to come up with some techniques that would allow me to construct my design in fabric, and that is where I want to talk to you a little bit about a technique I really like, which is called foundation paper piecing. It's a little bit of a rabbit hole, I'll go down with you.

So this is a technique where you create a design, and you print it on a piece of paper. So you have a design like this, and you actually sequentially sew fabric to that design. So this is what the back would look like, and then the front looks like this. And this is an amazing technique, because it allows you to do very, very precise piecing of fabrics together. Those lines are all perfectly parallel. You can have very, very small pieces. And this lends itself very much to the technique and the design that I wanted to make.

But there's a problem in that this technique also imparts a new geometrical constraint in the type of a design you can create. So you can only add one piece of fabric at a time, and you can only add one seam at a time, which seems simple, but it does impose a constraint on the amount of design that you can do. So for something like my design, I'm in trouble, because this is not pieceable. This design with this Y junction in the middle, I cannot do, because I would have to add two pieces of fabric at the same time. It doesn't work.

So the way that people who design these patterns work is it's basically like a Sudoku puzzle. It's all done by hand, where you look at this, and I say, well, I can't do this in one block, so I'll split it into two, and then I have to design where my seams will go, and then I also have to determine the correct order, because if I don't add these pieces in the correct order, it won't work.

And I really thought a lot about, okay, well, is there a way I could use R or some other, you know, framework to help me do this? And I found a wonderful paper that was published just last year by Mackenzie Leak and others at Stanford University, which actually gets into the mathematical foundation for doing this, and I really recommend, if you're interested, to go ahead and read this paper. They've also got some YouTube videos and even a web app that you can use to help design your own designs.

And so I don't really want to talk about graph theory, although I do a little bit, which is that these designs are then represented as hypergraphs, where each piece is a node in the graph, and each seam is an edge, and this allows you, then, to determine if your design is peaceable and also automatically derive the order that you would add the pieces. It's really cool. So if we take a complicated design, like the one I made of the R logo on the left, that's actually four pieces, and I can represent them as four graphs, and from that, I can determine that my design was good because it was peaceable, and also the order that I need to add the pieces. So that was great.

Execution and sharing the work

Except for now I have to make the quilt. And execution is a really hard part of creativity, because if you just have a lot of ideas and you don't actually follow through and finish them, it's really hard to make the quilt.

So I started to work on my sewing machine, and I worked on it for a while, and one of the things that I think is really helpful as part of a creative process is to seek advice or collaboration. So here I actually went on quilting Reddit. Of course, that exists. And I posted my quilt and asked, you know, somebody give me some ideas here. I'm kind of stuck. And people were really generous. They gave me these schematics back, like, hey, try this, try that, which was fantastic.

Another thing that is part of executing is that you're going to make mistakes. And the interesting thing about a visual art like quilting is that your mistakes are visceral, and they're hard to hide. So in my Git repo, I can kind of hide my mistakes, although I don't. I usually write, like, big mistake, big mess, clean this up. But when I have something physical, that mistake is there. And I think it helps you get better at making mistakes, because you can see them and you can be like, it's okay. It's part of growing and learning.

And so then this is the other part that's really hard, is that you have to share your work. So I did bring this quilt with me.

But I think this is one of the first ggplot2 plots ever made in fabric. Probably not the first, but one of the first.

But I think this is one of the first ggplot2 plots ever made in fabric. Probably not the first, but one of the first.

But there is another step, which is that oftentimes you find that the question you were asking when you started is not actually the most important question or the right question that you should have been asking. And that definitely happened here. I started off, and I thought, like, yeah, I'll just make a plot, and then I'll make it in fabric. That's the right question. And I came up with these other ideas, which are really interesting research that I could actually be performing as part of this process. Everything from, like, how do I choose the right colors? How do I determine how much fabric to order? To how do I try to design these blocks more intelligently? So that's one of the future work that I'm working on at the moment.

For example, the R logo is really hard to make as a quilt. It has some curved shapes. It has some square shapes. Really difficult to represent that actually in fabric. So I could do something sort of naive here. I can create a pixelated design, which I think it's actually pretty cool. But it doesn't really look like the R logo to me. So I wasn't happy with that.

So then I can do this, which is just I kind of mostly by hand generated this pattern. And I think that's great. I think it looks just like the R logo. So success story. Except if I wanted to go a step further and have the code generate this for me, that's what I'm working on. And if you're a close observer, you can see that this doesn't look right. You don't have to humor me. It's not right.

But from this, I am learning a lot. There's a process here. And I'm learning interesting things. And I think it's leading in different directions. I can take that kind of thing. And I can make a self-portrait of myself. I'm working on other approaches where I can have code generate a design, but as well the fabric choices that you could use.

Honesty about the creative process

So now that I've described the process, I have to be honest with you. I didn't describe it entirely. In that, I kind of made up the order. For the purpose of the talk, I thought it would be helpful to say like 1, 2, 3, 4, 5, 6. But in reality, that's not the order that I did these things. And that's true with a lot of creative work. Whether you're doing it for your day job or for your art projects. Generally, it's a very nonlinear process. Which is something that I personally struggle with, because I would like it to be a linear process with like a right answer. But that's something that can help you strengthen your work.

Metaphors for creative work

Okay, so I want to now talk about a couple tortured metaphors that I've learned from other people that I think apply to my work in computational research. And hopefully, also will resonate with some of you in the kind of work that you do and how you could try to be more creative.

So this first example, I learned from a colleague of mine at BMS, Joe Sostakowsky. And the question is, would you rather be a pizza deliverer or would you rather be a plumber? Okay, how do you get pizza? I order pizza a lot, and it's great. I can get on my phone, I can say what toppings I want, how many pizzas. And then I get like a photo of the pizza on my doorstep. It's incredible, right? It works really, really well for food delivery.

But I've also been on teams where I'm a data analyst. And I'm asked for things in the same way. Somebody goes on and they order a data pizza. They say, I need this dashboard with these features with this data. And I don't think that's a very effective way to do data work. I don't think that's a good way for you to get insights from data. And it doesn't leave any room for creativity or trying to get to what are really the right questions you should be asking.

So a slight iteration on that is to think about a plumber. So a plumber is a subject matter expert, right? I have a plumber come to my house, and they talk to me about what my problems are. They bring their own toolkit. They have their own expertise. And they try to understand really what my needs are. And they work on a solution that will meet my needs.

OK, so if you don't like that one, that's fine. I have another one. So this one is, would you rather be a detective or a criminal? And it's a trick question. You actually want to be both. So this is actually one from Albert Einstein. And so this is about explaining why science is so difficult. So if you take a detective, like a Sherlock Holmes, there's a murder's been committed. And you collect clues, and you have hypotheses. Like, it's a jealous girlfriend. It's a ex-colleague or whatever. And you put together all these clues. And then you discover, like, oh, actually, it was a poisonous jellyfish that killed the person. Like, that's how a detective works, right?

But the key is that a detective knows what crime they're solving. The problem is really well-defined. This person's been murdered. This has been stolen. I know how to solve it. But the difference is, for a scientist, you have to also come up with the questions. So in that way, you have to commit the crime. And you have to perform the investigation. And I find this is a really apt metaphor for the work that I do. Because you have to constantly be asking, am I asking the right questions? Is this the important line of research that I should be following? And I think that's a really, really important part of doing science that requires you to be creative.

Because you have to constantly be asking, am I asking the right questions? Is this the important line of research that I should be following? And I think that's a really, really important part of doing science that requires you to be creative.

OK. So to wrap those thoughts up, I would say you should be a plumber. You should also commit science crimes. And I would also encourage you to think about celebrating your mistakes and also getting exposure to new ideas. So I think at meetings like this, it's great to go to talks that you might not think would be interesting. I would also encourage you to find your local, like, our user group, our ladies group, or our meetup group to try to attend talks and meet people that you might not normally meet in your day job.

OK. With that, I have some acknowledgments or resources if you're interested in learning more about creativity. And this is also a work in progress that I have. And you might recognize that that is geom_point. All right. Thank you.