Powered by RedCircle

Being an Elixir Engineer with Andrea Leopardi - EMx 225

  • Guests : Andrea Leopardi
  • Date : Aug 09, 2023
  • Time : 50 Minutes
Andrea Leopardi is a Software engineer, author, speaker, and member of the Elixir core team. He begins by sharing his experiences as an Elixir core team member, software engineer and how the Elixir core team manages their projects. Moreover, he talks about his soon-to-be-released book, what it is about, and the motivation for his book. 






Adi Iyengar (00:01.366)
Hey everyone and welcome to another episode of Elixir Mix. Today on the panel we have Alan Weimer.
Allen (00:07.892)
Adi Iyengar (00:09.262)
And myself, Adi Iyengar, we don't have Sasha today, so you guys are going to have to put up with me leading this episode. But luckily, it will be made easier by the presence of our awesome guest, Andrea Lepardi. I think needs an introduction. Andrea is in the Lexicore team, author, written several libraries, Redix, stream data, come to mind. Yeah, Andrea, it's great to have you.
Andrea (00:37.402)
It's great to be here. Thank you for having me.
Adi Iyengar (00:40.746)
Awesome. Yes, I guess to get us started, usually guests give their introduction. But I mean, I'm assuming everyone knows you. But maybe we can start off with your journey, a little bit about a journey in Elixir, and how did you end up in the Elixir Core team? It's such a cool group to be a part of.
Andrea (01:05.522)
Yeah, I mean, I agree. It's a lot of fun. Sure, so let me challenge that assumption that everybody knows me and give an introduction anyways, because I think that's weird. I don't think everybody knows me. That's just, like, it makes me uncomfortable to think that. So anyways, so I'm Andrea. I've been working with Elixir for a while now. It's been maybe eight years or so, maybe nine. And I'm...
I'm from Italy, based currently in Italy as well, central Italy. And I've been a member of the team for a little bit less than that. So this is my seventh year in at this point. And yeah, as Adi said, I've done a lot of libraries throughout the years, for sure. So the question was, how do you end up in the core team? Yeah.
It was, I got out of university and I worked only a little bit with other languages, but pretty soon I ended up with Elixir. I worked a little bit with Python, with Ruby, with PHP and WordPress and stuff like that. And then I moved pretty soon to Elixir. And I started working with that and I started getting really into it. And my first...
lots of contributions were around documentation. Because I was learning language, I didn't know how anything worked, so I was reading through the docs. And obviously, it was right around 1.0, and so there were a lot of corners to smooth out, I guess, or rough edges, that's how you say, rough edges in the documentation. It was great, so that's how I learned the language after all. But...
Adi Iyengar (02:53.592)
Andrea (03:02.178)
There were things here and there, like once you find the typo, once you find something you can improve in some part of the documentation. Or like, I was coming as a beginner, so it was a really easy perspective to, like it was a really easy thing to change the documentation or to make it more beginner-friendly rather, right? Because you're a beginner yourself. So it's like, oh, this is how I would understand it. So maybe this is going to make the documentation just easier for other people as well.
So that's what I started doing, a lot of documentation updates. And I started getting into it a lot because Jose was really, really responsive and really welcoming. So he was really quick at merging PRs and giving feedback and stuff. So he kept me really, really engaged. So I was seeing the results of the efforts that I was putting in, which was super exciting. So.
So I started doing a little bit of looking at the issue tracker, like fixing bugs that I could fix with my limited knowledge at the time. And then given the contributions, Josiah started to reach out to me and asked me to contribute to more stuff. So one of the first things that we did was get text, the internationalization library that ships with Feining. So I wrote originally, like in 2015,
90% of the code that's in there, all under the guidance of Gisele. Gisele was sort of like really the puppet master there, but I was writing a lot of the code. So he asked me to do that, right? To put a bunch of effort into that, which I did. And it was really good. So I had a lot of fun. And then I did a few contributions to Acto, because I started asking him, oh, what can I do?
Adi Iyengar (04:33.624)
Andrea (04:53.622)
You know, to, to contribute, to give back to the community, what kind of it is like to, to participate more. And in 2016, I reached out and said, like, uh, maybe like, do you want to come in the core team? So that's, that's how I got into the core team and, uh, yeah, that's the story.
Adi Iyengar (05:07.586)
That's so cool. What was the size of the core team around when he joined? I would say it was Jose alone around that time or?
Andrea (05:15.486)
No, no, I was far from the first non-Jose member. Eric from Hex was the first one to join. Quite a bit before me, like I think a couple of years before me. And then they had at the time there was, I think there were maybe like four people in the team already, four or five people. Like James Fish, you know, Fishcakes and Alexey Magushev.
Adi Iyengar (05:24.014)
Andrea (05:46.285)
And I was working with him at the time actually. And yeah, so they, the team was like around five, four or five people, I think. I was like fifth or sixth to join.
Adi Iyengar (05:56.238)
Gotcha. Yeah, it's really cool that you just kind of like worked your way in terms of gaining the knowledge of Elixir and seniority and also the tenure to eventually become, to get that invite to be part of the core team. Like going through issues, like asking Jose for more.
Adi Iyengar (06:23.318)
You know tools and it just shows how committed Josie has been, you know, to the entire community. Yeah, that's really cool.
Andrea (06:28.043)
Yeah, yeah.
Andrea (06:31.594)
And if I can give Kudos to Josette, I think the criteria...
I think the criteria that he used to aim at people to join the, to choose candidates for the team is really good because I was by no mean an expert in Elixir at the time. And I still don't consider myself an expert in, or maybe in Elixir itself, but I have no contributions, almost no contributions to OTP, for example. I don't know the internals of the beam.
Adi Iyengar (06:57.94)
Adi Iyengar (07:09.685)
Andrea (07:11.81)
that well, you know, like I know it from a user perspective, but I haven't really contributed in there. So there's a lot of stuff I still don't really like, you know, I'm not an expert in. So I just have a lot of experience at this point, but I'm not an expert in a lot of stuff. And still, and you know, that was even more true, you know, seven years ago or six or seven years ago. So I think that he, like the fact that he invited me to be a part of the core team.
because I was very active in the community and very willing to participate, is like it was such a good choice from like on his hand because like it's seven years later, I'm still here doing this stuff, right? Like I'm still putting time. And that's not true just for me, it's true for other people in the core team as well, right? Like the fact that, because these big open source projects, they require a lot more, I think, commitment.
Adi Iyengar (07:50.434)
Andrea (08:04.118)
time commitment and from people then they require like skills, like, or technical skills, especially, right? Um, so you're like, you need people that are there for the community and that are there for like, and you know, for, uh, shepherding people to fix bugs or like, uh, triaging issues and all, all this stuff, cause like at this point. Elixir is big and there are a lot of, uh, people that are technically really good that can like actually fix the issues, you know, so if the, if an issue comes up, like someone.
will come along that can fix it. But having people that actually take care of the project and tend to the garden that is the big open source project is hugely important, I think. So I think he picked the members of the team well, because we're still here, right? And we're still doing this. Hopefully, and hopefully we'll keep continuing. I don't see any reason to stop as far as I go. So.
Adi Iyengar (08:49.142)
Adi Iyengar (08:57.55)
That's so cool. Yeah, I mean, yeah, it's just so cool to hear, like you mentioned, the criteria. And yeah, dedication over knowledge or skills, necessarily technical skills, which can be built. That's very well said. I know a lot of our listeners would be very curious to get a sneak peek on what it's like to be part of the core team. How do you approach the roadmap? Is it like a product? And who takes on what?
what kind of collaboration is there. Would love to get any insights in the functioning of the core team.
Andrea (09:34.902)
It's a lot of parties. That's what we do, is just have parties. So yeah, I can answer that. I can try. When it comes to how we manage the project itself, it's nothing like a product, in my opinion. Like we are really trying to, at this point, so let me put it like this. At this point, Elixir is...
Adi Iyengar (09:38.038)
Andrea (10:03.842)
development itself is quite slow because a lot of the stuff has been, a lot of stuff we wanted to do has been done. And I think part of like, part of a successful, like for language to be successful, part of it is to be extensible enough that you don't have to change the language to do the stuff that you want to do. Case in point is, and next, right? Like that's a hugely like impactful project. Like one of the biggest things to happen in Elixir in the past few years.
And that required almost no changes to Elixir. It was like people were able to build it just on top of Elixir. And that's huge. So when it comes to the development of Elixir, right now we're not looking to shape big features. The type system obviously is a big thing that's going on. But yeah, that might end up or might not end up being part of the language. But we haven't taken it under. We haven't.
we haven't worked on something as big as a type system in a long time. A lot of the last releases were focused on a lot of, maybe developer experience improvements, or compilation tracing improvements, or documentation improvements. A lot of stuff that just goes to smooth out the language and polish it a lot, rather than make big changes. Because we don't want to create a fast moving
Adi Iyengar (11:18.669)
Adi Iyengar (11:28.898)
Andrea (11:34.282)
target for people to chase. We really want people to have a good language that just keeps improving over time, but the language stays the same. We don't want to completely change it. So the way we approach it is that, honestly, a lot of the time we just use the looks for every day so we know just things that we could improve, and then we decide, okay, do we want to maybe focus on this particular area for this release? For example, we were talking about...
Adi Iyengar (11:36.663)
Andrea (12:02.402)
this for Elixir 1.16 and just I was talking about the fact that maybe we want to focus on documentation a little bit, bringing some of the guides into Elixir, which we already did, and bringing a bunch of anti-patterns that the community came up with into the documentation for Elixir itself, all this sort of stuff. So it's a very lightweight process. It's not like a building product where you're more focused on a lot of other stuff. Here it's just like, oh, yeah, maybe we put a focus on documentation, that's all.
Adi Iyengar (12:31.49)
Gotcha. Has the time commitment of being a core team member decreased as a result of Elixir kind of like approaching that completeness that you mentioned?
Andrea (12:43.082)
Yeah. Yeah, yeah, significantly, I think. Like I, um, right now we are five people, I believe in the, uh, yeah, we're five people in the core team. And, um, I think that, uh, Jose is the one that most, that works the most on Elixir. The other team members do varying degrees of work on Elixir. For example, um, Eric and I.
Uh, we do very little, like, if you look at the commit activity on Elixir, like we have very little commits, you know, like very few commits, uh, in, in the past few months. And that's just cause like, like we, as a part of the team, we are also, I think that we are also, um, sort of, uh, caring for other things in the community, like tending to other things in the community when it comes to Eric, for example, like hacks is huge, right? Like the hacks, a huge part of the ecosystem and like someone.
to take care of it. It's a huge part of supporting the community. Even if it's not necessarily Elixir core team work as in working on Elixir, it's still I think part of the work that someone so big in the community, so central to the community does. For me, the similar thing goes for me with libraries. I don't do a lot of work on Elixir itself, but at this point
Adi Iyengar (13:56.235)
Andrea (14:06.282)
maintain or I have commit access where I could co-maintain so many libraries in the ecosystem. And I take it as part of my responsibilities as a member of the core team to actually keep all of that running, which is honestly, a lot of the time, it's just a very tedious work. So I was like, oh, Elixir comes out. Let's go update CI on 17 libraries that now want to test this version of Elixir, fix the warnings, this and that. It's a lot of tedious work. But like...
I feel like the ecosystem is as important as the language itself. So that's what I'm doing. But as you said, the work on Elixir itself definitely decreased in the years. Now it might pick up again with the type system. I don't know if it's going to be, but it's still going to be a bump in the graph of work on Elixir itself. Yeah, we're going to have the type system bump. But it's like, if it gets in Elixir and all the ifs of the case. But you know.
Adi Iyengar (14:40.61)
Andrea (15:04.03)
If it gets into the language, then we're going to be back to where we are now. We're like, it's going to be there. It's going to work. Like it's just not going to be a lot of work to do on the language.
Adi Iyengar (15:12.95)
Gotcha. Yeah, that makes sense. Yeah, but I'm glad that you brought up the fact that tending to the ecosystem, like giving outside, because Elixir now, obviously, is more than just that repost or it's an entire community. And being that leadership figure to contribute in other ways is also a key part of the core team. I want to give a quick shout out to Eric and Jay, because every time I have, there's
some bugs with Hex BM organization within four hours, even with the time zone difference, he has himself reached out when he needed to or like quickly do a release. It's just amazing. And some of those bugs weren't trivial. So yeah, the work that you guys do is like so much appreciated by, not just the engineers who use it, but like a lot of companies and a lot of companies are doing a lot, very, very good things with Elixir. So it's like...
You're really having a huge effect on the world and making it a better place by contributing to the community like this. So yeah, huge shout out to like you, Eric and everyone in the core team.
Andrea (16:23.726)
Thank you, appreciate it.
Adi Iyengar (16:25.605)
Yeah. Alan, do you have any questions on this before we move to something else?
Allen (16:33.816)
Yeah, I mean, I'm kind of curious about, I mean, we talked about how you got onto the team. There's never been anybody who actually left the team or was asked to leave from the team. It's kind of a little bit of an opposite question, but I like to ask these kind of questions.
Andrea (16:50.046)
coming in with the tough questions, yeah, there are no ongoing lawsuits, let's start with that
Allen (16:57.149)
No, I didn't say like that though, but I mean
I mean, the one question I have is like, I know there was somebody, he may not be in the Elixir core, but he's definitely in the in the Phoenix team, the Gazler, I forgot what his real name is. I haven't heard from him in a while, but I think he's still on the Phoenix team, right? And then so I was just kind of curious, like, if he's even still in the community, and if he's actually on the Elixir team, and kind of what he's up to, I guess it's maybe not something you maybe not know about. But I was curious if there's other people who, you know, haven't been on the world like
Andrea (17:30.166)
Yeah, so I don't know, the Gazler would be Gary, Gary Renney. And he, yeah, I have no idea if he's still in the Phoenix team because I don't have that much contact with the Phoenix team itself. But we had people leave the Elixir team, and I think that's like a super, maybe like three or four people throughout the time I've been in the team.
But that's been a super, always a super healthy process, I think, because people move on for one reason or another. Like it's really like, you know, life's changed. People have kids or they like their careers like shift a little bit. And like, there is no, you know, like it's a very healthy thing of the team. I think to have people that are up to date and like actively contributing and everything, you know, to the language itself. And that's.
So I think, yeah, I mean, I think that's important. I think that we're like, we're doing a pretty good job. But like, you know, and the people that have left, they all left like extremely peacefully. You know, like it's always been a very, like, as I said, like a very healthy process. And it's sort of like natural process, I think, for something like this, you know, like I don't expect to be in the luxury team all my life, for example. Like it's things are going to change at some point. Like, I think that's like, you know, there's probably.
Adi Iyengar (18:40.685)
Andrea (18:56.514)
That's probably true for most people in the team. Don't know about Jose, but like, who knows?
Allen (19:00.012)
I mean, this is not like a lifetime thing like Supreme Court where we basically have to wait for you to pass on for the torch goes the next person.
Andrea (19:09.971)
I like no, like experience tells otherwise. No people can get out of the team if they want to
Adi Iyengar (19:19.814)
It just sounds like in the process of selecting someone before you bring them in the team, you have to really build a relationship also with Jose. I've spoken to Jose a little bit, but just how nice he is and just how overall niceness. I just don't see someone building a relationship with Jose contributing to Elixir, earning their place in the core team, and then something terrible happening that they would split.
Andrea (19:47.678)
No. Yeah, yeah, absolutely.
Adi Iyengar (19:47.982)
non-amicably, right? Because the community is just so nice and nurturing.
Andrea (19:52.35)
Yeah, yeah, no, that's, that's a hundred percent. Do as I said, all the people that have left have left for like reasons, completely unrelated to the core team itself or the work in the links or like someone like people have become, you know, like taking on bigger roles in their companies and like the job, the job, you know, their careers progress in a way that they don't have time anymore just to dedicate to Elixir. And like, it's open source, right? Like it's always like extremely like an extremely awkward position to be in because you're doing the, like most of the time.
Adi Iyengar (20:06.923)
Andrea (20:17.622)
you're doing this for free. And even if you were paid to do it, it's really hard to find competitive salaries in open source compared to private companies. Who's going to pay you a software engineer's salary to work 100% on open source? That's really rare. So it makes sense that people just don't have the time. And yeah, maybe Docker. I have no clue, but yeah.
It's rare, it's rare. It's not impossible, but it's like, it's quite rare. So like people like, but I don't know, like I why I dug myself into this hole. But my point was that it's, it's just like, everyone left for like reasons completely like, yeah, the community is super nice. Just a super nice. The atmosphere in the team is really friendly and nice. Like we, we met in real life, in real life with some people, many I met Eric a million times and we like we, we
Adi Iyengar (20:47.318)
Andrea (21:11.638)
We did stuff together and then everything like we were friends at this point, but like there are people in the core team at this point that I've never met. There are people in the core team that I've met like once in real life. So it's like, but it's still a very, very friendly team to be very friendly group of people, very nice group of people. So yeah, everyone that left just left for completely unrelated reasons to look for itself.
Adi Iyengar (21:35.31)
That makes sense.
Awesome. So I guess shifting our topics a little bit, you mentioned that we talked about how some time has opened up, at least you don't have to contribute directly to the Alexa Reposter itself and contributing to the community. You've already written a book, one of my favorite books. It's usually the book I recommend after one of the early Alexa books is Testing Alexa. Just you need to know how to test.
heard, well, just today I learned that you're writing another book now that you have some more time from, you know, Elixir. Like, tell us about that.
Andrea (22:17.106)
Yeah, sure. Yeah, so I left a job in January, and I decided to take a little bit of time off, because I didn't do that for many years. So like sort of a sabbatical few months. That's what I did. And in those few months, I sort of kickstarted a new book, which is going to be called Network Programming in Elixir and Erlang. I think I said that right, but yeah.
I've been working on that for the last six months or so. And it's going to be about exactly that. It's going to be about network programming. So like low-level stuff on how to build clients and servers on different protocols, going to be a lot of TCP, bunch of UDP, like really low-level stuff, which I think that the Beam excels at. Like the Beam's a fantastic environment. And it's a long story how I got to...
to the idea of writing this book, but like the short version is that I wanted to do some advent of code style challenges for networks on a website that's called ProtoHackers, protohackers.com. I'm sure we can put it in the show notes. And so I was learning Rust a little bit and I said, like, oh, why not do these challenges in Rust? And I started to do the challenges in Rust. And it was very hard for me because it was so far from...
the like the part I had to use like Tokyo and all this stuff. And like it was so much more low level than I'm used to with Erlang and Elixir. And like, I am not at, like at all saying that, that Rust is like, there's anything negative about that. I just like, for me was a perspective shift and that, that just made me realize how good a fit, uh, just Erlang and Elixir are. Right. Uh, so, and so I did the, like a bunch of, I recorded a, like a whole YouTube series on solving this.
proto-hackers challenges in Elixir. And that made me realize like, this is really good, but it's really like, and people reached out to me like, oh, this is, you know, this is helpful. Cause I didn't know about these patterns. I didn't know about this, that, but that. I was like, oh, you know, I learned a lot of this stuff just by years of exposition to various things. Like, oh yeah, now I got to like write a driver for this database. Now I got to do this, I got to do that over the network and so on and so on.
Andrea (24:41.254)
And so a lot of exposition to this stuff made me realize I have a lot of built up knowledge on this stuff. And I decided that's where a book forms. So that's where I started working on it.
Adi Iyengar (25:00.578)
That sounds so cool. I actually remember earlier Elixir conferences, they used to have, this is part of the Elixir training, to use TCP and UDP. I think a few years in a row, they had that, just do a client server chat UDP server, right? It was actually really cool to have the service connect through the Elixir, the distributed Erlang,
I was just like, my mind was blown having done that in C. So this book sounds so exciting. I'm super excited about this book. So six months, how far along are you in the?
Andrea (25:43.39)
Good question. The TCP stuff is done and that's a big... It's the biggest part of the book for sure. So like the whole TCP clients, TCP servers, patterns around that, the whole thing around TCP is done. So I would say the book itself is maybe a little bit less than halfway, around halfway. There's a bunch to write on.
Adi Iyengar (26:08.63)
Andrea (26:11.334)
UDP as a protocol that I want to touch on like a bunch of stuff like DNS and SSH and TLS, you know, like to build up on the TCP stuff and HTTP and WebSockets, which is, I think, a huge topic for like modern, you know. So it's going to be a long book, I think. I think I am going to write a lot of stuff. But...
Adi Iyengar (26:29.783)
Adi Iyengar (26:38.658)
That's awesome. Are you working with a publisher? I know you work with a publisher. Awesome, awesome. That's really cool. That's really awesome. Alan, you got any questions on this?
Andrea (26:42.218)
Yeah, yeah, it's pragmatic programmers, same as Lost Book. Yeah.
Adi Iyengar (26:59.726)
OK, I guess we can, just a second, I can add a quick note here to edit. What else do we want to talk? We want to talk.
That's something Alan you mentioned, right? Okay.
Allen (27:15.6)
Yeah, before the show, I was just kind of curious about, you know...
What's going on over at the Big Apple? You know, we, yeah, I mean, it's kind of curious to hear that. Um, I think you and I also have another person that we maybe also know. Between us that's in the ESG space, but maybe I'm wrong. Uh, but I think Apple is looking at ESG stuff and, and Elixir came up as something that could actually help them with kind of decreasing their energy usage. Is that the truth? Or is that.
Adi Iyengar (27:24.29)
Be careful.
Allen (27:51.734)
some rumor that somebody brought up to kind of fluff up Elixir.
Andrea (27:56.782)
I don't know. I can talk about my experience. My experience is that a little bit, maybe it helps give context. But what I, so I worked there for about a year or so. And I left at the beginning of this year because of my stuff. But I was working in a team in, it was part of the environmental.
environmental supply chain innovation organization within Apple. And so the idea there was like, it's a whole organization within Apple that helps with sort of like lowering the impact of Apple all around, like production and, you know, the logistics and, you know, everything around that. And
This is aimed at the 2030 goal that they have of being carbon neutral on products as well. I can't really remember. It's been a while that I've looked at this, but they are carbon neutral on something, on shipping or something, but they want to be carbon neutral on actual production as well. And so I was working on a software team within that organization, and they're not really using Elixir itself because it's silver.
footprint. I don't think that's the thing. They were just using Elixir to build software to help them manage their carbon footprint and to get insights. It was a lot of business analytics, for example, on data about factories and shipping and materials, a lot of this stuff. So Elixir was used as the... It was just like any...
It was not used in a very cool or exciting way, like what Discord is doing, for example, with Lixter, which is running a scale and actually taking advantage of the beam. I think during my time there, Lixter was a fantastic choice because of the developer productivity and developer-friendly environment, like the developer experience in general. So it could have been like we didn't really have any pro...
Adi Iyengar (29:56.962)
Andrea (30:21.15)
like big performance requirements, or like we're not working with huge data or anything like that, but Elixir was just like made people happy to use, and people were very productive in it, which is great.
Adi Iyengar (30:32.61)
Interesting. That's actually good to know, because the whole ESG doesn't really paint a picture. So it was being used to just analyze their warehouses and stuff. And I think, yeah, it totally makes sense to use Alexa, because you can whip up a quick UI quickly in Phoenix, semi-scalable, up to a point, a lot more than Rails and stuff. And was there any nerves action going on from the warehouse? Or OK.
Andrea (30:59.462)
No, no, this was all data. That's like, so the important thing to think about here is that Apple is like so big that I, when I say I worked with Apple, like I can't give any perspective on Apple and stuff. Like it's such a huge, huge company that like, I, you know, I only like explore the very, very tiny corner of it. So like, you know, they might be doing amazing stuff with Elixir as far as I know in other teams, but like, I, you know, I wouldn't know it because like it's a...
Adi Iyengar (31:22.222)
I'll see you next time.
Andrea (31:28.238)
It's a big company and it's really hard to get so many things going on and spread awareness about everything that's going on. So, yeah.
Adi Iyengar (31:33.868)
Adi Iyengar (31:40.47)
Nevertheless, it's very exciting for everyone in the community that Apple is hopefully still using Elixir and for a lot more things than just this. Yeah, that's awesome.
Andrea (31:46.61)
Yeah. Yeah, yeah, yeah. And I bet they like, I mean, I wouldn't be, I wouldn't be surprised if they were using it in other places as well. Cause again, it's a huge company. And honestly, my personal opinion is that I wouldn't never, I would not be surprised at all if all of the big companies were using it at this point. Cause like, when you think about Google or Amazon or, you know, or Facebook or Meta or like these huge companies with like thousands and thousands and thousands of engineers.
It depends on the company, of course, but I think that it's pretty natural that you're going to have teams go off and do stuff independently. Because if you, for example, say, oh, we are a huge company, we want to standardize on Java, people are going to go nuts. Because it's thousands, it's large numbers. It's not that Java is a bad language or anything. You could pick the nicest language in the world, but when you have 100,000 developers working for you, it's not going to...
Adi Iyengar (32:43.926)
Andrea (32:45.866)
You're not going to have everyone like it, because it's just too many people. So in those cases, I wouldn't be surprised if people would go off and build stuff that's used. I wouldn't be surprised if it was Elixir running at Google or at Meta. I would not be surprised. I don't know.
Adi Iyengar (33:06.802)
That makes sense. I mean, I know AWS is getting into it too, which is, again, all of this is just quite exciting that big companies are finally. Ha ha.
Andrea (33:15.346)
Yeah. Yeah, Netflix was using it for a little while as well. I don't know if they're still using it, but that's exactly what I mean. I'm sure it pops up. So it's like it's building a name for itself. So.
Adi Iyengar (33:31.317)
Allen (33:34.12)
I'm kind of more curious, were you, I mean, was this just a ploy so that you could get a sweet Apple discount on all those MacBooks that everybody's using in the team?
Adi Iyengar (33:34.135)
Andrea (33:45.496)
I can't say that during the recording. I'll tell you later if it was all a flaw or not.
Allen (33:49.632)
Ha ha.
Allen (33:55.168)
Yeah, I mean, so I mean, how was your time there? I mean, whether I know you said that the application itself was not so interesting. But was Apple, you know, the team let's just say, okay, let's leave Apple out with the team that you're working with, were they actually committing stuff back into open source or back into the libraries and things that they're doing? Or were they just taking stuff because when I worked in a bank, like basically, they would never let us commit back out to open source or certain extent. Like they basically said, Oh, sorry, you can't, you know,
it's too much of a security risk or whatever. I was kind of curious if the team that you're working with was pushing stuff back out and kind of also doing some positive things in the community.
Andrea (34:27.958)
Andrea (34:34.957)
Uh, let's cut that out of the, of the podcast. I don't think that the question is a fair to the people that are there. Like it was, it was formed in a way that I feel like was aggressive. So let's just cut that out. Uh, no, I mean, they were not, they were not contributing back, but Apple is a very strict, Apple is very strict rules about that. As you said, like Alan, as like with the banks and everything, but I feel like the way the question was formed was just like, were they pieces of shit and not contributing back to the community or are they
Allen (34:56.675)
Andrea (35:04.696)
where they like, yeah, so let's just cut this out. I would rather cut this out if it's okay.
Allen (35:04.852)
Yeah, I know what you're saying. Maybe I can reform my question.
Allen (35:11.872)
Andrea (35:14.29)
I didn't mean to be rude or anything. I just think it's not going to sound good in a podcast, in my opinion. I would rather not.
Adi Iyengar (35:17.838)
That's fair.
Allen (35:20.684)
I understand. Yeah, well, I know some communities that do commit stuff, so that's why I was curious if they were.
Andrea (35:25.574)
Oh no, I mean, totally. I would say like most companies like do have people contributing back. It's just...
Adi Iyengar (35:33.451)
They also weren't using it at a big scale either, right? Like, so yeah.
Andrea (35:35.522)
No, not at all. And anyways, Apple, even a big scale, they have huge issues with open source. Even they have huge friction even within Apple with open source, because they're a very close source company. Like they're very different from the Microsofts and Googles of the world, which really is a lot of software. Like Apple is very, very different from that. Right? So it's just something I am not even comfortable talking about, because I don't know about all the rules. I don't know about, well, I'm allowed to say it is not like...
during the podcast, not to you. All right, so whole section cut off.
Allen (36:07.209)
Adi Iyengar (36:10.83)
thing. Cut this off, please, if you're watching, editor. This is not going to go. All right. I guess we can, you mentioned, Andrea, that you took a few months of break between jobs, right? You were at Apple. Where are you now? And how are you guys using Elixir? And what's exciting about this company?
Andrea (36:28.15)
Yeah. Yes, okay. Yes, of course. So yeah, I took this break to write the book and I did a little bit of consulting and stuff. And then I started searching for a new job and I interviewed at a lot of places. The community was super nice to actually get me into interviews. I tweeted about it and people reached out. It was a very humbling experience, very nice. And I ended up at a company called
Veeeps, which is spelled V-E-E-P-S, so sort of like VIPs, but spelled with the E's. And it is a platform for streaming concerts and live music shows and music documentaries and stuff like that. So it's around music and streaming. So it's a very exciting place. It's a very small team. And so the way we're using Elixir there is that everything is built in Elixir, everything. You go to veeps.com.
everything is Elixir 100%. I don't think I'm saying anything private that all of it is built with Live View because you can probably go around and inspect HTML and you're going to find the VHX hooks everywhere. So it's not like it's a secret, I think. But yeah, all of it is built with Elixir. The streaming stuff is off to the cloud. We're not streaming video directly with Elixir. But all of the website, the coordination,
e-commerce side because selling the tickets and selling the merchandise for the concerts and stuff like that, all of it is built with Elixir. Integrating with various services for payments and stuff, but all of it is built on Elixir. And all of it is built with Phoenix and with Live View. And what's exciting about it is that it's all Elixir. It's amazing. It's a huge code base. And this team is like, I just joined two and a half months ago or so. And this team was...
it's incredible what they were able to build in such a small team. The engineers, like, team is like around maybe six or seven engineers. I should know because it's a little bit, I shouldn't say it's around the six or seven. But let's say just like seven engineers or something like this. And a couple are front-end engineers, so they're writing just the elixir they need to build the front-end stuff. So it's a very, very tiny team and they were able to ship so much. And I had
Adi Iyengar (38:31.882)
Andrea (38:53.73)
this. So I've used Phoenix extensively for APIs, right? Like a lot of stuff related to like, yeah, serving APIs to single-page apps, to like native apps, what have you. But I never used LiveView before this. And I was skeptical a little bit before this, because, I don't know, healthy skepticism, like, oh, it's a new thing. I don't know if I should get into it that much.
Adi Iyengar (38:59.703)
Andrea (39:20.846)
I am now a convert. I really see the, again, I'm repeating myself, but the amount of features that this team was able to ship and so quickly by having that, the flexibility that comes, you have a big code base, you just need to make a change, you can change the markup, the HTML that you're serving, and the interactive stuff that's going on.
very, very easily, whether you're a frontend engineer, whether you're a backend engineer, a lot of the time, it's just easy for everyone. I shipped a frontend feature during my second week, and it's the first frontend feature that I shipped. It had been, I don't know, six or seven years since I had done anything that you could see in a browser. Basically, so it was exciting. That's 100% thanks to LiveView.
been able to do that otherwise at this point. So very exciting.
Adi Iyengar (40:24.046)
That's so cool. Yeah, I'm looking at the website. It looks beautiful. And even the landing page in Phoenix, I can see, like you said, the phx tags and stuff. It's pretty awesome. I think it definitely, even now, even after so many companies have adopted LiveView and Phoenix to build the entirety of their stack, there's still skepticism in the community. Maybe the fringe is a community that, you know, you can build beautiful websites with LiveView. But here's another example of, you know,
Andrea (40:31.731)
Adi Iyengar (40:54.518)
gorgeous looking front end in just using live ends. It looks beautiful.
Andrea (41:00.874)
Yeah, I mean, yeah, hats off to the designers, I think, because I really like it as well. I think it looks beautiful as well. But even from an engineering perspective, like we're engineers, the stuff we care about is maybe not how the website looks, but whether the code is maintainable, how easy it is to. And that's the beautiful part, in my experience, that has been the just gorgeous part, which is like, you go look at the source for what you're seeing, and it's very easy to understand.
It's very easy to extract components and functionalities like with Phoenix and LiveView. That's been such a good experience to join this team. And it was very easy to get up to speed because all of this is, again, it's one code base. We're actually using an umbrella app, and we're deploying different releases in that app, which I think it's a pretty rare thing. Like not a lot of people are doing that. So another like...
I think that's like, for me, that's a success story of umbrella apps, which I did not have up until this point. Like I had never used really umbrella apps extensively. So I wouldn't, like, I couldn't speak for like strongly in favor umbrella apps because like I work at Commodity, we have like services rather than umbrella apps. So like a lot of code base instead of here is like one code base and it's like, it's fantastic.
Adi Iyengar (42:23.95)
That's awesome. So I'm just going to, you've already answered what excited you about this company. I'm going to kind of like push you a little bit more because you mentioned you were humble. A lot of companies reshot. I was one of them and I'm sure there were some other people in my circle who have told me that they reshot to you too. What, this company is elixir completely, lively completely. Like what other, what are the things during the interview process, you know, made you join this company?
Andrea (42:55.114)
That's a good question. So what made this company win? I think, well, it's a mix of things. I think the product that we are building is really cool. And since the first time it's been described to me, it's sort of the Netflix for concerts, right?
Adi Iyengar (42:59.543)
Andrea (43:17.678)
And that makes so much sense, right? It's just such an easy thing to grasp. Like, at this time in history where there's a lot of streaming services, like people understand how it works, they understand... There's a use case for it, I think, right? Or it's called a product market fit or something? I have no clue, but something like that. So I think it makes sense at this time to have something like that.
Adi Iyengar (43:32.071)
Mm. Yeah.
Andrea (43:45.254)
And so the product is really cool. Technical challenges are very interesting because you're building, we're building a streaming platform, a subscription-based streaming platform, which is like a lot of the products that we use today are that, right? Like joining this team gave me a lot of insight into how just a streaming platform works. You know, like I understand better. I don't know how like Netflix or HBO or whatever are.
doing it, but like I have the clue now, right? Rather than not having a clue. So, uh, so that, that was very cool. So the problem was very interesting, but so the thing that did it for me was, was the team honestly, I met with a few people from the team and, um, I worked at, uh, community where Adi worked as well. We, we, uh, crossed paths there for, for a while and community has been, uh, I worked there for three years ish.
And it's been the company I worked at the longest and the company where I had the most fun and like had the most growth as an engineer, but also just the most fun. Like it's the best team I've ever worked with. Uh, and, uh, so I was really passionate about finding like a good team to work with, cause like, uh, I've never worked with bad teams, but like the difference of, you know, working with like, uh, just a team that's a fit for you. It's like, sometimes you're going to have a great team that just like not.
your style or, you know, like, it's just like not the, you know, where you can't really find your place, right? And at community, I definitely found that. And now I can say like, you know, I found it at Veebs as well. Like I, this is now, community is now a tie with Veebs for me as like best teams I've ever worked with, or like best fits for me rather. I shouldn't say best teams because like, who am I to judge, but like the best fits for me, for my personal style, my personal like...
Adi Iyengar (45:18.434)
Adi Iyengar (45:33.795)
Andrea (45:40.026)
culture at the company and this was like, Veebs was like the best fit for me that I could find. There's one sentence that my boss, who's the CTO, Vinny, told me during the interview process, which he told me, which was when he said, this is the company that I want to retire from. This is the last company.
I want to make it so good that I don't want to have to go and switch jobs. And like, I have no idea. I told him like, I have no idea if I'll switch jobs at some point or not, but this is the attitude that I want. Like this, that's the sort of comedy where I work on where like people really just like, they want to make it so good that like people just don't want to go away from it and uh,
Adi Iyengar (46:12.011)
Adi Iyengar (46:19.438)
That's really cool. Yeah, the fact that they said having worded community around the time that you're mentioning, the fact that they said that this matches, the style of engineering team matches the engineering team over there, it's pretty high compliment. So that's awesome. Glad you found it. Great fit.
Andrea (46:37.482)
Yeah, I'm very happy to.
Allen (46:41.44)
but you lost that sweet Apple discount though.
Andrea (46:45.151)
I lost the Apple email. That's what hit me the hardest. I had like a alioparty at apple.com for a while and like yeah, that was cool. That was a cool thing to have at apple.com.
Allen (46:49.844)
the email.
Adi Iyengar (46:58.926)
Adi Iyengar (47:05.738)
very cool. I don't think I have any small topics anymore. So much so many topics that we could go out and do have something that you can cover in like 10, 15 minutes.
Allen (47:11.264)
Allen (47:19.084)
I mean, overall, it's been great to hear about your journey. And it's always nice to hear how people got into their position that they're in now in terms of their involvement in the community. And I think at least 89% of the time, it's like, hey, I was just putting in some code. And then I came in early. A lot of times, it's early, right? Timing. And then, yeah, timing is huge. And then sometimes, it's just luck.
Andrea (47:43.359)
Yes, yeah.
Allen (47:48.148)
Like, I think I forgot the name of the guy who's running mostly that the hex. It's a very young guy, right? What's his name? Yeah, I mean, he didn't come in necessarily early, but he came in at an interesting time and he was just kind of committing stuff and then he just more and more time, right? So it's quite interesting. Everybody kind of gets involved.
Adi Iyengar (47:54.498)
Eric and Jerry.
Andrea (47:54.752)
Eric, yeah, yeah.
Andrea (48:08.49)
Yeah, yeah. The good thing is that there are still people that are coming in at this point and becoming pillars of the community, I would say, right? And I can name just to name a couple, Sean Moriarty from all the machine learning stuff. He became the face of machine learning in Elixir and he came to Elixir out of, I mean...
Allen (48:27.336)
Andrea (48:36.71)
relatively late time, right? Like it's like Elixir has been around for a while. And we also added a new team member to the Elixir team when this release, you know, like who came like late to the sort of late to the party, but still made it into the, into the team. So yeah, a lot of the time, absolutely. It's just like coming in early because, you know, you get involved early enough. You it's easier to get into the, into, you know.
contributing, committing. Like right now, I would have trouble to do a lot of documentation changes to Elixir, because it's years of being polished. So there's not a lot to polish at this point, I guess. So for me, I think it was a lack of coming at the right time. But there are still folks that are coming in the community and making a huge, huge impact, even if it's late. So just to say, you know.
coming to the community, there's still a lot to do, especially around the ecosystem, I think. As I called back to the beginning of these recordings, that the elixir itself is sort of less. There's less stuff to do because they mature a lot as a language. But the community, the ecosystem, there's still a lot to do.
Allen (49:50.42)
Is there any plans to add in anymore? I don't know what what's the right way to say this. So not anymore. But as far as I know, there's not much people.
Allen (50:12.568)
There's a lot of underrepresentation. Like, is there any plans to add some of that could maybe bring some new ideas and some interesting thoughts to the team, or it's never been discussed?
Andrea (50:23.826)
When it comes to, yeah, this is a hard but very fair question, I think. And when it comes to the team itself, I think the team is so... It's very small, first of all, and it's not a... I don't think it's such a public-facing part of the community. So I don't think, for example, making the Elixir team diverse would have the impact that it has, for example, to bring in diverse...
Allen (50:28.989)
Andrea (50:53.138)
speakers to conferences that can talk about different things. And I can come from different experiences, different backgrounds to conferences. I think that has, in the long run, a much bigger impact on the community itself, and on the representation, because that's what people see more, right? Rather than the work that's being done behind the scenes in the core team itself. One example I like though is the type stuff.
Adi Iyengar (51:11.148)
Andrea (51:22.414)
Um, which is like the type, the type system work that's been, that's being done, it's been researched and it's being, you know, researched and done in, in Lixir has been, uh, led by Gisette together with like a professor at a university and a PhD student and at a university who have obviously like very different backgrounds from everyone else in the core team, which like consists of software engineers, mostly, right? Like people that have.
Degrees, sure, but like they're not academics. You know what I mean? So that's for me, that's been a huge, like a huge positive thing. Cause like we're getting people that are proper research, like the published papers and stuff like that, very close to the, to the Elixir team and very close to the core of the language. And I think that's generally, it's not a representation thing, but it, like, when it comes to the part of your question, that was related to like diverse backgrounds and like diverse experiences, I think that's like, maybe that, maybe that counts. But.
It's an industry where diversity just sucks. So like we, I mean, we are not doing anything, I think like amazing for that. And we probably do better as always, but like it's just not very diverse industry.
Adi Iyengar (52:40.846)
I would still say though that, you know, I think it's just hard and I mean from a core team perspective, it's because you know, it's a non-profit, it's not really a profit driven venture, to kind of like, in such a small group without profit to like, kind of like, have ways to incentivize that kind of diversity. But like you said, Andrea, like a conference, I know Alexa conferences specifically try to have a diverse panel, having been part of organizing a couple of times, I've seen
not just the speakers, but also like a trainer, you know, selection and all that. I know, I mean, you mentioned the industry itself is not very diverse, but I think Elixir of other communities I've worked in does have things in place to encourage more diversity. Shout out to, you know, one of my favorite people in the world, Bruce State. Like he runs like a free mentorship group for like, you know, underrepresented people.
Andrea (53:14.182)
Adi Iyengar (53:39.914)
Like he's one of the mentors, like I'm one of them, Jeffrey, a friend of Andrea and mine, he's one of them. Like I think stuff like this, like people going out of their way to volunteer to specifically help underrepresented people and encouraging people to contribute is what I think sets Elixir a little bit apart from other communities, even in this kind of industry where diversity isn't much. So I think Elixir is definitely more diverse than.
Andrea (53:43.116)
Adi Iyengar (54:08.254)
other communities in my experience. It's subjective. It's already data driven, but just from an experience standpoint.
Andrea (54:08.412)
Andrea (54:15.454)
Yeah. And like, I don't want to like, shield the team from blame or anything, but I think that like, it's really hard for such a small group of people to invest energy into, like, you know, all of the problems that we could tackle. And one of the problems like might be the diversity, right? Like, it's just, it's a very small group of people focused on like, making...
You know, a lot of stuff happens, so like it's hard, but like conferences are like, again, like conferences are a great example of these, like, uh, and, and Adi said it looks conf, but like, um, code beam is doing the same, for example. Right. Like they're bringing in, they're bringing in, uh, like they're, they're really putting in an effort or Ampex is doing an amazing job at these, like really putting in an effort to bring diverse speakers to the community and like for, from diverse backgrounds, right? Like I was at Ampex this year and I was at code beam this year and both.
conference at Keynote is made by people who have very little to do with the Elixir community, right? Like just like they ever heard about Elixir at best, you know, but like they were brought in for completely diverse, completely different, not diverse, sorry, completely different point of view, right? And I think that's great. And yeah, we try to be, I think I see my part of my job is to try to be really nice and welcoming to everyone.
which is what we try to do. I think the Elixir team generally, I think does a good job of doing that, like being welcoming to the community, but it's a small team, so the impact that it can have, it's like quite, you know, like I think limited a little bit, you know.
Adi Iyengar (56:01.486)
Allen (56:01.489)
I did have another question, but I actually lost it while you were talking. But I also want to kind of make one more thing to kind of reference back about the team members leaving, right? I think that is so difficult, like, choice to make, right? And that's probably not an easy thing for anybody to say, okay, it's time for me to step aside. I think we talked about this before in another episode. Maybe not. But the topic is quite interesting because it's sad when people leave, right?
to say goodbye, but sometimes you have to step aside.
Andrea (56:37.514)
I think it's incredibly hard for the people leaving because like, and I like I say this in open source projects as well, like it's really hard for people to let go of projects for example, or like, you know, give projects away to other maintainers, but I always see that as a sign, like as a huge sign of maturity, right? Like someone that does that, someone that like realizes that like they're probably like,
like doing more harm than good at that point. Like where, for example, like, you know, by I'm speaking like right now, like a little bit more maybe about, um, open source projects that get like become unmentained. Right. Like, and when someone is willing to give the project away, I like, in my experience, like, you know, yeah, it's hard because like, you might be scared of like, you know, the new maintainers are not going to do, are not going to like follow your vision or not going to like handle the project the same way you did. And like, I personally have this.
trouble a lot. I've never gave away a library to someone else to maintain. And I get so scared of that. It was like, what if they go and change my nice little code that I understand that I wrote and that I'm so proud of and this and that? It's really hard to go stuff that you created or that you're a part of. And the Alexa team is like, I think it's a very privileged position to be in the team, if that makes sense. It's a b----.
for me at least like a huge honor, right? As well. It's a huge like source of, of pride for me and to, to let that go would, would like, would be really hard, you know, like to, to leave that. So, but I think that like the people that left, I, I admire that they left because they all left for like, for good reasons. And they were all mature enough to say like, I can't help anymore. You know, I've got a lot of other stuff going on and like, I'm just, you know, like I don't, I don't have enough time to dedicate to these. So.
I think that's like that's super healthy and very admirable. Very hard though. Yeah, you're absolutely right. I think.
Adi Iyengar (58:43.626)
Yeah, I think with open source, because the primary motivation to start that is to kind of give back. You're not earning money or anything from that. And I think there is definitely more of a, for lack of a better word, self-worth that you attach with that project. So you're right. If I'm working, I'm getting paid. If my paycheck's not easy to leave versus something I've put invested time, thought, emotions into.
and nothing tangible to show besides the project itself. It's just much harder to leave, so that makes sense.
Adi Iyengar (59:25.382)
Um, I think we can transition to picks if you guys are all set. Awesome. Alan, do you want to kick us off with picks?
Allen (59:34.972)
Yeah, I'm trying to set up my kind of home studio as you guys see over here. But, you know, the pink chair is not my idea. It's my wife. OK, so if anybody has questions, it's not my choice. But yeah, so I recently bought a stream deck plus. I don't know if you guys ever use stream deck or not, but I got the plus one. And I think it's really nice that the knobs are quite interesting. So if you if you don't use a stream deck, but you stream or you record or you kind
some quick accesses and buttons and stuff. Definitely a cool tool to have. So I recommend that if you guys are into that kind of stuff.
Adi Iyengar (01:00:15.382)
Very cool. Awesome. Andrea, what do you have for us?
Andrea (01:00:20.118)
Uh, that's really hard. So I will focus on a very tiny area, which is phone apps, which I'm a huge fan of phone apps. Like I, I like to have apps for stuff and, uh, I'm going to shout out three apps that I use, uh, which are going to make me sound like a, a nut job, but, or like two, let's see. Uh, but one of them is flighty, which I think a lot of people know at this point, but flighty is an app that, uh,
lets you like track flights and it tells you all your flights here, your flights there, the flights boarding, this and that, your flight numbers, this, your plane models, this, this flight has flew this and this and that times and this plane has like 10 years in service. All like nerdy stuff about flights and like it costs so much, it costs like 60 bucks a month and it's like the money that I feel like I'm the most like a...
The most leisure spending I do in my life is this $5 a month. Or like, I don't know, this $12 a month. How much is it? No, it's $5 a month. It's $5 a month. I was like, oh, whew. It's $5 a month, but it's completely unnecessary. I like it so much. It's one of the best signed apps that I've ever seen. And the other one is one called Sweepy, which is an app where you can put all the tasks to do in your house, like to clean the...
Um, you know, the kitchen vent thing or like you need to change the bed sheets and stuff and you can like have it in your family. So we had with my wife and it's like the nerdiest thing. I'm a like shout out to my wife for not leaving me for like making her do stuff like this. Um, but we have all the tasks and like it gets you points and stuff like that. And like, it's very fun. Our ass is very clean now. So yeah, that's my picks. Very nerdy picks.
Adi Iyengar (01:02:09.598)
Awesome. Those are pretty awesome pics. Actually, since we talked with our prevention house being clean, ModMap pics is for today's Nito Electronics. They make one of those robo vacuums. And I've already picked this before. But what's cool about them is they don't store your floor map in cloud. It's locally stored in the vacuum itself. So it's more privacy-oriented and stuff. And guess what language they used to build their.
most of their stack, Elixir. And their API for the vacuum, they have an SDK written in Elixir. So you can actually communicate with the vacuum with Elixir and try to do weird stuff with it. So yeah, people should give it a try, Andrea. You were going to say something.
Andrea (01:02:54.746)
Sorry, I muted by accident, but that's awesome. I was gonna say, that's awesome.
Adi Iyengar (01:03:00.702)
Nice. So that's, I guess, my pick for the day. I also want to have another kind of a different kind of a pick since we had a special guest today. I think hopefully this kind of episode is more motivating to our listeners. I know a lot of our listeners are beginners. But Andrea also is human. He started as a beginner too and contributed and made his way up.
in the ecosystem and you know I think not just as an elixir core team member there's so many amazing people. You know, I mentioned Bruce state. Sophie the minute I'm a huge fan of hers like these people, they contribute outside of just the elixir ecosystem like Andrea mentioned to like, you can, you know, you don't necessarily have to go through issues and elixir and contribute you can contribute to elixir school
Adi Iyengar (01:03:55.15)
truly the best program, one of the best programming communities, I'm trying to be objective, but best if I'm not trying to be objective, communities in software engineering. So hopefully, you know, this episode was more encouraging and motivating for people to, you know, give back more to the community. But Andrea, thanks again for, you know, your everything you've given to the community. Elixir is awesome because of, you know, you're a huge...
factor and Alexa being Alexa right now. So thanks. Thanks for everything you do and thanks for being on the show.
Andrea (01:04:25.846)
I appreciate that a lot. Thanks for having me. You're making me feel great, very humbled. So thank you so much. It's been my pleasure. It's been my pleasure to be here. Lots of fun talking with you, too.
Adi Iyengar (01:04:34.485)
Adi Iyengar (01:04:40.694)
Awesome. All right, guys, until next time, Adi out.