 Great talk. Thank you so much, Xiao. So now we are going to start our panel. So we have some, we're going to start off with questions for Sami and Ethan. And then Reza is going to join us and we are going to hear a little bit from Xiao. So let's see, Sami, Ethan, are you here? Yep. Hey, Sami talk. Yeah, I can see you. Yeah, yeah, yeah. Now you're talking. Oh, yes, everybody. Let's look at that DSLR action. Yes. Okay, so we'll start with the icebreaker and this is for both Sami and Ethan. You both have been involved in the Cyclone community for a long time now very value members that community. So how long exactly have you been active? And what is your favorite part of being active in that community? What's the thing that you love the most about it? Oh, calculations. I think my engagement started around the time when Daniel came to Chloe Utre in Helsinki that's way before the COVID but I can't exactly now recall so it's maybe two or three years ago. And then we started working on some the Berlin event and I met Ethan there and stuff like that. So from around that time, what's the favorite feature? The people, of course, there's amazing people there and you can always get help and encouragement and everything you need to keep you going. Awesome. And Sami, if we could get you to bring your mic just a little bit closer or bring your gain up, that would be, oh, oh, yes, I meditation time. Nice effect. All right, Ethan, your turn to answer. Yeah, I think I got involved. I don't know I had in the end of 2019 because it was right before my son was born, which means then that shortly after it started I was less involved. And I think, yeah, I don't know. For me, it's just a really nice group of people and I think one part of that is the one oftentimes we talk about not having kind of litmus tests around expertise or sort of level of, even in terms of level of familiarity with the things that we talk about so frequently. So there's a concerted effort to explain things from the beginning to always be willing to do that and to bring to make, you know, hopefully that makes it possible for as many people to get involved, you know, whatever their level of familiarity with data sciences or closure or certainly the things that we specifically have frequently discussed. And there will be lots of opportunities we will hear from Daniel Slutsky, all along this conference of the numerous opportunities there is to get involved with this awesome, awesome group of people. All right, Jao, are we here Jao and Renzo? Yes, we're both here. I think. Yeah, here. Can you hear me? Yes, yes. So I have like, you know, a very first question is, should I, should I call you Joao or Santiago? Sorry for this. Usually people call me Santiago. It's easier to pronounce, but you're doing a very good job. All right, so, well, you know, I'll go with Santiago just because you told me so. Well, I'm going to use the usual icebreaker question that I like to do, like, is there anything surrounding you, some item that you, the curious item that you want to share with us? Curious item. I have all my bikes here. Oh, you can see them? Oh, nice. Yes. So, so this one, Starbot, not so exciting. This one I built myself. It's my little baby. Wow. And I unfortunately cannot show you my basement, which is also full of all bike bicycle paraphernalia. So when I'm not building, you know, bulgogi type things, I usually building bikes for my friends and stuff like that. Okay, but so those are like in your living room and do you still use them? Yeah, yeah. And the one I built, I just, I'm too anxious to leave this outside of my house, but I do use it all the time. Like it's meant for riding, not for showing on the wall. Cool. That that the way it should be, I guess, except for very exceptional bikes. Anyway, thanks. So I'll probably give the microphone back to Jordan for the first question to Sami or Ethan. Okay. And a lot of these questions are kind of dual Sami and and Ethan questions. I think there were lots of interest around clearly this took this recording took place over the course of several days. Yeah, so I can start with the very beginning part. The introduction was made around two weeks ago when the first deadline was for the for the conference. And we sent that to the conference and we still had all the work to do. So we just had the introduction. And basically, yeah, we were doing some mostly asynchronous planning of the of the setup. Also with Daniel he was he was very busy with it as well because of the workshop. And I think the most of the recordings happened this previous weekend so we did something on Friday some twice a week. No, I don't forget. I don't remember exactly. But yeah, because we have this situation of of a slight time difference, we have these windows early in the morning and early in the evening. So we did a bunch of bunch of coding and recording and then we met when the other one was awake again and continued. Yeah, so where where in the world are you? And where are you, Sammy? And then where is Ethan? I'm close to Helsinki in Finland, northern Europe. I'm near Seattle. Cool. Cool. I guess we we did know that. And okay, one more question. Who's responsible for the post process video editing? I know that can be hard. Did you just say, all right, ready set, go OBS. Did somebody have to edit and snip it and or you just you just rock, clearly you just rock with it. I loved that actually improv part of it. That was Sammy. Yeah, yeah, so so I did some editing because if we would have showed you the raw version, you wouldn't have been as impressed at our ability of being concise and good explainers. But but yeah, yeah, I worked a bit on the editing afterwards. I believe there were a lot of ums that were nicely removed. So we found more, you know, succinct. But I have to say, Ethan is a wonderful explainer. So a few ums away here and there and it was it was clear. It was a nightmare to try to make anything I said into coherent. But so most of the editing time I had to spend on myself actually, but I'm very happy we had a very good good communicator here on board. Well, we were definitely very impressed. So you did a very good job and that can be I can be the hardest part of this, this whole this whole deal. So let's go. It's fun to to to do that actually in this format because you don't normally in talks when you're live you cannot do it but now you can sort of play around a little bit with it. So we run with it. Yeah. Yeah, it was interesting. I mean we got kind of Sammy definitely guided this but I think we kind of ended this place where we could be kind of reasonably comfortable as we were just talking things through. And then kind of there are a few guidelines about, you know, kind of how how to do that so that we could still keep the what we were, you know, recording intact so that it could be cut together well. So it allowed us to be both, you know, to be kind of comfortable and normal bit more while we're recording. That's and you all have been pair coding together for years now through the Cyclone group so I imagine that really helped in the in the in the process of being comfortable. We had a question and discord about how did you get so good at pair coding. Well, doing it as long as you all have together. Yeah, and that's I think that's yeah that's a good point I think it's worth emphasizing that that is something I think we maybe we didn't we could have been more explicit and we're trying to showcase that but it definitely came out the practice definitely came out of the way we hang out on zoom for Cyclone is where we're just talking about stuff and trying to work through problems and being very open about about that. Yeah, I think that was showcase there certainly bullied us or, you know, there's been like hours and hours of study groups that have been done over zoom with like half a dozen people doing exactly what me and Ethan did live there so yeah that's that's actually nice feature I could have chosen that as my favorite thing about the community actually yeah. Yeah, and if you should we should plug those you know if they're people want to join. There's two communities that are two kind of threads on the closure in Zulu. ML study and another one that we call she foo SCI dash f you and ML study is, there's a lot of wonderful sessions Daniel runs. Most frequently that are looking into certain you know data science problems, and just looking at them and then she foo is one that I've been hosting and it is a bit more focused on learning the data ecosystem the libraries and with the aim of helping people get to the point where they might contribute to them, or at least understand their internals that more and how they connect. Yeah yeah and Santiago are you also involved in this I closed community. I would like, mostly from my, my fault. Like I, I gave, maybe one workshop so far, like I gave a workshop in this, in this conference. And then I have the couple of demos and some extra lessons with Daniel. And I also was part when there was, you know in the good old days of 2019 the data science meetup in Berlin. I was also around, but lately, I unfortunately didn't have enough time to just like produce stuff I'm trying to hope that bulgogi can be this entry into forcing me to just be a more active participant. But in general, I think both like Sami and Daniel usually hear from me and, and we exchange a couple of ideas from time to time. So, there are a couple of questions that you've been already answering as you are in the chat but I wanted also to make others aware of maybe you can answer them live as well. So one was from Yaku regarding would it make sense to reuse some of the feature computations such as Boolean to them from the cycle of libraries. So this is something when I first saw says and Ethan stock, like in the, in the back office. So I was like, wow, I was not aware of all this utility function that exists. And I've been thinking all the time. How could you bake in this functionality into bulgogi because at some point you're going to be repeating the same things over again. And it's just another namespace where you're going to have functions like convert milliseconds to something and are extracted an hour from a date. And I saw what they were doing. I was like, yeah, this is exactly it. We don't need to go somewhere else. So I think all of these utilities from tablecloth and all of these other functions that already exists. They just fit in very well because again, bulgogi you saw it just closure so there's nothing that doesn't interact with this and doesn't interact with the functions. It doesn't use at least from my personal use case. You don't need this whole data frame abstraction. But all of the tools that are being created to use the data frame abstraction like utilities, they will just go right in, and they would fit very well. Another point to say, if these things already exist, then it's very simple to bring a data scientist that works with Python or R or whatever, and tell them the things you want are mapped to these things in closure. And I would just need to learn the very simple syntax of closure to write a new function that you want. Thank you. Jordan, you want to ask another question. Sure. And it might be hopefully y'all can answer this because it's a little specific, but Holy Jack asked in the discord that it was kind of out of topic, but he was curious to what you use to zoom in to the code buffer. When it appeared as a new on the top rectangle over both emacs and in the browser with bigger font. When rewriting map to emap. So, hopefully, Sami or even you know if not maybe we can get a more specific time when when that occurred. I believe that was more of Sammy's magic, but post processing. Yeah, the nice feature there is is a beauty. I also fell in love with it but but unfortunately it's made with the Da Vinci resolve which is a video editing tool so we still have to wait for that to come to emacs but but yeah, yeah, it's a nice nice little feature I think. To be built over the next question for Santiago. You mentioned that Python or are is low compared to closure. And I'm interested in why closure is faster than Python and are when Python as libraries like Mumbai, the are begot by see. So I imagine people in my organization country might claim that closure is faster with that. And I wonder what you would say in response. Right. So, I mean, to come for completion are has the same thing right we also have lots of libraries that are back by see your C++ or for train. So they, they should also not be seen as slower in comparison to closure. When I made that comment in the talk, I'm referring to vanilla Python vanilla are which is actually what we have to use when we deploy these things. So I'm not using NumPy or a NumPy like thing in production to calculate these features because it's such a small thing. I'm not going to use NumPy to make X minus why it's just overkill. And in those scenarios, if you also on top of this have all of the power of using all the CPUs at the same time from closure by just saying P map, right, then it's just faster. Of course, sure, maybe some use cases. This is not true. Cannot make like a blank statement, but that's definitely not the like the killer feature for me that closure is the best way for feature engineering because it's fast. I think it's just because it's simple. It's very well understandable. And it composes very well. But I think someone else also mentioned the type next so if you want to have as fast as faster than see performance then closure also has you there. Can I also respond. Yeah, I kind of it's interesting because that deep type next does give some of that performance speed and that's also the basis for the data sets tech amount data set is, you know, it's columns are built on deep type next. And I wonder if Bo Gogi could also at some point support data set and that, although that might not be important in many cases where you don't you just don't need that level of performance if there are some instances in which but you can write I mean if you look at Bo Gogi without my feature engineering lenses that I gave everyone. It's a very generic general purpose thing it's just getting some inputs telling here's some data here's some functions I want you to run. And it does that so what the functions are could be, you could even be calling an external API to do some word embeddings. Who knows. This is up to you. The what I really wanted to capture is this idea of centralizing this transformations and having this buffet right we can have everything in there you can choose whatever you want. So people can easily collaborate because they're collaborating on a single place. And so yes of course like using using data set here could be it's not my use case, but this is why we're having this discussion maybe you look and say well this is cool to use table cloth and other libraries. And then you're basically just passing a map through right I want to make sure. Yeah, exactly. And it's kind of interesting because there's a similar, not the same but similar pattern in the in the Maclosh ML library where it's called this like metamorph context, and it's it's a very similar idea where you're, you know, basically this map is being passed through and it collects stuff that is important and useful. I wonder if there's some, you know, cross fertilization that could happen there between those with your tool now and it seems like there's some pattern overlap, like, you know, might be wrong, seem like there's something. It sounds like we have room to explore stuff. Yeah, which is good. Yeah. So we have a question here from ray 1729 who says is encounter now dead. It looks like it's been superseded by table clock fast math and the Vega based visualization libraries. Encounter representatives here. Good answer. But I guess that this hasn't been very much activity on the encounter front for quite now I haven't looked at it recently but but I think it, it has been quite quiet for a long time. That is one aspect. But you wanted to comment on that. I was just saying that if, if I have the option of using the same type of tools from closure, I wouldn't use something that is interfacing with our from closure. Right so I would like to I would prefer having either directly using our and just commit to that environment, or commit to closure. So there's also the talk with bulgogi with some of people in my team that maybe we could have functions written in Python, because that will be easier for them. And then we have to interface with that. But it sounds like things are working out so well that maybe we don't need to have this connection right because encounter is nice but it always felt a bit like the last resource it's like kind of oh we don't have these things in here. So let's make a bridge to that world using this library. Okay, so we have. There's another question for Santiago. Again Ray asking why introducing microservice, why introduce a microservice rather than inlining code it seems like the network calls will only add overhead. Instead of using a microservice instead of inlining code. Yeah, well I know why I understand from this question is why are we not doing this inside every function or every model, right, together with the model where the model exists. This, this was the whole story in the in the talk right if you do this, which is what we do today, you have to deploy them together. And then you have to copy paste this code around or you have to extract the code into a library and manage the library, which is fine to some degree. This is why I said this is not. It's not a fix for all use cases. I'm working by myself and I'm a team of one in a company of not that many people. It doesn't make sense to build bulgogi, like you're not collaborating with anyone you don't have a problem to fix the problem only happens when you have a certain scale, and you realize people are writing the same things over again. And you, you don't have a nice, easy way to keep the data you get in development to be exactly the same as you're having production. So you have to duplicate these two things. So you're inlining code in two places. Right you have to inline the code in development in line the code in production. And on top of this if you get a new colleague that just says well I'm more efficient in Python. Okay, that's fine. Everyone does what they want. But then we just need to find a common ground where to collaborate and to do this, it, you just cannot inline code. And this is why bulgogi needs to become some sort of microservice doesn't need to be a microservice but needs to be extracted, in my opinion. That that makes sense it really seems like collaboration is the key of a lot of y'all working together. I have a question for Sami here from one time. Any reason for using the elis style and temptation when using closure, and he adds the result is less ragged code, and you can set the font size bigger to because the horizontal screen screen real estate is less of an issue. And it's very helpful for screen casting, he mentions. No, no specific reason that's a very good, good tip and next year. Wait for that indentation. So thanks for the tip. So Renzo do you have maybe one last question I think we are getting to the time to wrap it up for one break. I think we have one last question I think it was, why did you decide to, I think this is from Pavel before. Why do you decide to implement bulgogi as a babashka script. Is that specific to your company setup infrastructure, or there are other benefits as well. Oh no it's just it's very fast prototype it like this. I didn't I was thinking well, I just want to try a couple of ideas how this can this be implemented. Instead of making this a full setup, I can just share a script with someone else and say hey I run this in the command line. See if this does what you want. I think Babashka just enabled the whole level of prototyping that kind of existed before but now it's just at the script level, which closure was missing a bit and you always have for granted in our and Python. So no, it will not be a basket skip forever. All right. Can I just add a short since this became also discussion about post production panel so I'll just make a little shout out to any Linux users who want to work with a proper video edit. Emily, there is something for years and years I was waiting for something but a couple of years we had the Da Vinci resolve, which is not open source but it's free so we can do proper video editing on Linux. Thank you. But it doesn't work with a ready on GPU FYI. Yeah, you need to add that on the hard way. You need to Nvidia for that one, I think. True. Jacob had asked for Sammy kind of what he says is the status of the closure data science scene in the roadmap I do know that we are going to hear a little bit more about that from Daniel at different points during the conference but if Sammy has anything to say on that right now about what they're working on. That would be good to hear. Daniel is an excellent person to talk about that but I warn you a bit every time we ask Daniel when is it ready he says in a month or so in a couple of months. But yeah, we'll be honest this takes a lot of time but the amazing work that has been done now it's pretty far already it's pretty mature. It's not completely mature for beginners and stuff like that we have a lot of work to do still but it's making amazing strides it's exciting. That is wonderful and remember everybody to stay tuned Daniel Slutsky is the person to contact about that. And he will be sharing there's even an extra bonus day of the conference on Sunday, where you can dig in and learn more about that. So, so yeah, stay, stay tuned there's also the website the Cyclode website of you, or the Zulip. There's also the Zulip there's lots of ways to find out about this. Once again I'm going to thanks Sammy Ethan and Santiago for the wonderful talks and the effort they put into this.