The Elixir Outlaws now have a Patreon. If you’re enjoying the show then please consider throwing a few bucks our way to help us pay for the costs for the show.
Episode Transcript
Amos: Welcome to Elixir Outlaws the hallway track of the Elixir community.
Justus Eapen: I don't know. I don't actually television-
Anna: Neither do I.
Justus: So I don't actually know the reference that I'm referring to.
Anna: He's trying. He's really trying.
Justus: Like have you heard of Thomas Payne?
Amos: That's a good thing though.
Anna: Yeah.
Justus: I agree.
Anna: And it doesn't seem easy.
Justus: Hello.
Amos: Hello.
Justus: Hello.
Anna: Now it’s on.
Amos: Thanks. Anna had to teach me how to use electronics. I have the wireless.
Justus: He's got the wireless.
Anna: Fancy.
Amos: That way, whenever I start coughing and sneezing, I can walk away over there, away from you. Does that sound good?
Justus: Amos is the Corona virus and we are here for it.
Anna: Oh my god let’s not-
Amos: Maybe.
Justus: We are here for it.
Amos: You wanna get closer?
Anna: Justus is worried cause he has to go to the ball room soon, so
Justus: Zacky said don't kiss me.
Amos: Rotate the cup a little bit. Hey, we'll advertise.
Anna: Oh yeah! Gig city Elixir!
Amos: I purposely put the, the drinking part of the lid so that, that it would face out.
Anna: Look at your product placement.
Amos: I was thinking I was thinking. So, no, actually, uh, that's a good thing. That's pop culture reference. Not, not, uh, not imbibing in modern pop culture very much. I haven't had TV since 99.
Justus: But you're imbibing.
Anna: You don't, really.
Amos: You're not really.
Justus: I don't, I don't.
Amos: Well good thing this is coming out on video. Everybody's going to be able to see your eyes.
Justus: You guys you've made a terrible mistake by letting Eric have a baby this morning.
Amos: Yeah, Congratulations Eric! Eric left at, what'd you say 4:00 am?
Anna: 6:00 am? No, he had a 6am flight, um.
Amos: 4:30 am. Uh, he got a call that he's having a baby. So he took off. And he was supposed to be in charge today. So if it's bad blame him.
Justus: Are we live ?
Anna: Yeah, I think, we went live a while ago.
Justus: Really?
Anna: Yeah. This is just how we, how we roll .
Amos: You just start talking.
Anna: This is the show.
Amos: This is the show. Is this the show ? See, we're on video that makes it official.
Anna: This is the show.
Amos: Here. Gig City Elixir, next conference you're going to.
Justus: So on our show, all of the best conversation happens right before we press record. So you guys are doing this, right.
Amos: Oh, we start recording before we get on video.
Justus: Yeah. I think that's the right way to do it actually. And I wish that we would, but people are very touchy about like, if you're recording or not recording.
Anna: Oh yeah. We usually, um, well, half the time we forget, we're supposed to clap at one point or another-
Amos: Oh yeah, for the editors.
Anna: So that our editors know when we get started.
Amos: Well this time they're going to have video. So they'll be able to sync all the audio. It'll be all right.
Justus: Have you noticed how hard it is to clap when you're holding a mic in one hand?
Anna: Yep.
Justus: Bruce is over here like demonstrating how it’s done.
Amos: Don't clap. Don't clap the mic. So this is, this is just a, a secret to all speakers. Don't tap on a microphone ever. Please. Please. I don't know- how many people are even in this room? Like three?
Anna: No, there's more than that.
Amos: These lights are bright.
Anna: I really appreciate all the people who got up super early-
Amos: I do. It's way too early.
Anna: To come listen to us ramble.
Justus: First cup of coffee. But can, can you explain why?
Amos: Uh, so a lot of microphones work with this little bitty thin piece of metal inside, like really thin, like hair thin and that's what vibrates and induces a current. And when you tap on it, you break that.
Anna: Oh.
Amos: So you're ruining the microphone for the long-term.
Justus: So is dropping a mic, like actually not kosher?
Amos: Its really bad.
Anna: Probably really bad for the microphone.
Amos: Yes.
Anna: Justus was like, should I try right now?
Justus: You know, it has to happen at the right moment. I have to say something meaningful.
Amos: And good mics are expensive, so please don't drop the mic.
Anna: How was the conference for you yesterday Justus?
Justus: It was terrific. Uh, just absolutely exquisitely executed. The speakers really went out of their way to, uh, be on time, which was my only concern going into it. And they somehow managed to- almost all of them, except for a very limited selection came in right under time.
Anna: Don't look at me.
Justus: I didn't look at you.
Anna: I came in under time.
Justus: But no, it was absolutely excellent. Everybody was wonderful. You gave an excellent talk and uh.
Anna: Thank you.
Amos: The MC killed it.
Justus: Wow. Wow.
Anna: Yeah, MC killed it.
Amos: Yeah. He's amazing. And then you can see pictures of him in the hallway on the right hand side as you walk out of here.
Justus: Are you talking about Dracula?
Amos: No, the Elijah Wood,
Justus: Elijah Wood. Are you saying that I'm Elijah Wood? Is it because I’m short?
Amos: You guys have the same mustache.
Justus: It is because I’m short?
Anna: No.
Amos: No, it's the mustache. But now that you mentioned it-
Anna: I mean, I'm 5'1, so to me, you're not short if that that helps.
Justus: Yeah. So last night at happy hour, I walk up to Anna and Akuna and they're both like 4' 10, maybe almost 5'1. And I was like, oh, this is what short is.
Amos: You're insensitive. (joking)
Justus: You don't know what short is Justus. Sorry. I'm sorry.
Anna: Everything's relative. It's fine.
Justus: That's true. Actually it is.
Anna: So what were favorites from yesterday's talks? What were highlights?
Amos: They were all good.
Anna: I know they were all good. Highlights.
Amos: Zach's talk was pretty awesome.
Anna: For the people listening, Zach's talk was about-
Amos: The frog in the well, and I missed the very beginning of that. So if somebody wants to- cause I didn't follow your directions, you said to be here- If you're on time, you're late. This is the same thing that I had when I was in the military.
Justus: That was actually my football coach from high school.
Amos: Yeah. It's a military thing though. Like when you said that I was like, he's in the military and then you said he was in the army.
Justus: He was in the army. That's right.
Amos: Yeah. And, and so I didn't listen to you.
Justus: Wise.
Amos: Um, so I was, I was, I missed the very beginning of his talk, like, like one minute and, and it seemed important. So can you tell me the story about the frog in the well?
Justus: So Zach's talk was on how do we know when we're on right path? And the answer in short is if you're having fun, then you're probably doing something right.
Anna: And if we can optimize for that, right. And listen to that, essentially like thinking that argument was also like, if you are enjoying what you're doing, if you're having fun, you're probably actually also going to be more productive. And so if you have the opportunity to cater to that, then listen to that.
Amos: I know that he asked, he said that he asked a lot of people. What is the most fun that they've had writing software. So I'm curious. What, what about the two of you? What's the, Anna we'll go with you first, what's the most fun you've had writing software?
Anna: Um, it's a really good question. What's the most fun I've had writing software ? In the most recent past, I think the most fun I had was actually working with a client on this- I was really into like, not into, but really interested in the technology behind blockchain stuff for a while. And so we were helping them build out this institutional trading platform for blockchain. And then I tried to implement some of that stuff in Elixir. And it was just fun for me to try and do that as an exercise. Um, I don't know. I think when I'm interested in a problem and I just have the time to play, it's really fun.
Amos: Nice. How about you Justus?
Justus: I don't think I've ever had fun writing- No, I'm kidding. Uh, the most fun I've probably ever had. He's like, he's like, that's not the answer.
Amos: How? How?
Justus: Um, yesterday the one that occurred to me yesterday when we were thinking about this was when I first joined Smart Logic and uh, we had, uh, a task to write like a, like an activity feed for a client. So you've got all of these different types of activities coming through. And so you have to sort of generate the language around an activity like a user did X or a user wrote this document. That came to mind immediately because I was completely naive. And so I had to implement it, but I was like, what would be like the most fun way to implement this? And then I did. Three years later, I'm maintaining this and it's absolutely a nightmare. So that kind of goes to tell you that maybe this doesn't always work out exactly like you'd expect, but yeah, absolutely, uh, this activity log that we wrote, I really enjoyed it .
Anna: By the way we have, we didn't make this clear to everybody and Bruce just knows, but we have a fourth chair for anybody who wants to come on and also share their thoughts about whatever we're talking about or whatever thoughts you'd like to share. So-
Amos: Please come take over the show.
Anna: Yeah, please come take over the show.
Amos: It makes our job super easy. Although we just talk, it doesn't matter. It's not that hard.
Anna: Bruce, do you have a story?
Bruce Tate: Yeah, I do a couple of them actually. Um, the first thing was, I think I associate fun with a rapid turnaround time and I really enjoy programming when I can, um, iteratively start attacking a problem. So there was a point in time when I was on a tour with the great Stu Halloway and, um, we were talking the, what it means to speak publicly. And at this time everybody was throwing up walls of Java code and kind of reading down it. And, um, you know, PowerPoint was the thing and PowerPoint templates were a thing. And I had given my first talk without any kind of backup at all. And it was a live coding talk. And coincidentally, it was when I moved over into Ruby. And so that was, that was big for me because it allowed me to just do a whole bunch of tiny scientific experiments . Hypothesis and you know, immediate result and, and, and that feedback is just a blast to me. So I'm noticing that happened for the first time around Ruby. Cause we're kind of doing the Groxio thing, it's we, we, so I write some text and then I do some live coding and video and you know, it's, it's making a lot of mistakes, but fixing those mistakes in real time is a blast for me. And, um, so, uh, I was, I was doing one of those videos and I'd finished it up and Maggie starts bursting out in laughter. And I said, what are you laughing at? Um, who's that painter that says the fluffy little cloud?
Amos: Bob Ross.
Bruce: She said, you're the Bob Ross of programming.
Anna: That's awesome.
Justus: I can see that actually.
Amos: Happy little mistakes.
Anna: Does anybody have any stories they want to share?
Amos: I'll tell mine.
Anna: Oh yeah, Amos. Sorry.
Amos: So I actually thought about this a lot yesterday after his talk, there were a lot of things that popped into mind right away, but after a little sleep and some NyQuil, um, which really helps thought process, the mentoring people has been the best time that I've been programming. Like I love learning and digging and playing, and those are exciting times, but the things that really stick with me, it was like it's been many years ago at a Ruby group that I was running and Crystal Martin who, um, helps run Strange Loop. She was a math teacher at an inner city school at the time.
Anna: She's amazing.
Amos: Um, yes, she is. She's- and has the best hair ever.
Anna: And that. Yes.
Amos: And she showed up- she had never, never programmed before. And we were splitting up and pairing and trying to implement a linked list in Ruby, assuming that a raise didn't exist. And we did it with TDD. And the whole exercise was actually to look at everybody's test suite afterwards, not, not the necessarily the code, but the test suite, I guess that's still code too. Whatever. Uh, and Crystal had never developed before. And I was like, you, you can be my pair. And at the end of it, she was writing tests and, and understood what a linked list was just in like 30 minutes. It was amazing. Uh, made me feel really good. And, and that's what it's all about, right. Having fun, being selfish slightly, but giving, giving to people to be selfishness is awesome.
Anna: Great, unrelated story about Crystal. I was at a conference and I was giving a talk, actually, I've teaching a workshop about Elixir at a Women Who Code conference a few years ago, actually. And it was a really short time slot and there's a really densely, condensed, it was a really dense workshop. And I was like, oh my God, how am I gonna do this in enough time? And I think I must have relayed some of my nervousness as I was teaching because Crystal was like, stop worrying. You're doing great. This is awesome. We're all learning so much. I was like, oh, you were awesome. That was so helpful. So anyway,
Tim Mecklem: Hi.
Anna: Hey!
Tim: I'm from Cincinnati, Ohio. I think the most fun that I have and maybe the most productive that I feel when I'm programming is when we're learning something new like together. And so what Bruce said kind of resonated with me, um, whenever I'm learning a new programming language, I do this kind of quirky thing where I try to implement some of the rules of the game Settlers of Catan in it. And so we modeled some of the pieces of it and we just have a lot of fun doing it. And some of the first Elixir code that I ever wrote was one of the hardest problems I think in Settlers of Catan, which is trying to find out who has the longest road, because they can loop, they can cycle back. It's like a graph problem. And we solved it. And like four hours when we were just having this day where everybody could kind of explore a different problem. And I remember walking away from that thinking, there was no way we were going to do that. And I'd worked on it with a one of our junior developers at the time. And she's amazing. And we just had this great, great connection at that point. And I felt like that wasn't code that I ever was going to ship to production, there isn't like, I mean, I, if I did, I probably would get sued, right. Cause its Settlers of Catan. But, um, we had so much fun doing it and Alex and I, we just, we connected in a way that you don't normally get to do when you're shipping production code for like a client, or if you're working on a product, you can go really deep on problems. You can, you can have all those meetings where your story point estimating or whatever it is that you're going to do to try to figure out how to deliver. But sometimes it's just that playing where you learn something and it unlocks the door for you that, that later on, you're like, man, that was, that was it. That was like the pivotal point where I picked up this new language and I really ran with it. And it's just a lot of fun.
Justus: This was someone you knew prior to writing the code?
Tim: Oh yeah. We worked on projects, we were on the same project together. And so, um, it was just a different kind of a connection. That's a different kind of social connection that we made just because we were playing around with a new language and we didn't know what we were doing.
Justus: Deeper than you would have had otherwise?
Tim: Oh yeah, absolutely.
Amos: So a lot of these, the stories seem to have other people involved. It's not like I was having fun when I was sitting in the basement of my house not talking to anybody. They all seem to have some interaction. I think that's, that's kind of important. Even if we're like introverted, it seems like working with a team, um, brings something out in us.
Anna: And it also seems like a lot of these stories have this component of discovering something with somebody else, right. Like learning something together, which I think is interesting, like that concept of being able to discover and do that with somebody else.
Amos: I should get with Tim. He can show me how he solved this graph problem. We'll do settlers of Sensi.
Justus: So I've never been on Elixir Outlaws before? Is this how you normally do it?
Anna: Yeah.
Justus: Just-
Anna: Yeah.
Justus: Have a conversation.
Amos: Yeah. Shoot the breeze .
Justus: Its very much- it's so relaxed.
Amos: Every once in a while it becomes about Elixir.
Anna: Yeah. Every once in a while someone will be like, oh yeah, I want to talk about this thing. Like, oh yeah. Let's talk about that.
Amos: Yeah. That'd be a lot of times it's just like what our kids eat for breakfast.
Anna: Or Keathley, depending on how much coffee he's had.
Amos: Yeah. Sometimes it's the Keathley hour.
Justus: I feel like he thinks. it is. Yeah. Wow.
Amos: Uh, Keathley is also at home, um, with, with, uh, kids. So also being a father just like Eric. So that's pretty awesome.
Justus: Did we kind of explain that at all? Like-
Amos: Did we explain that after we get on the microphone?
Anna: No.
Justus: We, we mentioned it. I feel like we dropped, I don't know if I should say, but Eric would be here and Eric, I'm sure, would be doing a much better job than maybe cause he's just better than me at everything. But, um
Amos: Being taller.
Justus: Taller, better looking, smarter. Like Eric's like the better half. Um, but yeah, he woke up this morning, I guess at five. I'm looking at Dan for a little bit of feedback here.
Amos: 4:30.
Anna: 4.
Amos: Four o'clock.
Justus: Four. Yeah. It was very early in the morning and he caught a flight and went back to Indianapolis because his wife is having a baby. And it's one of these things that the unexpected moments in life. And sometimes they're awful and sometimes they're absolutely beautiful blessings and I'm like, I'm kind of living in that right now. I'm really thinking about that at this moment. And just enjoying that idea that Eric is probably having the single best moments of his life maybe not right the second, but like shortly, very shortly.
Amos: And this is Eric's first baby. And Eric talked about having, uh, X venture too, I can't remember the name of it, um, yesterday.
Justus: Kalevala.
Amos: Kalevala. So anybody who's interested in giving to open source, pretty sure Eric's gonna need a lot of help coming up soon.
Justus: And he does have a Patreon. I am a Patr- a patron, a patron, a patron of his Patreon. Everyone should, should definitely hook Eric up because now he's going to need diaper money.
Anna: Bruce, did you, would you want to share something?
Bruce: Yeah. Yeah. So I love this, this discussion of community and it kind of brings me back to kind of the bittersweet last session yesterday when, um, when we got to, we had an open chair session and talked about the late Joe Armstrong, but not from the perspective of what we miss, though we miss them. But from the perspective of stories. And I was thinking a lot last night that we are a community, a profession about stories, about user stories, about, about, you know, the stories that, um, you know, languages are created because of painful stories, right. You know, great inventions have stories wrapped around them. And um, you know, if you don't capture them when you capture them, they're kind of gone. But so, um, and I was also thinking about, as Tim was talking about the longest road problem, you know, that's a, that's a Prologue deal, right? So prologue is all about grass. So kind of seeing that open road, you know, from, from Prologue to, you know, Joe's ideas around Erlang and from Erlang, that excitement leading to, you know, seven languages in seven weeks and then to Elixir and then from Elixir to Tim's desk, with his mentee and, um, you know, kind of working on the longest road problem. They said, hey, we knocked this out in Elixir partially because it's a language that's perfectly shaped to solve the longest road problems, you know, with a, with a, for comprehension. And you'll all the possibilities and, you know, kind of, um, recursively tracking back. I mean, it just, it kind of hit me that, um, that, that was kind of a, a beautiful tribute to Joe and, in an interesting one.
Amos: And now with the story about Joe, you've made me want to get on Groxio and do the Prologue stuff on there.
Justus: Oh, there you go.
Anna: Yeah, that sounds rad. That'd be really cool.
Amos: I once had a brush with Joe. Um, yeah, I didn't actually meet him. I got invited to a barbecue, uh, when Joe was at Strange Loop one year and, uh, had a sick kid and didn't get to go. Uh, and so I just got lots of stories about Joe from the background and it was pretty amazing. Apparently he took over the barbecue.
Anna: Not surprising.
Bruce: He takes over. That was, that was every meeting with Joe, you know, it's like we, um, so I remember, um, walking, there was this, uh, tradition at the EUC , or the Erlang User's Conference, in Stockholm every year, but there was a tradition that you did an Erlang walk, right? So you would walk the, um, the streets of Stockholm and see the narrowest alley, you know, the oldest bar and, you know, you kind of stopped at a stop at a lot of pubs. So there was this thing that we call the, the Joe trajectory because he would, when he would get into a conversation, he would start leaning your way and you would start moving at an angle, right. And, um, you know, but that was because he was so intensely interested and the conversations, he was a hundred percent invested and the conversations that he was in, um, whether it's, you know, just lowly guy that, you know, you know, I didn't know anything about, about Erlang, but he was like a hundred percent invested in me and in the seven languages project. And I think that that's part of his greatness.
Amos: To me, this sounds like at some conferences we should start having Joe Erlang walks. And just like, as an after hours thing, just go for a walk and see the city.
Bruce: Yeah. Above the pub or something like that.
Anna: Oh I like that. That's awesome.
Justus: I never met Joe Armstrong, but yesterday during that session, and it was one of the best sessions at a conference I've ever seen. So authentic, so genuine. It gives you something to aspire to in a way that I've never really had at a conference before. You know, you get a lot, where you get a lot of how-tos, but you never get out what to, and Joe that, I don't know, what'd you call it a memoriam, an homage. That was something to, like a what to, like, I want to be one day like that. If I pass, I would love for you guys to be sitting here and telling stories about how we spent the time together.
Amos: Don't make it any time soon though, okay.
Anna: Yeah.
Justus: I hope not.
Bruce: Yeah. I mean, I agree. So I think a couple of things, uh, struck me last night. Um, you, one of the things is that magic happens when you break the mold. I remember when you guys, um, the Outlaws had the open chair and we had Brian Hunter's daughter, what was her name?
Anna: Oh man I'm forgetting.
Amos: Starts with a Z.
Anna: Yeah.
Bruce: Oh gosh, I'm so sorry.
Anna: I'm so sorry, Brian Hunter,
Amos: Yeah, your daughter's amazing though.
Anna: She's amazing. At Gig City basically we had an open chair and she's how old?
Amos: 12 or 13.
Anna: 12? And she came on and basically just took over the show and it was amazing.
Amos: And did a fantastic job.
Bruce: We were, we were all kind of, um, you know, in parts, like laughing, crying, and, you know, just, she, she was just, she had such an amazing presence and then, so good things happen when you break the mold. So we took that model and, um, we thought, you know, the main thing that Brian and I were thinking is that when these stories are gone, they're gone, right. And, um, so, and also that, um, that as a community, we've lost something and we've gained something and we need to sit down and, um, kind of deal with that and wrestle with that together. So, um, so I think that the idea that, um, that a talk has to be 40 minutes, that it has to be something that's backed up with slides. One of the things that was great yesterday was, um, in Zack Thomas's talk, um, he says, well, I'm going to show these pictures of the animals, right. And that's not the talk, right? This is the talk, that's the emotional connection. Um, and breaking the mold of the talk I'm here with, uh, with, uh, with a podcast, um, uh, or the open chair. Um, I think that those are great things that we have, we need to think harder about.
Justus: I can confirm this idea of breaking the mold being the times where you really do something amazing. I mean, yesterday I plugged our podcast several times and because we did an unusual episode where, uh, our guests didn't show up, he had to reschedule at the very last minute. And so, and Todd Resudek was co-hosting, which he periodically does. And so we said, hey, let's just see who's online on the Slack and invite them to come on the show for like a real quick interview. And that episode yesterday did more downloads in a single day than any episode we've ever done, including Jose Valim's that totally blew it out of the water, uh, you know, uh, several weeks ago. So I think that absolutely kind of coheres with both what you were saying, that when you try something new, you're rewarded for it occasionally. And in this case, you know, I hope that you guys, I hope this right here is like record breaking for you.
Amos: It will be, we have you on here.
Anna: Yeah. How could it not be Justus?
Justus: Dan's laughing. He's like, he's like, yeah, no one's, Amos, you're totally off.
Amos: It's always nice to have coworkers in the audience that know you well.
Justus: Dan has been on the show, uh Elixir Wizards, a number of times. He's, uh, he's one of my regular recurring guests.
Amos: Nice.
Justus: Yeah. We're still trying to get you on Amos.
Amos: Nobody's ever, nobody's ever emailed me. Like you got Chris on, you have Anna on.
Anna: I haven't been on yet. Next week.
Amos: Oh, next week. I knew it was scheduled.
Justus: Oh we've been trying to schedule Anna for like, I don't know, months now. We've been trying to get her on the show.
Anna: It'll be fun. I'm excited. Really fun.
Amos: She's always traveling. That's why she's never on our show.
Anna: Just recently. Not, not normally.
Justus: Can you can tell us about that a little bit.
Anna: What?
Justus: Patagonia.
Anna: Oh, it was amazing. Um-
Justus: You were in Patagonia and now you're wearing a Patagonia.
Anna: Yep. Yep. Um, I was, it's , long story short. Um, I had been down there a couple of years ago and it's just an incredibly beautiful place. Um, and my dad was like, I really wanna do a backpacking trek and he hasn't done one since he was like 20 and he's pretty fit. Um, but now he's in his sixties. And the nice thing about Patagonia is that it's incredibly beautiful, but it's at elevation. So it makes trekking easier. So I was like, oh, let's go. So I did it, it was like five day trek with my dad. It was awesome. I think he really enjoyed it. Um, is there anything that y'all are really, really excited about with regards to the Elixir community right now?
Amos: I wasn't prepared for this question.
Anna: That's okay.
Amos: I'm just going to look this way.
Justus: We were talking about talks that we really liked and Jason Stewart's talk yesterday on rendering, I think was maybe one of the best conference talks I've ever seen. It was so clearly articulated and he was really focusing on the algorithm of rendering. Uh, I know that this maybe is a little bit of a tangent as far as yeah, like, am I excited about Elixir things, but he mentioned at the very beginning, you know, we have this preconception that Elixir isn't necessarily the best language to do a lot of things, especially around anything that's performance oriented, you know, if it's gonna potentially be computationally heavy, um, and Keathley actually will go on and on and on about how that's like a false preconception and how like we should try it. And I agree a hundred percent, and that talk to me, like from the beginning of the talk, when he made that claim that, you know, don't not build something in Elixir because you think it's not going to be performant for whatever reason. Cause I think it's actually like outlandish to, uh, assume. Yeah. From the, from the beginning, when he made that claim to, uh, through all the way through every single step of the way, he was just very clear. He articulated a very complicated subject in a way that I think now if anyone ever asked me, how do I build a rendering engine, I'm gonna be like, I have the talk for you.
Amos: Yeah I, uh, um, that, that whole renderer that he made is, is up on GitHub. So if you're -just want to play around and, uh, see if you can eat some performance out of it, cause I'm sure there's something you could do. Should she just pull it down and play with it. It's pretty interesting.
Anna: Uh, I did it really to echo Justus what you were saying, I did really appreciate the point that he was making around like just don't be- And I think a couple other people have in other ways yesterday made this point, but like, don't be afraid to try the thing, right. Like even if it's like, oh, this should not work. It doesn't matter. Like, don't be afraid to try the thing cause maybe you're wrong about that assumption. And that even goes back to a lot of stuff, like, goes back to Joe, right. He was never afraid to like try an idea or suggest an idea or a test it out, no matter how bonkers it sounded, right.
Bruce: Yeah. It's really cool. There's a, um, in London and, um, Code Mesh London and shout out to Francesco for pioneering, a lot of the ideas that we kind of steal and, you know, put it into conferences. But, um, so, um, Joanna, um, gave this talk about, um, about actually eeking all the performance out of, um, string based computation where, um, you know, she actually did it in ETS because ETS is, as you know, a something that you can, you can update. So you can actually see, um, a scenario where machine learning type things could happen by wrapping. Um, I dunno, C, or Rust structs, um, and, and getting the performance out that way. Um, and that kind of leads me to the things I'm excited about. They're all about things that, um, that go all the way back to José's first goals from Elixir, that if we take care of developers, if we make Elixir a productive, explicit environment, then you can have an extremely fast closed development loop. And I think that the most exciting things that are happening are, you know, Justin, um, gave a great talk about Nerves and about where that's going and about how to reign that in. And, um, you know, Chris, um, McCord, we love you, Chris. It's, um, been good to have you here. But, um, the things that are happening with LiveView, it hasn't reached 1, 1.0 yet, but, um, it is radically, radically productive and you can see things changing on that front. Um, and you know, Chris Keathley um, has like a wonderful experiment going on with, with this norm, um, wrapping layer. Um, and to me, this is like the conversation that I overheard with Joe and David Turner. It's breaking the mold of what, you know, is it typing that's an interesting? Or is it that we're enforcing a contracts and explicit contract that's interesting. Um, but all that stuff is cool to me.
Anna: And I think it's really awesome to have people in the community that are willing to like, and have the vision to like, it's, it's a balance, right? You want to make sure you have, I know there's always a balance between wanting to make sure that you have support for the community and a stable enough environment to work in, but it's just as important to kind of push that vision forward and push the mold and not be afraid of like looking at new ideas and being open to new ideas so that things can move forward.
Justus: Uh, someone from the community, I think a newer member of the Elixir community, but someone who clearly had programming experience, uh, came to me yesterday and they said, you know, what are the needs? And we had actually asked this on the podcast, we had asked, you know, what is an open source library that needs to be made that hasn't been made yet? And we got a little bit of feedback and the, I think the most interesting idea that came up was we need to have a Pandas. If you guys know Pandas and Python, it's like a tabular manipulation library. Um, they said we didn't have Pandas in Elixir. And so I told him this and he like bit, and he was like, I think I might do this. And if he does, I'll be super excited to see where he goes with it. But, uh, I think the point is that there are these opportunities that still exist, especially in the machine learning space, especially in the data manipulation space. Uh, you know, we don't really have the tools yet to do a lot of the underlying things that you needed to do to do machine learning, but we should. Uh, Jason Goldberger has got a great library, Annex. I don't know if you've ever played with it.
Amos: I have not played with Annex, but I did go to his talk at Elixir Conf on it. And it's pretty cool. Um, just most of the AI stuff that, that is already out there that I, that is available. That's what kills me is like I get, oh, I got Python. It's already built. I don't have to deal with it. So, um, and you can call it to Python pretty easily. So that's where, uh, I haven't used it, but I think that the way that Elixir communicates it could actually end up being faster than the Python, just by spreading out that load pretty easily. Um, and not having the translation layer because I'm still using Elixir to talk between the two, but I'm pretty excited to see how far he actually takes that.
Justus: Yeah, me too.
Anna: Wasn't there an effort at one point, I don't know if that's continuing, to have like TensorFlow, bindings in Elixir at one point in time.
Justus: That exists.
Anna: Yeah. Okay. That's what I thought.
Justus: There's at least two TensorFlow wrappers in Elixir. Um, I think one of the most interesting projects and this almost came up yesterday, uh, there's a book someone wrote, I wish I could remember their name. Um, it was Neuro Evolution in, in Erlang. And so they were doing genetic algorithms in Erlang, which I think is sort of an underexplored field of machine learning. Um, and then somebody had taken the, basically the tutorial that was this genetic evolution book in Erlang, and they had done it in Elixir. So if you look online, you'll find, I want to say, I want to say if you Google like DX N N which I'm not exactly sure what that stands for, but, uh, you'll find genetic algorithms both in Erlang, which I think is sort of the underlying book and in Elixir as well. So yeah, I mean, that's definitely underexplored. I think genetic algorithms are super under explored. I'd love to see more of them in the community.
Amos: So we're coming up with all these ideas. Where do people come up with their ideas to do open source projects or to play? I know John gave the talk yesterday where he built an ATM machine for his kids. Um, so you got some inspiration at home. Where else do people get inspiration? (Whispers) Somebody come find the chair.
Anna: For those who have come in recently there's a fourth chair. If you want to come up and share, don't feel obligated, but -
Amos: (still whispering) Oh, feel obligated. Yeah.
Anna: Where have you come up with some of your ideas?
Amos: I'm just going to be quiet until somebody takes that chair.
Anna: Okay. An awkward silence. We can do that.
Amos: I usually get my ideas from other people. Here we go!
Anna: Good morning. Thank you for joining us so early and thank you for your amazing talk yesterday. I really enjoyed it.
Amos: Oh yes. It was inspirational.
Melvin Cedeno: Thank-you.
Anna: Well, and I think it's really important, right? I think like more people, like, I think we need to talk about that stuff more.
Susumu Yamazaki (Zacky): Thank you, thank you. I don't know, but-
Amos: Those are great burritos, aren't they.
Melvin: They're great. I am eating but like- alright, ready. I don't actually have any ideas, but I, you pointed at me and now I'm up here, but I would love to talk to you guys.
Anna: Yeah.
Amos: Perfect.
Melvin: Um, there was a couple of conversations happening yesterday in terms of AI libraries in Elixir and how, um, a lot of people don't see it being worth it to even like trying to attempt it, um, as the number crunching aspect and all that. But apparently some company in Japan is trying to rewrite- what is it, what is it? Something at the binary level where Elixir might start crunching numbers a lot faster.
Justus: I mean, he's, he's right here.
Amos: On the GPU, yeah. I can't see. Is he in here?
Justus: Zacky?
Melvin: Where's Zacky?
Justus: There he is!
Amos: That's who's writing it.
Justus: No, he's, he's writing Pelemay, it's uh, I mean, I'm gonna totally butcher this, but um, I, I, you're doing Elixir on the GPU. Yeah. Pelemay, Elixir on the GPU, right? So we can, so then you'd be able to do this number crunching thing a little bit better, but yeah, absolutely. So yeah, we need people to put in, like the groundwork on tabular manipulation needing to be able to clean your data easily, pandas, right. Uh, Annex, which is what Jason Goldberg is working on as far as like basic linear algebra, uh, algorithms for RAM in Elixir. So yeah, this is absolutely something that we need to focus on. Or I, I think that we should focus on just because the constant refrain is the it's not performing enough refrain and I don't think that's right. And we have Zack Zacky.
Zacky (Susumu): Hi.
Amos: Hello.
Justus: Tell us about Pelemay because you are on the cutting edge of making, uh, machine learning accessible in Elixir.
Zacky: Yeah. Uh, uh, kind of the Pelemay, uh, doesn't the support, the, uh, GPU, uh, uh, only seen with each GPU. Um, by the way, today I have released version 0.0., um each support the stream to the place, uh, stream to the place, the, the place faster, uh, four times faster, than uh, original Elixir.
Justus: Today?
Zacky: Today.
Amos: Woo-hoo! *clapping sound effects*
Amos: Now Johanna is going to have to redo her talk.
Zacky: Um, I have a plan, uh, um, next release, uh, will be soon, uh, uh, it's support, uh, GPU.
Amos: Nice, That'll then he needs to get with Goldberger and we could do some massive image processing. So much of the machine learning stuff is image processing and video processing, trying to, to recognize certain situations in video. That would be, yeah, that's awesome. Thank you.
Zacky: Thank you.
Justus: I mean, what Goldberger's doing with the linear algebra library? That's really important. Like, I mean, I'm just going to keep hammering it because people, actually, people literally came out of the woodwork to say, hey, we need Pandas in Elixir. So I'll keep it- I'll keep hammering that because I think the data manipulation is actually a really important part of machine learning. It's actually like, I think probably 80% of the actual like work, you know, as far as tedious things that you have to do. Yeah. And what you're seeing with the GPU that needs to happen, like for really any of it. I mean, for, for any of it, right? Like we can't, we can't expect people to do machine learning in production without having access to the full computing resources. So yeah. I mean, people should be working on this stuff and that's, these are the problems that are going to open up new territories for Elixir in a way that we haven't really seen before. You were saying that you don't have any ideas, but I mean, and I, I loved it yesterday during your talk I was just like, yeah. I was like, I'm going to go form Wheat.
Amos: Okay. You, you were a serial entrepreneur, you've done multiple things. How did you come up with those ideas?
Melvin: Um, out of this as well, let's see, uh, half the time it would just be, I'm going through Craigslist and I see a gig. I apply to it and if it works out, I'll just keep doing it.
Amos: So Craigslist that's, that's where you get inspiration.
Melvin: Probably 90% of it, I would say it was, uh, Craigslist. And then eventually when I got into like the whole marketing world and all that, it got to the point of actually trying to like, all right, I have a project idea. Let's go and like, test it out, see if I can get like a list of people that actually like sign up for something. And if any of those hit, then I'd go down that path. But a lot of it was just essentially trying to collect data at first and verifying my idea as I've had some really bad ones I thought would work out. But some that kind of did, you know, half the time it's either ideas from friends or mainly Craigslist. So , if any of that makes sense. I'm curious, um, in terms of like in the Elixir community or programming in general, like what percentage of people would you say are entrepreneurs?
Amos: I have no idea.
Justus: What, what do you mean by entrepreneur?
Melvin: Um, I don't know. How many might own their own business? Like actually like filed with the government, like LLC or like the type of stuff like that. Like I know we have contractors, that's a thing, but that's (Inaudible) Oh yeah. Audience. Yeah. Are any of y'all entrepreneurs on the side? Yeah. Let's see. Yeah.
Anna: Oh a lot of people.
Justus: This is a pretty sizable group, actually. I, I don't, I don't want to say 50%, maybe 20%.
Melvin: That's higher than average.
Justus: Oh, absolutely. Higher than average. I think, I think you would definitely say in the programming community, you have more entrepreneurs like per capita than the general population. But yeah, I dunno in this group, actually, that looked like a pretty sizable amount. Raise your hands again. Yeah, why aren't you all coming up, trying to get in this fourth chair? Plug your stuff. Isn't entrepreneurship like sales? Aren't you guys trying to sales, sell stuff?
Amos: It is definitely sales.
Justus: Get In here. Plug your stuff.
Melvin: Here take make my chair.
Justus: Oh no, not yet. I mean, I'm not trying to kick you out. I'm just saying, you know, so you want to come up here and tell us what you do.
Amos: So I, I'm not surprised that we have so many in our community. I mean, unless you're like building some hardware, if you want to start up a company that puts videos online for learning, or, um, just do consulting work or anything like that, the startup costs in our field are actually really low compared to a lot of fields where you have to like buy buildings and buy equipment. I mean, to do video, to start out, if you just want to try it and see if you're even going to like it, I mean, you can buy a laptop. Most of them have a camera on it. You can start there and then start to build up and buy the other equipment that you need to make it fancy if you want to. So like your startup costs are under $10,000 for most like tech startups that aren't building hardware.
Melvin: Yeah. I think tech is one of the greatest weapons we have against nepotism. Like I really do, like, I don't know with the dawn of the internet that was when the keys, when the gatekeepers were taken away, because before you had to have massive plot of land or, you know, just know folks to be able to like move up in the world. But nowadays you could start a business in your bathtub if you want. And that's a thing that wasn't really possible like 30 years ago. So I'm a big fan of it. So highly ranked, encourage everyone to start your own business, try it out for at least a week hop on.
Justus: Programming in the bathtub.
Melvin: I mean, it sounds dangerous, but you gotta live on the edge.
Anna: Do you feel like it continues to be- I think about this a lot also given the nature of the work that I do outside of work, do y'all think that to your point now, but do you all think that it as technology develops and becomes more complicated, right? Do you all feel like access to that gets harder?
Justus: Access to what?
Anna: Well, he was like, it's really easy to start up a business. It's really easy to start getting try- you buy a laptop. You can start getting into the industry, but as what you need to know gets more complicated and you need to know more right than you now than you did 10 years ago. I'm not sure that that's true or not. I'm asking.
Amos: I think it partially is true. Like, uh, well what's required for you to know, I think is actually still really low, but what you have to know to be able to look like everybody else out there is higher. So if you can find a way to build your product without having to like, look like somebody else, you can build a superior product without being like, oh, I gotta, I gotta learn how to do a single page application and all that stuff. But the access to knowledge is a lot higher than it used to be also.
Melvin: Anyone else on Twitter?
Amos: Huh?
Justus: Are you guys on Twitter?
Amos: I'm on Twitter, yeah.
Justus: You guys see these e-comm people?
Amos: I don't know what you're talking about.
Justus: Oh my gosh. I, I'm on Twitter. And if you're like on Twitter and you see these e-com it's e-comm e-commerce right. The bar is low, yo. Like that's all I'm saying.
Anna: Ok, look, I wasn't posing a question. I was just curious what people thought. I mean, I don't know.
Amos: I mean, when I started. Like, okay. So my computer came with a computer language, um, built in, uh, it was Q basic and a lot of people, um, a lot of languages don't come that way now, but JavaScript is, is easily accessible. And the information is accessible. Where with me, I happened to run into Q basic. It wasn't advertised on the windows platform that they had Q basic on there. I ran into it. And then I noticed that it had a help menu that had all the documentation. And I just started reading it. I read all of the documentation before I ever wrote a line of code. And then actually the reason why Eric's not here, it's pretty sad, but I just wanted to build a MUD. That was the only reason I learned to program. And then I found out I didn't want to do game programming, but, uh.
Justus: And now, Eric has made it easier than ever before.
Amos: That's right. I don't even have to build one. It's all open source. And so that, like, that's how I learned like that finding documentation was rather difficult. There really wasn't internet. And then like TI 85. That was the next thing that I moved on to. I sold, I made games and sold them to people. I guess I'm a serial entrepreneur also.
Justus: I guess to answer your question, Anna, which is, is it more, I don't think it's actually arguably more difficult now than ever before. Um, I, I can kind of understand what you're saying as far as like the ecosystem is more complex. Oh man. Okay. I'm getting the, uh, that's like the, that's like the holy water have, are out of time.
Anna: Yeah, we need to wrap this up.
Justus: But yeah, I don't think it's, I don't think it's any harder than, I think it's easier actually than ever before. I don't think that someone like me ever in the history of human civilization.
Anna: I wasn't necessarily talking about in the history of human civilization, I was just talking about like the arc of technology, right?
Melvin: And like- oops, sorry,
Anna: No, go ahead.
Melvin: I think you got to know more people now than before. Because half the time you never really do things alone.
Anna: That's true. That's a good point.
Melvin: You just got to meet more people that have the skills that you don't have and get them on board and sell them on a dream, because that's kind of what you do as an entrepreneur, get people on your team and lead or try or go together. Never works. So -
Amos: Sometimes it's important to realize how to follow as an entrepreneur, too. Like find, find the people that, that you can follow. Find the people that you can learn from. This is a great place. So today that's, that's your goal. Find somebody you don't know and learn from them today.
Melvin: Follow them all day.
Amos: Or make them smile. That's the other option. But think we have to end it now.
Anna: I think we have to wrap it up. So thank you everybody who came early this morning to listen to us. Thank you for everybody who came on to share stories with us.
Amos: I hope you enjoyed your burritos this morning, too. They're fantastic. Thank you.