Algorithms + Data Structures = Programs - Episode 133: 🇵🇱 Lambda Days Live 🇵🇱 José Valim, Alexis King & More!

Episode Date: June 9, 2023

In this episode, Conor interviews speakers & attendees live from Lambda Days 2023!Link to Episode 133 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)TwitterADSP: The... PodcastConor HoekstraBryce Adelstein LelbachGuests InterviewedToby PfiefferKim HuizingAlexis KingJosé ValimAndor PénzesPeer StritzingerShow NotesDate Recorded: 2023-06-06Date Released: 2023-06-09Lambda Days 2023Elixir LanguageElixir Benchee Benchmarking LibraryRuby Berlin User Group MeetingLambda Days 2023: Stories In Open Soure - Toby PfeifferLambda Days 2018 - Tobias Pfeiffer - Stop Guessing and Start Measuring - Benchmarking in PracticeDevon Estes - Digging through the garbage - Code BEAM Lite Berlin 18Scala LanguageAWK LanguageAlexis King’s BlogLambda Days 2023: Delimited Continuations Demystified - Alexis KingZuriHac 2023: Delimited Continuations Demystified - Alexis KingRacket LanguageSlideshow LanguageLambda Days 2023: Meta-programmable functional notebooks with Livebook - José ValimThinking Elixir PodcastLambda Days 2021: Introducing Nx - José ValimElixir NxElixir LiveBookElixir PhoenixElixir MembraneKeynote: Celebrating the 10 Years of Elixir | José Valim | ElixirConf EU 2022Elixir ForumSponsor: Evolution EngineeringLambda Days 2023: Examples of easy dependently typed programming (in Idris) - Andor PénzesType Driven Development by Edwin BradyFunctional FemalesGRiSPErlang LanguageWhatsApp acquired for 19BGRiSP on TwitterIntro Song InfoMiss You by Sarah Jansen https://soundcloud.com/sarahjansenmusicCreative Commons — Attribution 3.0 Unported — CC BY 3.0Free Download / Stream: http://bit.ly/l-miss-you

Transcript
Discussion (0)
Starting point is 00:00:00 I don't want to start a flame war, although somebody told me that's good for viewership. I would recommend Scala. But yeah, I'm Alexis King, and I work on GHC, Haskell Compiler. Special guest, Jose Valim. He is the creator of the Elixir language. Allegedly. Allegedly? Allegedly. What does that mean?
Starting point is 00:00:17 Who knows? It's a panna cotta, and the sauce, I think, is passion fruit. I'm interested in type theory, dependent types, functional programming in general. I would like to create programs which works. I like to create programs that works. That's a quote. Well, maybe that'll be the cold open right there. If you like Ruby syntax more, use Elixir.
Starting point is 00:00:35 If you like Prolog syntax more, you don't care about syntax, use Erlang. I'm always so worried whenever I finish this that I'm going to look down and it's not going to be recording. Welcome to ADSP, the podcast, episode 133, recorded on June 6, 2023. My name is Connor, and on today's episode, we interview attendees and speakers from the Lambda Days 2023 conference that took place on June 5th to June 6th in Krakow, Poland. We interview in this episode, Toby Pfeiffer, Kim Huizing, Alexis King, Jose Valim, Andor Penz, and Pierre Stritzinger. This is part one of a two-part episode. All right, we are here live. First time we're ever doing a live interview on ADSP, the podcast. We're here with Tobi Pfeiffer. Tobi, I mean, I know where you're from and what communities you operate in, but the people do not. Introduce yourself briefly.
Starting point is 00:01:34 Hi, my name is Tobi. I'm from Berlin in Germany. I'm mostly active in the Elixir community. I'm known for Benchy there, which is like the benchmarking library, and otherwise operate in the Ruby community a lot. I maintain SimpleCoff, which is a code coverage library, and I run the Ruby user group in Berlin for like almost 11 years. And so yeah, that's what I do. So you went from Ruby to Elixir. Why the switch? Should people, should everyone in Ruby switch to Elixir? Although you still operate in both communities. It's a great question. Not everybody should switch, but I personally... Ruby is a lot of very fancy stuff, very fancy meta programming, very many things that go haywire. And especially, let's say, I don't want to start a flame war, although somebody told me that's good for viewership.
Starting point is 00:02:18 Yeah, start a flame war if you want. Go for it. So Rails, and especially ActiveRecord, has a lot of this magic going on with all of those callbacks going back and forth, back and forth. And so it's so hard to figure out where a bug is. And like I saw Alex here, and like the function programming paradigm, and also the way that they design, for instance, their database layer, Acto, as being much more explicit about what happens. So like in Acto, you've got to go and you actually have a repo instance. And every time you make a query to the database, you've actually got to go to the repo and be like repo do this thing and so it's very explicit like where sql queries happen and all of that and i just enjoyed that and the architecture and the thinking you know much more plus ruby is still not great at you know parallel programming like ruby has now
Starting point is 00:02:57 guilds and whatnot but like you know it's the year of like 2023 right and you know alex and erlang like the actor model is just so great and I always wanted to work with the actor model and Elixir gave me that nice way into it that's not as hardcore as Erlang. It's like a little bit of Ruby, a little bit of like the Ruby abstractions, let's say, but I can still use the full power of the Beam VM which I'm very happy about. I just realized too
Starting point is 00:03:18 Jose Valim is standing like three feet behind you. We'll talk to Jose in a sec. So we're here at Lambda Days 2023. It's a functional programming conference. First time I've been here, but I talked to you. It sounds like you're a speaker this year. It sounds like you've spoken in the past.
Starting point is 00:03:33 How many times have you been to Lambda Days before? Exactly. I mean, totally two times. This year and the last time that I spoke, which is like four years ago or something, I think, where I talked about Benchy. But it's a great conference. And what I love about it
Starting point is 00:03:45 is that all of the different languages go together here. Because sometimes I say, I've been to so many Ruby conferences, I've been to quite a bit of LXD conferences, and at some point, some of the topics repeat, or they have overlap, or they're almost the same. But then it's so cool for me to go watch a Haskell talk
Starting point is 00:04:02 or go watch a Clojure talk and see how does this community think, what are they thinking about? How do they operate? So for instance, one thing that I've also heard you say yesterday is that, you know, from the Clojure community, I learned to focus on data, you know, it's all about data. And that changed the way I think about programming. And so I love going out there and like, taking bits and pieces of like from other communities to change the way that I think about programming. Yeah, absolutely. And you just finished giving literally 10 minutes ago, your talk that you just presented. Tell us the title that I think about programming. Yeah, absolutely. And you just finished giving, literally 10 minutes ago, your talk that you just presented.
Starting point is 00:04:28 Tell us the title. I was there. It was fantastic. But this is a podcast, so folks aren't going to be listening to it during this podcast, but we'll leave a link when it goes online. What can people expect from the talk you just gave? Thank you very much. So the talk is titled Stories in Open Source,
Starting point is 00:04:42 and it basically goes through my story in open source, like how I started out in open source and was very frustrating, and it talks about why was it frustrating, what was bad, and then how I finally got into open source, what worked for me, and all the benefits I took from that, but also what I learned about open source project management, or also just in general working with people and tries to tell the story and give people a good piece of knowledge and advice so that they can either maintain their open source projects better, contribute to open source projects, or essentially also whatever other volunteer work they do,
Starting point is 00:05:16 just have a better time doing it. Yeah, it was an awesome talk. I can definitely recommend. I mean, there's so many highlights. You really talk about personal stuff, and it's a different kind of talk. One of my favorite points that you made, though, is that, you know, people mistake your sort of expertise in the Veeam, which is the VM that, for those that don't know,
Starting point is 00:05:34 that, you know, languages like Elixir and Erlang run on. They figured, oh, like, you must have been an expert before you started building Benchy. Anyways, I'll let you finish the rest, because that was one of my favorite parts. It's like, that's a great learning lesson for folks that are, you know, want to get to that level, but think, oh, I'm not an expert. So yeah, essentially people come up and say, oh, you need to have known all of this about
Starting point is 00:05:52 it. And it's like, no, no, no. The relationship is inverse. I didn't know anything about it, but I started writing this benchmarking library. And in order to write it and write it well, I needed to learn about the BNB. And that's why I became so good at knowing it. So that's both, you know, how time measurements work, how processes and memory measurement work. So, for instance, there's a very fun story where, like, we tried to introduce memory measurements in Benchy. So, like, see, like, how much memory consumption does this one function I take, that I run, take, basically. And it took us months to figure it out because we needed to realize that the beam vm loses generational garbage collection and like where do they hide the values and stuff and if
Starting point is 00:06:30 you're interested in that my co-maintainer devin estes actually gave a very great talk about that very many times about like how memory measurement works in the beam that was just the result of us you know doing that work and figuring that out and so it's uh very fun so like yeah if you want to learn something you know go work on it you don't need to know where to work on it you work on it and then you get better at it and you become an expert maybe awesome perfect piece of advice to end on
Starting point is 00:06:54 and we will link in the show notes the talk that you just mentioned that Devin gave if folks want to go watch that and as well we'll link your talk once it comes online thanks for being interviewed thank you very much Connor alright we've now migrated to the lunchroom. We're here with Kim Housing. Close enough. Close enough. Kim Housing. Kim Housing. You work at IMG Arena, and you're here as an attendee. Tell us, how has the conference been? It's day two of the two-day conference.
Starting point is 00:07:21 How's it been? Favorite talks? It's been great. It's been great. It's very technical, very theoretical, which I love. Lots of great people, lots of great talks. Yeah, good vibes. And I guess, well, yours was clearly one of my favorites about combinators. Very, very interesting. Yeah. Tell us a little bit about yourself. Where are you from? What languages do you use day to day? And if you want, tell us a little bit about yourself. Where are you from? What languages do you use day to day? And if you want, tell us a little bit what you do for work. Yeah. So I'm a Scala developer with IMG Arena. I have five years experience as a Scala developer, before which I did various other things.
Starting point is 00:07:58 And at IMG, I work in Scala and I also do random tasks. I have a passion for Regex and AWK. And I do a bit of infrastructure. Yeah, just various things to keep busy. But yeah, Scala is my bread and butter. If you had to recommend people between checking out Scala or AUK, what do you love about AUK? Why is that one of your personal passions? Because it's super, super fast,
Starting point is 00:08:25 and it combines some of my favorite things, which are words and logic. So what's better, Scala or AUC? If you only had to choose one, or if you had to recommend folks to go check out a language, which one do you recommend? I would recommend Scala, because you can do everything with Scala.
Starting point is 00:08:39 You cannot do everything with AUC. But yeah, for certain things, it can be really good and especially if you want to do like some data manipulation in the cloud or something it's a very good choice. Awesome and is this your first time attending Lambda Days or have you been here before? It's my first time here, yeah. You think you'll be back?
Starting point is 00:08:58 I think I will. Awesome thanks for being on the podcast. Alright, thank you. We are here with Alexis King closing keynote of day one of Lambda Days 2023. Introduce yourself, because most of the listeners probably operate in the systems space, so some people know who you are, even though you're very well-known in the Haskell community. So introduce sort of where you're from, what you're working on, and maybe we'll talk a bit about the keynote that you gave yesterday, which was awesome, by the way.
Starting point is 00:09:21 Wow. You're just... I feel like I'm talking to a news reporter. But yeah, I feel like I'm talking to a news reporter. But yeah, I'm Alexis King. I work for a company called Tweak at the moment, and I work on GHC, Pascal Compiler. And currently, I've been working on improving the compile time performance of GHC. But I've also, in the past, which I was speaking on today, was delimited continuations, added delimited continuations to the GHC RTS, which is exciting. Of course, it probably doesn't mean very much to most people because delimited continuations are a mystery to most people, but that's the whole
Starting point is 00:09:55 reason I gave this talk. So if you're interested, you can watch the talk. The talk was absolutely phenomenal. We'll talk about how beautiful the slides were in a second, but give people maybe, I'm not even sure, is it possible to give like a 30 second overview of what people can expect from this amazing Delimited Continuations talk? Because not only was it beautiful, but I think it's probably going to be the most approachable talk. Not that there's been too many talks given on Delimited Continuations, but what can maybe a 30 second high level as best you can? Because it's a hairy topic to try and summarize in a little podcast bite. Yeah, so I mean, I think really the sort of core concept that delimited continuations are really about is this ability to suspend and then later resume computations. And the sort of discussion of exactly how that happens is complicated,
Starting point is 00:10:43 but the talk goes into the detail and sort of perhaps at times painfully exquisite detail about exactly how that happens. But the interesting thing about it is that you can use them to implement all these common types of weird, fancy control operators that show up in programming languages like
Starting point is 00:10:59 generators, coroutines, exceptions. And that's really what they're about. Awesome. So we will link your keynote. I'm not actually sure. I think if I remember correctly, the Lambda Days 2022 talks, they took a few months to come out.
Starting point is 00:11:15 I think it was four to six months. So unfortunately, folks are listening to this in the middle of June. Actually, I will be giving the talk again in about a week at Zurich Hack. And I think the Zurich Hack talks, they normally get them up pretty quickly, so maybe you can link that one. Okay, awesome.
Starting point is 00:11:28 Also, too, I didn't know Zurich Hack. That's Z or Z, depending on what country you're in, U-R-I, so like the first four letters of Zurich, and then Hack, H-A-C. I didn't even know this existed, and I'm a pretty prolific talk watcher. Tell us a little bit. What is Zurich Hack?
Starting point is 00:11:44 How come I didn't know about it? And what can people expect from this kind of conference? It's free, right? It is free. So how do you know that it's free if you didn't know about it? I found out this morning from Meow. Hope you're listening, Meow. I'm not actually sure I'm pronouncing that exactly correct.
Starting point is 00:12:00 But Meow said, it's a shame you're not going to Zuri Zurich because you've flown all the way over here from Toronto, Canada. And then it was in that moment that I realized I'm actually flying to Zurich on Sunday and I'm taking a week off for vacation and I'm going to be in Switzerland for a week. The first two days of which Sunday and Monday, I will be in Zurich. So serendipitously, and I was like, how is it too late to sign up? And he said, it's free. So that is, that's how I know it's free. So maybe I'll see you at ZuriHack. But yes, I have no idea what the conference is about. I learned about it yesterday and I learned that it was free this morning.
Starting point is 00:12:32 So tell the listeners what they can expect from the conference. All right, yeah. So I mean, it's sort of a hybrid. People give some talks, but then there's also like a hackathon component, which is the hack part of ZuriHack. And normally people, I mean, it's pretty casual.
Starting point is 00:12:44 I actually have never been in person. I spoke at it three years ago, which was when I signed up. I was going to be in person, but then something happened. So I'm excited to be there. But my understanding is that it's normally pretty chill. People will just kind of propose some projects. You can pitch in if you want. You can do your own thing, just chat with people. I'll probably honestly spend a lot of the time just talking to people, but it should be fun. And there's also a few people presenting, obviously myself included. And, yeah, it should just be a pleasant time. Lastly, maybe I'll ask, you've given a ton of talks in the past at a plethora of conferences,
Starting point is 00:13:19 many of them highly regarded on the interwebs. Is there a place people can sort of find all of your talks, or if they want to follow you on socials, what's the best way to sort of follow the latest and greatest from Alexis King? That's a good question. I mean, the answer to is there a place that you can find all my talks is no. But if you are interested in following me, I have a blog, which is lexi-lambda.github.io. And also, I'm on Twitter, which is just lexi-lambda, because they don't allow dashes in Twitter usernames. So that's the main place that I post most updates.
Starting point is 00:13:57 The blog, honestly, I haven't written a blog post in two years. Hopefully that will change soon. But there are some things there. People seem to like the ones that I've written in the past. So if you're interested, it's available. Awesome. We will link all of that stuff in the description. Maybe I will compile a list of Alexis's greatest hits and put it in a playlist and link it in the show notes. Thanks for being on the podcast, Alexis. Thank you.
Starting point is 00:14:19 We're back because we didn't even talk about how beautiful your slides were. We got carried away with the other content. Tell people quickly, and first, tell people how many slides. This was an hour-long keynote. Tell people how many slides you had and then how you made them because extremely beautiful. And I was halfway through the talk flabbergasted. I was like, there's no way that this was manually created. Something's going on here.
Starting point is 00:14:43 So I think, I mean, if you count every individual step of every slide, there's about 300 distinct steps. If you only count, you know, truly distinct slides, it's 60 slides, which is still a decent number. You know, it's one a minute. So I think that's still pretty decent, pretty respectable. But they're all generated. Racket, the programming language, has a library called Hashlang SlideJaw.
Starting point is 00:15:05 I mean, I guess it's sort of a language, but really it's just an embedded domain-specific language for making slides. And there's just sort of some primitives for making different types of vector graphics, and then you can compose them together with some combinators, and it's very nice. And, I mean, the truth is, if you just use that library, you can get some decent stuff. But then I've also, over the years, accumulated a set of kind of additional library functions to compose things together. So I'm able to just sort of say, here, I want to have this slide and have these things here. And then I just want to draw an arrow between these two things. And it'll just stick it there.
Starting point is 00:15:39 And so that's pretty pleasant. And I guess the most fun fact is I was giving a talk on delimited continuations. And my library for staging slides uses delimited continuations internally. So, you know, it's just a fun meta aspect. A fun tidbit of information. So if you're not interested in learning about delimited continuations, but you are interested in how to make beautiful slides, go check out the talk that's linked in the description.
Starting point is 00:16:04 It uses Hashlang Slideshow from the Racket language. It's a lisp. We check out the talk. It's linked in the description. It uses hash slang, slideshow from the racket language. It's a lisp. We all love lisps. Once again, thanks for being on the pod. Thank you. This is going to be fantastic. All right, we're here once again with another guest, this time special guest, Jose Valim. If you don't know, he is the creator of the Elixir language. Allegedly. Allegedly? Allegedly. What does that mean? Who knows? Who knows? All right, so allegedly the creator
Starting point is 00:16:30 of the Elixir programming language. You're going to be speaking, I think, not in the next time slot, but two time slots from now, about Livebook, I think? Livebook, yeah. And so maybe give us a little preview of your talk and then tell us how the conference has been so far.
Starting point is 00:16:42 And if you want, tell us what's... I'm asking too many questions. Let's start with a preview of your talk and how the conference has been so far. And if you want, you know, tell us what's, I'm asking too many questions. Let's start with, you know, a preview of your talk and how the conference has been going. Yeah, so my talk is going to be about Livebook, which is, in a way, we want it to be like the next generation of open source computational notebooks. So then there's the follow-up question, which is, what are computational notebooks. And computational notebooks, it's a tool that allows you to have code, documentation, and rich visualizations all living side by side. And my talk is about both, I want to talk about both how Livebook works
Starting point is 00:17:19 and is implemented, but all the different kinds of things and ideas that you can learn once you put documentation, code, and rich visualizations all together. That sounds amazing. I mean, spoiler alert, I've heard you on Thinking Elixir. I think you did like a five back-to-back sort of series, which was amazing. So I've heard a lot of this stuff, but we will link this talk when it comes out online if folks haven't heard about this.
Starting point is 00:17:41 It's amazing stuff. I've also seen your keynote that I believe happened in the pandemic where you launched NX. So, I mean, there's so much exciting stuff. Like, what is the 30,000-foot view of all the exciting stuff that's happening in Elixir in the past couple years? So, it's kind of hard to answer the question because there are... So, I'd like to say that... So, one of my recent talks was called my future with elixir because i wanted well i am the creator of the language and i
Starting point is 00:18:12 am aware that what i think for elixir is going to impact a lot of people but i also want everybody in the community everybody in the community they also have their relation with the language and what is their future and what they expect so i'm always very wary of like trying to answer about elixir because i wish that is not a individual answer but a collective answer like a lot of people want something and want they're going to have their different uh-feet view version. So my version is the things that I've been excited about is machine learning, bringing a lot of the machine learning ideas into Elixir. So today, that's one of the things I'm going to show in my talk, like how quickly you can have speech-to-text machine learning model
Starting point is 00:19:03 running Livebook with Elixir. And then you can get that, bring it to a web application and deploy to production. So that's one. But also related to Livebook, I'm also thinking a lot about improving the whole developer experience and the user experience of the language. And then the other thing like of what is happening with elixir that i am working on is we are exploring bringing a type system to elixir but there are a lot of questions like do we want to do it do we not want to do it and if we do it what does that mean but that's kind of
Starting point is 00:19:36 like a summary of everything that is happening and from my point of view and my the point of view of what i'm excited about but if you ask somebody else they're going to have like their own things that are excited about phoenix or membrane uh happening in the elixir community awesome i will link all of the things plus the talk that you mentioned it was the future of elixir in the show notes so folks want to go watch it i know this isn't your first lambda days how many times have have you been before and what makes this year special? Yeah, I actually, I'm not sure how many times I have been here because I, so the event is in Krakow
Starting point is 00:20:10 and I live super close to Krakow, like 20 minutes by train. So I think I was here in, I may be like the most frequent speaker, but citation needed. We did not check that yet because i'm super close and then i sometimes they invite me sometimes i invite myself i like hey i have this idea can i come and present and uh when for some reason i had nothing to speak about uh they would
Starting point is 00:20:37 invite me to come and attend and just hang out which is super cool so so yeah and and uh i'm really happy that uh it's like the 10 years of lambda days and it's really interesting because it's also like last year was also 10 years of elixir so it's all like so close to each other and like uh um you know related and about the same age in certain ways that is awesome i had no idea so maybe potentially you know we won't say it too loud but maybe this is secretly like you know an elixir conf conf you know i know they talk about other languages but but really they started at the same time there seems seems to be something there yeah no i think uh yeah uh i i i think i don't think elixir is the majority being represented here, but I think that's great.
Starting point is 00:21:27 And it's one of the reasons why I'm frequently speaking here and I try to come every year is exactly because it's a diverse hub. We're talking to Barbara later. We will ask Barbara. She's one of the organizers or the organizer of the conference. We'll ask her what her favorite lang is. And I'll be surprised if she doesn't say Elixir. So we'll see what she says.
Starting point is 00:21:48 Last thing, if people want to follow you or the Elixir language, what's the best place or best spot to go to to check out, sort of follow you and follow the language? Well, I am weirdly on Twitter. And, yeah, I think... Actually, I'm not sure. Well, do follow Elixir. So it is on Twitter.
Starting point is 00:22:11 We have the Elixir forum. We have a Slack and a bunch of community places where people can join and participate. And I think that's more important than following me. So do that. Awesome. We will end it here. Thank you so much for being on the podcast, José yeah my pleasure she's back for more oh yeah that's right we're gonna get
Starting point is 00:22:31 dessert we're gonna get dessert after this maybe is that the only dessert uh there's also some vegan cake sounds sounds vegan um what yeah what what kind of dessert we got here walk us through this kim kim's back and she's got a dessert she's got a dessert. She's got a rubber duck. Is that your rubber duck, Andor? No. It's Kim's rubber duck. So tell us where you got the rubber duck, and tell us what you're snacking on. I got the rubber duck from Evolution Engineering.
Starting point is 00:22:55 They have a lot of good merch. And they're a sponsor of the conference. Look at that. You sponsor a conference, you might end up on the pod. And they're hand-in-hand rubber ducks. We love that. And what are you eating dessert-wise? What do we got here? It's a panna cotta and the sauce,
Starting point is 00:23:08 I think is passion fruit and there's some fresh fruit. It looks delicious. Like if you would let me eat it. Take a bite and we'll do a, we'll do a live feedback on dessert lunch day two. She's nodding her head, thumbs up. We'll wait for her to finish a bite, and then we'll get some verbalization of how it was. It was good. It was excellent. Four out of five. Four out of five stars.
Starting point is 00:23:34 You heard it here first. Dessert. Not the vegan cake, but the panna cotta. All right. We're here with our next interviewee, another speaker and or spoke yesterday about dependent types. We'll talk about your talk in a sec. First, introduce yourself, where you're from, where you're working from, and we'll go from there.
Starting point is 00:23:51 Okay. Hi. My name is Andor. I'm originally from Hungary. I work for Standard Chartered. I live in Nottingham. I'm interested in type theory, dependent types, functional programming in general. I would like to create programs which works.
Starting point is 00:24:05 I like to create programs that works. That's a quote. Well, maybe that'll be the cold open right there. So tell us a bit at your job, what language are you operating in? What's your daily driver? And then we'll talk a bit about your talk. My daily job is a Haskell job. I basically send that chart.
Starting point is 00:24:22 It has a very specialized Haskell team, and I'm part of that. Awesome. So Haskell being used in the wild. Absolutely love that. Haskell, one of my top five favorite programming languages. You gave a talk yesterday on dependent types. We will link that in the description for folks that want to go check it out. Give us a little overview of what you talked about. Dependent types are kind of interesting and easy concepts, but we are kind of demonizing them, saying that, oh, these are hard, because if GHC type level programming is hard, then dependent type programming must be harder.
Starting point is 00:24:52 And my hobby is actually try to reach a consensus or try to show that dependent types are actually easy, easier than normal type level programming in Haskell. Awesome. So you are trying to find use cases in the wild that are actually, you know, applied dependent types. Is that correct? Yes, exactly.
Starting point is 00:25:11 And my strategy here is like, first I read the type-driven development from Edwin Brady. That was a really good book. And after I just, let's just grab another book from my bookshelf and try to apply dependent types there and see where is actually, there are the sweet spots. There are the sweet spots that try to apply dependent types there and see where is actually there are the sweet spots where are the sweet spots that are actually dependent types make sense
Starting point is 00:25:29 and i we don't overdo it it's not painful it's more like it's helping us awesome if people want to learn more about dependent pipes slash follow you on the socials what's the best way for folks to do that i have a twitter account that we can we can link that awesome we will link that in the show notes anything else you want to say? Is this your first time to Lambda Days? Have you been here before? What are your thoughts about the conference? This is a really good conference.
Starting point is 00:25:51 I really like this conference because it's not really language-specific. Previously, I always attended Haskell conferences, and now this is my first real functional programming conference in the sense that there are many functional programming languages. This is something fresh for languages. And this is something fresh for me. And this is my first time at Lambda Days. You think you'll be back in the future to Lambda Days 2024 or some version in the future? Definitely. Awesome. Thanks for being on the podcast. Cheers. We're back with Kim. We are going to hopefully find Becca, who gave a lightning
Starting point is 00:26:21 talk on functional females later to talk more about functional females. But here we are standing with Kim, and she mentions she's a part of the functional females organization. I'm not sure as an organizer or as a member. So tell us a bit about functional females and how other conferences can get involved or have them involved in their conference. Okay, so I am not an organizer. Becca and Liv are the organizers, full credit to them. They did a great job setting it up. It's very, very new. It launched about two months ago.
Starting point is 00:26:51 And I am a community lead for the Scala community. Interesting. And is this a global organization or is it based mostly in Europe? Because I'd never heard about them before attending this conference today and yesterday. Yeah, so far, I think all the members are Europe-based. It's about 70 women so far that work in various functional programming languages and so far are all based in Europe.
Starting point is 00:27:14 But I don't think it's a requirement to be based in Europe. Interesting. So I'm primarily a member of the C++ community. Would functional females be interested in entering C++? Because we got some functional stuff. Or are you guys trying to stick to the Lambda Days, ZuriHack, I don't know, all the functional conferences. What's the main vision of functional females?
Starting point is 00:27:37 Yeah, as far as I know, we're not really into C++. We have Scala as the largest group so far. So we're very focused on Scala events. into C++. Scala is the largest group so far, so we're very focused on Scala events. Also Elixir and Rust. And yeah, just functional conferences like this one. Wait, you guys are interested in Rust,
Starting point is 00:28:01 but not C++? What's going on here? Talk to Becca and Liv. We will find Becca and Liv, and we will get to the bottom of this, folks. All right, thanks, Kim, for being on the pod for the third time. Enjoy the rest of your dessert. Thank you so much. I just keep coming back for more. All right, we're here, we're back.
Starting point is 00:28:24 We're interviewing Lambda Days 2023, day two. We're here with Pierre. Am I pronouncing that correctly? Pierre. Pierre. But I listen to Pierre, too. You listen? Because the language speakers say Pierre.
Starting point is 00:28:36 It's better than Peter that I was calling you for, like, the first couple hours when I... Everything works. Everything works. Pierre, Peter, whatever. All right. So most of the folks won't know you. Introduce yourself. Where are you from? What company do you work for?
Starting point is 00:28:45 And sort of what technologies are you working with? So, yeah, the whole name is Peer Stritzinger, which is also the name of my company. And we basically run Erlang directly on hardware. And that's what I've been presenting on here several times in the past. And this time I was lazy and didn't have the time to talk. And I'm just, just like hanging around. You did give a lightning talk today. You wasn't completely lazy.
Starting point is 00:29:12 Tell us what you talked about in the lightning talk. In the lightning talk I just gave the GRISP roadmap, what we're up to. Basically so we build hardware to actually run, make it easier for other people to run it on the hardware. So we can actually provide a better user experience. And I gave the roadmap of the next things to come, like little hardware sensor modules
Starting point is 00:29:32 that we are building to plug into the main board, a battery board, like a charger board, and also GRISP Zero, which will be the new thing, which will be the smallest thing that will be running the full-blown Erlang VM. And if I recall correctly in the talk, you mentioned that the Xero was inspired by the Raspberry Pi Xero, which I don't know much about. So what's the sort of difference? Or is there a comparison between the Raspberry Pi and Grisp, or are they completely different? Not at all.
Starting point is 00:29:58 I just sold the name. And so tell us a bit more about Grisp. So if people are interested in acquiring this hardware, is it something that people can use for hobby projects, or is it used by sort of big companies? What do folks use the hardware for? So the hardware and the software stack, because the software stack is actually the more important thing.
Starting point is 00:30:17 The hardware is just an evaluation board to actually try it out. It's used by industry, as I know, mainly by us, also for developing our own products. It's used by a lot of universities for teaching because it's more fun for the professor not to have to read half of the master's thesis about how to get a Raspberry Pi working with Erlang and having a bit switched on because that's always the same.
Starting point is 00:30:46 Because this kind of like the zero to blinking light we actually can provide in 10 minutes. And then you start to do fun stuff. And it's also used by hobbyists for all kinds of things. Awesome. So I'll be sure to find links that we can put in the show notes if people are interested in checking this out. If people don't know much about Erlang,
Starting point is 00:31:04 because I think most of our listeners are sort of in the C++ space, give us like a 30-second overview of Erlang and why people might be interested in Erlang and not Elixir, because we talked to Jose Valim earlier, and he's the creator of the Elixir language, which is built on top of the Beam. Anyways, I'll let you talk about Erlang and why people might be interested. Yeah, so the Beam is the common virtual machine that we share,
Starting point is 00:31:25 where actually Elixir is not like based on the Beam, but actually based on Erlang and why people might be interested. Yeah. So the Beam is the common virtual machine that we share. Well, actually, Elixir is not like based on the Beam, but actually based on Erlang. It's running on top of Erlang. So without Erlang, Elixir would not be there. So Erlang is basically the base technology, the older language. I don't know. I mean, if you like Ruby syntax more, use Elixir.
Starting point is 00:31:41 If you like Prolog syntax more, you don't care about syntax, use Erlang. It's more kind of like... It is older, but it's also more kind of like to the ground what the actual virtual machine does. So the unique selling point why you want to use it,
Starting point is 00:31:58 or both languages, is it's the only systems that allow full torrent programs. So your software has bugs, but your code keeps running and working. And there's a pretty big company that was acquired, what was it, for $20 billion, $30 billion, that we were talking about last night? Oh, you mean WhatsApp? Yeah. Oh, it's run everywhere.
Starting point is 00:32:19 Basically, there was an estimate once that 95% of the human communication goes over a system with Erlang at some point. So that includes all the Ericsson base stations. All Cisco switches have Erlang in them. WhatsApp has Erlang in them. And then probably you're already in 95%. Oh, I knew about the WhatsApp story. I had no idea about the other stuff.
Starting point is 00:32:41 Erlang is used for a lot of infrastructure stuff. And it's hidden in a lot of places where people don't know it, where people actually need this robustness. For example, all the banks use Erlang for trading. They just don't talk about it, so we don't know. I mean, we know in the Erlang community, but it's not official.
Starting point is 00:32:58 They don't talk about it. Interesting. I'm going to have to find some links to link in the show notes, because I know a little bit about Erlang, but not that it's used globally around the world. Last thing I'll ask, I believe, if I recall correctly from last night, you have been attending Lambda Days for a very long time, if not from the get-go. Is that true? I think I missed the first one. I think my first one was the second one, and there was the break during the pandemic, and I couldn't have attended last year, but I was at all others. And so you've been a longtime attendee, keep coming back.
Starting point is 00:33:31 Why is Lambda Day so awesome? And if someone's thinking about coming to Lambda Days in the future, what would you tell them? I mean, if you are into functional programming or you want to find out about functional programming, because both work very well, Lambda Place is a very good place to be. It's a great conference. They have so great content. I always come home with ideas. And it's not like a theoretic conference, like ICFP, functional programming, like academic conference.
Starting point is 00:33:59 There's academic stuff and industry stuff mixed, and I think that's the strength here. And also, Krakow is a very nice city to go to. Krakow is very beautiful, I can confirm. Last thing, if people want to follow you online, on the socials, is there a best place that they can do that? Well, I'm on Twitter. Twitter handle, my personal Twitter handle is PRSTR,
Starting point is 00:34:20 and the Grisp board is basically on, or the GRISP project is on GRISP org. On Twitter as well? On Twitter as well. And you will also find me via the website of GRISP and whatever. Awesome. I will link all of that stuff in the show notes. Thanks so much for being on the pod. Thank you. Be sure to check the show notes, either in your podcast app or at adsbthepodcast.com for links to any of the things we mentioned, including all of the talks and resources, as well as a link to a GitHub discussion
Starting point is 00:34:50 if you have any comments, questions, or thoughts on today's episode. And once again, thank you to everyone who agreed to be interviewed at Lambda Days. Thanks for listening. We hope you enjoyed and have a great day.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.