The Elixir Outlaws now have a Patreon. If you’re enjoying the show then please consider throwing a few bucks our way to help us pay for the costs for the show.
Amos: Welcome to Elixir Outlaws the hallway track of the Elixir community.
Amos: Alright! I guess, is this the keynote?
Anna: I think, I think so. I think it's the keynote. I think you have to start now. Yeah.
Amos: I mean, that comes right into one of our questions was," Is this the show?" from the audience. And, uh, and uh, I think, I think that it is, it is the show.
Chris: This is the show.
Anna: This is the show.
Amos: We're in.
Chris: There are so many people. There are normally not this many people.
Anna: I know. I was impressed. Yeah, there are never this many people.
Amos: Here, put your hands up so I can count you. And when I count, you put your hand down.
Amos: 184, it's pretty crazy.
Chris: That's more people than we get listening to the show normally.
Amos: We don't normally get feedback.
Anna: Yes. You mean other than the three of us. Yes. It's a lot more than three Chris.
Anna: Uh, we were going to do introductions, because we said that we would. Amos, you want to say something?
Amos: Oh, okay. Yeah. Uh, my name is name is Amos King. Um, I guess we've been doing this for a while. Uh, I love the Elixir community and, uh, and, and miss seeing everybody in person. So, you know, I really wanted to do this and, and see if we could figure out how to get back together.
Chris: Yeah. Uh, I'm Chris Keathley. Uh, I don't- mostly, I talk. That's I think something that I am known for, uh, and, and a podcast is a perfect venue for that. Uh, you know,
Anna: Thanks Keathley. Yeah, I'm Anna Neyzberg. I've been doing this with these guys for a little while. I hear Keathley share his strong opinions most weeks, um, and Amos and I try and, you know, understand where he's coming from. No, I'm kidding. Um, but it's been a lot of fun and I think, uh, it, it, this is an effort for us to like this ha this, this did come from a desire for us to really capture what we, I think the three of us love most about conferences is just, in addition to the excellent talks there being the hallway track, right. Really being able to interact with people and talk about the things that we really like and care about and want to see in the community, um, which I think kind of segments segues us into some of the stuff we want to talk about today, which is interesting, right? We're not standing or sitting in front of all of you in person, but there's 200, oh my God. 201 people now, um, from, I think a lot of different places online and I am working- and I think we want to encourage if folks have questions to ask, because one of the things I don't talk about is, you know, now that we're all virtual, on the one hand, it's much more accessible to access community because everybody's online and if you have the internet, but that, but there still is that kind of Zoom, Zoom barrier. So how do we continue to build this community? How do we continue to find that warmth and friendliness and connection, given that we're all going to be in this virtual place for a while?
Amos: So recently we've been doing, uh, at the KC, Kansas City Elixir group in Missouri, um, we have been doing our Meetups on Zoom now, and we've had people from all over the world, which is really awesome. And there's, there's such a small group of us that we get to know'em. But what I find has been really hard for me is whenever a meeting in person, it's, it's easy to make new friendships and to talk to people that I've never spoken with before. But when we're all in a big group meeting like this, it's hard to figure out to split off and talk to somebody or to really get to know somebody. So I'm interested in how we can, how we can do that.
Anna: What about you, Keathley? Do you have any thoughts on kind of the current state of affairs?
Chris: I mean, it's interesting. I even gave a, I gave some people a hard time about, uh, calling it, uh Elixir Conf EU, because it's like, uh, normally that means, you know, uh, for, for us in the states or North America or wherever, uh, it means a flight or it means whatever. Uh, but really like the, the, the title of the conference has more to do with time zones than anything at this point. Um, which is really cool. Uh, that's a really, you know, I don't get to interact with people, uh, all over the world, uh, that often .I'm very fortunate and privileged that I get, I've gotten to do it more than most. And I have some really great friends who live all over the world now. And I think only good can come from doing that more and making that more accessible and having little things like this. Like, you know, this is not a, this is not your quintessential, let's call it hour and a half long tech demo as keynote. Uh, but you know, like, and that's kind of the point, like this is an opportunity to do something that we couldn't do, uh, in, in a different medium. And so this is really interesting to me, this is a really interesting time to see how we can maybe leverage a global pandemic, uh, for, for, for some amount of good, right? Like, like increasing connectivity, uh, increasing people, uh people's um, what's the term, uh, empathy, uh, I don't know how I blanked on the word empathy, but, you know, increasing people's empathy, uh, for everyone else in the world around you. Um, and, and also making it more accessible to those who might not have had access, um, to this sort of stuff before it be either be via, uh, cost or, you know, travel restrictions or whatever, you know, now you can, you can hopefully get access to more of this community, um, because the community is what matters. Uh, the knowledge is just out there, like you can go find knowledge, and if you want to learn about Elixir or Erlang, there's a bunch of books and blog posts and documentation and source code and whatever else you want to read to go do that. You actually don't need a talk to learn anything about any of that. What matters is the community. And, um, cause that's where you get all the real, like hard won knowledge, uh, and it's also where you, uh, get inspired to build new, cool stuff. Like everything I've ever built has come directly out of like conversations I've had with other people in the community and been inspired by. Yeah. So I'm excited.
Amos: Maybe that's the answer, actually is, is when we have these conferences online, is that make sure that those talks are the beginnings of conversations with other people that were there, uh, have some, have some chatroom use Whova, here, uh, and, and talk about what you learned there. And that's like that common love that we have for the technology and the learning can, can start to build those, those smaller friendships. And you can spin off from those little chat rooms too, and, and become more intimate with other people that you might not have been able to. Like I have, I have a good friend in the Elixir community who doesn't leave his house. I'm not gonna say his name, but, uh, he, he doesn't leave his house due to his own personal things that he has going. And so this is an opportunity for him to actually become part of the conference instead of watching it later on YouTube.
Anna: Yeah, no, I totally agree. And I think like, you will, because you have access to so many people from so many different perspectives and so different parts of the world, right? You may have conversations that you otherwise wouldn't have had, which I think is really interesting and really important, right. Giving everything that's happening in the world, like being able to share different perspectives, even if it's just within the Elixir community and different perspectives on things within the Elixir community. I think that's incredibly valuable. Um, have you guys, have y'all looked at the questions?
Chris: Oh we have so many questions!
Amos: I am, I am looking at the questions.
Chris: I want to talk about, I want to talk about this a little bit longer and then we can answer questions. I do have some questions I want to answer.
Amos: Ok well I do say to all, all of the, was there like there's 201 people watching, whew! Um, if-
Chris: Don't screw it up.
Amos: You have a comment about anything that we're talking about too-
Anna: Yeah don't screw it up.
Amos: Just the easiest way for us to be able to get to that right now is for you to just put it in as, as a question in the Whova app, because it's, it's spamming them at us. So, so we can get to, and hopefully get your interaction and your comments, because you're just as much a part of the show as we are.
Anna: Yeah. That's what we're trying, trying to accomplish here. Whoever said, uh, "Nice living room balcony" to me, Thank you. I'm in Tahoe. It's been lovely.
Chris: I, um, I think one thing that's really interesting and something that I don't know that has we've really, I think we're making strides of this and by we, I just mean like, you know, conferences and the community in general are making strides in this, I still think that, um, something that'd be really interesting is to figure out how to do more sort of, I don't know what the right term would be, like smaller group conversations to like foster that somehow and to create a little like intentional break off rooms or something like that. Um, I know like a friend of the show, Bruce Tate, uh, he runs a, um, like a mentorship Elixir kind of MeetUp, um, where he's teaching tons of people all over the world Elixir. And that's something that they, that they do is they actually split off into smaller little groups. I know that like Elixir Bridge has done that, that same sort of stuff where you split off into groups in some ways. And it'd be really interesting to figure out how to like, create that more in like a virtual conference setting. And then you're really leaning into the you're really leaning into like the technology at that point and this sort of connectedness. And that would be really interesting. I would, I don't know how to facilitate that very well, you know?
Anna: Yeah. I mean, I think the exciting thing though, is that like, this is an opportunity to try and figure that out, right? Like nobody knows how to facilitate it well, because I don't know that people have maybe some people do, but I don't know that we've had to do it that often, right. So I think it's an opportunity to, an interesting opportunity to experiment and see what could work. I think, you know, having maybe multiple, I, I am curious about having like multiple rooms where you could kind of, I don't know if it's possible, but float in and out, like you would at a conference, right. Where you could go and talk to people, maybe have one person facilitating some kind of semi focused discussion about something regarding Elixir, but you could get to talk to a number of people and maybe have a number of interesting conversations throughout a section of the day or whatnot.
Chris: The other big thing I would encourage everybody here to do is if you feel like you don't have that community, or you want, you know, like it's, it's, you can cre- you can actually start to create it, you know, like create your, your, uh, you know, IRC discord, uh, chat platform of choice, whatever that other thing, whatever that new thing is called. And, and you can start to grow that on your own community that way too. And like, and have that group of friends who can just chat about stuff and say, and, and talk about whatever. You can talk about Elixir stuff, or you can talk about just life and like how you're doing and like your job. And, uh, you know, like we have, uh, we have a group, uh, like, uh, we have a chat room thing with a bunch of our friends and it becomes like a, like a job whisper network too, of like, hey, is anybody looking for gigs right now? Or a contract? I mean, like, those are really, really good things to have. And they're really accessible right now. Like, and if you don't have one, you can actually work, you know, the thing I would encourage you to do is to maybe try to create it cause it's, it is possible to do right now. If your local MeetUp can't meet up right now, you know, jump on a chat room together and like, make sure you're still creating that community with each other. Cause it's super important right now
Amos: And, and ask people about things that aren't just technology, like, like get to know them. And, and I think that most of us do that anyway, naturally in person. And, but sometimes whenever you're, you're talking in text with a, with a group of people, it takes a little extra effort to think about, oh yeah, they're, they're not just this text behind the screen. And just remember that, hey, they have, they might have a spouse or, or, um, their dog or whatever, just, just get involved in, in more of their life. I mean, to the, your comfort level and theirs.
Anna: I mean, I would also say that, to Keathley's point, even if you feel like you want to be part of community, especially given the state of the world and everything's super isolated, like, and it's so important, right? I think most of the valuable things that I've learned, to Keathley's point, have come from conversations with people in the community, um, if you can't start your own, it doesn't mean you can't join one that maybe isn't where you are, even if it's localized, right. Amos was saying that people from all over the world in their community, and I feel like people, especially right now are feeling or even more willing than normal to be open and welcoming. Um, and so there's definitely a possibility to find that connection with other humans, um, and remind people that it’s there.
Amos: After this, I'll throw some, uh, I'll throw some links somewhere in the Whova app. If somebody doesn't already have a topic, I'll start one. And, um, I know Cincinnati Ruby, there's also online Nerves MeetUp, and I'll throw some links in there for people to get started if they want to.
Chris: We've got a ton of questions coming in. We should, we should answer these questions.
Anna: Yeah, I was gonna say, we've got a ton of questions, we should get to those.
Amos: Should we start with the first one?
Chris: Uh, oh, I'm going to address this real quick. Uh, yes. That's a Binding of Isaac miniature behind me. It's Judas. Uh, and yes, I do have Real Platinum God. Anyway, moving on.
Amos: All right. So-
Anna: Thanks Steve.
Amos: What is the origin of the Outlaws podcast?
Chris: Are we allowed to talk about this?
Amos: I don't know. I mean, I, I, I think that we-
Chris: Why don't you give the, why don't you talk about it?
Amos: Oh you want me to talk about it?
Amos: So if we get sued, it won't be you. No, um, no, uh, actually, so we all, um, we're friends with Johnny Winn and, um, we were talking about joining Elixir Fountain at one point in time. And we were all in Colorado at, um, uh, just blanked out on the name of that conference that Johnny puts on.
Chris: Elixir Daze.
Anna: Elixir Daze
Amos: Elixir Daze. Thank you. We were all at Elixir Daze and Johnny was talking to us about starting a podcast and, and he also, that's also where the Outlaws name comes from because he called us outlaws because we were, we were talking about things that, um, weren't the, uh, mainstream things that the community was talking about at the time. And so he said that we were a little bit outside, but we got excited about the idea. And, um, Johnny took a, took a break from Elixir Fountain and we decided, hey, um, we got all excited about this, so let's go ahead and do it. And we started a show that's, it's different than Johnny's show, like Johnny does interviews and things, and, and those are great, but we decided that we wanted to focus more on, on what happens around the hallway and like the things that get talked about in the hallway and getting to know each other and getting to know the community.
Chris: And I will say the hallway thing was really intentional.
Chris: That was from minute one, um, we, we said, what if we had a show that was like walking up to the people at a conference in, uh, in the hallway and just like, you know, being dropped into a conversation and it's part of why the show is the way it is. Um, it's part of why the show is, is pretty freeform and all over the place, because.
Anna: And it’s hard to follow sometimes.
Chris: It's hard to follow it. It's also why, you know, it's, you know, I make the joke a lot that if, if what we wanted to do is build a successful podcast that people listened to, we did literally all of it, the opposite of what you should do.
Anna: Yeah, we did all wrong.
Chris: Everything we did was wrong. Uh, but yeah, but that's
Anna: But that's not why we did it, right?
Amos: We wanted to create that atmosphere. And I think somebody else asked this and one of the other questions, um, we don't plan any episode of the show. None, literally none of the episodes are planned. Um, we just riff.
Chris: Unless, we have a guest and then it's still like, the only thing that's planned is "We have a guest."
Anna: The thing that's planning is that there's the guest. Exactly. Yeah.
Chris: So we just kinda go for it.
Anna: Which I think has been really interesting because I think it's allowed for a lot of like really organic discussion, right?
Amos: You mean like gardening?
Anna: Yeah, I was going to ask about that. I don't actually even know what that's referring to. I may have missed that. What is the garden? What's the gardening question?
Chris: We just started talking about gardening one time.
Anna: Oh, that's right. I think I missed that one.
Amos: It was, it was right after everybody got locked down and Chris gardens and I just started gardening. I, um, that I haven't done in many years. And so we were talking about gardening for a while, but I think that's part of, what's really awesome with our organic conversations is that when I do meet people at conferences who do listen and they come up to me, even if I've never met them, we start to have conversations about like my family and my garden. And I feel like I've known them forever. And, and they tell me that they feel like they've known me for a long time because we, we talk about our lives and not just technology on the show. And then even people who say, uh, it's not my kind of show, uh, I don't want to listen. I, yes, yes. Thank you.
Anna: Thank you, yes.
Amos: Like that's okay. That's, that's, that's fantastic. But we still had a conversation and we still got to know each other and, and that's why I do this.
Anna: No, I was going to say, to add to that. I think a lot of what has been interesting, everyone that I have is just seeing that question about like, is it really this natural? Um, I think because we have talked about other things, right? There's a, and we've known each other for a little while, but there's also just a lot of trust that's been built right. Similar than when you get to have those in conversations at in person conferences with people over and over again, right. Which I think is just an important thing to consider as you're building community in general, right? Like actually having conversations with people, um, and being willing to go a little bit below the surface really allows for you to build that, I think is something I've realized. What were you going to say, Keathley?
Chris: I was going, I think there's a, there's a couple I'm trying to track this is so hard.
Anna: Yeah, which question there's so many.
Chris: Oh yeah. Okay. Well, I want to, I want to talk about these, uh, there's a, there's some good ones in here about, um, uh, basically around like what, what do we need to do to make Elixir, uh, more popular? Or how do you sell people on using Elixir? Um, those sorts of things. Uh, so I, I personally, I don't know about y'all, but I get this question quite a bit, um, from people.
Anna: Well especially with where you work, right?
Chris: Yeah. Um, so I get, I get this a lot as far as what do we do to make Erlang, Elixir, the BEAM generally, uh, this whole community, what do we do to make it more popular? I think there's, there's two really important things. One is marketing and, and by marketing, I don't mean like we need to have a marketing budget. I just mean that like marketing for people is, is based completely around, um, oh, how do we say, how do we talk about this? So, uh, people don't make real choices, just like generally, right. They, they make comparisons between things and then they arbitrarily choose one of them based on their risk assessment of those two things. If you want to Elixir to succeed, you need to pick competition that you can actually beat. And you intentionally beat competition that, you know, you're better than so, uh, because then when people, when it comes time to, for people to make the I'm serious, this is how marketing works. Like-
Anna: It's true. It's true.
Chris: That there's literally, so anybody who wants to make Elixir more popular, go buy the book or rent it from your library, Crossing the Chasm and read it and you'll understand how, what we need to do to, to, um, some market Elixir. But basically we need to pick competition that we can actually beat. I don't actually think you can sell Elixir by saying, you know, like by essentially comparing yourself to things that are sort of beating you and.
Anna: Do you have an example?
Chris: Well, it depends on your, it depends on the market you're trying to get into, but I think it's a hard sell to I, okay, so here's one. I don't think you can sell, um, Elixir as a, as like you can get something done faster. If the uh the comparison is to Rails. Um, for most people, for most people. Now, put aside like whether you are or, you know, yourself or whatever, what your own personal biases about how you feel about Ruby. Like people who've listened to show and have listened to me talk before know I have no love lost for Ruby, but like Rails has like billed itself on the, like, you can get anything done as quickly as possible. And like, that's a thing. That's their market. So if you're trying to compete with them on that, you're basically losing because they can sort of always, there's a thousand gems. Like, you know, you'll just, they'll just be better at you when it comes to getting something done fast. Um, and again, you can make all those, all those rationalizations about like, that's not really that important or whatever, but it doesn't matter. If that's your competition, that's how people will view you. Um, so you have to pick a competition that you can win. The good news is that if you're the one in charge of the marketing, you get to pick the competition. So you can pick.
Chris: You pick something that your bet, like you'll obviously beat in that market. And then that's a, that's a way to sell it. Um, more importantly, I don't actually think most of us are going to do that kind of marketing. And so my advice to everyone is like, man, build cool stuff. Build cool stuff and talk about it. Builds, build really cool stuff like, uh, and, and try weird things like try stuff that's really, really out there and go for it and talk about it and talk about your successes and talk about your failures, because I've said this a thousand times, but it's like, I don't think you move the circle of influence by getting in the middle of the circle and pushing people. You move the circle of influence by just going off and making your own circle and making it awesome. And most people, especially pragmatists, just want to be part of a cool circle. They just want to go and like be part of what everybody, like most people in the world just want to be part of doing what everybody else is doing, because it's safe. We're all the weird ones, y'all. We're all the cool people because we're out there trying stuff that no one's trying. And that's an opportunity for us. That's a really, really cool place to be, because it means that there aren't any rules. You don't have to play by their rules. You're already weird. We're already in this weird niche thing. So like, we want it to be safe, go write Java. Like, you know, let's do something totally out there. There's no limits on this because we're already niche. So why not lean into it and do cool stuff? Like we don't need, we don't need to com-play their game
Amos: And then bring a friend.
Chris: Yeah. And then tell people.
Anna: Yeah. And then bring a friend.
Chris: And then, and the key part there is, then you have to tell people about it and share it with people and write blog posts, or like, you know, give a talk or whatever it is you want to do.
Anna: And I feel like if something that you're super excited about that excitement resonates, right? Whether through writing or whether through speaking, like people can tell when people in the community are excited about what's happening in the community. And people are excited about the projects that are being worked on. And I think that just amplifies the desire to move things forward. What were you going to say Amos?
Chris: Along with that was the uh,
Anna: Keathley, hold on a sec. I think Amos was going to say something.
Chris: I'm sorry Amos. You're allowed to talk now. Go ahead.
Amos: I was just saying so that's a way to like grow outside in, in, in the bigger community, by putting stuff out online, talking about it a lot. If you have like a small local community, uh, I've, I've built and grown a few MeetUp groups. And one of the ways that I do it is say to, to get dinner at the MeetUp group, like we usually get a sponsor to provide dinner or a, um, a door prize, but in order to get dinner, you must bring a friend or a can or for a canned good. And then we donate the canned goods. But other than that, you bring friends and then they start seeing all these people talking about it, and then they want to talk about it and they want to be a part of it too. So be friendly, bring your friends. That's a good way to grow a local group of few. If you don't have much of one, like if it's just five people, you can turn it into 10 people. And then 20 in a couple of meetings
Anna: That is true. Keathley, you were going to say?
Chris: Oh, you're fine. There's another question related to that. Which is like, how do you pitch Elixir to your company today?
Anna: Yeah, I was just going to ask about that.
Chris: So I think you have to, we talked about this on the most on, on sort of the most recent episode, but, um, I think you, you have to approach that conversation with a lot of empathy. Like you ha you, you really do need to understand like what your bosses, uh, like pressures are and what sort of decision making they have to go through. Uh, and like, what's going to work for them. I would say if you're coming from a language like Ruby or Python or something like that, right. A language that can do one thing at a time, uh, then like, you're really, you have to, there's a reason they chose that language. Um, and they probably had good reasons to choose it at the time, um, for them, for their decision making. So understanding like what makes that decision making process tick, understanding like how that person analyzes decisions is really, really key. And it goes back to the marketing thing. Like you got to present them with real facts, like with, with data. I was a, I'm able to sell Elixir, uh, for my, for, for Bleacher Report and other companies, because I can sort of say like, here's the literal dollars that we'll save. If we on just VM costs, I gave an anecdote recently, we, we, uh, I just replaced a Ruby thing at work with an Elixir thing. And we went from 50 actual VMs to two ECS tasks. And that's, uh, that's, uh, I'll let you do the math on the guesstimate, math on what that cost savings is. It's a lot,
Amos: And then make sure that you're sharing those stories with people that aren't at your company
Chris: And that's- And if you assume which it would be safe to assume that your development costs far and far and away outweigh the actual like hardware costs, which is true for basically all like companies, you know, you can kind of do a guesstimate on how much you're actually like saving in terms of just time and operations and everything else. So there's huge benefits there. And I think talking about those things in concrete terms are really important. Now, the problem with that is if you just use performance, for instance, well, like somebody will make the arguments-
Chris: That you could do Rust or Go or whatever. Like you could pick some other fast language, you know, and at that point you have to figure out what it is that's going to sell Elixir, right? Like, uh, our, if your problem w you know, needs a soft real time, like that's an easier sell for Elixir. If you really like functional programming, it's a lot easier to sell Elixir. You know, these are ways to like, figure out how to market this, but, you know, if the comparisons between Elixir and Go, which is kind of the one that it typically is, that's kind of the typical one I come across. Like, you have to figure out why, how Elixir can beat Go, and you have to pick the right, the, you have to understand your target audience and then figure, and then make a, make a case for it.
Anna: Well, that goes back to the whole concrete example thing, right? Because even Elixir and Go, like they get thrown around together a lot, but they're actually pretty, they, they have significant differences, right.
Anna: So I think it goes back to like- Exactly. So I think it's like going back to really understanding and providing data, right. To be able to really sell your use case,
Amos: And you have to know your audience and what your particular problem set at your company, how can it be helped with Elixir? And then right back to that marketing. Pick the thing that you can win. But there's, there's a really good book that I think that is, is super helpful. And it's nothing about a specific language it's called Driving Technical Change by Terrence Ryan. Uh, it's from Pragmatic Press, Pragmatic Bookshelf, not Pragmatic Press. And it's, it's pretty short. And it talks about like the different people that you'll run into and what those people need to hear from you. And so different personalities are going to look for different things. And so the big thing is, is that it's not something that you do overnight. You don't switch to Elixir overnight. You don't get your team in on it overnight often. So you have to, you have to do the research and you have to come and be ready to answer the hard questions and even be able to talk about the drawbacks that you see, but you need to be ready for that,
Anna: To the person who asked, Amos, for you MeetUp, if they can donate a friend and get a free dinner. I don't think that's how that works.
Amos: I didn't see that question. That's perfect. I like friends though. If you want to donate friends, we, uh, we can, we can meet more friends. No problem.
Anna: Um, Chris, I think people are probably curious about Finch. If you want to say something.
Chris: Oh, sure, yeah.
Anna: Somebody was like, how'd you decide to work on another HTTP lib?
Chris: Because I don't know what's good for me. Uh, because I, I think because I hate myself, uh, uh, part of it's because I really wanted to, um, I wanted to. I wanted it to exist. I wanted to build an HTTP client around Ment. Um, for a whole bunch of reasons. We rely really heavily on, uh, HTTP, HTTP/2 stuff for our inner service communication at work, having a solution that works well for us that we've really understand and, uh, understand sort of deeply, uh, was really important to us as a, as a business. Um, and so I saw that there was a business need there. Um, and I felt like there was, uh, a chance to, um, just sort of maybe, well, uh, to, to what's the right way to say it'? It's important to note that so Finch has a really specific goal. Finche's goal is to be high-performance. That's, that's actually, its only goal. It's actually much harder to use than a lot of the other clients, um, not appreciably harder, but like it has two functions that you can call on it. Uh, and so it, uh, it, because the goal is high performance, we can make a bunch of trade-offs um, that a more let's go ahead and say fully featured HTTP client can't make, because they're, they're trying to do more things. So yeah, so that's, that was really the main, uh, driver. Um, we wanted to be able to really understand whether or not we were using HTTP/2 , HTTP/1 and have separate pooling solutions for those, because you do need separate pooling solutions for those to really eek out the most performance that you can. And, and, and yeah, and I thought it would be useful. So I, um, I hope it is. I, I, you know, I'm really glad that people seem to be adopting it at this point. I'm not even the top committer on that library. Uh, so like Nico is, he's done, uh, the lion's share of the work on it. Jose helped out with the, um, uh, Quinn has helped out with it. And, uh, so there's a, there's a ton of people involved and Andrea's been involved. So I'm really excited that people are, are excited about it. I hope it's useful for people. Um, but that was sort of the, the reason to do it
Amos: And it, the, the code and the way things are laid out and the way the pooling works is a really interesting read if you're the kind of person who likes to read code. And in my opinion, you should at least look around once in a while at other libraries. So it's, it's got some, some neat ideas in those trade-offs
Anna: The other question that got a ton of votes y'all is like, do you have any thoughts on why really Pragmatic Bookshelf has really embraced Elixir as opposed to other?
Amos: Oh, I think that's a hard one. Um,
Chris: I was avoiding that one.
Anna: Yeah, I know, I know I was just going to put out the hard question.
Amos: Like, I, like, I talked to a lot of the authors and I, um, read books. I'm not an author myself. So, um, take this all with a grain of salt. It seems like Pragmatic Press is, uh, maybe a little easier to work with from an author standpoint. So I think they get a lot of people that way and through their own clout. I know that Manning has, has a few books, um, but, but not quite as many in the Elixir community, but I really do think it comes down to early embracing. So they, they embraced Elixir very early at Pragmatic Press. And from what I hear from authors, they're really probably one of the easiest publishers to work with as an author. So
Chris: Yeah, they're, they're very, they're, they're definitely easy to work with. I mean, it is worth knowing, noting that there are O'Reilly books out there there's they are Manning books out there. You know, one of the best books on Elixir is, is a Manning book
Anna: Sasha's book?
Amos: Elixir in Action.
Anna: Elixir in Action is a great book.
Chris: Yeah, that's one of the best books in the ecosystem and it's, it's a Manning book. So there are other books out there and obviously like, uh, you know, Francesco's books are, are, are O'Reiley books. So there are other companies, uh, you know, um, who are adopting it. I think, I think in a lot of ways, the, Pragmatic really wanted to corner that market. And I think they did to some degree, um, I think they have a really good setup for their, for their writers, from everything I understand. They, they, I mean, it's, it's, uh, it's pretty easy to, to, to write for them and you actually get a pretty sweet deal like relative. Uh, and, um, it's, I think it's a bit of a rich get richer situation. Like if you go, if writers, you know, oh, let's be clear, all these writers are developers, right. Uh, and if you make it really easy for them to write a book, as easy as it could be to write a book, everything I've heard is that writing a book is not easy.
Anna: It sounds really hard. Yes.
Chris: You know, if you can, if you can make that really easy. And then they tell their friends like, hey, it was really easy to go with prag. And then, you know, that is sort of, uh, it just snowballs from there. That's my, that's my guess on it.
Amos: We have a fluff question.
Anna: What is it?
Amos: Is this the first time that we've done a live show or live podcast? No.
Chris: Uh No. It’s not. Uh, typically I think we've done a handful of these at different conferences .
Anna: It’s the first time we've done a live virtual podcast.
Amos: Right, yeah. On video. But we, we've done three live podcasts at, at, um, two at Gig City Elixir and one at Lone Star Elixir. So they've always been all of our live things have been connected with some kind of conference. I dunno. Maybe we should do one once in a, while, not connected to a conference.
Chris: We've talked before about doing live recordings of the show for people. I, if people are interested in that we could, we could talk about it at, you know, and maybe pursue that, but it's never, never really leaned into it too hard.
Amos: We did do a live show with the Elixir Wizards, though.
Anna: Oh yeah!
Chris: Cause they do live shows pretty regularly.
Anna: We did that. Um, that was pretty fun. Oh, there's a follow-up to the question about picking your battles, how to convince developers, whose primary concern is developer quality of life, rather than, rather than writing maintainable software.
Amos: I want to know what they mean by developer quality of life.
Anna: Yeah, I’m curious.
Amos: Cause that's, that's some people it's their quality of life is based on, I only work eight hours a day or do they mean like it has a nice test suite or I like this language. So that, that one's a hard, hard one without more detail, to me.
Anna: Yeah. I was, I was, I was thinking the same. Oh, go ahead, Keathley.
Chris: Well, I, I think along those lines, like everyone's always going to have different viewpoints on what quality of life is, right? Like, like that's just, that's a, that's a feeling thing more than it is a knowable thing. Um, like an objective thing. Um, those are all sort of like personal opinion. Uh, you know, I tend to call those things like, uh, I don't know. Uh, they're, they're not, those are not tractable in, in most ways. Like, does this make me feel good? And um, you know, I'm here to tell you, like I do plenty of things because they make me feel good. Like, I, I, you know, I, I, I code in specific ways because of however much experience that I may or may not have, uh, doing this has taught me these certain idioms that I, that I like or whatever. And I think all that you have to hold intention with each other and you have to pick, you have to pick the stuff that matters. Like you can't pick all the things, you can't pick all the hills, you can't take all the hills, you only get like one hill. Um, and so when you pick a hill, it needs to be like a really, really good.
Anna: Or maybe a couple hills.
Chris: So, uh, an example of this for me is like, I don't like the formatter. I just don't. And I've gone on record as saying this before. Not that I don't like, it's like, whatever, it, it exists. I'm not mad that it exists, but I don't use it on any of my open-source stuff up until someone else wants to work on it and they do. And then I just don't fight over it. Left to my own devices. I don't worry about it, but it's not a, it's not a hill that I'm going to take. Um, because it's just not, that's not worth it to me. Like if I'm going to argue about a thing, it's going to have to be like a really, really meaningful thing. And I think that goes, you can extend that argument across technology choice, uh, you know, down to minutia about how you name variables, right? Like, you know, all of those decisions, you only get a couple of them, right. And so you have to weigh what it is that you're, that you want to really fight for. And at some level, like maybe you let a bunch of stuff go-
Chris: because, because it's more important to get this one thing.
Anna: Well, and it's not worth wasting the time, right. Because there's only so much time. And if you are actually trying to get things done, you really do have to choose what are the things that you, otherwise you spend all your time arguing about things that really aren't gonna make that big of a difference in the end, right. More often than not.
Chris: Yeah. Everybody's just got a certain amount of mental capacity for that stuff. And if you, if you burn it out, like you're not, you don't have enough left over to keep, you know, to get the big stuff that you want.
Anna: And I think when we say like maintainable software, like that's such a big term, right? Because it's like, it takes a group of people being the same page and collaborating together to actually deliver a thing and keep it going for it to be maintainable, right. And also having functional working relationships with those people, right. And having trust with those people is important to actually being able to get things done. And so I think being careful about picking your battles, right? Because if that erodes over time, like nobody can do it on their own. We've seen, you know, delivering software, you can't do it as a single human, especially at scale, right. And have it be maintainable as anybody who's done any kind of open source or community work by themselves knows. So, and I think that's a valuable point.
Amos: You, you, you said maintainable twice. Um, and that is like the biggest quality of life thing for me is, is do I get phone calls all the time? Am I constantly fighting bugs? And the BEAM gives me a lot of ability in, in the supervision restarting, uh, area of the, to keep me from getting phone calls. But I think it's less of like, they give me the tools that I like to use, but ultimately that is more about spending time thinking about where the problems might actually occur and how to handle problems that you're not, maybe you don't know are going to be there. And so it's more about thinking than the technology itself and spending more time thinking. The older I get as a developer, the more I think and the less I type,
Anna: How are we doing on, um, on time y'all? I saw. Okay.
Amos: So does that mean everybody's going to get to turn on their video?
Anna: Yeah. Party time! Uh, that was super fun. Thanks for listening to us, y' all.
Amos: Yeah. Thanks for joining. Thanks for all the questions and.
Anna: Yeah, the questions were great.
Amos: They were awesome.
Anna: Y'all got to hear Keathley's opinions.
Amos: Live and unedited.
New Speaker: Thank you very much. Thank you for listening.
Chris: It's always stunning to me when people tell us that they listened to the show and I'm like, why
Anna: People tell me that they listen to Keathley talk for 45 minutes? No, I'm kidding.
Chris: Whoa! But I do it, but I really like, I sincerely really appreciate it. Cause it.
Anna: No, this is true.
Chris: It's, yeah, it always is fun.
Anna: Yeah, we all really appreciate it.