Sequence Sundi: Welcome to another episode of Elixir Wizards. Owen: A podcast brought to you by Smart Logic, a custom web and mobile development shop. Dan: This is Season 11, where we're branching out from Elixir to compare notes with experts from other communities. Owen: Hey everyone. I'm Owen Bickford, senior developer at SmartLogic. Dan: I'm Dan Ivovich, director of engineering at SmartLogic. Sundi: And I'm Sundi Myint, engineering manager at cars. com. Owen: and we are your host for today's episode. To kick off the season, this is our all hosts. So we're just going to talk to each other a little bit about what's coming up this season and some of the guests we have and some of the topics we have in store. We're changing things up for season 11 after a excellent, flawless season 10, I think, and, uh, yeah, it's great to be podcasting. How do you guys feel? Sundi: The bar is high. I'm not going to say that we got a comment about last season that the bar was so high. We don't, they didn't know how we're going to, how to beat it. But I think, I think we're going to get there. Dan: You know, I like having a reason to talk. I like having something new to listen to. So I'm, I'm on board. Owen: If you're hearing this, chances are you've already clicked play button or you got it, you got it into your podcast player somehow, the theme of the season is branching out. What we're doing differently this season is we're, we're actually pulling in guests, from the Elixir community and pairing them up with folks from other communities. So we can compare notes, not to say that Elixir is better or worse than another language, but just to get ideas, compare notes, see, what are the differences in how we do things? And is there something we can learn from other communities and maybe something that other communities can learn from us the way we do things in Elixir land? Sundi: Yeah. And some of the background on this too, is a lot of the times we talk, you know, a lot amongst ourselves, amongst our friends, in the hallway tracks of ElixirConf and so on. about, you know, things we're doing in Elixir, things that are different. And then we'll go to, I don't know, a meet up with like various people in our city and then we'll talk to people outside of Elixir. Oh my gosh, what even is that, right? And then you get to talking and you realize that Like, we live in a, in a bubble, like a world where, you know, we, we kind of know everyone and know everything, roughly. And it's really interesting to engage with people in other languages, other frameworks, other kind of walks of life, just to find out what are they doing with their technology? How are they accomplishing some of these problems in various ways? And I just thought, you know, why don't we talk about it? That would be kind of fun. Owen: Would you say our bubble is like the Shire, like everything's green and... Rolling Hills. It's too bad this is not a video podcast, because Sundi's confusion is palpable. Sundi: I mean, I know what a shire is. I don't know why we're in one. Owen: I'm trying to find the right metaphor. thinking Lord of the Rings, Shire, like, Sundi: I too eat two breakfasts, Owen. Owen: What was, what What's, how would you describe the bubble we're in? Sundi: I can't. I can't. Dan, what are you looking forward to with this season? Dan: I think I've always taken an approach with, this. And most things I do around, what can I learn from others? What can I learn from my previous experience? Be that in Elixir or lots of other languages in my career. We did the polyglot season and talked to a lot of people who were doing kind of Elixir plus other things. And, you know, I think we found that a lot of people were trying to really focus on just one thing. And so let's take that one thing and, uh, with each week with each topic, look at one thing with, with multiple lenses. There's a lot for us all to gain from seeing how problems are solved other ways. Um, part of my motivation for this, season as well, this topic as well was, talking to a friend of mine who works in different languages and talking about how they interview candidates and the, the challenge that they put them through. And my immediate reaction was, I would love to do that in Elixir, cause I think Elixir would solve that, programming challenge really well. And so it was like, well, how would Elixir do it differently than, Python, for example. And so I think thinking through. That, across various pieces of our tech stack, I think is, is going to be really interesting to hear. Sundi: Yeah, and for all of you out there who've been in one of those water cooler situations or at a meetup. In the pizza stage, before the meetup starts, and people are asking you why Elixir? This might be an interesting season to point people to, because there just might be some interesting ways to solve it. I also am interested, again, I know we're kind of recording early October, but my brain's already on holiday season stuff, and I'm thinking Advent of Code coming up in a few months. And everyone across the world solves some similar problems in various languages. And I think that would be like a really interesting thing to dig into as well. So many, many different things to talk about. Owen: I'm curious. Just a baseline for us as hosts. What are some of the languages we've worked in previously? I'll start, I've worked, you know, a little bit, I've dabbled in PHP. Did it professionally for a couple years. I've never run a JavaScript server, but I've written a healthy amount of client side JavaScript and client side HTML and CSS, of course. I've done a little bit with Python as well. What about you guys? Sundi: I don't remember a life before Elixir. Owen, what are you talking about? I've talked about this before on this podcast, but, before Elixir, it was JavaScript, React, Angular kind of world for me. And, During the last three years, probably Elixir, on top of Elixir, was some flutter, some dart. Which was like a real headspin to go back and forth between Elixir and an object oriented kind of style. Just, whew, but fun. It's a fun ride. Dan: And I think for me, you can kind of look at it and without listing every language, cause I don't know, it's a lot, so for me, I think I kind of think about it as phases in my life, right? There's the early days academic slash hobbyist, , C, C plus plus some Java and then PHP. Then, professionally started to get into like C sharp, ASP, VB, Python. All the while throughout that phase, Ruby, JavaScript, a lot more Ruby. Yeah. A lot, a lot, a lot more Ruby, and then professionally Ruby, uh, a little bit of Go and, more JavaScript, and then Elixir, and oh, some Dart now too. So yeah, kind of all over the map. Not Sundi: This tracks with what I expected. Which is all of them. Dan: Not all of them, but a lot of of them. Owen: Have you ever written pure assembly, Dan? Dan: uh, no, I've done well. I'm trying to remember what that was, academically we did some, , I did some basic like forever ago. And then I guess, yeah, some assembly, just those, uh, op codes and moving stuff in registers. There was, I did that in a class or two. It's, it's super interesting. It's a lot of fun to kind of like, think about it at that lowest possible level. But I've never had a cause to do it for anything more than a academic exercise. Owen: So if you're not having enough fun managing memory in C++ or something, you're saying it's more fun to just go straight into assembly lang and just like Dan: I mean, what is there to manage when you've got like 32 registers, right? You just, you know, insert number here, insert number here, add together and put it there. Just a lot of, a lot of moves and, , adds. And that's, that's pretty much it. So when you, when you think about what you write and what that then turns into, it's, it's crazy. Owen: Do you guys miss anything from these other languages? Do you feel like you've lost something or like maybe, maybe not something big, but like maybe a small feature or something, you know, here and there, either from languages or frameworks outside of Elixir. Dan: Well, I certainly don't feel like I lost significant white space. That is something I. I do not long for, uh, ever, ever returning. , I don't know that I've lost anything. Cause I still reach for those things. You know, if I'm going to write a quick little thing on my computer to get something done, you know, move some, move a bunch of files, download a bunch of things, convert some data from one format to another, I'm still probably just going to grab Ruby and do it. Cause I'm just. That's how I think about it. It's not that it can't be done in anything else, but Ruby is going to be my go to for that. Still. It's, too many years of doing it that way to do it any other way. Sundi: it it almost reminds me of when, when people move to another country and they start learning that language, the native language, people always ask them, like, how many years does it take you from being here to start dreaming in that language Owen: I was just thinking of the same thing. Sundi: So Dan dreams in Ruby. Dan: I don't, I don't, yeah. In my dreams. What do I write code in? I don't, I don't think I write code in my dreams, but you know, fair enough, Owen: right. It's all spreadsheets and your dreams, Dan: right? Yeah. Owen: visual basic and Formulas. Dan: Yeah. Yeah. Formulas and Google sheets. Right. That's. Yeah. Owen: Oh, right. Yeah. I guess you don't do visual basic in Google sheets, would you? That'd be wild. Sundi: In terms of like things that I missed, I can't even say that I really felt like I missed anything because learning Elixir was like such an aha moment, but it did come up on one episode last season. I can't remember which one specifically, but we talked about the Redux time traveling tool where you could like really investigate state as things changed and happened. Dan: There was a question about whether or not live view would get something like that someday. Sundi: Right, and I think, at this recent ElixirConf, there was, in the keynote, some really interesting updates to Phoenix and just like being able to dig into the, the markup, inspect element, just see the, the like live components that things were coming up and such, and in your local, that reminded me of some of that, getting closer to what I was missing. Then again, like the Elixir work I did was much different than the React Redux work I was doing. So I, the one to one comparison isn't quite there, but I didn't even think I had missed it until somebody mentioned, do I miss it? And I was like, Oh, uh, would be nice. I guess, you know, so Owen: yeah, it's a funny thing. There's like we, our state typically is not in the client. It's almost entirely on the server. So. You can kind of imagine how we could replicate time travel, especially if you're in event sourcing or even work with the CDRTs and stuff. Some of the developer tooling I do miss from, dabbling a little bit with, uh, I think Laravel had like a really handy, developer toolbar where you can kind of like inspect queries and get little red badges when you had optimization problems or N plus one queries and stuff like that. So I agree. Like it'll be great to see a little bit more focus. We're starting to expect LiveView 1.0 probably before the end of the year from the rumors I'm hearing. So, uh, yeah, it'll Sundi: is it LiveView 1 or Phoenix 1? Owen: Phoenix is on one seven. So live view has been kind of like approaching, Sundi: 0. 20 is the last. Minor. It's minor, right? Owen: I think so. Yeah. Sundi: And then 1. 0 is next. Yeah, 1. 0 is next. I think I saw Owen: Right. Right. So yeah, like a dev toolbar would be great. I know there've been a couple of people working on that over the years. It'd be nice for, for that to mature a little bit and, be, even part of Phoenix proper if it works well enough. But I mean, I, I do feel spoiled generally, like having a, robust REPL in Elixir. It's not something I had in PHP, you could run PHP code, but getting your application code to run was, always a lot more difficult in, in the REPL than, than it is with Elixir. Sundi: Mm hmm. Dan: And then at the end of the day, most of us just do like IO puts, right? Sundi: Yeah, but I mean, Owen speaking of REPLs, this next kind of point here about when you want to prototype something quickly, what language you reach for and why it reminds me of, like, I'm really being retrospective right now, I'm thinking back to the beginning of my career when a lot of my work was like CSS driven, just like I had a lot of heavy CSS to write, just my entire job was taking the core application and making it look exactly like another website that you just Practically randomly pulled down. And my go to thing to prototype something was CodePen because I needed to take our core application outside of the context of our core application because it was being overridden by other styles and I needed to just like, make some crazy things with CSS, see it work, see it happen outside of the spec and then bring it back in and then massage it to make it look right. And I haven't thought about that in a long time, but like looking at this question about prototyping, I know it's not quite what we're hitting with this particular question, but that's where my brain went is CodePen. Owen: Yeah, I used to be the same way. Like I started as a front end, kind of, aspiring front end developer. And then I think I can mark maybe around 2018 or 2019 is whenever I stopped feeling like I needed to go to CodePen first to like try out something I could just spin up a Phoenix project or a PHP project or something. And I felt like it was actually a little bit easier to do that than it was to hack a little bit in CodePen and then pull things out. Sundi: Hmm. Owen: Yeah, I've got some, some interesting, anytime I go back to CodePen, cause it's now like a, like maybe an annual thing, I'm like, wait, Oh, that's in there? I've got a bunch of like random, CodePens of different kind of experiments I was doing several years ago. It's like a, a photo album or something. Sundi: Yeah. A photo album of all of our old code. Oh my gosh. That's well, seven years ago today, you were working on this code. Oh my God. Can you imagine? Owen: Code memories. Oh my God. Yeah. Sundi: Oh, you know, that's an idea. It's awful, but somebody should do that. Absolutely should do that. Owen: Right. Sundi: Dan, you already mentioned you, you reach for Ruby basically immediately. Is that still true or? Dan: Yeah. Well, I mean, I think if I'm doing something I need to make actually work, then yeah, I'll probably reach for Ruby to get something built quickly. Um, you know, when we talk about just like prototyping, I think I have a tendency to use whatever I'm using at the moment. And often it's to try to learn it more or push the boundaries on a little bit more, I have some kind of like little toy things that I've built over the years or, or never really fully built, but just like tried her out, that I think I probably originally wrote in like C plus plus, and then like wrote again in Python and then wrote again in Ruby and then wrote again in Elixir and wrote again in Java for Android and maybe wrote a tiny bit of an objective C, although I don't think I've done a whole lot of objective C. I think I have always found a lot of value in kind of building something you understand reasonably well, kind of from scratch as a way to learn. And so, I kind of think about that in analogous to prototyping something quickly where, Use what I've got in front of me, what is most in memory at the time. So if I was going to prototype something out tomorrow, I don't know if I'd use LiveView, but I'd use Phoenix. I'd probably push myself to use LiveView at this point. So, Owen, you win. Owen: Ah, yes it is. Well, I almost announced the date, but yeah, it's late 2023 and we've won Dan over to LiveView. Yay. Sundi: Yeah. This podcast is practically a documentation, or documentary, of pulling Dan over. Dan: Right. The, the 11 seasons of Dan being a grumpy curmudgeon who's eventually coming around to the things everybody else wants to use. Owen: Your timing's good. Like we're, we're, we're at a good place with LiveView, but, but yeah, going back to prototyping, I've, I don't think I can say I've done hundreds of prototypes, but dozens of prototypes over the years, and I think my progression has been from raw HTML, CSS. To like starting things in jQuery and then doing maybe a little bit of React stuff. And then Vue was my go to. That's kind of what probably got me out of CodePen was using Vue. js. And then, over the past five or six years, Elixir and Phoenix are like my go to tools whenever I either need to do something with a script or build some kind of application. Build the same type of application multiple times in different ways. Uh, sometimes with, with Elixir and Phoenix. So, yeah, and it's always a learning process. And, one thing, talking about prototyping, one thing that I think I've gotten better at is I used to have this pattern, this is probably just a junior dev thing, I would start a prototype a few months would go by and then I wanted to work on it again. So what I, what I do is I would just delete the repo and start over again. And do that three or four times. Now I'm, reopening the existing repo and upgrading or updating it. Because that's what we do in our day jobs now. So we talked a little bit about languages. We've also had, I think, an evolution in terms of how we think about structuring code and how we think about the problems that we're solving as well. MVC has always been, at least in my developer lifetime, has been kind of like the de facto standard for building web applications, at least. Models, views, and controllers. And with Phoenix, that started to evolve a few years ago. I don't think I see things in a very strict model view controller kind of paradigm anymore. I don't even know what the new paradigm would be called because it's almost like every framework you work in has a slightly different take on things. And even the teams work using those tools might have their own kind of mental frameworks. But, do you see like new alternatives to MVC that you could name? Dan: I mean, even in LiveView, I still see some of those MVC patterns. They're just, they're a little different, right? The request path is different. You end up with all these handlers for these different events. But the idea of this path maps to this thing. Right. And then a bunch of other things happen off of it. It's harder to see, much harder to see everything that can happen from like a routing layer in a LiveView app than it is from something that's more traditionally MVC. But I, I know for me, you know, when I learned Rails. I think that was my first kind of like, big MVC framework. It clicked in a way that I then looked for in other places, right? So then I was like, well, if I'm gonna write something in PHP before I was good at Ruby, I was looking at some of the frameworks there. Or then when I had to do something in .net, I looked at like, MVC.net , and was like, Oh, this is like familiar enough, how it's organized, the types of things you have to handle versus what the framework handles. And then, then the difference really became more about the particulars of the language and the product. And I think there's a lot of value in that similarity. Sundi: Someone I was speaking to recently talked about learning Elixir and before knowing it, coming from other languages like JavaScript and such. Just not being able to know what to look for exactly, like, not knowing what the framework gave, not knowing exactly what it does. There are lots of documents out there, but, the average person who, who works in Elixir, like, joins a company, is given this huge Elixir app, and they jump in, and they, can maybe navigate a little bit, but without, like, a, a framework in their head already of, of what Elixir does and is, and they haven't started a new Phoenix project, it can be really difficult to kind of navigate that. And so... Something that they said was that learning more about Elixir or like doing deep dives gave them a map so that they themselves could navigate their app at their company. And I was just thought that was a very interesting way to think about it. Cause Dan, it sounds like you approach most things with a map already. Like you've had enough experience to have a map to things in your head. Dan: Well, and I think that's why I, you know, I mean, you could look at my desire to Change as little as possible between various things as like a, comfort or a crutch or a not willing to change or whatever, but you know, well, it's Elixir podcast, you pattern match against things you've seen before, right? I think that that experience is, is super valuable and I think the diversity of experience is valuable. I'm glad that I haven't just done the same language for the last, Oh God. twenty plus years, I'm glad that I've had experiences with lots of different things because I, I know that whether consciously or subconsciously I draw on those things and I can think back on all of them with both Oh, that was awesome. And I can also think on, on most of them and say, oof, you know, that was, it was kind of tough, kind of a little hairy or glad don't have to deal with those things anymore. And I think the culmination of all of it is, is where there's a lot of value. And so I. I try to encourage people to experience. Those various things, , Sundi, you mentioned Advent of Code, I always think about that as a really great way, I think I've, you know, in the however many years I've tried it, I've used three or four different languages to do it, sometimes the one I'm trying to learn at the time, sometimes the one I just want to get better at, and then comparing my solutions to friends solutions in other languages is always, always a fun time, and then you start to get abusive with it and you try to see, let's not make it readable. Let's make it clever. Let's make it as few lines as possible, um, which is a whole nother layer to the challenge, but don't do that professionally. Uh, Sundi: Yeah, just push it, Owen: Now, I think a lot of times, being a primarily a web developer, I tend to think of, different languages and frameworks in terms of how you use them to build web applications, but there's many other categories of applications that we can build, even with Elixir and, Phoenix, which are not necessarily web based. So we've used, I've done a couple of projects now with ETL, so like extract, transform, and load. Basically, moving data from one place to another. I've done this now in PHP, a little bit in Python, and in Elixir with a client project. So, I do think the Elixir project probably worked the best. And we learned a lot through that process about the language and also about the, some of the tools and decisions we made. I wonder, Dan, I think you've worked a little bit in background job processing. Are there notes that you're looking forward to comparing between Elixir and some other languages? Dan: yeah, I think I've done probably the most background processing work in Python, Ruby, and Elixir, in some regards, they're all roughly the same, right? You get some arguments. At some point in the future. you run some code. But I think what stands out with Elixir is that you can do it kind of out of the box. In a way that's different than the other languages and even if you're using a, like a message broker, which in the case of Oban would be like Postgres, comparing it to using Redis with Sidekiq or, I think for Python I used MQTT, like RabbitMQ and Celery and things like that. So you still have that kind of message broker so you can have multiple processes. On the Elixir side, it's like, well, I have my... My elixir prop, my Erlang process, and that's kind of it, you know, and maybe I've got multiple nodes. And so having a common shared state in Postgres is super valuable and super helpful. It's also not strictly necessary. You could do it. without it through various clustering and other things. And we've talked about that in some of the previous seasons, where, you know, Elixir kind of, it has, I think the big thing for me with Elixir is like, we install a lot less dependencies when we deploy out Elixir applications. Even, complicated ones, as complicated as some of the other things that we have, is that we can just, there's less to stand up and that's really cool. Owen: 100%. Yeah, I love being able to do 70 to 80, even sometimes 90 percent of what I need to do without installing anything, whether it's hex packages or external system dependencies, just being able to do as much as possible within language. And I feel like Elixir gives, gives me a lot of runway with that. That's been great. All right. So we've talked a little bit about our experiences with Elixir and other languages. Now we can start to look forward a little bit to what we have coming up this season. We're going to be recording episodes over the next couple months, I think going even into December a little bit and without spoiling our entire guest list, I think we can talk a little bit about some of the, episode topics that we're going to be discussing. Sundi, what stands out to you in the list that we have planned here? Sundi: One that was like really interesting to me is this concept of bootcamps are just so prevalent now that even like well known universities are pushing out bootcamps. So I'm really excited to get into the possibility of talking to some folks from an elixir of bootcamp versus Another language bootcamp. I also did one, a long, long, long, long time ago. And it was definitely a whole experience, even though mine was only part time. And I think that would be really cool to get into, like, what are the differences? What are the job opportunities right after, hitting that, that junior crowd? Just trying to see what that's like out there. Owen: Dan, what, episode or episodes stand out to you in the, in the list here? Dan: I kind of come at things from a very, like, DevOps y back end, hat. Yeah, I know. Surprising to both of you, I'm sure. Things about, like, background processing, data ingestion, maybe some things with some server things. I don't know. Maybe we can talk about some deployment. Anything in that realm. How we do what we do versus how other languages do what they do. , that'll get my, excitement going. Owen: Yeah, there's a couple topics I'm a interested in the topic and be super excited about the guest. This is all top secret, so I'm not going to spill the beans. But, yes, we got some, some really cool episodes planned here. I'll just pick one like garbage collection, garbage collection is something you have to deal with in most languages. And the way it works in Elixir is something is, it's kind of abstracted away. I've heard multiple people say it's nice being an Elixir developer. I just don't have to think about memory management at all. you're going to need to know like how much capacity your machine has, but you don't have to think about, am I done with this data? Do I need to clear the variable or? Kick off a garbage collection process, or is something going to happen while my application is running? That's going to basically bring everything to a halt while garbage collection is happening. So that's a fun one. I think we're going to learn a little bit, and also be able to share hopefully with some folks about, how things work differently in Elixir. We could talk about every single episode here. Cause there's a bunch of interesting conversations we have lined up. Sundi: I'm really excited just for the general conversations we're about to have, but if anyone is very impatient and thinks this is a great idea and would like to get started on listening right away, there is one episode from season nine, I believe, parsing the particulars with Frank Hunleth and Joe Martin on the particulars of nerves. Which is kind of similar to this, in that there are like, two different folks from two different sides of life who are talking about the same subject, but how they handle it in different languages. So, as a preview as to the, the, the idea of this upcoming season, take a look back at that one. I think that'll be good. Dan: So if you allocate space for that podcast listening, make sure you free it unless you're using Elixir and your process is going to die. Anyway, anyway, Sundi: I was expecting this from Owen. Dan: It's getting late the day Owen: Well, guess my work here is done. I don't even have to do a pun today. So, uh, Sundi: No, there, there's no pun, but there might be a pop quiz. Um. I'm surprising you both. , no one knew this was coming. Yeah, this is, this is fun time. Earlier today, someone sent me a, a fun little, slide deck from I don't even know how old this is. A guy who posted a slide deck of the languages he has worked with mixed in with the names of Pokemon. And he said to recruiters, you need to pick out which one of these is a Pokemon. So, in the theme of the season, and Owen always bringing up jigglypuff. Owen: All right. Sundi: I'm going to read out a few. You're going to tell me if it's a language or a Pokemon. Ready? Owen: We need theme music for this. Go ahead. Sundi: Alright, D3. Dan: Language. Sundi: Okay. Okay. Correct. Metapod. Dan: I hope it's a Pokemon. Sundi: It is a Pokemon, Onix. Owen: that's like, everything's named Dan: That could be either, but I'm gonna say Pokemon. Sundi: Okay, you are correct. Ekans. Owen: That sounds like a Pokemon to me. Sundi: It is. It's snake backwards. And that's what the Pokemon looks like. Flask. Dan: Language. Owen: Yeah. Dan: Technology. Framework, yeah, Framework in Python. Owen: technology Sundi: What about Ditto? Dan: Could be either. I'm pretty sure it's a Pokemon. Sundi: It is, in fact, a blob looking Pokemon. I'm gonna, I'm not gonna name this Owen: we've got. Even Paloma is on, on this. She's like, she can't like help it. She's like Pokemon, Pokemon. Sundi: Yeah, on that note with Paloma, we just wanted to take a minute to shout out our wonderful producer Paloma. It has been wonderful having you here Paloma and helping us coordinate the guests for this season. If anyone is a current or future guest of the Elixir Wizards podcast, you'll be hearing from Paloma. Thank you again for being so amazing. Owen: We need, yeah. All right. Producer note, insert, sound effects here. Dan: Canned applause. Owen: Yeah. Sundi: I don't think we've ever asked for sound effects before, but we will need them this time. Dan: We're doing, we're, we've, now we have live games and music, so, We've, we've completely jumped the shark. Owen: All right. This is our, our host full episodes. So the future is unwritten. We will see what happens, but we've got a bunch of great episodes planned. So you're going to be hearing about all sorts of different topics, relating to Elixir, but also, like we said, comparing notes between Elixir, the community, the language, the framework, the technology, and. All these other technologies that we all know and love. So, alright, I think it's time to wrap it up. I was going to ask if you have any plugs or, people can reach out to you on, social media, but, we're all hosts, so, Dan: So find us at smart logic, Owen: Right. Yeah, Dan, do the sales pitch. Dan: Smart logic, custom web and mobile consultancy. We'll help you out with your projects. We're good at it. We've been doing it a long time. we'll use Ruby elixir flutter and, always, always wanting to have a cool conversation with people in tech, uh, on the podcast or not. So hit us up Owen: Don't forget live view. Yeah. All right. Awesome. So well, thank you guys for joining us and we look forward to, season 11. Sundi: Elixir Wizards is a production of SmartLogic. You can find us Dan: online at smartlogic. io, and we're at SmartLogic on Twitter. Don't forget to like, subscribe, and leave a review. Sundi: This episode was produced and edited by Paloma Pechenik for SmartLogic. We'll see you next week as we branch out from Elixir.