#73: Andy Payne — Grasshopper, Rhino Compute, Teaching, Learning to Code & Gen AI - podcast episode cover

#73: Andy Payne — Grasshopper, Rhino Compute, Teaching, Learning to Code & Gen AI

Apr 30, 20241 hr 21 minEp. 73
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

Andy Payne—architect and software developer at McNeel—on the origins of Grasshopper, Grasshopper 2, Rhino.Compute, teaching, learning to code, generative AI, open-source code, and his journey.


Andy Payne is a licensed architect and software developer at Robert McNeel & Associates, the company behind Rhino and Grasshopper 3D. He is a Doctor of Design graduate from Harvard's Graduate School of Design (2014). Andy has lectured and taught workshops throughout the US, Canada, and Europe, and his work has received awards from several leading academic organizations. Andy has also co-authored several software plugins and desktop apps (including Firefly and Monolith). At McNeel, Andy works on the Grasshopper and Rhino.Compute projects for the Rhino 3D modeling environment.


Connect with Andy Favorite quotes
  • “Nobody wants to spend days and days developing a model. Our job as developers is to make it as easy as possible. […] There’s something about the craft and time you spent developing your ideas into a 3D model. There’s something about that investment that makes it worthwhile. When you have an easy AI button that makes it for you then it trivializes [the process].” —Andy Payne
  • “Originally the product was called Explicit History, because it was a different approach to Rhino's native (implicit) history feature.” —David Rutten
Links People mentioned Chapters
  • 00:00 · Introduction
  • 00:35 · Andy Payne
  • 04:11 · Grasshopper origins
  • 07:23 · Andy meets Grasshopper
  • 09:19 · Grasshopper Primer
  • 10:26 · Grasshopper 1.0
  • 13:22 · Grasshopper 2
  • 15:11 · Developing Grasshopper
  • 16:59 · New data types
  • 18:57 · Rhino Compute & Hops
  • 22:32 · Cloud billing
  • 27:05 · Teaching
  • 30:07 · Visual programming
  • 36:23 · Open source & monetization
  • 42:03 · McNeel Forum
  • 50:07 · Connect with Andy
  • 51:57 · Learning to code
  • 58:00 · Generative AI
  • 01:02:09 · The IKEA effect
  • 01:05:38 · Authorship
  • 01:08:56 · AI trade-offs
  • 01:12:58 · Panagiotis Michalatos
  • 01:16:02 · Advice for young people
  • 01:17:08 · Success
  • 01:18:35 · $100 or less
  • 01:20:12 · Outro

I'd love to hear from you.

Submit a question about this or any previous episodes.

Join the Discord community. Meet other curious minds.

If you enjoy the show, would you please consider leaving a short review on Apple Podcasts/iTunes? It takes less than 60 seconds and really helps.

Show notes, transcripts, and past episodes at gettingsimple.com/podcast.

Thanks to Andrea Villalón Paredes for editing this interview.
Sleep and A Loop to Kill For songs by Steve Combs under CC BY 4.0.


Follow Nono

Twitter.com/nonoesp

Instagram.com/nonoesp

Facebook.com/nonomartinezalonso

YouTube.com/nonomartinezalonso

Transcript

· Introduction

Nono Martinez Alonso

Hi everyone, the following is a conversation on the Getting Simple podcast with Andy Payne. So as you can see, we're testing video this time as well. And I hope that you enjoy it. Hey, it's Nono, and this is the Getting Simple Podcast.

· Andy Payne

I've met Andy for many years now, but we hadn't seen each other in person too much. So, digging a bit on you, I see that you're, as I am, like a licensed architect. And you also specialized in computational design.

Andy Payne

Yeah.

Nono Martinez Alonso

And you've had, I mean, you were at Harvard, so your thesis there, and maybe we can learn a bit more about what exactly you did. And then later you've passed through Autodesk with the acquisition of Monolith.

Andy Payne

That's right.

Nono Martinez Alonso

Tesla.

Andy Payne

A little bit.

Nono Martinez Alonso

Contracting a bit.

Andy Payne

Cup of coffee at Tesla.

Nono Martinez Alonso

Yeah. Proving ground. And now Andy's working at McNeel.

Andy Payne

That's right.

Nono Martinez Alonso

Who are the people who develop both Rhino and Grasshopper 3D. So, I also saw you have this Lyft Architects, right? Is that like an architecture studio? Is that still going?

Andy Payne

It was always sort of an outlet for me for sort of creative research. Back in the early 2000s, when I started it, it was sort of an outpost for the research that I was doing just on the side. So, I was working as a day, I was working as an architect at SOM and some other places. But then at night and on weekends, I was sort of exploring different avenues of research that I was interested in.

And I would post stuff, mainly I started as a blog, but post stuff on my website that I started as a Lyft architect. So, it's not really a traditional architecture firm. I'm not really doing or looking necessarily right now for a whole lot of like built projects, but it is a vehicle where I can, you know, as I teach and things like that, you know, the money I get from teaching and stuff goes into that stuff.

Nono Martinez Alonso

Yeah, I think we can talk about teaching afterwards as well. So, the first question would be like, why do you do what you do?

Andy Payne

I enjoy it. Why does anybody do what they do? Well, hopefully most of the people that enjoy what they do, they do it because of the passion that they have for it. For me, it's always been about a curiosity of learning. You know, I've always sort of been attracted to the computer and what can it do. I remember even in undergraduate, it wasn't the most computationally driven program necessarily back in the day, but I was always trying to push the boundary a little bit.

I was even, I think my first 3D program was called Form Z, if you remember that program. And the renderings were fine. I tried to do the best I could with it, but I would look in magazines and things like that from other schools and just wonder how they did those renderings because I knew what I could do in Form Z and it wasn't that, like I kind of pushed Form Z to its limit at the time, and I couldn't do what these renderings were doing.

So I was always sort of attracted to what other people are looking at, what are they doing and how are they doing it? And so how can I sort of participate in that conversation? And so that sort of led me to Columbia, which was doing a lot of that cutting edge back in the late 90s or even early 90s and then 2000s. And so that's sort of where my joy of computational design sort of took off because I was able to start learning some of those techniques while I was at school.

Nono Martinez Alonso

When was that? So what year?

Andy Payne

So I graduated from undergraduate in 2002 and then went straight to Columbia. So 2002 to 2005.

Nono Martinez Alonso

I've been looking a bit also at the evolution of Grasshopper.

· Grasshopper origins

We were talking the other day about Grasshopper 2.0, but can you tell us a bit how Grasshopper turned from record history to explicit history to Grasshopper 0.0 something? And what has been the evolution? Or how did this visual... Well, maybe you can kind of go even a bit farther back.

Andy Payne

It's like you're reading my mind because I was even gonna take a step back further. And as I was saying, while I was at Columbia, the two programs that they were really pushing at that time were 3D Max and Maya. And I tended to be on the 3D Max side, but I was really, you know, as typical just trying to explore and push where I could.

And so I was looking at IK systems and things like that, but then I was able to realize that you could sort of make these really not efficient, but make these sliders and tie a slider to a property in the 3D Max panel back in 2005. And that was kind of new. But so I made these like little interfaces where I could drive parametrically things in the 3D Max view. And I didn't even start Rhino. I think that in that same year is when I actually tried Rhino for the first time and really liked it.

But then when I saw this example of explicit history come out in, what was it? 2007, 2006-ish, I think, it totally clicked for me because I had already tried doing this stuff with 3D Max. But, and now this was a much more intuitive way. But in my brain, it just sort of was like, this is what I've been trying to do. And now I can do it so much easier and quicker.

And so for me, my intro into explicit history and then what ended up becoming Grasshopper, Grasshopper 1, was this avenue that I'd been exploring through 3D Max and then realized there was this much more intuitive interface. But now that I could do those same things in Rhino and in Grasshopper. And so that was sort of my, and the other thing for me was that in my day job, I was doing a lot of rendering. That was sort of my intro out of school. I had done a lot of that in graduate school.

And so I got kind of pushed into rendering pretty hard at my first jobs. And while I enjoyed it for a little while, it wasn't necessarily something I really wanted to do full time, you know, not to knock that a lot of people kind of go down that career path, but I ended up trying to do whatever I could to not do rendering. And then one of the really neat things about Grasshopper and Rhino, at least at the time, was that it was the anti-renderer.

It only had the semi-transparent red color for all of the objects. You could control a little bit of the display stuff, but you didn't render at all. It was not about rendering. And so that also was appealing to me to jump into a program and really push it and not have to focus on the visualization aspect and only doing that.

· Andy meets Grasshopper

So then I was working for an architecture firm. I will talk about that project that I was mentioning just a minute ago, how I ended up getting into Grasshopper, or at least Explicit History was, I had worked at an architecture firm where we did a project where they coupled an architect with a chef. It was for an event called Slow Food Nation back in 2007, 2008. And again, I think Grasshopper at this point was still called Explicit History. It had only been out probably six months or something.

And for this design, the architect had to design some sort of pavilion or pavilion, tasting pavilion for the chef to display their food. And we got coupled with a chef who specialized in pickling and pickles and chutney. So we realized kind of early on in talking with her that throughout the world, they pickle food in mason jars. So we really wanted to use that as the vehicle for the design of the project. And so we ended up designing this sort of undulated ceiling out of mason jar lids.

So we suspended mason jar lids, like I think 3,000 mason jar lids at different heights to form like a very fluid kind of surface. And in order to do that, I used explicit history to coordinate all of the data, give me the links, output everything to Excel so that I could print out everything on a spreadsheet, hand it to the people, because we would end up having these big, we call them pickle parties, where people would come and help us measure each of the links and cut it.

And so really for me, explicit history became really critical in the process of that managing information of the design and then outputting for the fabrication, even though it was sort of a manual fabrication process.

· Grasshopper Primer

And so a colleague of mine at CCA had seen that project in San Francisco and asked if I would do a workshop for his class in like around January. And I realized if I'm gonna try to teach a workshop, I need to know what the software does. And so I really started creating an outline for the workshop, and that ballooned into like a 40-page document. And so I was like, you know, I'll just publish this online.

This was sort of the first iteration, or maybe it was even 70 pages, I can't remember, but that ended up becoming the first version of the Grasshopper Primer, and I just released it online. And then I teamed up with Raja Issa from McNeel, and we sort of added even more documentation, and that became sort of the larger version that is available, I think, still today.

Nono Martinez Alonso

Yeah, so that is a PDF document. That is how I got it. Like, maybe you can also print it. That talks through all of the basics of what Grasshopper is, the interface, like how you can drag and drop nodes and start connecting them to a program.

· Grasshopper 1.0

So there was this concept of a recording button on the interface that would record the steps that you did in Rhino. You can still do it. Oh, you can still do it?

Andy Payne

Yeah, it's still embedded in there.

Nono Martinez Alonso

Okay, and the concept was like, it was tracing what you were doing, but the parameters that you had chosen, you could change, right? And then David Drutton decided to make it more explicit, and that's why it changed to explicit history. And then I think sometime later became Grasshopper.

Andy Payne

Yeah, I don't remember the exact timing. We should set up an interview with David to really get the background.

Nono Martinez Alonso

You should hook me up.

Andy Payne

I will, I can. But it was probably six months, eight months, maybe even a year that it was called, I think, explicit history, and then it ended up sort of becoming a more full-fledged plug-in that he started calling Grasshopper.

Nono Martinez Alonso

Cool, so that initially came, you had to install it separately, now it's shipped with Rhino.

Andy Payne

Yep, it used to be a standalone, or its own plug-in that you would download, and there's probably several people, early adopters who remember the early days of Grasshopper 1 development. It was a really exciting time because everything changed so quickly. Those people who know David Redden, he's kind of a tour de force from a programming side, and it seemed like he was issuing new updates daily or weekly, and that was kind of the fun of it, right? Seeing what was new, what he was adding.

It was frustrating at times. I remember teaching a workshop, a large workshop in San Francisco, and right, literally the day before the workshop started, he introduced the concept of data trees, which if anybody's used Grasshopper in the audience, data trees are pretty critical, but also takes a little bit of mental comprehension to try to understand what data trees do and how they work. And so we all scrambled.

The other workshop instructors were all trying to figure out how these data trees work so that we could obviously teach the rest of the participants. But it was an exciting time then, and it still is, but it had a really frenetic energy at the early days that I think was really compelling.

Nono Martinez Alonso

And if I'm not wrong, that was a one-person project, right? It was mainly David?

Andy Payne

Pretty much, especially early on. Obviously there's been some contributors here or there, but even today, it's still the majority of his work. I've been doing some stuff recently, some contributions here and there, and there are certainly been a number of things that have been added that he necessarily wasn't involved.

· Grasshopper 2

He's kind of, over the last several years, taken a step and really focused on Grasshopper 2. So a lot of the Grasshopper 1 development is now sort of, not necessarily not handled by him, but he sort of handed off some of that responsibility to other developers in the house so that he could focus on Grasshopper 2 development. And for those who aren't aware, Grasshopper 2 has been released. It's been out for about six months, but it's a complete rewrite from the ground up.

So it's taken him several years, but the results are pretty compelling because everything's multi-threaded now. He's kind of overhauled the entire interface. And so it's a complete rewrite, and it's pretty exciting.

Nono Martinez Alonso

Yeah, I guess also I wanted to refer to the idiosyncratic nature of some of the controls and things. It seems like he had a lot of fun building some of those custom. It's beautiful also, right? Like it has some controls that maybe you don't see on other places or that have a really interesting way of working.

Andy Payne

Yeah, you think he enjoys what he does, but he obviously enjoys really the user experience. And he spends a lot of time and craft trying to make the user experience as joyful as he can, I think, for the users. And that's really, I think, how Grasshopper has spread so much is that people do tend to enjoy working in it.

They find little features here and there that not necessarily Easter eggs, and he doesn't hide them necessarily, but there's little things that you end up finding like, oh, I didn't know I could do that. That's neat. Like he added this thing or he'll add little words or just the way he actually praises things and presents things to users is pretty interesting, and I think that really goes a long way of having a joyful experience when you're using the program.

· Developing Grasshopper

Nono Martinez Alonso

So one thing I'm curious about, you have developed your own plugins, right? I've seen Firefly or I don't remember. What was the other?

Andy Payne

There was a Monolith plugin, there's Firefly. For a brief time, I worked on Lunchbox ML when I was at the proving ground, so there was an ML machine learning plugin that I was working on, and now I'm working on some native tools in Grasshopper 1, but it's basically kind of like a plugin, right? You're developing a series of components that do something.

Nono Martinez Alonso

So how does it feel to... You were more or less like a third-party developer adding plugins that people could opt in, but now how does it feel to be like a developer? What you're putting there, it's gonna be available for everyone.

Andy Payne

Well, first of all, I think my background into making those plugins accelerated my onboarding with McNeel. I felt kind of day one. I knew what I was doing. I knew sort of how the codebase worked. I knew how Grasshopper worked. And so I have worked at other places where we're working on different technology stacks that I'm not as fluent in. And the learning curve to kind of get up to speed can take a little while.

And so it was kind of refreshing to just kind of step in when I got hired and sort of be able to start contributing kind of really quickly. And yeah, it's been great. A lot of the stuff that we're working on now for Grasshopper 1, for Rhino 8, is probably long overdue, but I think is going to really change or enhance the way people work with it. Do you want me to explain a little bit about some of the new tools that we're working on?

Nono Martinez Alonso

Yeah, go ahead.

· New data types

Andy Payne

Well, the short elevator pitch board, I guess, or some of the new tools that we've just released like within the last week or two is new expanded data types for Grasshopper. So, you know, if anybody's used Grasshopper 1 over the last 10 years, they're familiar with all the data types that we currently have, points and lines and curves and surfaces and bereps and meshes. You know, we use most of those common ones.

There are even some ones we don't use often, like date time and, you know, matrices and things like that. But it's never had a concept of, like, native Rhino layers or even native Rhino materials or line types or hatches or annotations or still a bunch of data types that are native to Rhino that Grasshopper has no idea about or how to consume those or create those.

So one of the things that we've been adding to Grasshopper 1 are these expanded data types, these new data types that now allow you to not only query, say, a document for these types, like a layer, right? A query for a layer just gives you all the layers that are currently in the document, and look at all of its attributes, right? An attribute being just a property that makes up that type. So a layer has a name, a display color, its visibility, things like that, line type.

And so you can bring those into Grasshopper now and look at all of those attributes, but you can also create those attributes and create a new layer, bake it basically the same way you would bake geometry into the document. Now you bake a layer and it adds it to the layer table. Same thing with materials and line types and hatches. And so we're pretty excited about how this will hopefully help users be able to modify their workflow.

But also I think there's gonna be some really interesting new tools that will continue to add that just expands on those capabilities.

· Rhino Compute & Hops

Nono Martinez Alonso

So you've also been working on writing a computer, right? Can you tell us a bit of what that is and what the work that you've been doing is?

Andy Payne

So Rhino Compute in a basic form is we were able to take all of Rhino and compile it into a DLL that can be run as an executable. So what that means is it's essentially, for lack of a better term, Rhino without a user interface. And so we were able to create a little server that is running Rhino in the background, and you can send an HTTP request to perform some sort of calculation.

So anything that Rhino can do from a geometry calculation, and you know, all of Grasshopper, or sorry, Grasshopper and Rhino's geometry kernel is now exposed through Rhino Compute. And you can do that through, you can send requests to perform those calculations. One of the things we realized kind of early on is that we need a client to be able to talk to that server. And so we developed a component for Grasshopper called hops.

And what that lets you do is essentially bundle up a Grasshopper file and send through hops. It'll send that file that you point it to, send that file as an HTTP request to the Rhino Compute server. It will do the calculation and then return the results. So that's the basics of it. When you install hops, it will then also install Rhino Compute and run a local server.

So you can run it on your computer and do some debugging or testing locally without incurring any kind of expense or anything like that, it's free. And then once you get your workflow set up, however you're using hops to send information back and forth, you can then deploy Rhino Compute on a remote server, right? Somewhere, a virtual machine somewhere in the cloud. And then you can point hops to send those requests there.

And so in that way, you can really start setting up a production environment. You can, if you have a lower grade machine for users, but you wanna do some simulation or some really highly intensive computational task, you could have a virtual machine that has a lot of RAM, a lot of CPU processing power, and send those requests to that machine to do that and sort of speed things up.

I think one of the interesting use cases too, is that because it takes HTTP requests, you can talk to it freely from any client that can send an HTTP request. So we're seeing lots of people create web interfaces or application, iOS apps and things like that, that send these requests to a backend server that's running Rhino. And then come back with the results and then show it on the display. So like web configurators and things like that for furniture, jewelry.

We're seeing a lot of really interesting use cases that people who are interested in making a really simplified user interface, but something that you can give to, say, non-technical people or designers and still wanna be able to view, analysis some results or see the changes that they're making on their configurator, they can still see that result. And then, you know, export the geometry to some sort of fabrication or anything like that. So it opens up a lot of possibilities.

· Cloud billing

Nono Martinez Alonso

Because I know that much of the core of Rhino and Grasshopper is being ported to.NET. I don't know if it's seven, right? The new- Six, okay. Are there any plans in the future to maybe support other architectures that are not Windows in any of the capabilities?

Because that probably, you know, that would open doors in terms of maybe having a Linux instance that might be cheaper to run some things, or in terms of relying on Windows and having, because having a Windows instance on the cloud is, I guess, is more expensive, right, as well?

Andy Payne

I don't know. I haven't really tried to price out Linux VMs or anything like that. I don't know if it's more expensive or not. I can tell, well, that's probably a little bit above my pay grade in making those decisions. I don't think there's a whole lot of drive to make Rhino Compute necessarily run on a Linux machine. Rhino has historically, well, historically, it's only been a Windows program, but we've made a big push over the last five years to really make it cross-compatible with Mac OS.

And so we do have a Mac version of Rhino, but from a Rhino Compute perspective at the moment, it's really focused on Windows-based machines. So usually running Windows Server or things like that. But in my experience in setting up these virtual machines through AWS or Azure, really anywhere, they can be fairly reasonable and you can always start small, right?

One of the other things we've really tried to do with the way we've configured Rhino Compute is we've got sort of a two-layer architecture. And I think I was trying to explain this the other day to you. The way we, when you deploy it in a production environment, as I said, when you run it locally, it's free. You know, you pay for your license, but other than that, you know, you can run it and hit hops and then compute all day long.

When you deploy it in a production environment, which is gonna be running Windows Server, we have a little bit different of a licensing model. It's what we call core hour billing. And it's essentially the number of cores on that machine times the number of hours that you're using. And so you can kind of start small. You know, you could configure a really small VM, see if your users, you know, are using it for testing, deployment.

But if you start to have a lot more traffic and it's starting to slow down, you can always, you know, increase the number of cores or the machine configuration. But what we've tried with this two-layer architecture, we have a parent project sort of that we're calling random compute. And then that stays up when you're in a production environment. That stays up and listens all the time for incoming requests.

When it receives a request, it then looks to see if there are any child processes that are running. The child processes, meaning it's called compute geometry, and that's the thing that's Rhino, essentially. That's the thing that's running Rhino and Grasshopper and does all the calculations. It isn't until those get spun up or created that your core hour billing actually starts to take effect.

And if, let's say, for example, your users are using your web app or something like that, sending a request, and they then are done, and it doesn't get any requests for a significant amount of time, the parent application will start to shut all of those child processes down. So you're not getting billed over and over. So we have a timeout. Right now, the default is an hour, but you can kind of set it for whatever you want. And so it will start to shut those child processes down.

You're not getting billed. And then six hours later, somebody sends another request. It checks to see and will handle all the spinning back up and getting the calculation done. And so we have tried to add a number of features to Rhino Compute to make it user-friendly, right? You're still going to have to pay Amazon or Azure for your virtual machine costs and things like that. And that's not something we can control. But from our side, we've really tried to make it reasonable for users.

Nono Martinez Alonso

That's really nice. I mean, I don't have any use case at the moment, but I can imagine in the past, if I was building applications that you can build, that even right now, a React application maybe, and just not for free, but like get geometry operations that are really complex in any app in a few minutes, right? That's something that will take you ages, or you have to get like a kernel or some other geometry feature that allows you to do that.

So maybe going back to Grasshopper and what we were talking about, I was curious that in 2011, you already had an intro to Grasshopper course or some videos online, right?

· Teaching

I haven't been able to trace it because the links are broken. But I wanted to know what moved you to teaching? Do you have a vocation for that? An interest? Are you still doing it? What do you get out of it?

Andy Payne

Yeah, that's a good question. Yeah, I've always enjoyed teaching. And Grasshopper was really a nice avenue for me, especially early on, to explore that. As I mentioned, my first workshop was that one that I taught at CCA that was asking about, like, how did you use it for this one project? But also, like, what is it? And as I said, early days, there was a lot of energy, a lot of people that were getting really excited about Grasshopper and what it could do.

And they were looking for people to come and teach them. There weren't a lot of classes that universities taught specifically at the time that were really looking at that. And so a lot of times, people would just hire me or others to come and teach a workshop, two day, one day, three day kind of thing, and teach their students about how to use the tools. And so for me, that actually, for several years, I did that quite often.

And it was also a great way to kind of see the country in different universities, did some in Europe and even Canada and things like that. So it was a really great experience. I learned a lot, really enjoyed myself. And then I ended up going back to school and still continue to do that. As I've gotten older and have a family now, the traveling on that side gets a little bit more difficult, but also the request has sort of dropped down, I think, because A, it's a much more mature technology.

People kind of understand it now. There's a lot more resources online. And also universities are teaching their own classes on it now. There's plenty of instructors now that know how to use it and can teach it. So some of that's gone down. But I'm still doing quite a bit. We're still doing a number of workshops. Now I do it through Mcneel, right? But we get a lot of requests for at conferences and things like that to teach a workshop on Rhino Compute and hops and how does that work?

Because we're still developing things that are kind of new. And I think it's the new stuff that people are like, I don't understand how this works. And particularly with Rhino Compute, it's a little bit different of a model, right? You kind of have to have a little bit better understanding of like web technologies and HTTP requests and stuff like that and servers. So it's not your traditional architect or designer or things like that. That's where I'm coming from as an architect.

Don't really have that kind of experiences, in my opinion. You know, all of the standard Grasshopper stuff, while it might be daunting at first, it's relatively straightforward in terms of learning. But some of this other stuff, it takes a little bit to actually understand. And so I still enjoy doing the teaching and I'm still getting an opportunity to do it a few times a year.

· Visual programming

Nono Martinez Alonso

How do you think the visual programming environment or graphical user interface in Grasshopper and other visual programming environments helps students? Because I come, it's kind of like an opinionated question. I have seen a lot of debate on whether starting with visual programming might impede in some way people to think on traditional programming later. Do you have any opinions there in whether it's better to...

Andy Payne

Well, I think it's an interesting question. If you ask different people, and I've seen David Rutten's response, because he's sort of the one responsible for a lot of the excitement in visual programming. Visual programming is programming to a degree, I think.

Even though you're not writing text, you're not writing code and things like that, you're still having to figure out how to think about a problem, break it down, and just determine how you're going to actually solve the problem by breaking it down into a series of steps and an algorithm. And so to me, I still think visual programming is really important and is totally a valid way of thinking about programming.

I also think it's a bit of a gateway drug, because as soon as you start doing it, you want to start to push its limits and see where things aren't there yet. At least that was the way for me. And that's how I ended up starting to write my own plugins, my own components. It was because there wasn't something that automatically already did the thing that I wanted it to do. And so in that way, it was sort of the inspiration to start to learn how to program, how to write text-based, serialized code.

Because I was comfortable in Grasshopper, I could still develop in that sort of visual programming environment, but now I'm starting to get behind the scenes a little bit. And one of the things I think is kind of interesting in that question that I did with Firefly, but I think it could really be taken a little bit further for those listening.

Firefly is a plugin that sort of connects external microcontrollers like an Arduino, its sensors and servos and actuators and things like that to Grasshopper and to Rhino eventually. So what that allows you to do is take real-time sensor information, for example, a light sensor and use that as an input to control your 3D model. And so you could be designing, let's say you're designing a louver system, right, for a facade that is reactive to changes in light.

And you want to demo that for a client or something like that. You can now have a real-time sensor on the table or even mount it to a wall that is picking up the amount of light. And in real-time, you're seeing your 3D geometry, because it's coupled to Grasshopper, you get to see your 3D geometry changing in real-time.

You can then take that even further and take those angles, right, if you're rotating a louver system, it's going to be changing angles and things like that, and send that out back to the microcontroller to control a servo motor. So you could have a little model of your louver system, for example, that's now rotating and changing as you change the light sensor, right, the light values. And so it's pretty interesting, I think.

One of the things I really got excited about early on was this prototyping environment. I've always enjoyed working with my hands and building things, and it was a great way to sort of mix the physical world and the digital world. One of the downsides of the way Firefly works is that it's constantly sending serial data back and forth over the serial port. So that's how it reads the sensor data and sends it over to Grasshopper and does something.

It gets that value for the angle for the louver and sends that back over the serial port for the motor. So it's sending stuff back and forth. But what that means is you're kind of always connected to your laptop and Grasshopper running. Let's say you use Firefly to prototype your thing. You've got it all dialed in. You're using some remapping and some smoothing and all those different components to get it really where you like it. But now you want it to run autonomously.

And to do that, you have to essentially convert your Grasshopper definition into code that can be uploaded to the Arduino, right? Text-based code that then gets compiled and uploaded in machine language onto the Arduino. And that's been difficult for a lot of people. So while I was at the GSE working with Penn, we wrote a code generator that would essentially recursively look upstream in your Grasshopper definition and write Arduino compatible code from your Grasshopper definition.

So it sort of takes your visual representation and serializes it back into a textual representation. And what I think is kind of interesting about that is it also lets you look under the hood a little bit, right? It doesn't do it for all components in Grasshopper. Obviously an Arduino doesn't know how to respond to a curve, but if you want to learn how smoothing works or remapping a number into a different number set, all of these things, you can now see how to write that code in real time.

So it lets you look under the hood. Grasshopper is a bit of a black box. You just see the visual component, but you don't know how under the hood it's working. And so I think from a teaching perspective and learning how to program, it's kind of an interesting tool in that it also lets you kind of see how, if I have this visual programming, how can I actually convert that into a text-based representation and do that.

Nono Martinez Alonso

I think that as long as from the beginning the limitations of the environment are explained, for example, looping or like as you say in real time, thing or asynchronous calls or things that are really common nowadays in programming environments are harder in the visual programming language. And many times we just try to force it there, but at some point you can say this is so much easier if you just get out for a bit of Grasshopper and do this in this other system.

But yeah, I just wanted to hear your thoughts, so that's really cool.

· Open source & monetization

I would be interested on learning about your take on open source and releasing tools for free or closed source.

Andy Payne

I'm a big fan of giving away things for free, but I also haven't necessarily exposed a lot of my code as open source. Part of that is because a lot of the stuff that I did early on was really poorly coded, and I was kind of embarrassed to put it out there. You know, I actually started writing Firefly with Jason Kelly Johnson, who's another professor out in San Francisco. But I started writing it as a way to learn how to code.

You know, I didn't really have a whole lot of programming background back when I was first doing this, but I was interested, and so I started in vb.net at the time. And so I started, I created this library of components, and then as I started developing more, I sort of made different projects and switched to C Sharp and other things. But in fact, I'm very embarrassed because now I look back at the code.

I've been thinking about writing a second version of Firefly, a rewrite, and it would probably be a ground up because the existing code base is just a mess. Definitely of the opinion that I want to help the community as much as I can. And so, you know, the primer was always given away for free. Firefly is given away for free. Monolith was always a free application. And so, I also try to take the stance of how do you monetize this stuff.

By doing it for free and giving it away, you sort of start to establish a, you know, a profile, a name, whatever you want to call it, for yourself. And then you start getting these more excitement and invitations to come teach a workshop. And from that, you know, those networking connections and things like that.

And so, taking the long view for me has sort of helped sort of establish myself and make those connections where had I charged, I probably would have had a lot less connections to people. Really the only thing I've tried to monetize, and it's really, it was, I made a little hardware shield for Firefly, which just a shield for those, again, who aren't aware, it's a little thing that you can just plug in and it already has everything set up.

So this little shield, you just plug it into the Arduino and it has a light sensor and a little joystick and some sliders and some buttons and some LEDs and it can control motors. So it's like a full-fledged sort of prototyping thing that you don't have to wire up your own circuit to do. You could just plug it in and start and go. And because of that's hardware, because I have to pay for, you know, all of those, you know, components, I do charge for that because that's a product.

But that's a slightly different thing than, you know, the software and everything like that where I can control that. And it's really just time versus any kind of monetary expense from my end.

Nono Martinez Alonso

Yeah, I think I end up taking a similar approach. Like I end up open sourcing a lot of the code, a lot of the things I do, also thinking like nobody's going to spend the time trying to understand it, right? It ends up being like some people find certain things useful at some moments in time because they're working on similar things and they even sometimes comment that that's useful. That's really rewarding for me.

I think also charging certain things, unless you have a super big audience that you know who you're aiming at, it reduces adoption and readership, let's say. Or if I were to put all these podcast episodes that I'm trying to let people know that this exists and build an audience, I'll be like putting a barrier for a paywall that actually ends up being worse for me. So I also think I play the long run game.

And I think that's why in most podcasts or most channels, the motto is advertisement, because it lets people watch it for free or listen for free. But then there's another way of monetizing.

Andy Payne

We need to advertise it on code, on GitHub, get advertisers.

Nono Martinez Alonso

Yeah, that's right. Like comments. That's a great idea. Like every open source...

Andy Payne

You get an advertise?

Nono Martinez Alonso

Yeah, or between every code comment you put, like, listen to Getting Simple podcast. I mean, I never thought about that. Actually, I have a content management system, and when you look for the code, you see the view, the source of the web page at the top says, like, Hi, it's Nono. These are built with our real photos. So at least for developers, it might be a tool for discoverability.

Andy Payne

But coming back to the question, the question I did want to point out that because I've been working on Rhino Compute, and again, this was sort of done, but the decision to open source compute was made long before I started. So I joined McNeel in October of last year, but it's an open source product. So anybody can download and look at the source. So I am contributing to that. But, you know, download, look at the source and even make, you know, commits and pull requests to make enhancements.

And we've actually had some really... It's not often, but we've had a couple of users who have added some pull requests that really have been really well thought out and well documented pull requests. And so we've been able to include those changes in some of the code.

· McNeel Forum

Nono Martinez Alonso

Yeah, I'm also curious because I see that the Grasshopper forum has been really active and you've also been an active user throughout the years. How do you engage with users today?

Andy Payne

That's a good question. So early days, Grasshopper used to be a website that was hosted that McNeel hosted by Anning in ING. And that was an interesting forum at the time. It got a lot of traffic. It wasn't necessarily very well organized, but it was also kind of interesting how they presented images and videos and things like that. It was very easy to see new updates from people.

If I did a new example where I did something with a new sensor or something like that, I could post a video there, and people could immediately see it and comment. Daniel Piker was a big hit. Obviously, he's the author of a physics plugin called Kangaroo, but he would always do these really compelling videos, and they would just immediately blow people's minds. But like I said, the actual answering questions on that platform was a little bit difficult.

So the McNeel team decided to switch to discourse forum, and I know they've been really trying for the last several years to kind of build that community up. So the Ning one had a lot of traffic, but it wasn't necessarily a great forum to figure out how to ask questions. Discourse is much more like a stack overflow model. It's much easier to access and answer questions and things like that, find solutions.

But I think still, to this day, we could do a better job at being able to showcase new people's work and videos and things like that. We're working on that. We're trying. But it is still a very active forum. I think it's getting better.

So for us, when I joined the McNeel team, one of the things I realized and one of the, you know, that they kind of explain is that they don't traditionally have, they don't follow the same model that many software teams do where they have sales teams and things like that. They go out and try to sell licenses. We have almost no sales team, really. I hope the salespeople don't. We don't really have salespeople.

We rely on customer service to, you know, generate enthusiasm and get people to eventually buy a license. So we're all encouraged, developers, technical support people, everybody in the company is encouraged to participate on the forum and talk to users and find out what they're lacking, what they need, what features, because that's how we determine what to develop. The interesting part, I think, too, having worked at Autodesk and at McNeel, is that there aren't really many product managers.

We don't have any product managers. We don't have people that are above me that are saying, you got to work on this today and then work on this tomorrow, things like that. I have had that in the past, and you're probably more familiar with it than I am. For us, they hire people who are sort of self-motivated to find what their interest is in and continue to develop those. And so one way we do that is by interacting with our customers on the forum. And so really, it's kind of up to each user.

We have individual projects that we're working on and so on and so forth, but we really try to prioritize customer service because that's our way in. It helps us know what to focus on, and it also helps spread the word, hopefully, that McNeel cares about its customers and has really good customer service and hopefully, that eventually filters out to people wanting to buy the software.

Nono Martinez Alonso

Do you have a Discord channel?

Andy Payne

I don't.

Nono Martinez Alonso

It seems like many new platforms, I myself, directly go into Discord and more real-time interaction instead of going for forums, even though I think the structure of a forum, it's like people are informally creating a post that is going to stay there and many other people are going to come through Google and search the same thing, whereas in Discord, I think, things just on the timeline get lost and there's no way to discover past things more than just searching and trying to reverse engineer a conversation, right?

Andy Payne

I think, too, there was a focus to try to really funnel people to this one source. I think if we created a Discord server, now we've got two different things. We've got a Discord server where we can interact and we've got a forum, but that's A, hard on us, because you've now got to monitor two different things, and two, you're splitting your audience into, are they going to go to the Discourse or are they going to go to the forum? And now you might only get half the number either way.

And so I think we've really tried to focus, let's just try to get people to go to this one source of truth and really try to build that up. Also, I think when they did it, probably Discourse servers, I think they switched probably 2016, I could be rough on that, but somewhere around there, and I don't know the history of Discord servers and things like that, but I think they've kind of become more popular more recently. And so they probably made a decision early on to go to this discourse model.

And then I think they've just kept going there. I think talking about videos too, we have really tried to start building up our learning content as well. I think that's another thing that we try to do pretty well. We haven't historically always done... We try to do well documentation, but we're finding more and more people tend to like these videos.

And so we're really trying to build up our video content library so that we can sort of explain how to model, how to do Grasshopper things for new users.

Nono Martinez Alonso

OK, so maybe at this point, you can tell us where can people find these things online and also where can they find you online.

Andy Payne

I tend to be a little bit more hidden. You know, rhino3d.com and grasshopper3d.com, I forget the actual, we'll have to post the link to the Rhino Grasshopper forum because I don't have the URL exactly, but you know, I think rhino3d.com is a good place to start. And then from there, you can link, there's links to the forum and so on and so forth. And then we also have learning pages, right? So there's everything from the learning pages to just, you know, learning how to model and things.

And then we also have our developer documentation, which is a little bit more focused on people who are wanting to develop, you know, programming and things like that. But there are guides that really help you figure out how to navigate the RhinoCommon API and things like that. And so we do try to, you know, obviously, it's a hard thing to manage. You've got a lot of content and we've generated a lot of content and it's kind of all over the place.

And so we are trying to centralize and make our web experience a lot better and easier to understand for users. But that takes time. And we're always, you know, trying to improve it. So we try to look for feedback and say, this isn't working. Like, how do we, you know, get it to look better? Also, when you launch Rhino, every time you launch Rhino, there's a sort of list on the right that's like what's happening. They send out a lot of e-blasts and things like that.

But we have like a running blog that sort of says, what are some of the new features and new things that are happening and, you know, workshops that are happening in different areas. And so every time you launch Rhino, you should have a list of links that, you know, you can click right there and it'll take you as well to some of these pages.

· Connect with Andy

For me personally, I don't do a whole lot of social media. I have sort of a private account on a couple things, but I don't really do Twitter or Instagram or really any of those things. So I'm a little bit more of a private person when it comes to that. I think early on I did well in positioning myself. I happened to be at the right place at the right time at a couple of things, right?

Grasshopper being one of them, I sort of happened to be interested and available to sort of start when Grasshopper was really starting. And so I happened to just be at the right place at the right time. And then I did the primer. And so like I said, I was sort of the right place at the right time. And I did try to really build my name and get my name out there and so on and so forth. But as I've gotten a little bit older, I've kind of become less and less socially aware.

I get nervous about the privacy and how much stuff is out there. And so for me, I tend to and to that end, I've kind of seen some of that stature kind of fall off. So there's a catch 22 or not catch 22, but I get a little bit nervous. But it also means that like, you know, had I kept pushing on some of the social media, you know, out there getting my name out there, Twitter and so on and so forth, I might be in a different position. But, you know, that's the choices we make, right?

Nono Martinez Alonso

Yeah, no, that's good. I mean, you can always start if you change your mind, but I think it's good.

Andy Payne

But I can't say I'm always available, especially through email, for like technical questions. So, you know, the email address is andy.payne at mcneel.com. And so any of those things, like we do try to be very accessible. And so, you know, anyone and everyone can feel free to send me questions and things like that. And we do try to answer those as quickly as we can.

· Learning to code

Nono Martinez Alonso

Can you tell us how you got started programming?

Andy Payne

That's a good question. I started by doing what I think a lot of people try to do, is they have an idea in their head and want to try to explore that in some way. I was always interested in electronics a bit. I didn't have any kind of experience with that growing up, but I had seen some projects done by other people. And so I decided to take a workshop, an Arduino workshop in San Francisco, just sort of a weekend thing.

And that sort of gave me a little bit of an insight of how the electronic side worked. But the concept was, you know, how do I take this and link it to Grasshopper? So I think I did what most people do who don't know what they're doing, is they just start Googling and reaching out on forums and say, like, how do I do this? And I did get some help on forums early on about how to connect to the serial port and things like that.

And eventually, I was able to cobble together, you know, a component that could, you know, read information in. And then the next step is how do you read it back out or send it back out? And so, you know, I think for me, it's really just about the curiosity. You know, you have something in your head that you really just want to do, and you just have to pursue that. And that's really how I started to program. You know, I didn't grow up writing code.

I think I took maybe one class or things like that, and I have historically not taken a whole bunch of programming classes. It's sort of self-taught, and that's probably why the code that I wrote early on was so horrible. But, you know, you just start to explore, and credit to David and the rest of the McNeel team who made developing components or plug-ins relatively easy, right? It may not seem easy at first.

It's a bit of a steep curve if you're very new to programming and things like that, but the more you do it, the more you realize it's a pretty accessible platform, particularly the C Sharp and VB and Python components that you can just develop directly in the application. But I think those are good ways to start to explore an idea. And then, like I said, there's lots of information online, and you just have to have a project and start it.

And so for me, that was Firefly, but I think the same can be for a lot of people.

Nono Martinez Alonso

I want to comment on two things that you've mentioned. One of them you just touched on. Many people want to switch careers, right? And they, for some reason, they say, yeah, I'm taking this Learn Python course or this JavaScript Initiation course. And it's really easy to get bored.

I would mention this for people who are thinking that they want to improve coding, because if you don't have a goal and objective, like for example, you were thinking with a physical thing, like a microprocessor that might switch a light on or off, and it has some way of seeing the results and the rewards and what you can use that for. But if you're just learning in the abstract, it's like you're studying English all your life without going to an English speaking country and practicing, right?

Andy Payne

Well, and I think, you know, I've done some of those videos, and you're right. It's kind of like homework, right? What I mean by that is like, I think you have to find something that you're passionate about and curious about.

And so a project that you're sort of driving, that you have control over and are wanting to do, makes the development process, that learning process, so much more achievable or interesting, whereas if you're just sort of going through the motions following a series of tutorials that somebody else has written out, that's great, it's fun, and it can be good, and you can hopefully apply a lot of that down the road. But at the same time, while you're doing it, it can be boring.

It can be a lot like homework, and you're just sort of going through the motions.

Nono Martinez Alonso

Yeah, many times. I mean, when you get to be, you're already programming, it does make sense to go back and go to see videos that are more specific to learning a technique. You're going to acquire a new skill that you say, okay, I can apply this later to manage lists or asynchronous processes or online communication. But then you need to apply it just to test it. You usually learn the thing and then test it for something.

And I mean, you can see on the YouTube channel, I can see that many people have a target in mind that they want to do, and that's why they get to your video. It's like, I want to automate uploading, I don't know, like 20 or like 100 videos to YouTube. So they get to your video because they search how to upload it. Nobody's going to go and say, okay, I'm going to upload, I'm going to see how to upload a video to YouTube just in case some day.

And then the other thing that I think I relate to is coding skills evolution. I see also my projects back in time and how I did things. And I think it's great that you don't like the code in early Firefly because that means that now you have the possibility of looking from a perspective where you say, I've learned a lot or I can see that that's bad. The worrisome thing would be if you didn't realize that that was not the best code that you can do now.

So that would be also an encouragement note to people who have things and they don't know if they should release because I've seen people that get really self-conscious about, ah, this is not ready, I don't have documentation, where I just put it out there, it depends what you're doing, but sometimes people might find it useful, they can learn from it. And yeah, I don't know, I would encourage that as well.

Andy Payne

Yeah, sure. Yeah, you make totally valid points. And like I said, for me, I think it really just comes down to, you know, the individual curiosity of the person. And I think we all are curious people. I think a lot of us, you know, have these inklings in the back of our head of like, we want to visualize something. And I think that's sort of why, you know, sort of taking a left turn here.

· Generative AI

But I know you've probably been keeping up with all of the ML stuff with, you know, these image, text to image translators, Midjourney and Stable Diffusion and DALL-E. And I think that's an interesting thing that's happening now. You're starting to see these people that it's allowing them to sort of visualize their curiosity in different ways that they hadn't really begun to explore. I think it'll be interesting to see how people then take that, right?

Are they just going to take it at face value and show it to the client? Or is it really like an ideation process, like a back and forth with this AI as a way to sort of augment your own process?

Nono Martinez Alonso

Yeah, I think what's really interesting about that is how it has exploded in every field. Like you're seeing everyone trying to bring it home and trying to apply it to design, architecture, interface design, CGI, graphic design, anything. And I'm not sure where it's going to go. I know that it is transforming the way that we design and we do things.

There is also the concern that we're going to lose the human craft or we're going to be prompting text bar instead of actually thinking what we need to do.

Andy Payne

I think it's an interesting question that is going to be posed as these things become more and more popular, right? Obviously, a lot of the models are trained on thousands or millions of images from the internet. And so that means all of the stuff that's been published thus far by different artists are now part of this library, if you will, of images that it draws from. And so you can now, say, build a house in the style of X or give me a drawing in the style of this particular artist.

And that artist obviously has spent a lot of time thinking and developing their own style, right? And I can certainly see how it's now being sort of co-opted and sort of degraded a bit, taking sort of and trivializing the work that they've done to a point where now you can do it in a matter of seconds. And I can see how that would be really difficult for a lot of people and a lot of artists.

And then obviously, you're seeing other ethical questions about the AI stuff, about biases that are internal, some of the stuff that Shelby Doyle has talked about and things like that.

Nono Martinez Alonso

For me, I've played with Ali a bit since they opened the closed beta now. I think it's completely public, so anyone can sign up and use 20 or 50 credits a month or something like that. I've been playing a lot. You get caught with the prompt types and the, let's say, modifiers that you use. A modifier can be 4K resolution or fresh paint or hand drawing or bokeh photo. Those are all modifiers that you can add to the description of what items you're seeing or what you're seeing on the picture.

I've used the one that I've got in love is Edward Hopper, by Edward Hopper. Like if he had drawn that because the colors that his most famous paints or at least the ones I know have are like these light blue skies with high saturation and really green fields and happy people.

Andy Payne

Interesting, because the one I know of Edward Hopper is Nighthawks, right? The one at the diner.

Nono Martinez Alonso

It's kind of a darker mood. Well, at least some of the things that I personally call my attention at museums that I like and say, I like this kind of old painting, but that looks really poppy or something, right? So I use that modifier a lot to generate things. And some of them I love that I usually put like blue sky, trees, birds and grass and whatever by Edward Hopper. And what I was coming to is those have been really easy for me to generate.

· The IKEA effect

I've been iterating, I generate variations, I change the description, and I've, let's say, created with this tool some images that look like or illustrations that look like Edward Hopper paintings. And that makes me think if I had actually studied his artwork and I was trying to draw things from real life as he did, trying to mimic his style, that probably would have been hours and hours of work and a lot of dedication, and I would value those pieces a lot, right?

Each piece, it would have taken a lot of time to do. And now these images that I've generated are not of so much value to me because even though the results are maybe even better of what I could have done, I'm undervaluing them because they were super easy.

Andy Payne

It took you a second to make.

Nono Martinez Alonso

So that's the part that I don't like. It's like we are putting less value in the, not just the price that you would be willing to pay to buy some illustration or some drawing, but on the pieces that we can make as humans.

Andy Payne

The effort used to make it, sure. Same thing is true with probably anything that we make, but even digital content, right? Modeling, I'm going back to Rhino, McNeel, the stuff that I've done in the past. Because no one wants to spend days and days developing a model. In fact, our job as developers is to try to make it easy as possible. There is something about the craft, right?

The time spent, the quality and time spent that you invest in developing your ideas into a 3D model or something like that. There is something about that investment that makes it worthwhile, and that's the design process. When you have an easy button where you can just press it and it generates your building for you, it does take the design process away from you, but it also trivializes it a bit, I think.

Nono Martinez Alonso

I think if I'm not wrong, I have a mini essay on the blog about the concept that we're talking about that is called, referred to as the IKEA effect. So you have a really like a $5, $20 piece of furniture, but because maybe even you did it with friends or with your partner or something, there's this moment that you had to lay down all the pieces, look at the manual and spend maybe, I don't know, 45 minutes assembling this thing.

Then you mentally put more value into that item than it actually has, because you've put, as you said, a lot of effort. So for you, it would be really easy to give away, let's say, a $10 table if you had bought it on Craigslist and now you're selling it, than if you actually bought it original and assembled it, and even more if there is a story behind it that you put that, oh, I built this with my kids or with my friends or whatever. And so I think there is part of that.

It's like the effort of making something makes you less willing to give it away or want to charge more. And if that happens to art and how we envision, because art at the end of the day, we're talking about illustrations as something you could sell, but I see also art as a self-expression medium, right? And we're kind of like trying to do as few crafts as we can.

Andy Payne

So I bring up the question for you then.

· Authorship

Who becomes the artist in DALL-E or Midjourney? Is it the person who writes the text prompt or is it the programmers who develop the model, the AI, right? As they're the ones who essentially built the model and explained how, you know, built the concepts of how it all goes together. I think it's an interesting question of how much authorship should be given to the person who actually generates the prompt, for example, and the person behind it.

And the same could be, I guess, true for, to a degree, some of the tools that we all make, right? Me personally doing some of the stuff with Rhino and Grasshopper. Obviously, the authorship is more of a step back, right? Someone who's designing in Grasshopper, that's their design. But also, you do feel a bit, you know, I look at some of the videos that are posted online that use Firefly, right? That are using these sensors to drive something.

And you do feel like you had a piece into that, even though it's their work. I'm not trying to claim any, you know, ownership or authorship or anything like that, but you do feel like you contributed some way into that work to a degree. And so, you know, they probably don't see it that way. And that's fine. I'm not, you know, it's a different model. But I do wonder where the programmer, the guy behind the scenes who writes the software or the stuff, where their fit is in that.

Nono Martinez Alonso

So I don't have the right answer for that. But my thought is when you have a pencil or you have even Photoshop or Grasshopper or these tools, the canvas is sort of empty, right? That you start with the tools that you're given and of course the medium and the tools are going to determine highly the things that you're going to do. If you use a brush in Photoshop, it's going to determine the type of drawing you do.

If you go to AutoCAD or to Rhino and start with the Polyline tool, it's going to determine or constrain what you can do. So the difference, I think, is that DALL-E is a program that is actually as if in Grasshopper, you were telling build a tower with three stories and blah, blah, blah for me. And it was actually creating notes and doing the things for you. So we're entering in that the program is actually taking the brush from you and painting. Yeah, exactly. So I think, yeah, I don't see...

It's complicated. If you're just using... You could say that if you're just putting a prompt and generating a thing, yeah, okay. You put that prompt, you had, let's say, the idea, the originality is to write the prompt and get that image. But there is people who go farther and maybe start getting an image and merging that with another or creating permutations. So there's also an effort there in using this tool now to get to a good result.

But at the same time, even with just the silliest prompt, you can end up with an initial canvas that is already a finished piece. We've also seen on the news that there have been a drawing contest owned by the AI and blah, blah, blah. It made it to the New York Times and I think New Yorker. So I don't have an answer. I think we're putting...

Andy Payne

Yeah, I don't know that there is one. It's more of an open debate.

Nono Martinez Alonso

A philosophical debate. All right, so I wanted to ask you as well, if there was one thing that AI could do for us today, maybe in our daily lives or in our work, what would you want it to be?

· AI trade-offs

Andy Payne

That's a tough question. Because we're obviously drawn, or the things that come to mind, I think, unprepared for that question. Things that come to mind are obviously things that we're already starting to see. It's sort of always around us. The thing that scares me, I think, is a lot of the stuff that's being built into social media and things like that that influence our decisions and things like that without us really understanding or knowing that it's happening.

And particularly when your phone hears conversations, right, that you're talking about, and now you have ads for something that, you know, is in your pocket. It wasn't even on and listening or something. Or it was listening, but we didn't know that it was listening, and now we have advertisements for products or something that we were just talking about.

Or even here, I've noticed that like my children have something on the TV, like a cartoon or something, and now something on my phone shows up about that cartoon. And so that sort of stuff freaks me out a little bit. And particularly the biases that it sort of imposes on people without sort of their knowledge. But I think it's inevitable that it's start going to permeate really all aspects of our life. I think whether we know it or not, obviously the social media aspect is already there.

We're seeing it in banking. We're seeing it in entertainment. We're starting to see it in design, right? I think the stuff you're seeing and a lot of stuff you're doing, right? You're working at a design software company, focusing on AI and machine learning. So the stuff that you're doing will have a direct impact, right? And so I think it will be interesting to see how that shapes our design process and whether that's good or bad.

Our whole conversation that we've been having about DALL-E and Midjourney and so on and so forth, we seem to be kind of split on its benefits and the consequences of it. And so it'll be interesting to see how some of those things play out.

Nono Martinez Alonso

Yeah, and I also think that we don't refer as heuristics as something that is changing the world, but we do about AI and ML, but I think that more and more, especially, let's say, not traditional machine learning, but not general artificial intelligences, right? Machine learning is, as you said, permitting in many different fields, and I think slowly we're going to stop talking about it with so much hype. It's just going to be one more way of solving problems, right?

It's unlocking problems that were not possible to solve with heuristics by having huge datasets. But in terms of, for example, at work or other utilities, we're just using machine learning for things that you can do in other ways, for example, like an energy simulation, but faster with a prediction that is not super accurate, but it's super fast.

Andy Payne

Yeah, no doubt there's benefits to it, right? I mean, obviously, there wouldn't be so much investment in it if it wasn't for good reasons, right? I think it's just the average person probably doesn't think about the consequences enough, because we don't necessarily... They're not always visible of what those consequences might be. But certainly the benefits are pretty profound.

And so I think the big question moving forward is how much are you willing to give away or whatever those consequences are, do they outweigh the potential benefits? Because I think in a lot of ways that answer is yes. You're speeding up a process that would normally take many hours. Now you've got it in minutes. And so that has a huge time saving.

· Panagiotis Michalatos

Nono Martinez Alonso

One thing I wanted to make sure that we talk about, even if briefly, we've had Panagiotis Michalatos before on this podcast. You've referred to him as Pan some instances in this podcast because you work with him on a few projects, including Monolith. So I wanted to know what your experience has been working with him, if you have any thoughts.

Andy Payne

Yeah, sure. I've been fortunate. I was very fortunate to have met Panagiotis. The same year I started at GSD was his first year. And he sort of recognized his genius kind of right away, even first class or first lecture, whatever it is.

And so given the stuff that I was there to do, my research interests and things like that, I really gravitated towards wanting to just soak it all in, be around him as much as I could to sort of understand how he thought and see how he programs and stuff like that. And so I've been really fortunate to be able to work for several years, both at the GSD and then afterwards with Monolith and then at Autodesk. And the one word that comes to mind, like I said, is genius.

Anybody who's sat down with him next to him while he's sort of helping you debug a problem, it's pretty evident really quickly how his brain sort of works in a slightly different way than, say, most of us. And I think it's kind of compelling and sort of in awe of the amount of knowledge that he has. Just from a mathematics standpoint, obviously machine learning, AI, but also structural engineering and things like that. He brings so much to the table that a lot of us can't really keep up.

Nono Martinez Alonso

Awesome. Yeah. No, I think and I also think that he engages, might be through student projects or other collaboration, he absorbs and tries to engage as if projects were his own. So as if he was doing that, he has so many ideas that sometimes it's more like he's delegating other people to build them for, not for him, but for themselves, but throughout his way of understanding those ideas.

Andy Payne

He's also just relentless in his pursuit, particularly it was probably before you got to the GSD, but in his first year, again, he was new to teaching, so I don't think he really knew how to say no to students. And he was there 18 hours a day helping students. I mean, just relentless. People were just always there asking him questions, and he would always have time and sit down and help them figure out what they were doing or what they were doing wrong.

And I think that's been always really incredible seeing that his willingness to help people, his willingness to sit down and explain concepts and things like that, is really just quite profound.

· Advice for young people

Nono Martinez Alonso

Would you have any advice for young people?

Andy Payne

Stay curious. That's kind of a cliché, probably. But it's really something that I try to explore, you know, every day. I think for me, it's what's kind of driven my whole process ever since I have been in school, was this idea of just kind of exploring these ideas that were sort of in the back of my head, and just this relentless pursuit of trying to figure it out. You're going to hit roadblocks. You're going to get stumped. It's going to be really frustrating.

But to me, the aha moment, you figure out that problem, and you finally figure out how it works. To me, that's what you get that sort of endorphin boost that makes it all worthwhile, right? You get that one moment of clarity that you've now figured out how the problem should be solved, and that's what makes it worth it. And so, you know, just following the relentless curiosity is sort of, I think, important.

· Success

Nono Martinez Alonso

What's your definition of success?

Andy Payne

I think it depends on context, right? How do you mean success? Success in what context?

Nono Martinez Alonso

As I've seen in many previous interviews, success always comes as something that is super idiosyncratic, something that you have your own definition for it. So I guess success in life for you to be content every day, right? Not being at an ease with like, I'm not doing the right thing or...

Andy Payne

For me, it's important about family, right? I strongly believe, and fortunately, I work at a great company that also values the things that I tend to value. But work-life balance is really important. Family, friends, I strongly believe in supporting my family. I kind of pour as much as I can into them. And so success for me is being able to still explore the things that I'm passionate about from a work perspective and career perspective.

But maintaining that balance that gives you the ability to be there for your family and friends. And so for me, success is essentially being able to juggle both of those. And that's not always the case for a lot of people, but I'm lucky to have found a spot that I can do that.

Nono Martinez Alonso

One last question. This is a Latin ferris because this is a question that has been doing too many people.

· $100 or less

What would be an item of $100 or less that you've bought recently that has improved your life in any way?

Andy Payne

So we've talked about work-life balance and my pursuit to sort of be able to juggle family. And one of the things that I really have enjoyed over the last several years is being able to take the skills that I've learned through design, fabrication, making things with my hands, woodworking, things like that, and applying them for things I can use for my kids. And so a thing that I've really enjoyed doing the last several years is making Halloween costumes.

And they've increasingly gotten more sophisticated and complex, but it's also a learning process, right? I've definitely learned new techniques that I wish I had known when I was in school, because some of the things I'm doing now with stupid Halloween costumes could have been applied as architecture models and things like that. But really the stuff that I'm buying are supplies for Halloween costumes.

And yet that brings a joy to me, and hopefully will bring a joy to them at some point when they get to actually wear it. But even though that's just my hobby, it's making things like out in my wood shop or making things like Halloween costumes. It's kind of silly. The stuff I'm buying is like EVA foam and contact cement and spray paint. But for me, that brings joy, is the hobbies I get to explore.

· Outro

Awesome.

Nono Martinez Alonso

So yeah, thanks so much for being with us today. So it's been a pleasure. I'm super happy that we could see each other physically because everything has been remote lately.

Andy Payne

It was great to catch up, and I'm really glad you invited me to come.

Nono Martinez Alonso

Yeah. So as he said, Andy is not super present on social media. I know that you're at least on LinkedIn, so by email or LinkedIn, you can reach out to him. And I guess like mainly to ask technical questions or anything that you want to.

Andy Payne

Anything.

Nono Martinez Alonso

And I'll also remind everyone that we'll put detailed episode notes of these and any previous episodes at gettingsimple.com/podcast, and that you can submit questions to gettingsimple.com/ask. So there is a form there. You can record a voice note with your phone or your computer, or you can also upload a short video to YouTube that we can answer on the live stream or the podcast. Thanks so much for watching, and we'll see you next time.

Transcript source: Provided by creator in RSS feed: download file
For the best experience, listen in Metacast app for iOS or Android
Open in Metacast