 So, where are we now? Should we look at HackMD? I'll share your screen so you can show these things. Yeah, so that's a quick, like, how to say, collapse everything together, so what we have learned so far. So, in your jobs, you usually want to, like, take your code to try something. You usually want to, like, take your data there, take your code there. You write the Slurm script for it. Of course you can try it first interactively and see how it works, but then at some point you need to write Slurm script for it. You specify, like, what requirements you want for that Slurm script. Then you, these requirements can include memory, or always include memory and time, but they can also include number CPUs if it is a shared memory supporting, a shared memory parallelism supporting code. It can include the number of tasks if it's an MPI code. It can include the number of GPUs if it's a GPU supported code. And if you run it once, most likely this kind of an ASBAT script, and then you think about, okay, like, I want to run this 100 times. So how do I do it? You make an array out of that whole bunch, and then you run it 100 times and do some mapping of the array index to some parameters. And that's how you basically, like, scale one step at a time. You go from, like, how do I do this once to how do I do this? How do I do this multiple times? And then you, at the end, you get, like, this massive speedup. And that's how it goes, like, basically you have to do these individual steps, so you get onto this, like, polynomial curve, basically, like, or you get this kind of a speedup. Yeah. And that's how you, like, improve your workflow because, like, you have to, like, get out of the idea of using only one computer or using, at the end, you think about jobs. You don't think about computers or anything like that. You think about, like, okay, how many jobs have I run recently? And that is the unit that you start to measure. Yeah, okay. Yeah, this day was probably a bit hectic. We had lots of ground to cover. But I hope you liked it. Please leave us feedback. Like and subscribe. And how does it go, like, yeah, put feedback on the HackMD and do give us, like, instructions and suggestions how could we improve the course. We have a little bit... All of the material is available in our wiki, so there's even more information there. There's specialized cases for applications in the application space. If those are crap, ask us. Come to Gorgas. We can together work to create a better application space so it helps other users. And, like, if you have problems, create a workflow for your specific case. Come and ask us and we'll try to help you with that. So that's kind of, like, the way we operate, that basically we try to provide the documentation as much as we can. But everybody has a lot of differences in their workflows. And there's usually a few things that need to be tweaked in order to get the full benefit of the cluster system. But, like, the general big lines, I hope you got it from, gathered that from this course. Yeah, there's a little bit of an outro which we can talk about here. Maybe I'll pull this here. So... I didn't write this, so I'm reading it as it comes. So, where to go next? So, set your... Actually, I need to copy this. Where did it come from? Yeah, what's your next learning goal? So, it could be that you need to... Well, it shouldn't be try to do everything perfectly. It should be always trying to make things a little bit better. On the course webpage, we have some different follow-up suggestions. So, there's a workshop called Code Refinery. And it really goes into depth about the programming side of things here. So, on here, you can learn about how to write better code. It's not about the programming itself, but about the version control and testing and modularity and all these kinds of things. People generally think that this is one of the best courses they've ever attended. There's this online course we make called Hands-on Scientific Computing. So, what we covered now is the top level of that, but it goes over a lot of the basics. Like, if you think that the Linux shell scripting or the Linux usage and things like that are the difficulty, you can look at that in order to find out a lot more and sort of make yourself more well-rounded for all these things. There's a project we run called Research Software Hour, which basically is us on Twitch talking for an hour or so about various topics. And there's some that may be relevant. So, there's cluster etiquette. Like, there's what you can do, but what should you do? And then on how to tame the cluster, there's sort of a complete example of building up from starting a new code and running it in parallel. Yeah. Maybe I can just directly share this thing here that I'm looking at. Yeah. So, your next learning goal. There's this article that I will paste into HackMD. There's lots of different small steps you can make. Oh, man, that's what I already said. And if you have any questions or things feel overwhelming, you can come talk to us, but also not just us. Try to talk to each other about these things. The best place times that I've learned things have been in a research group where I've actually worked with other people, hands-on very often, and, you know, there's all these tips and practical tips and so on. And I think it can often be that we're very isolated when we're doing work. So you need to do your best to find joint projects to do with people to learn. Um, let's see. Yeah, I can also attest to that. If you ever coded anything, at some point, well, you realize that most of your stuff is crap and somebody else has already created a better version of what you have created. That's not like this hardening thing, at least to me. That is almost always a relief that, okay, I finally found a good solution to the problem that was really hard. But of course, it doesn't mean that you shouldn't try to code your own stuff. It's a good thing to do. But at the same time, if you really need to do something like, you need something that is important for your research, or it's important that you get it working and stuff like that, it's usually best not to go with the community, not go alone at it. Because some of these problems, they are really hard. And it's better to Google, find what other people are doing, find tools that other people are using, and try to go with those. It's not only about saving time, so you don't have to code the same tools. It's also like, if you face problems, you don't have to face them themselves alone, because other people are using the same tools. You know that, okay, other people have managed to do it. So this kind of like, get into the workflow where basically, I personally at least work in a way where I try to solve some problem. If I don't solve the problem at some time, I'm like, okay, now I'll look at the cheat codes, basically, how do I go through this? So it's like, many of these programming questions are like, if you ever played old school adventure games, like Monkey Island or something, sometimes the puzzles are really rewarding and they feel really good, but sometimes the puzzles are like, straight out of somebody's keyster, so they're not something that were designed for like an inside joke or something like that. And some of these programming stuff is similar. So basically, you wouldn't never guess the solution for the problem yourself. You had to look it up from an FAQ or something. And it's not like cheating. It's not like you're in a test and you are cheating because you're looking at the answers. But the actual important stuff is the results that you're doing, like the scientific research you're doing, it doesn't really matter, like if you, in the way, utilize some other tools that other people are using. In fact, they're completely the opposite. It's better that you utilize the same tools because then other people can relate to that thing. They don't have to look at through your code and see if your code is like accurate. We take lots of things for granted. We take for granted that NumPy gives us correct answers. I've never looked at how NumPy does integration. And I don't intend to. I expect that somebody there has done it for me and has done the analysis of the algorithms that are accurate. So keep that in mind when you're doing stuff. So basically, look outside. Don't waste too much time. Working with a problem that somebody else has already solved. One thing I realized, when we are in courses, we're taught that if you copy from someone else, then it's plagiarism. But you can't survive in research unless you are building on top of the best things that other people have learned. And that's something that's really important to keep in mind. I guess we can talk about future courses and so on. So we routinely have a lot of different courses going on. This is perhaps our flagship course along with Code Refinery. If you want to help us with our courses, then by all means, please do. So you know how to find us. I guess our dream is to make the course larger and somehow allow more people to attend. At a point where almost anyone in the world can possibly stay and watch this. But also even within Ulta, we are nine people who have other stuff to do. And any help that we can get from interested people who just really like teaching and care about this, that is great for us. Well, Simo, I can't hear you. You're muted. Oh, yeah. Sorry. So if you want to share quickly my screen, I can show you the YouTube channel. So basically, there are some of the courses that we have previously given. They are available in YouTube as videos, like various of these courses. And then we have... Yeah, there's actually a lot of stuff there now. Yeah, it's starting to get loud. So for example, the MATLAB basics that was given last year, it's here. Then there's these one-shots by Richard, like these small videos. We wanted to do more of these. Hopefully in the future we'll have time to do more of these. We met an FCCI tech. Yeah, we have this tech series for those people who are interested in how this cluster has been set up. So we have this talk on how we have set up, for example, how we have installed our software and stuff like that. It's not currently here, but at some point, most likely it will be. So we have this behind-the-scenes stuff here if you're interested in technical side. And then, of course, we have the scientific computing and practice extra series with these courses, part of that as well. We are going to be having some of these courses done again in the future, most likely, like the courses in the archive. But for example, in August, Jagdmar will be giving a course on Julia programming if you're interested in that. Julia's up-and-coming nice language. And then, well, we have materials for our previous courses on Python for scientific computing if you haven't done that. And I gave a course on data analysis workflows for machine learning and stuff like that. So, yeah, look at these, look at... CSC has good courses as well, there are plenty of sources for good materials. Yeah. Also, any feedback on the format of the course? Did you like the Twitch and HackMD and Zoom format? I know some people say there's a lot to watch, but really, we imagine that you can do with watching less. So Zoom is completely optional. And even HackMD, we expect it can be hidden unless you're asking a question. Or if you want to focus on other things. Let's see, what else? Yeah, at some point, maybe, I don't know, we probably have the... like, we needed to skip the scientific programming... production by Ivan and me about how to code these MPI and OpenMP programs. But maybe we'll have it at some point as this workshop or something maybe we'll have. Like, if you're interested in something, let us know in the chat, in the email, I don't know, all the useful channels, Gagas, let us know what you're interested in and we can design courses around those interests. Yeah. So, who else can we thank? So there's... Well, from the first day, there's Ivan and Simpa and UC and Yarno, who all presented different material. And also, many more people who have been watching the HackMD and answering all these questions. It's not just us. Yeah, and you can go on the right of Ivan and everybody helped a lot. Yes, oh yeah, right of Ivan's talk yesterday. So maybe we can stop the stream for now. We'll continue watching the HackMD and if you're in the learner Zoom, maybe Simpa and I can drop there to talk with you directly. Yeah. If you'd like that. That's like, we're turning off the TV show and going to the stage door to talk to people for the analogy. Okay, well, let's see. Is there anything else in HackMD to comment on? Yeah, please give us feedback. Tell us what was good, what wasn't good. Yeah. Okay, so anything else, Simpa, before we turn off? No, I think there's lots of interesting topics in the HackMD for us to digest after the course. I think, well, there was this one comment that basically if you got these topics, it could be like one day at a time. Yeah, that's true. But at the same time, I was joking this morning that at one point, if we add days, I noticed that we could have used more time for many of these topics, but if we add more days, it turns from a course into a festival. Then it's like a coding festival of two weeks or something that becomes problematic as well. So because we can, yeah, it's sometimes hard to generalize and also like... No, this is a kickstart course, so maybe a good model is we have the two-day kickstart course. It doesn't cover everything, but then every week during the garage or some session, we do it again and we cover one of the topics in more depth. Because I mean... Yeah, we'll have to figure out some sort of... Yeah, it's like touch-and-go kind of thing with these kinds of things. If you're interested, then let us know because all of our work, basically, is just supporting the research. And if we don't know what to support, then we're just guessing because some of us are involved in research projects directly or indirectly, but most of our... We get a glimpse of what our users are doing from what they are doing and how they asked for help. But if we don't know what they're doing, then we don't know what they need. And if they don't tell us what they're doing, then we don't know what to do. And it's all about discussion and all about getting access and being at the same page because our job is to support you. And in order to ask to support you, we need to know what's going on. But of course, it's great to design all kinds of different courses that you might need. Yeah. Okay, so see some of y'all in Zoom shortly. Thanks for attending. Bye.