S10E09 Hugo and Lucas on the Future of the Elixir Community === Intro/Outro: Welcome to another episode of Elixir Wizards, a podcast brought to you by Smart Logic, a custom web and mobile development shop. This is season two where we are looking to the next. 10 years of Elixir. We'll be talking with our guests about what the first 10 years might tell us about the future of Elixir. Sundi: Hey everyone. I'm Sundi Myint, engineering manager at SmartLogic. Owen: and I'm Owen Bickford, senior developer at SmartLogic. Sundi: and we're your host for today's episode. Today we're joined by Hugo Baraúna, founder at Elixir Radar and LiveBook team member and Lucas San Roman, senior software engineer at Felt. In this episode, we're discussing the next 10 years of the Elixir community. Welcome guys. Thank you for being here today. Hugo: Yeah, thank you for invite. Lucas: Yep. Thanks for having me. Sundi: we're really excited to talk about this subject, particularly, I've been in the Elixir community for about three years now, maybe. Ooh, four years. Ooh, I can't count. Four years. And, you know, people talk about the Elixir community being a very welcoming and open space. And so this, you know, 10 years is a long time to develop that kind of culture and that community. And so looking towards the future, we're very excited to see what people's thoughts are on contributions that can be made and, and changes that can be made. So, Hugo, why don't you, uh, start us off. Can you tell us, you know, a little bit about yourself, where you're from, and then Lucas, we will, we'll get to you next. Hugo: So yes, I'm Hugo. I'm from Brazil. I started with Elixir since the very beginning, actually, I was one of the co-founders of Plataformatec together with José and two other college friends. So I saw Elixir's birth. And I've been part of the community since the very beginning, and at this moment I am running Elixir Radar and being part of the LiveBook team. Sundi: Great. Thank you. Lucas, what about you? Who are you, where are you, and where are you in the Elixir space? Lucas: I'm Lucas San Roman. I live in Argentina. It's a, in a small town near the Buenos Aires city, which is the capital of the country. I work as a senior, Elixir engineer at Felt, the Mapmaking company. And on Elixir, I am the creator of the Sourcerer Library, for IST and source code manipulation. And I'm a staff member at the Elixir Discord. Owen: The theme of today in the context of the future of Elixir in the next 10 years is community. So, we'll touch on kind of different parts of the community, but. as a baseline, like what I think attracted to me to Elixir in the first place was actually probably the community just as much as the language itself. Before I was really kinda, when I was brushing up on fundamentals of, you know, trying to become an engineer in the first place, I started seeing Elixir, it started popping up in my feeds, started watching videos and reading blog articles from folks and really getting invigorated by that. The Elixir community has a special place. In, my mind. But I'm kind of curious, when we think of the Elixir community, there's so many different kind of corners of the community. What are some of the corners or parts or aspects of the community that come to mind? Hugo: So when I think about the Elixir community, I also think about it being a friendly community. So Elixir started with José, as we all know, José Valim and before Elixir, José and I, and everyone at Plataformatec, we were part of the Ruby community and being part of the Ruby community, I remember one of the things that I really like about it was this thing called. "Matz is nice. So we are nice." And Matz being the creator of Ruby, so that's a statement that lots of Ruby people know about. So Matz is nice. So we are nice and I think that José continues to embody this in some way to in the Elixir community. So, maybe José is nice, so we are nice. So I think everyone tries to be as nice as they can. When talking to others and welcoming members of the community. So that's one aspect that I always think about when we are thinking about the lecture community and the other aspect about innovation. So, I think since the very beginning, the idea was that Elixir wasn't going to be just about web development. So web development was the thing that we most knew about when, when José were working with us at Plataformatec and everyone. So we were doing web development with Ruby and Rails, but we wanted Elixir to be more than web development. And the community did that in lots of ways. It innovated with Nerves in the embedded space. And then Chris created LiveView, which kind of reinvented the way that we do web apps, and now we have LiveBook. So I think innovation was also a very important aspect of the community. So that's what came to my mind. Friendly and innovative community. Owen: That's interesting. I think that's a great entry point, into the conversation, because in my mind I'm thinking like, you know, the, the slacks, the discords, the conferences, but I think at the even higher level, just the kindness. That trickles down from the top and throughout the entire community, and also innovation. I think you hit the nail net. That's what attracted me to Elixir as well. Sundi: Yeah. Owen: Uh, yeah. Sundi: Lucas, what about you? What comes to mind when you think about the Elixir community? Lucas: I think, well, of course the kindness in general of the community is the first thing that comes to mind. And I also agree that in, in a way, José is the embodiment of that maxim of the community. And the other thing that comes to mind is, in general, a community that cares a lot about the long term stability of the ecosystem. And it shows a lot in a lot of principles that we have in the language and that we as a. Like the member participating in the community follow, so for example, the principles of Ecto or Plug Connections and now more recently, Nx are all very foundational part that the rest of the ecosystem builds upon. And that hasn't changed in a lot of years, like almost in the beginning of, of this project. So that focus on stability is also a very strong property that I see in the community, and that's one of the main reasons. That I really like this community a lot. Sundi: It's interesting that you, you said that, the friendliness is one of the core thoughts that comes to mind, both of you. I, I totally agree and I never thought about how role models can influence that. I've always heard and and known that Josey was nice, and I didn't think about how that trickles down until just now. So that was a really good point. I think what strikes me about the Elixir community as well is that. Everyone is fairly knowledgeable, and if they're not, if they don't know something, they're willing to jump in on it with you. Like if they don't know exactly the thing, it's not just a friendliness, it's also a curiosity. I don't know how to put a point on this, but I feel like Elixirists are generally curious. Owen: We love a challenge. Sundi: they love a challenge. they really wanna dig in. They don't particularly accept things as they are, and they always wanna know more. And that comes, that shows up the most in like these Slack or Discord communities when people are trying to debug something with you. And they for the most part are fairly patient with a beginner or somebody who just is running into an issue and they're not quite figuring something out. Lucas, you're, involved with the Elixir Discord, correct? Lucas: Yep. I'm actually a moderator on that Discord. Sundi: Is it a main moderator or is there a number of moderators on the Discord? Lucas: We got a small team of moderators, but there isn't like a hierarchy of moderators. Of course there, there is the server owner, but there's really no, no distinct, no difference between us. Sundi: Gotcha. What is it like moderating the Elixir Discord? what kind of conversations do you see and interface with? Lucas: Well, on one hand, thanks to the internal kindness of the community, I don't have to do a lot of work on it. But most of the conversation happening are questions from people, more often than not, newcomers to the language or to some specific framework. And the questions are, how does this library work? How does this particular part of OTP work? A lot of the time people are reading the documentation or the getting started guides, so when they, they get stuck, we help them go through the guides until everything is clear. So for the most part, that is what is happening on this is mostly like, a support chat, so to speak. So most of the question yes. Are questions about the language or some library. Owen: I'm curious, one of my favorite features, one of my like day to day when I'm working with my coworkers in Slack is huddles. When people kind of get stuck on a problem they can't fully express with words, do you see people jumping into video calls in Discord, to kind of work out problems or is, I don't even know if that would be visible in the channel, but is that something that happens there? Lucas: We have a voice channel on the server, but that is very rarely used if ever. I have never joined a group voice chat on this Discord server. I think one of the main difference, either like in etiquette et or the community between Slack and Discord is that in general, in Slack, it's more targeted towards organizations or people that somewhat know each other in one way or or another. While in Discord, it's more geared towards communities of complete strangers. So, it's not that easy to get people to join into a call with you because nobody knows each other. That's the impression that they get in general. So we don't have huddles. We have petty, creative, and voice channels. One thing that you can do in Slack is say, okay, we're talking about this topic. Let's jump into a group chat. And you invite only the people participating in that call. In Discord, the only way to do it is from outside the server. So you have to create a group voice chat that is your group, and then you invite the other people. And sometimes you have to send a friend request and they have to accept it, and then only then, they can join your call. So I think that is kind of like a barrier, to get this kind of more real time voice in interaction between people. There's a lot of steps that are in place to protect people from complete strangers, from abusing the system and maybe making people uncomfortable. Slack on the other hand, you already know these people, so you have an issue. You resolve it with the, uh, organization administrators. On this one is more like you expect random people to join all the time. Sundi: I've really never thought about the fact that Slack is people you know, and Discord is total strangers. I knew they were both there and I didn't know. I just thought people, some people like Slack, some people like Discord. I've never thought about it. Hugo, do you prefer one or the other? Have you, are you involved in either? Hugo: Yeah, so I'm always online in the Elixir Slack community. I'm usually not Online at in Discord's one, and I can, so Owen was asking about using other channels besides texts, and I think it's the most, we all know that's most common to use text. But I have a story about, Was help was more easy for me to use via video call with another community members once because I'm always mainly in the LiveBook channel on Slack, and there was this guy who was having a problem using LiveBook to connect to Amazon Athena and I was trying to help him. It was very hard to reproduce his book because we had to access his own database to do it. So I asked him, Hey, so what, what about if we chat through a video call and then you show me? So we, we did that and eventually I opened a PR on our integration of Athena and solved the problem, but it's most common to do text because otherwise we shouldn't assume that people would be there to help us 24 7 through video and everything. So it depends on each other's time. Sundi: Yeah, That's so true. I mean, I definitely have been in the Elixir slack before, saw one of my friends was online and was like, Hey, can I ask you a question about a query? Or, I wrote something that looks weird and I, I'm just pretty sure we talked about this recently. Do you have like 15 minutes to look at it? And they'll usually say no, or, yeah, in five minutes or something. we'll jump on a huddle. We'll catch up for a bit. We'll solve the issue and then we'll move on. But I'm comfortable doing that with my friends that I've met over the years at Elixir Conf and all those things. But I don't think I could do that in a Slack or Discord channel, but that's probably a me problem. Owen: Yeah, and I think your personal choice of Slack versus Discord might also be partly involved with like, what does your day job use like there's some teams that actually do use Discord for their kind of internal communications. I can imagine if I was in Discord all day for that, I would probably have the Elixir Channel open there as well. Sundi: We should probably lay out what Discords we're in as like a fun exercise cuz I've got like the Elixir one, the Flutter one, my nail polish group, a gardening group, and a workout group. Like those are the discords I'm in. And I am not actively like looking at them. I open them like once a month to go see what's going on, catch up on all of the things, shift, escape them all so they clear out and then move on. Owen: Yeah, I, I'm in Discord, so rarely that I usually have to sign in every time I open the app because it, you know, it may, it may be a couple months, but I'm in Slack all the time. Sundi: Lucas, are we killing you? Owen: yeah. Yeah. Lucas: Nah, not really. It's fine. Owen: You got multi-screen, you got Slack over here, discord over there. You're just like, you know, running 'em all at the same time. I'm sure. Lucas: Actually used to get notification from everything, so I cannot like swipe my mouse to it until the note appears and check. Okay, I have one here, three here. Just quickly check them and then go to some other thing. Sundi: Since developers tend to have multiple devices, you should take one of your devices and make it no notifications. My iPad doesn't notify me for a damn thing. Nothing. No messenger, no slack, nothing, no calendar. Just, just nothing. And it is a beautiful device and it's probably why I use it so much. Lucas: Yeah, I personally mute notifications on everything that I have and only enable them for things that I actually care about. So, for instance, on Discord, I have every single server that I join mute except for the the Elixir server in case I'm tagged because like I'm a moderator and like my work slack, but everything else is muted. So if I get a notification most of the time is actually something I, I may care about. Hugo: But by the way, since we're talking about Discord, I'm thinking there's a good chance that the listener will know about that, but Discord is built with Elixir. They're a big user of Elixir, so I don't know, maybe that that's, uh, we influence the choice. Yeah. Owen: You know, sometimes they write a blog article, they're like, Hey, look at how great Elixir is and all the things we can do. And I'm like, Hey, we should be using Elixir. Of course I get to do that. I get to use Elixir all the time now. But , I've been an elixir evangelist that I've used those articles to try to make the case. You know, it's hard to convince people sometimes. So we've talked a little bit about, you know, the kinda the real time communication channels. Another great resource for the community is some of our newsletters and Elixir Radar is an excellent resource for keeping your ear to the ground or seeing the pulse of the community. where did Elixir Radar start? You're the founder, right? So I guess you created it and like how's your experience been maintaining it over the years? Hugo: Yeah, I think the Elixir Radar is probably the oldest Elixir newsletter. We've created content at this moment in the community. There was one before that, but I think it's not, it's not running anymore, but, so Elixir Radar was born inside Plataformatec, and I was back at that time, I think it was 2004, 2015, I think. I was, I was also in charge of marketing at Plataformatec, although I am a software engineer by, by training. And the idea was people knew a lot about Elixir, the members of the community, but they sometimes, lots of the times they didn't know that the company behind the language. So we wanted to have something that show it that Elixir was being built by this company. And also I, as a Ruby developer before Elixir, I always liked Ruby Weekly, another newsletter, from the Ruby community. So I wanted to have something like Ruby Weekly in the Elixir community. And that's how, Elixir Radar started as, um, project that was a partnership between the marketing and the development team of Plataformatec. And, but in 2020, our company, we was acquired and I decided, I asked my other partners to continue to run the newsletter just by myself. So I've been doing that since 2020. Yes. I think almost, yeah, three years. So that, that's how it started. And, and that's the second phase of it, which is like a solo project at this moment. Sundi: Where do you get your Elixir news? Do you follow some statuses or do you have some Google alerts? How do you find out what's new in the world of Elixir? Hugo: Yeah. Sundi: José calls you. Hugo: he used, he used it to do that, you know, back in the Plataformatec days he was helping with some sources. But at this moment, he's not involved with it with Elixir Radar anymore. But nowadays, I follow the blogs of everyone who already had an article featured in Elixir Radar. This is at least a thousand blogs. So I subscribe to their RSS feeds and I read their blogs and there's Twitter. So everyone who tweets using the #myelixirstatus hashtag, I get an alert about it. The Elixir Community on Elixir Forum, on the Reddit community on Slack. There's a blogs channels there, so I use multiple sources, but those are the, the main ones. And I, once a week, every Monday, I go through all of those new articles and choose five of them to go into the newsletter. And also videos, actually what we do, articles and, and videos. So that's how it works. Owen: And I didn't realize, or maybe I forgot until just now, that looking at elixirradar.com, which we'll have a link in the show notes, it also is a job board. So is that a, a relatively new feature or is that, has that been around for a while? Hugo: So, no, the job board also, it's running for a while. It started I think one year after the newsletter. Uh, 2016 probably. So it's been running for, for a few years. And, the idea was since we have a job section in this letter, the job board is to receive, to help companies who are hiring Elixir developers to get their job openings, publish it in channels who are consumed by Elixir developers. So I remember, when we were hired trying to hire people, maybe they are not hanging on LinkedIn, which is a common channel for trying to hire people in different areas besides engineering. But it's a good chance that they are hanging on like they're reading Elixir Radar. So, so they work together. when Elixir Radar was part of Plataformatec, once a company published a job posting on the job board, we also reposted it on the newsletter. But nowadays, since it's just by my eye, by myself working on this, and I spent quite a. Part of my time doing that. The job board is free, but if the company wants to publish their job opening the newsletter, it's paid. So we have both paid and free offerings in the newsletter and in the job board. Owen: So, is Elixir radar, your, is that more of your full-time work now? Or, is it more on Livebook? Hugo: I'm not working full-time in Livebook I'm doing part-time, but it's in my main, like 80% of my work time's in Livebook and 20% is, on Elixir Radar. Sundi: That actually kind of sounds like a dream life. Not gonna lie. I mean, it sure sounds shiny from over here. But I mean, I'm not, I'm not saying anything about my job. I love my job too. But, that does sound like a lot of fun. I hope it's a lot of Hugo: Yeah, it's, it's, it's very fun. It's different than being responsible for running a company like Plataformatec. So it was 70 people, lots of people, and I want to be doing stuff that is a little bit smaller and more chill and more, open source. We did lots of open source think by wanting to be closer to the code itself and everything. So yeah, I, I, I've been enjoying a lot of this, this and, but, Elixir Radar I'm doing for three years by myself and Livebook, I joined the team I think August, August, 2022. Sundi: Cool. That does lead me into my next question, which, I, I have this question for both of you. What would you say is your motivation for doing this kind of . Work? Enhancing and enriching the community? Lucas, I'll start with you. Lucas: Well, for me it's, I mean, I enjoy doing Elixir itself, so what I can do with Elixir good to me. But I also like to give back to the community some of what I have got over the years because the community is made by the people that participate on it. And that provide for the rest of the people to play around with what, what you're doing. The fewer the people that do this, then the slower the community will grow or to get to, to new people, in my opinion. So one of the motivations to, to say like, okay, I'm working on this and instead of keeping it into myself. Instead of doing that, to share with the community has to do with that to help other people that may have faced the same problem and to let the community build upon that piece of work. To me, it doesn't matter if it is me, the one actually contributing to the thing that maybe I started, but that other people actually build upon what you're sharing. So yeah, my motivation is giving back to the community and, and. Promote something that I really like. Owen: So, Hugo, you can't say you wanna give back to the community. You have used a different answer. Go. Hugo: Yeah, so what I gotta say about my motivation on being part and contributing with the community is that, so as one of the founders of the company where the elixir language was created, I'm in love with the language since its very beginning. So I'm very proud of this whole thing that Elixir is today. We wanted to have some kind of impact on the tech industry. And I, I just want Elixir to continue to grow and I also like tech. So I think everyone here likes to play with new stuff and that kind of thing. So, my motivation is keep playing with new stuff and helping Elixir to grow even more. Yeah, I think that's it. Owen: I think impact is great. But, playing with stuff, experimenting is always, well, I was gonna say always fun. It's usually fun. It can also be a little bit maddening, right? I've been kind of brushing up on event sourcing just as an example and trying to wrap my head around it after being intimidated for a long time and it's starting to click a little bit. But, I think part of that is I'm, I'm benefiting from a lot of work done in the community from just from the angle of like packages that we have. I don't have to create something out of whole cloth. I have some excellent packages that I can look at that give me a lot of features, but also have excellent documentation for how to actually use the thing. And within our community, I think Sourcerer is kind of one of those packages that underpins some other features that we use and maybe don't, it's not always front of mind. But I'm kind of curious where the idea for Sourcerer came from and how you've been thinking about its evolution over the, the past few years. Lucas. Lucas: Yeah. So that's in line with what say to kind of give back to the community. And one of the, the things that they like to follow is to like be the change that they want to see in the community. So one thing that I noticed a lot, when I was answering question on the Elixir Discord was that some very basic topics required quite, quite a lot of explanation for things that we take for granted once we use it with the language. And , two of them were, list like how they work, because a lot of beginners do stuff like, oh, I want to add an element to a list. And they end up with an improper list because they use the plus operator to add an element, and that's actually disconcatenation. So that motivated me to start writing blog posts, explaining like from top to bottom how they think actually works and to clear out any doubts that may have about it. So that was one topic. The other topic was AST, to build macros or to analyze Elixir programs like Credo does Linter library. And after waiting another article explaining like, okay, this is the AST what you can do with it. Some examples and all like a glossary of all the shapes that you can take, I got a question from Slik, I hope I pronounced it correctly, about can we use the AST to change the source code for an Elixir program? So from that question, I started to investigate a lot and what I found was that at the time of I was investing it in was no, because we didn't have the tools, we did have the ast, but we didn't have any existing tool to convert it back to text. And the only piece of code I could actually do it was the Elixir formatter but all of the APIs to actually do it were private. So I started to play around and see if I could work around that limitation. And I started Sourcerer, but not by that name as an attempt to, to do that. Eventually I realized that it wouldn't be too hard to expose some of the formatter functionality from Elixir as a public api, and that would be like 80% of the work that they needed to do to actually achieve this goal. So I sent a proposal to the Elixir core team and we actually started to, to work to bring this functionality to the public, that involve a, a lot of work and some translation layers between what your AST is and what the internals of the formatter require. So yeah, we did that work that was published and then I released Sourcerer base on that work that I did on the elixir formatter as a library to actually let you use the AST of your program, change it however you want, and then produce some text, which is the, the actual source code that you see in your editor from it. So that was it. It was basically a, a simple question that was Ask asked on one of my blog posts, and that turned into a whole series of work to actually make it possible because he realized that it was impossible at the time. Owen: So I think that's the definition of being nerd sniped. Lucas: Yeah, exactly. Owen: what about this? this? And then you spend six months like making a library to, to like answer the question Sundi: six months later, I answered your question. Lucas: that exactly what happened. Owen: Yeah, think sourcer is a great example of one of those libraries that also, it's a great piece of code on its own, but it also informs the direction of language itself. I think we've gotten more compiler hooks that kind of thing. I don't know if those are directly a result of your work in Sourcerer, but there are some other maybe language server and some other packages in the ecosystem that also kind of make demands of what we need from Elixir, then as a result we have more and more tools that come out these libraries build out new features. Is that fair to say? Lucas: Yeah, I think a lot of the features that come to Elixir come from tools that are missing some core functionality and then eventually gets added to Elixir itself. So, for example, compilation tracers were one of them and they were eventually used for the Boundary Library by Saša Jurić. The function from the formatter of OK come from Sourcerer, like, straight to quotas with comments is one of the functions. And, one o other functions to turn the, the AST to. To to go. And then there's also the Code Fragments API that was added while the Elixir LS people were working on auto completions. I think it was for Electric Sense. Think was, look at Samsung that was working on that piece of code and inform the creation of the code fragment cpa. For the ones that don't know what code fragment API is, they're function that when you say you are typing in an IEx, the terminal and you start write the name of a function, then you open the parenthesis that until the open parentes included is sent by elixir that you can parse and analyze. But. The code fragment API tries to complete the missing parts of that expression so that you can get some AST that is actually analyzable and valued. And in the place where the cursor was, you get data structure that says, okay, this is where the cursor is, and you can use that information to provide suggestions for the completion. So that was other vote for Delic and also it used to enhance the experience with IEx. Owen: I was just gonna say real quick, will have a link to the code fragment module because that's a real thing in Elixir. So we'll have a link to that in the docs for anyone who's, who wants to go even deeper into code fragments. Hugo: I'd like to add on those good comments from Lucas that I think that speaks to the innovation thing that I mentioned in the beginning, that it's interesting how the community is evolving and the innovation is not being exclusively led by the language. But also by all the tools and projects. So, and the language also needs to keep up and offer and enable all of those tools. So all of this, and I think this's code fragments, it's also was also a need of Livebook because we need to have autocompletion I think was both the, the language server that Lucas sensor is working and also. So we can have the auto completion on Livebook as well. Another good example I think that was needed is the new kind of nil mix install thing. So in Livebook, we needed to, to have reproducible notebooks up to the dependencies of it. But before mixing style, the only way was to have mix projects and mix file. And now we can just do mix install and list dependencies we have and you can have scripts or notebooks that have dependencies explicitly defined it. So this was another addition to the language and that was needed by the tools. So that, I think that's a better, interesting thing though. So the innovation is not just about the language doing innovation, but all the other projects there are pulling the language as well. Sundi: and one thing that we've noticed as we've expanded this podcast to groups of people outside of the US especially, we noticed that there are communities we never even would've thought about. We talked to a number of folks in Japan, some folks in China, and then I think I know Kenya, we had a really fun conversation last year. I think it's already been a year since we had that conversation about different communities. So what are some interesting conferences or meetups that both of you have gone to in your local communities or have you been calling into the US ones or the European ones, or how has that been going for you all? Lucas: Well, I'm not aware of many conferences or meetups of Elixir in Argentina, or at least not in the areas that I'm in. I know that there are a lot of companies using Elixir. There are mostly either in the capitals of the different provinces, and I don't live in the capital. I live like a bit far away from all the capitals, so I don't actually participate on local communities events if there are, but I occasionally join some meet up mostly from the us like I join the Ohio Elixir meetup and the Denver meetup and some event and maybe organized by some company. But no, not anything local. Mostly US based. Owen: You're just hike from Uruguay. I know there's like a small elixir contingent over there too. Lucas: Yeah, I know there is. I should go. Yeah, I should go some time. I actually never leave the country, so that could be, could be a good opportunity. Sundi: What's your definition of a short hike, Owen? Owen: from over here. It's a, just a spot on the map. Sundi: All right. Owen: Shout out Uruguay. Shout out Argentina. Right. Sundi: Hugo. What about you? Hugo: Yeah, so Elixir, I think Elixir is big in Brazil. It's kind of big in Brazil. So we do have a national conference led by community members. Shout out to Joel and to MJ. So it's like a couple, I think, I don't know, couple hundred or 300 people. And, I attended I think 2 times, gave a talk once there. So we have a big conference, national conference in Brazil called Elixir Brazil. We have meetups around the country. There's one here in Sao Paulo where I live called ELUG also been to ElixirConf US a few times, I think three times in the past, which was very cool. my plan to go to Elixir Europe sometime, maybe next year, I don't know. But I also want to, I still have time to go to Elixir US this year, so... Sundi: yes you do in Florida early September. Not a plug just saying. Hugo: yeah, and I, it will be my first time in a Elixir Conference being part of the live book team, and I, I also, I was curious to see how people are using Live Book and it's, it's interesting that you mentioned Japan. I don't know why, but there are lots of people in Japan playing with live book. I follow the live book word in Twitter and myelixirstatus and there's always some new blog posts about using live blog here and there from Japanese people. It's interesting. And there, there's some kind of group there that's doing lots of cool stuff with it. Sundi: Yeah, I, I say Japan because I run the DC Elixir Meetup and I'd say without fail, every meetup I host, there is one or two people from Japan. And it's never like the same person. It's always like a rotating group of people who've found it. I think it's a good time difference. Like it's like if I have it at 8:00 PM it's 8:00 AM or something like it might be exactly 12 hours. But yeah, I just noticed that. So that's definitely something to look into. I think. Hugo: Yeah, I wanted to send a shout out to a guy there that I don't know in person, but I, I read his blog posts and it's called Ryo Wakabayashi I think he made some contributions to live book and, you know, were a lot of blog posts about it. So, he's a very active member of the community there. Sundi: Awesome. Yeah. Speaking of the contributions, you know, we're thinking towards the next 10 years of Elixir. What do you hope to see from the Elixir community? I'm sure contributions is one of them, but how do you hope to see the Elixir community grow over the next 10 years? Hugo, let's start with you. Hugo: That's a hard question. I'm working on it to help it continually grow, but how it's gonna be. So there's something that's obvious, like LiveView and everything. But, when you think about that two or three years ago, we didn't have Nx, we didn't have Axon or we didn't have Livebook, or we didn't have some, even newer initiatives like, LiveView native. So, Three years ago, it was hard to imagine that we have that. So I, I, I don't know what we have in 10 years. For sure, probably new tech domains, like machine learning and data processing, data analysis and maybe native applications. But I don't know. Besides that, it's very hard to, cause, you know, they are so innovative. It's hard to keep up. Yeah, Owen: I think about like community growth especially, if Elixir were as you know, prevalent or popular as say Java or Ruby, how could the community grow in a healthy way over the next 10 years? Are there kind of ideas or like things that we can do as community members that can help with that, say for like a, a Discord moderator, Lucas. Lucas: Yeah. What I think, I mean, we are all kind of bad at predicting the future, but looking at how the language has evolved the last couple of years, I think that and I'm hoping to see Elixir expand in to areas as well that were traditionally not the Elixir for what happened with nx. We used to say all the time, okay, Elixir is great, but if you need for number crunching, then you better using a different language. And that's gradually becoming like not the case since you NX and all the libraries that came with it. goes from using interfaces with LiveView and one property that I kind of mentioned earlier about doing all of that work is that. The very foundations from them are rock solid and very well thought out. So we now have the primitives to do all of that. So what I think what will happen in the next 10 years is for more of those foundational work to happen in different areas, it will be fun to know which areas, but I kind of see that happening. Like very foundational work. No, maybe not. Something very groundbreaking and very gigantic To take over the, some particular area, but yes, something that enables people to, to do what was impossible before. So I think that's the direction the community may be moving or what they hope to happen. And another area that I also see gradually improving in Elixir itself and in everything around it is mostly around tooling and tools in Elixir itself to enable more tooling? Part of my work, even if it isn't Sourcerer it itself, and it is another library that supersedes it and it's even better. But we are starting to see libraries like Nim, which is like, snapshot testing library that actually changes your goal with the result of the test. And we are seeing more features and improvements being made in the area of the language editors, which is in , like the people working on that are the invisible heroes of the communities because we have such great tools being maintained by so little people. So one thing that I would like to see the community improving upon is that we're around, Code and language servers and everything to make, uh, a great elixir Id experience. Owen: Yeah, and I think on, on that note, like we, we internally have been using live book more over the past few weeks, to flesh out even just for like. Catching ideas and understanding problems, then also writing some documentation as we start to understand things that we're working on. Sundi: Particularly as a remote team, we don't have whiteboards in front of us. We can't sketch out database schema and I mean we, we could, but noth no tool really replicates standing in front of a whiteboard next to your teammate, you know? So live book is like the next best thing to be able to mock out your idea, but not have it mapped to a real module or a real elixir function. You know, it's just, this is the idea and the rest of it's magic, you know. Owen: and the team stuff that you're working on is exciting too, like being able to have our team, like maybe four or five people looking at the same live book and collaborating in real time and not having someone be the sole driver of the code. That sounds interesting. I'm kind of curious if you can talk a little bit about the team stuff you're working on and then also some kind of request for community members in terms of like the, the bigger picture. Hugo: So live bookis a open source project, and then so everyone can go there, install it. It's very easy to install. Specifically the desktop app for Mac and Windows. There's a few clicks you even don't need, don't need to have Elixir installed. Also good for newcomers. Well, and we want, we are building this product called, Right now it's called Livebook Teams, but the name may change, which is, the idea is to, to build features that are focused for teams or businesses. And so Livebook, the open source project was designed for individuals, although we have this collaboration, like co-collaboration thing there, but we don't have the concept of accounts. So Livebook teams, we have accounts you can configure for your team, share secrets in a safe way. deploy live book based applications, your own infrastructure, And other ideas that we have, like scheduling a notebook execution, and it's gonna be a paid product. So the idea is to use the revenue of this thing to keep investing on developing, Livebook itself. So to make the project itself sustainable in a financial way. And yeah, that's the thing right now is just a few people working in it. It's a project being created by Dashbit and, and may or may not become its own company. We dunno yet? Owen: I could see that being very successful. Hugo: Yeah, I hope so. So we can work even more and deliver more acoustic on it. And so, I had a comment regarding the, the, the 10 years thing also. Sundi: oh, yeah, yeah, please. Hugo: So for the first 10 years of Elixir, we didn't have types. And we didn't have a type system. And I myself didn't mind. I, I don't like actually types. I, before Elixir was a Ruby developer and I was very happy with not having types and I, I wasn't very like looking forward to that until I watch, watched the very recent presentation from Guillaume who's working on that and then I got excited because it's not going to be bureaucratic. It's not done yet. But what his show is very cool. So if you watch it, his presentation on ElixirConf EU Europe, if he didn't watch it when it's live, go watch. It's, it's very cool. So I think that, The next 10 years, we may have a type system and I'm excited about it and I wasn't before, so yeah. What, what, just do you want to comment about that. Owen: Yeah, and we Sundi: Owen's gonna give his plug for his like fourth time plugging this, but please do it. Wind him up. Owen: Yes. So stay tuned listeners for the rest of the season. We have the most amazing list of guests ever, but also part of our conversation is gonna be around types with the two authors of this work around the type systems. So stay tuned for an upcoming episode to be released a little bit later on the season. Sundi: And Hugo, you can get more excited at that point. Hugo: Yeah. No, it, it is, it's, it is, yeah. It's, it's, it's interesting because lots of people, oh, I, the only reason that I don't use Elixir because it doesn't happen types, and I didn't get it. Like, I, I, I didn't, I didn't need it for like, for 10 years or more of Ruby and. The elixir, I don't mind not having as well, but after watching his presentation, I got excited. I think it's gonna be helpful even for those who didn't want to have types like myself. Sundi: Mm-hmm. Owen: Yeah, I, I, I'm with you. Like I've been happily just in dynamic land over the. The past several years, there have been times where in other code bases, not Elixir, where I had the opportunity or ability to come do type hints. And I think as long as it's, as long as we have a system that allows us to give more specificity or explicitness like you said, without an extreme amount of bureaucracy, that's music to my ears. That that sounds great. Sundi: So as much as I would love this conversation to go on forever, because I love talking with the community and I love speculating on what's coming next and knowing about what. Coming next and then getting to talk to some people who are, you know, in on the ground floor when it was happening, before I take us in final plugs and ask for the audience, I do believe Owen has a question for Lucas Owen: Lucas. All right. In the background, I've been, this whole time I've been slightly distracted because I know it's not Foghorn Leghorn on on those paintings. What is this artwork that I see behind you that our listeners cannot see? Some kind of rooster chicken or something? Lucas: Yeah, it's a Rooster from a manga series called Rooster Fighter. Special edition for Latin America and the Greater Mason artwork for different iconic locations in Latin America. So the two posters that they have on my wall are the Rooster on the Easter Island with all the Moais, and the other one is the Rooster with traditional Argentinian clothes in the Iguazu Cataratas so that are two iconic places of South America. Owen: We're gonna need some links. Sundi: Yeah. Hey. download Owen: that, make my wallpaper, and then also so our listeners can understand what we're talking about. Lucas: Yeah, of Sundi: I saw, when I saw the clouds, I thought it was very Ghibli-esque. I'm a big fan of, of Kiki's Delivery Service and Ponyo and Spirited Away, and that's what it looks like to me, like very floaty and where they say like, every part of that movie could have been a piece of art. And that's what it looks like to me. So that's really cool. All right, so we're, we're at the end of this episode. We're gonna have to follow up with you all on what happens and, and then at the end of this 10 years, we're gonna call you back and see if, if we predicted correctly. Right? Do you have any final plugs or ask for the audience, places where people can find you on social media? Or are there any libraries that you could use some help on or some support? Lucas, why don't we start with you. Lucas: Well, if one to our talk, you can find me on Twitter. My handle is dorgan_ uh, with an underscore at the end. On Discord, you can, my tag is Dorgan000 4 is the, the number. And on GitHub, I'm Doorgan, but as well, but with two Os. So it's like door again. If you want to help on the source project, you can go ahead, open issues book request or whatever you, you seem like you want to do with it, and then those are always welcome. Sundi: Awesome. Thank you. Hugo, what about you? Hugo: Yeah, so I'm on Twitter @hugobarauna and also @elixir_ radar. And yeah, you can also follow Livebook at Twitter @livebookdev or go to livebook.dev and download it and please play with it and tell 'em what you think about it. Or subscribe to Elixir Radar's newsletter. I also on Slack, as I mentioned. Then if you are using Live Book, please go there and tell me about it. I'm very curious about how everyone is playing with it and what they're doing with that. Sundi: All right. A true balance in the world, A Slack user and a discord user. Well, thank you again. Owen: you didn't even have to fight about which one was better Sundi: oh my gosh. We could have gone there. Anyways, thank you again, Hugo and Lucas for joining us today. We hope that we get to hear from you again soon. Hugo: Thank you. Lucas: Yep. Thank you. Yair: Hey, this is Yair Flicker, president of SmartLogic, the company that brings you this podcast. SmartLogic is a consulting company that helps our clients accelerate the pace of their product development. We build custom software applications for our clients, typically using Phoenix and Elixir, Rails, React, and Flutter for mobile app development. We're always happy to get acquainted even if there isn't an immediate need or opportunity. And, of course, referrals are always greatly appreciated. Please email contact@smartlogic.io to chat. Thanks, and have a great day! Sophie DeBenedetto: Hi, this is Sophie. I'm very excited to be back on Elixir Wizards, even if it's for this very brief, several seconds long promo. We are very excited to be gearing up for the Next Empex Conference being held in Brooklyn for the first time ever on June 9th. which if you've been following any of this on Twitter, you may know is my birthday, so I'd love to see any Elixir Wizards listeners there. We have a fantastic lineup. We've got Sean Moriarty talking about how Elixir is the future of large language models. We've got our keynote speaker, Heidi Howard, who's a distributed systems researcher at Microsoft Azure, talking about the future of secure and distributed computing. We've got Andrea Leopardi we've got so many others that we are very, very excited to bring to you guys at the event. And we've got a discount code for you. You can get $100 off your ticket with Code Wizard. So use the code, come to my birthday, I mean, Empex. Yeah, we hope to see you guys there. Thanks everybody.