 Uh, okay, now, yeah, I forgot to push the button again. Yeah, yeah, I just wanted to check. Yeah. Hello, everybody. Hello. Oh, well, what a day. We've had quite the course, haven't we? So yeah, we had a nice long discussion yesterday after we were done about where we were, like, where we were, is this too hard, like, what's, like, what's sort of the role of this course in the whole learning process? Is anyone expected to know this after the course, or is it too, like, what is the, what is the main, main learning outcome? Right. Yeah. Yeah. That, that should be expected or could be expected. Yeah. Maybe we would. Go ahead. Yeah. Yeah. We were talking quite a bit about, like, uh, like this, uh, idea of, like, N plus one, that, like, you don't necessarily understand everything when you first encounter a subject but then you encounter it later on. Like that has happened, at least for me, in multiple occasions. So maybe, maybe hopefully we can be the end to your N plus one. I propose we have a bigger discussion of the learning outcomes after the, after the hour starts. So because I think this is important. Yeah. For now, I can say that I'm waiting for having some ice cream. Like there's an ice cream truck that comes every now and then and it's like, it's the best thing on every Friday. If it comes, like, I hope it comes this Friday because I'm ready for some ice cream. Yeah. Like, is, do you mean in, like, where you live? In Viki. In Viki. Okay. Yeah. Yeah. Right, right to the doorstep. It comes there and children scream and go, that's an ice cream. Do they still have the same, say, the, uh, no, no, they don't have the, the, the traditional jingle. Is there anything now? There is some jingle, but I can't remember. But our cat goes completely berserk when he hears it. Yeah. Like, what, what is this, who's coming, who's, who's attacking now? Yeah. And maybe there are some, like, frequencies that are like, like not bad for us, but like really bad for cats or dogs. I can't imagine. Yeah. But, uh, with our, uh, with the powers vested in us, we can say that, like, we can grant you the permission of having an ice cream after this course because we, I'm definitely having one. Yeah. Okay. So we're getting, getting, uh, some happy and some overwhelmed. Both are very understandable feelings. Yeah. So towards, towards day one and two. Yeah. Oh, was I supposed to tell you how I'm using the cluster to process videos? Yeah. So I think this might be a good point before we start the actual. Yeah. So let's see. So we record four hours of video from this and it needs processing. And this is basically a lesson in all of the different tools we're teaching you and we, that you could be using for your stuff. So first, the raw videos are recorded in a git repository using git annex because they're large files. I have some rules set up that will automatically synchronize this between my computer where I'm recording and the cluster and the rules are set up with git annex so that way it only sends the audio files to the cluster. So on the cluster, I use open AIs whisper tool to make transcripts, make subtitles for them. And to manage this, I have a make file. So to make files, some basic automation of things. So on my computer, I can do make AAC, which extracts out the audio from the video. And then I add that to git annex. Git annex knows to only synchronize the audio files to the cluster. On the cluster, I can run make SRT to make all the subtitles. And because I'm using make, I can tell it, do it in parallel. Like I'll say use for processors at a time. It submits a GPU job, which goes to a partition and does the processing, saves them again, I can add it to git and re-sync them back to my own computer. For all the segments and stuff, we also use git for this to synchronize it around. So we have a plain text file in YAML format, which has the workshop description and then all the cut points in the video and then a tool that I can run. So for I'm running it on my own computers to do the encoding, I guess I could switch to the cluster someday. But anyway, so I run that and it does the encoding. And yeah, it's all somewhat automatic and all tracked with version control so it can sync between the different computers fairly well. Let's see, are there any other points there? So it uses the cluster, it uses git, it uses version control. No, that's git. It uses plain text files being edited with a console editor. They use it as make files for automation. But these kind of things don't just happen overnight. So it slowly gets developed over many different courses we've given each time. I'm making it a little bit better and a little bit more automatic. So yeah, this is not the kind of thing that someone can just make from scratch. It's a it's zero zero. Yeah, OK. So you want to start? I will jump off. OK, see you. Yeah. So let's check the icebreaker questions. So the best ice cream flavor. Does this match what you think? Yeah, yeah, good. Yeah, I'm I'm torn between chocolate and vanilla myself. Yeah, the old classics. Yeah, so but the next questions are the real important ones. So day one and two, they were two. So yeah, this is sort of what we'd expect. So happy overwhelmed. I don't know if the same people are voting for both of them, but we fully realized that this is an insane amount of information that we're talking about. And it's just the tip of the iceberg, really. So we don't really think that with this one course, we don't expect you to know everything by yourself. Fact, who was it? So someone was talking yesterday after the course mentioned was it about like watching the YouTube videos and something all making sense? But you had to have experience with it before it made sense. Yeah, yeah, like, like, basically, if you if you encounter some topic and you you have a like teacher or someone who teaches it well. And well, in this case, they were interviewing a teacher who was known for teaching stuff well. And he said like a bit of self deprecation in his voice that like he thought that like somebody else has probably taught the topics beforehand, and he was just the person who basically like locked the pieces in place. So you don't like they might be another source of information that we finally lock the info like the stuff into place. Or maybe we can in some cases lock the pieces into place that you have learned or heard about previously. But the idea is that like maybe. Throughout this course, some stuff will be overwhelming. It might be too much. I can understand it completely. But maybe the next time you encounter the topic and the next time you see it, you basically then get this kind of like a eureka moment and everything locks into place. But it's very hard to tell the way and that will happen and what will happen. And it's it's yeah, it's it's hard. Like for us, it has taken years to familiar familiar guys ourselves with the tools and the topics and everything. But once you become accustomed to them, then you forget or start to forget what it's like beforehand. And that's the problem, basically, like how can we translate something that we learned? And this this is an ongoing discussion in the HPC world anyways, like who does every new generation have to go through the same pains in order to learn the things. So like, like does every new generation of scientists have to learn the same like for trans and seas and and like all of these old technologies in order to do new stuff? Do they have to go through the same crucible? And I say I think no. But but sometimes there are things that are very hard. And because like stuff is built upon other things and and it's very hard to get to the end point without going through all of the intermediate steps. So and and maybe we don't know how to get to the end point without going through the intermediate steps. Yeah. And yeah. I mean, I'll definitely say there's some sort of big use of usability problem with many clusters. But also. I think there is some intrinsic difficulty here. So this might be the first time that many people are going from running code themselves to programming. Programming something else to run all the codes yourself. And no matter how easy we try to make that, it's still a whole level of abstraction to be learned. And three days is just too fast to do that. So here's my proposed learning path or what I think that y'all should keep in mind when you're learning these things. So if this is feeling overwhelming for you, then get what you can now. Don't worry about knowing everything. But you get sort of the big picture of what's even possible. And you'll know in the future in weeks or months or years. OK, I need to do this particular thing. You can come back and check the material, maybe at that point you're ready and it makes sense and you can learn yourself. But if not, which is completely OK, like for example, if next week it's difficult, come to our help sessions, come to our garage if you're at Alto and basically say, hey, I was at the course yesterday and or last week and I need to do this parallel stuff. Here's my code. Can you show me how to get started? And I'll be like, yeah, OK, sure. So we'll point to you like we can even write the basic example script for you to put it all in place. And once you have that model, then you can be modifying stuff. And over time, you'll get more and more comfortable until who knows, maybe next year you'd come to this course again to see what you're missing. And then it will all start clicking and making sense. Yeah, and I'll also mention that like what we were talking yesterday is that like throughout this thing, like like nowadays, probably half of you have a chat GPD or something open on the other screen or somewhere where you can ask ask you to write your scripts for you or do some stuff for you. And in these cases, it's important to like remember that in order to get like good answers to from like from Google search, from get good answers from chat GPD or something, it's good idea to learn how learn the concepts, like what sort of questions are you going to be asking? And then like the road stuff, like what what parameters you need to use and that sort of things you can like just like some other thing handled like I always just go back to like, let's say slow documentation to look what flags were there, what were the exact flags? Like what sort of things like if I'm using some technology I always go to their web page and then I'll Google Google stuff in their documentation, what were the actual flags? Like NumPy, like was it an underscore or was it like a was it not like these sort of things? Because that's road stuff and that's memorization and that doesn't help at all. But the important stuff is learning about like the big picture. And then you can if you know the big picture, you can ask the right questions and find the right flags. And that's what we are focusing on today. And hopefully you'll get on to it. Yeah, so are we do you think we are ready for starting the parallel or? Yeah, I guess so. Oh, what's that? Yeah, maybe I'll mention if you want to share my screen. Yeah, Seymour made this nice demonstration picture here. Yeah, sorry. So if you know the movie Shining, like I thought about this today, so there will be some words that are coming your way. So because like this, like thousands of different technologies, probably that implement like this parallel stuff, this open MP, open MPI, CUDA, AMBA, like there's all kinds of like different fancy words and fancy technologies that implement the parallel stuff we're going to be talking about, like multiprocessing, parallel pools, all kinds of stuff. But this is not important. Or this is like something that we try to avoid as much as possible so that you don't get overwhelmed by the word. So don't get caught up in the like techno technological buzzwords too much because those chains like technologies change. But the underlying like paradigms, they don't change. They have been the same for like, I don't know, like from the 60s or something like stuff like that has been around forever. But what changes are the technologies and the technologies have like common things joining them. So we'll try to avoid like throwing too many of these words together. But it's a good idea to know what like if you see some of these technologies in the future, you'll then know that, OK, maybe this is related to this paradigm. OK, OK, so should I do my initial screen sharing? What do we do in the discussion? Or do you share that for the first session? You can share. OK. And also, I mentioned that if throughout the course you have questions regarding your technologies, like you're like we were asking about ice cream flavors earlier. So if you have your own favorite ice cream ice cream flavor that you plan on using, ask about it in the chat. Because at the end of the day, we hope that to have like a Q&A session where we can answer especially those questions like so that we can answer. Now, if you have some like questions of is this possible? Is it possible to use this thing for my problem and ask those in the in the chat and or in the notes and we'll try to answer it at the end. Yeah.