Twitter Logo

Amos King

Twitter Logo

 Chris Keathley

Twitter Logo

 Anna Neyzberg

The Elixir Outlaws now have a Patreon. If you’re enjoying the show then please consider throwing a few bucks our way to help us pay for the costs for the show.

Episode Transcript


Amos: Welcome to Elixir Outlaws the hallway track of the Elixir community.

Anna: How's the COVID sitch, you guys? Where you are.

Chris: Oh, it's bad. It's real bad. It's super not good. Like Chattanooga was in like the New York Times, I think, or something like that. Some sort of major publication as a, as a hotspot. And then people in Chattanooga were like, "Man, you know, this is just, this is fake, whatever I live here and I don't see that at all." And I'm like, “Okay, dude. Whatever, whatever you say.”

Anna: Yeah, that's cool.

Chris: I literally like was like, uh, some frat boy, like pointed at me the other day while I was buying groceries like, "That, guy's wearing a mask," and I'm like, "Yes I am."

Amos: (elongated sigh)

Anna: Aw man.

Chris: So it’s good. So the South is intellectually bankrupt. That's the takeaway.

Anna: I know. I saw you tweeting about something. That was really funny where you made me laugh. I forget what you tweeted. But it was like really funny. You were complaining about, I think, the South, but it was funny.

Chris: Yeah. And it it's, it's, it's a tough thing. Cause it's like, I, in so many ways, I'm like, I really want to move. I really want to get out of here. And at the same time, I feel like that's just like part of the problem, because.

Anna: Where would you go?

Chris: I don't know somewhere, not here.

Amos: Kansas City you have to wear a mask.

Chris: Yeah. We have mandatory mask laws going into a rules or whatever it is, whatever the term is. Uh, starting midnight tonight.

Anna: Oh, good. Finally.

Chris: As we record this. Yeah. Some might say a little too late.

Anna: Better late than never.

Amos: Get to the store before you have to wear something on your face.

Chris: Yeah. I just can't breathe out here. Oh my God. I just can't breathe. Oh, oh.

Anna: I really like the "my body, my choice" people.

Chris: Oh, I know the deeply, the deep irony. That's the real like, uh, soulful werewolves nonsense. Just, oh-

Anna: -I was just like, “Really? Now it’s my body my choice?”

Chris: Oh, just the sweaty in my mask. Can't breathe. Oh. Oh, I just can't do it. I can't go on, I can't. Let me speak to your manager about this mask. Who do I talk to about this? This is ridiculous. This is America.

Anna: We have freedom.

Amos: I can make anybody sick that I want to.

Anna: If you're a white man, you have a lot of privilege.

Chris: I didn't grow up in privileged white suburbia to wear a mask. Okay.

Anna: Exactly. If you're a privileged white man.

Chris: I didn't have a friend of a friend who was a soldier to fight for my freedoms, uh, to wear a mask. Okay.

Anna: That was good.

Chris: So yeah. So it's not, you know, it is what it is.

Anna: So yeah. It’s a good time. And a little ironic that like, not ironic, like, and not surprising that like Audrey's in, she was living in Germany. She went to like Spain this weekend because Europe's open and she's like, “I can't go back to the States, though. Cause I will get stuck.” And I was like, “Yep.” Also, Americans are banned from the rest of the world. So that's good.

Chris: Yeah. We are the unwashed masses.

Amos: Oh, I had no idea.

Chris: Oh, yeah. Like everywhere else in the world has banned America. Which, rightfully so, if I'm going to be honest.

Anna: Yes. Yes.

Chris: So yeah. That's good. You know, it's good. It's great.

Anna: Things are going real well. But the stock market seems to like, oh my God, somebody tweeted something really funny. Well, I thought it was funny, about it was something like stock market is like, never mind. I can't find it. I lost the moment. It was like something like, uh, the stock market is like that mediocre white dude that keeps getting promoted despite poor performance.

Chris: Oh yeah. It's it's the it's Peter Principle, right? It's like, just watch it happen. Oh yeah. It's pretty bad. Uh-

Amos: -I was going to invest in a mask company, but we don't wear them here. So yeah.

Chris: Yeah, but who would wear one. But I just can't breathe. I mean, I don't know how anyone can breathe in those. I mean, it's just ridiculous. Alright. This is America.

Amos: Alright. So basically, everybody, you should just wear a mask.

Chris: It's like for no other reason.

Anna: Also, like the fact that we don't have real concept of like the greater good in this country. Like, it's just beyond people. Yeah.

Chris: It's the literally the least you can do. Literally the least you can do.

Anna: It's not that hard to wear a face covering.

Amos: I'm already washing my hands. What else do you want me to do?

Anna: But my body, my, uh, sorry that I can't, I can't anyway. Yeah.

Chris: So, uh, how do we, uh, I can't find a segue.

Amos: Yeah, how do we transition?

Anna: So back-to-back to like, so anybody working on anything cool?

Chris: Well, I fully expect Amos has had a week now, uh, to, to, to think through the last rant.

Amos: Aww no.

Anna: Wait, what were you guys talking about? I missed this.

Amos: Keathley rant.

Chris: Yeah. So I fully, I I'm, I'm prepared my body and spirit are ready.

Anna: What were you ranting about this time, Keathley?

Amos: Business, business logic and how it shouldn't exist.

Chris: No, it’s the term that shouldn't, the term is silly. The term is a ridiculous term. That means nothing. Um, that's that's that's more what I said, I'll let, hey, I actually am curious now, Amos you're going to explain.

Amos: Add to that long-live-agility.

Chris: You're going to ex, yeah. This is my manifesto. Alright. It's been what, 500 years since Martin Luther nailed his theses to the door of that church and we're bringing it back. Alright. Here's me doing my impression.

Amos: Yeah, are you getting ex-communicated too?

Anna: Keathley's on fire today.

Chris: I've had my third coffee. I, I strategically planned my coffees for this.

Amos: Alright. Let's hear him, Luther. I'll be the Pope, you be Luther.

Chris: No, this is what we're going to do is you're gonna, you're gonna present the story as you heard it.

Amos: As I heard it.

Chris: Which is going to be funnier.

Anna: Oh yeah, to me.

Amos: Alright. So, um, I'm going to give the really short rundown: Business logic is a dumb term. Um, there's we, we have the database layer and we have the front end layer. We have all that business logic in between or what people call business logic, but that just makes businesses not care about the database layer or the front end. And those layers are actually important to the business and the business does care about them. So it's a dumpster.

Anna: That's fair.

Anna: And I mean, that that's like the high level. We did get into some specifics, but that was the high level.

Anna: How long did Keathley rant about this?

Chris: At least an hour.

Amos: How long was the episode?

Chris: Yeah, we came in hot.

Anna: Share your thoughts. Say more, Keathley.

Chris: Well, so yeah, yeah, so my, my initial premise is just that referring to any specific part of your application as like, well, this is the business logic and attempting to split that out from any of the other surrounding bits is sort of fundamentally flawed because, and not just flawed, I think it's actively damaging to the way we talk about building systems. And I think the reason is because it presumes that what matters to the business is like all these like rules inside of it. But in actuality, like all of it matters. How you store stuff, whether you store stuff in a transient way or in a really durable way, how you store things, the views that you create, where people interact with that data, uh, and, and view that data and make decisions based on that data. Those are all key to your business being successful. And I think like terms like that create sort of this weird false dichotomy where there's a certain amount of logic that's like important and a certain amount that's not.

And I think it also precludes us or not. It, it, it, it creates because it creates a false set of layers. it's harder for us to see what might be simpler design patterns. I've been thinking about this a lot in terms of like NVC. I actually think NVC is terrible.

Anna: Shocking.

Chris: It's probably an actively detrimental design pattern for most systems when you get down to it. And the reason is because the layers make no sense. The layers aren't actually the, where you want them to be. And it's not how you want to divide up your application at all. Because at the end of the day, you could express all the same stuff that you express with these highly imperative layers, you know, the view and the, the model or whatever, as a bunch of functions that you just compose together. Like a route, like any given request is just a data structure. Like the request is just data and doing stuff with that data, like turning it into a query or turning it into a call, you make to another service is just data flow. Like you take some the data of the request and you transform it and manipulate it into a request to a downstream service. And you can express that as a pure function, uh, or at least its function composition. And then you get, if you do that, you get all this like great reuse out of all these functions that you've built. And then the entire thing just becomes a pipeline. And that pipeline is your business logic, the pipeline, the entire thing together is the business logic. If that's even a term, which I don't think it is. So, so that's my that's my general premise is like, once you stop using terms like that, and once you stop cleaving to these patterns that have been inherited from other paradigms in other languages, the design space really opens up. And I think that you can see, or maybe start to see other interesting ways. And I'm not saying that what I'm describing here is actually like where we should end up. Um, and I've played around with some ideas about this. Some of them are like, you know, th they're sort of the full they're fully Haskell, you know, it's like just free monads and all this stuff. And others are more just like function composition. And I'm not sure where the right place to land on any of this is. Or even if these are good ideas and would work at scale where scale is really like more than just me working on it, where it's like 10 developers having to work on this thing. But I think if you, I think the design space is really interesting and really open, and I'm just compelled by this idea that we could always be building systems made out of simpler bits.

Anna: I think that makes a lot of sense. I think it is hard to break people out of the paradigms that they're used to thinking. And so how do you do that?

Chris: Well, I think that-

Anna: Right, cause like, I mean, like even the term business logic, like I actually haven't used that in a long time because of the way we work, right. But like, we work in a very- because we're, we work in a slightly different way than you would work if you were working within, inside of a company right? Generally. And all of it's important to us because it has to be. But I think part of it is like, you're saying, like, if you stopped using that, and if you stopped thinking about that, you can see new design patterns. I totally agree. But I think it's hard to get people to frame- I think the hardest thing is getting people to shift their thinking or being comfortable and start trying to think in a different way, moving out of these patterns that they have a lot of comfort in because they know them well.

Amos: Um-hmm. I think if you give it a different name though, you have to be careful with that name because it comes with connotation too. Like business logic comes with some kind of idea. So if you change the term to try to encompass more like maybe that term's not going to be perfect either. So, so where, where do we go? Because I do think the terminology matters.

Anna: It totally matters. I mean, language matters. We know that for a lot of reasons, if we're talking about like larger things in the world, like language totally matters, always, but I think sometimes people get, again, forest, trees, like when you're thinking about systems and you're building systems, right? Like sometimes it's hard to think about the larger princip- to step outside, right, and think about the larger principles of what you're trying to build and what are the constraints of that, constraints of that outside of like the tooling that you have. Right. And then removing your thoughts about, " Well, these are the tools that I have, and these are the patterns that I'm used to. So how do we fit that in?" As opposed to being like, "These are the constraints that I have for the problem I'm trying to solve." And then how do we build that and think about it in a way that's separate from that? I think it's really hard to get people to think like that.

Chris: Yeah. I completely agree. Well, and I think, I don't know, I have such an uncharitable view about this, uh, for most programmers, just like getting, also get me in trouble, but-

Anna: -Well, but, but I think the interesting question is like, "How do you get people to change or feel comfortable changing their thinking to essentially think in more flexible, more abstract ways?" Which is harder.

Chris: Well, that's the thing is, I think most, I think most probably people, but we're, we'll, we'll, we'll, we're, uh, we'll constrain this conversation to programmers. Gen generally it’s like, I think most programmers just want rules. There's too much to know. There's too many things that they're required to know. And so at some level people like programmers just want a rule to follow.

Amos: I think rules are training wheels. Right. They, they help you get to a point. And so, especially early on in a career it's, rules are-

Anna: But not even early on, right? Like, I feel like if you haven't had that behavior modeled of like abstract thinking, it, it sounds, it just sounds really like generic and not real, but like, let's take an example. Like, I'm currently working on a crypto project, right. Let's say we're thinking about trust, right? How do you build a system that inherently has, like when you're building things, like how do you build a system that inherently has trust, right? Like what are the constraints? Like, what does it mean to have trust, right? In general. What are the paradigms of that? And then how do you break that down and to build a system around that. But that requires there's, it's maybe it's a bad example, but like, there are no rules around that yet, because such a new space that it requires more like abstract thinking and how you're going to design your system. Cause there aren't patterns already. But when you're, when you're often solving problems that have been solved like a billion times before , stepping out of what's comfortable, even if you're super experienced, I think is hard.

Chris: Right. Because I mean, cause at some point it's just ease, right? You're like, well, I know how to do it this way. So why would we-

Anna: Um-hmm. Like, this way will just work.

Chris: Yeah. Yeah, yeah, yeah. Well, and-

Anna: -I just having this conversation with somebody with like Rails versus Elixir and they're like, well, let's just can be faster and I know the tooling. So if I just use Rails, it'll be, I'll be able to work faster. I'm like, yeah. But once you spin it up, it's just like, you're gonna have other problems. They're like yeah, but I know this technology I'm like, okay.

Chris: Yeah. Well, and that's, that's the thing is I think most people, most, I just think most programmers don't want to think that much. Like I don't actually think it's that complicated. Like I said, this isn't charitable. Uh, but I just, I just think that most programmers are very con content to do exactly what everybody else is doing.

Amos: So how do we change that? Because I like-

Chris: -I don't know that you do. I think that's like a human nature thing.

Anna: You have to change how people think.

Amos: Cause that's what, that's why I have this job is because I want to think and grow. I, I, I always say yesterday me is an idiot. And if, if I look at code that I wrote six months ago and think it's great, then I need a new career.

Chris: Well, but everybody's going to do that on their, in their own way. Like some people find a lot of enjoyment, um, trying out a new gym, you know, a new Ruby gem that just hooks into their Rails applications. Like, the thing they're experienced experimenting with is not like, what if we just wildly rethought how we designed our system to begin with, but, you know, what if I change this one off library for a different off library, would that one suck less? And the answer is no, but you know, whatever.

Anna: Well, and also, if we're thinking realistically, right? Like it's a little bit pie in the sky and like, idealistic to be like, we can just start thinking about systems differently. Which is true. But like there's so many constraints when you're working within an existing system, right? And so like I do think it is a good question, like in general, like, "How do we get people to think outside of the patterns that are in their comfort zone day-to-day?" Cause I think you will be able to make better decisions. But it's also like, well you have so many constraints and you have to get work done. So like, that's also something that people have to balance, right. Regardless of what they want to be doing.

Chris: I mean, I I'm the worst person to ask about this.

Anna: I know.

Chris: Because I'm bad at this. Like, like I've attempted to do this. Like, uh, you know, I have attempted to do this with certain like blog posts that I've written. Um, I attempted to do this one in my talk about, um, you know, I gave a talk about like norm in the way that I think we could be talking about verification and contracts and those sorts of things inside of our applications and how cool that is and how liberating it is. And I feel like maybe only one or two people got it, like got to the heart of what I was trying to get at. And that's, that's on me as a communicator, right. I take that as a, as a, well, I take that as like a, I take that as an internal thing about for me is like, you have not adequately explained this, so how do we get to a point where we adequately explain it? So what do we need to do to change that, right? Like I take that as a personal thing, but like, you know, like people keep, continue to compare norm to, like, Dialyzer, or types. And it's like, no, like you've missed the point. It's the point is that like, this is better than types. This is like, it's not a surrogate type checker that runs at runtime. It's that types can't do what you can do with this. Like they literally just, can't like, you can express things that are beyond types. And like people keep asking like when's norm going to like hook into Dialyzer. And I'm like, never, it's never going to do that because Dialyzer, can't do the things that you can do here. But everybody just wants like, it's like, all anybody wants is like, is this a, is this argument, a string? And it's like, no, that's like not important. That doesn't matter. Like what matters is, is it commutative? If like, and now you can tell like, but nobody, nobody got that. And I just think it's, I think it's really hard to convey those ideas to people. If they're not ready to even look at the world that way, if you have to get them so far, like you have to, you know, sort of like create this giant path along the, uh, this, this giant thought path that goes from like where you are today to like this future of what it could be. And that's really hard to do. It's really hard to communicate that effectively. I find.

Anna: Right. I agree. I also think you're probably just ahead of the game a little bit.

Amos: Don't tell him!

Chris: Oh yeah, no, I don't know. I don't know that I am. I just think that like, if I ha I don't know, I talk about this at work a lot. I have like, essentially two, it is really just one super power and it's that I have almost no, like I, like, I almost never fall prey to sunk cost fallacy. Like I do not care. I will, I will gladly toss my time into a black hole if the, I figure out like a better way to do something. And that's kind of my one superpower. And because of that, like it's, I find it super liberate like that, that one thing liberates me from like getting too attached to anything. So it's like, I have no qualms about tossing all the knowledge I have about Ecto and Phoenix into a dark hole. If I find a better way that to do something, like I just won't, I won't feel bad about it at all. So. I don't know, like, I don't know that I'm ahead of anything. I, I just parrot other smart people, um, and make worse versions of things that they sort of invent from whole cloth.

Amos: I don't know. I think you come up with lots of good ideas and I was going to ask, but then you just kind of explained it, that the sunk cost thing was how you, how you come up with these, these ideas, like to do things differently, like norm and, and stuff like that.

Chris: I don't know. I, I just, I, um, I try really hard not to limit my exposure to technology. Like I try really, really hard not to limit it to Elixir. Like I love Elixir and I'm, there's a reason I'm still here. Like, I'm, you know, I'm really happy here, but, you know, I, I try really hard to explore other languages and other runtimes and other ways of doing things. And I think that there's a lot to be learned from other ecosystems and how they approach problems and that, you know, that will lead you to different places. Like, like the, the idea I'm talking about with, you know, the web API thing and the business logic stuff, it's like that already exists in other languages. Like if you look at like Clojurehas Ring, which is basically a description of what I'm talking about, and then like Haskell, I mean, Haskell has a bunch of versions of this, but the one that's the most interesting is actually called, um, Servant. And it's, it's super compelling and interesting and worth looking at. And it's like, it goes sort of like way far in the other direction where it's actually like, you know, a web API as a type, like what if you can express an entire web API as a type, like, what does that do for you? That's also really compelling and like really cool.

Anna: Right.

Chris: So like, if you, you know, if you broaden your horizons and go look at some of this other stuff, like you'll find like really good ideas out there and just try other stuff out, you know, be, if you can be just, just literate enough in these other languages to be able to read them, then there's tons of cool ideas to like, glean.

Amos: Do you, do you-

Chris: -You know, watch conference talks and stuff like that from other languages. Like, don't want you to Elixir Conf talks. Like if you need to learn about LiveView just fricking like, look at the docs. It's not that complicated. Like, you don't need to watch 10 talks about it. Like, go like, go watch, go watch a talk on something you've never heard of before.

Amos: Do you read, uh, like just read code for other projects? Is that like something you do?

Chris: Yeah, sometimes like, that's, that's actually typically how I learn the internals of stuff. Like, and understand like the fundamentals, like, what is it they're really doing here? I'll just like, go read through the source code. If I can find it, I'll just read the docs or just like, get a glimpse of it. Like, even if you just look at it and like, you know, you, you sh you can develop a sense of like looking at the gestalt of a thing, you know, you just like squint at it. And you're like, well, how does this just like, feel like what's the shape of it? Like, and you can get a sense for how, like, for, for what it's trying to convey. Um, and that's, that's interesting. You find a bunch of interesting ideas that way.

Anna: That is true.

Amos: What are other things that you do? I know you read a lot of books. Anna what do you do to, to expand your, your thoughts and your horizons in, in software?

Anna: Yeah, I mean, I think part of it is part of it is reading. Part of it is looking at other projects. Part of it is having conversations like these. And I've been, I think, also really fortunate to be able to work with a lot of different given the nature of the work, like, I think I've been fortunate to work with a lot of different people that have been working in, that have been working in industry for a long time, right. And so like the nature of the work and similar to the work that you do, right, like has helped expand my horizons and my thinking, but I think similar to Keathley, just constantly looking. I'm not necessarily attached to a single, single piece of technology or a single way of thinking, right. Constantly trying to think about how, what I'm doing, trying, I mean, I think, like, I feel like I try to often when working on a problem as like how I would ideally like to solve this, or like, what is it, what is available to me versus how I would think about it outside of what is available to me and seeing how those, if there is, um, a large gap there, right. Challenging my thinking. I think I often try to challenge my thinking on like, how I'm doing something based on like what I know, or how it should be done, as like a forcing factor, but also just a lot of, because of my own curiosity, a lot of reading and a lot of like, searching for what else, what else people are thinking about and doing? What about you?

Amos: Uh, I think it was different at different parts of my career. I used to do a lot of code kata type stuff, and every time I would do it, I would try to do it very differently. It wasn't trying to speed up. It was trying to do things in a completely different way. Now I do a lot more reading than I used to. Uh, I wish I had done more reading earlier in my career, so I'm trying to make up for lost time now. And then I'll even, I try to find, um, sometimes I will try to find like a course online for, um, maybe a language that I don't know, or some course that I know somebody will tell me, Hey, they're teaching this class on developing software that is very different from anything I've ever seen and I'll, and I'll go watch it and get ideas that way. But a lot of it is really just playing around, even in my code bases for work. I don't know that I would go as far as Keathley in saying that I don't care about sunk costs, but I do put quality over quantity constantly. And so I, I will do spikes and throw stuff away all the time and have no qualms doing that because my goal is at the end of the day to have the best thing that can come out of my mind. And sometimes that looks totally different than the last thing that I designed that was similar. Cause hopefully I've, I've garnered some more, I don't want to say artistic, but don't have a better word. Uh I've, I've changed my views become more daring in what I'll try to do.

Chris: I feel like it helps a lot, the kind of the being, being bold part of it. I know for me, there's there was like one dude who I worked with. He's actually a Carbon Five. Like, Anna probably knows who I'm talking about, but, like, he's a pretty eccentric guy and has a, but it's like every problem that came in, I, it did not matter how difficult I ever thought it was. He was always game to just be like, yeah, well, I'll do that. Like he reveled in sort of like finding the problem that was like way too impossible to solve and just solved it. And like never really said no, but he also, at the same time, like, you know, some of the stuff he came up with was like totally out there and bonkers. Cause he was always trying weird stuff and he's definitely like has a, has a very like, you know, uh, code is art kind of, kind of view on the world. But like, I just remember one time it's like, we needed to like somehow print a webpage or something that ha that was made out of SVG. And they wanted it as a PDF that they could send to people. And I was like, I don't know how we're going to do that. And he's like, eh, I'll just do it. And so he like hand wrote like an SVG to PDF parser compiler. And like in a night, like just went home and just did it. Like he just figured out, like he just knew PDF. And so he just went away and did it, I don't know who knows PDF. He's like actually the PDF writing rules are actually really, you know, understandable. And like he just had that in his head, right. And he just like, and then like he took the webpage and he rendered it using like JS DOM and then like converted the SVG, like rules into PDF rules. It was this whole thing. And he did it like in a day or something like that. And he's like, yeah, I'll just do that. If you can make it work with SVG, I'll just figure out how to translate it. And I was like, okay. And like that, to me watching that modeled a handful of times made, I don't know, it sort of opened this door for me where I was like, Oh, like, you can just do that. Like if you just put enough stuff or enough, like sort of primal programming stuff into your head, then you can just do that. Like if you just understand how parsers and compilers work, then it's like a simple matter of programming after that. And I really internalized that.

Chris: Uh, and like, not, that's not for everybody, not everybody likes that. Not everybody likes working with that person. You know what I mean? Like not to say that, not that person specifically, but I'm just saying like the person in general who will just do that stuff. Not everybody ,that's sometimes, like, people want there to be consistency and want there to be like, you know, just follow the rules and just use NVC and use it the right way and do it like, you know, build, you need to build your hexagonal Rails project, whatever, whatever. And it's like, I don't know is that some people want that because they just want to do what everybody else is doing. And they find that to be comforting, same reason people want to use formatters and crap like that. Like I just, you know, it's like same people, the same P you'll notice that the same people who love formatters also love Kubernetes and Docker. And it's like, yeah, those things all suck. But like, but like, but it's consistent and everybody else is doing it. And now we can all just be the same exact thing and it helps reduce complexity. And I'm like, does it though? Like, does it really, like, I don't know. I all that to say, like, that's what I try to be now for people who I work with is like, well, we did this concurrency limit stuff that I just gave a talk about. And one person, one person at work really championed that. Like, I want us to do this . At the same time. he was like, I'm working on it, but I don't really quite know exactly how to get it done. And like, he's like, I kind of don't know where to start. I was like, okay, well let's just do it. Let's just, let's just jump in and go for it. And I don't know, I've tried to model that now for people of like, the problem is like totally attainable. We just need to like get in there and figure out how to solve it and do some math and it'll be all, it'll all be good. It's just a simple matter of programming. No problem is too hard. I don't know if that translates for people or not, or if it's inspiring or if it's just demoralizing or if it's sucks, all the oxygen out of the room, but-

Anna: -I don't think it does. I think it's inspiring. I find that I find that approach inspiring. Um, I think it's important to have people that are willing to do that and people that are willing to think outside of the traditional norms, because otherwise you don't ever come up with new solutions to things. And the problems are just gonna get harder.

Chris: Yeah. And I think, I mean, I don't know, like-

Anna: -I mean, I think it's a little existential, but like we're you know, going to be facing some real problems that technology may or may not be able to help with.

Chris: Oh, oh yeah.

Anna: Like clean water and you know, other, like energy and other things that are going to be real. The technology does play a role in it. And I think having people being willing to think about outside of our traditional thought patterns is going to be critical.

Chris: Yeah.

Anna: On that note, I have to go to a daily.

Chris: (sigh)

Amos: (sigh) Okay, I guess we can end it.

Anna: Lots of thoughts, though.

Amos: Yeah. This is a good one. I, you guys are gonna, you just ruined the rest of my day or made it better. That's the same thing. I won't get anything right now. I won't get anything done.

Anna: What is anything right now? What is anything these days?

Amos: But I'll, I'll have lots of thoughts and I, that's what I, I live. That's what I live for. So.

Chris: For thinking?

Amos: Yeah. Yeah. I like, I love now sitting back and being like, “Okay, so what do I really think of all of this that's gonna come, that's gonna put a smile on my face for the rest of the day?”

Chris: Yeah. And then next time you have to, you have to, you have to come back and explain to me why I'm wrong about all of it. That's your homework. I'm gonna give you homework.

Amos: I can't explain that you're right or wrong.

Anna: Keathley, can I just tell you that you're wrong and we can be done.

Chris: Yeah. That's also fine. That needs to happen more.

Anna: Alright you all, I gotta jump. It's been lovely. It's always lovely talking to you all. Bye.

Amos: Have a great day.