 Welcome everyone to this week's Bite Size Talk. With us today is Rieke Hansen from the cubic in Tübingen. And she's going to talk about everything you need to know about hackathons, keeping in mind there's one coming up very soon. So off to you, Rieke. Hey, thank you. Oh yeah, or at least I'll try to talk about everything relating hackathons. So to get started, maybe quickly, what do we mean by hackathons? So I don't know what the official definition of hackathons is, but what we mean is basically we just want to meet up for a few days with other like-minded people and spend some time coding together, maybe actually close some issues that have been hanging out for a long time and just enjoy each other's company and work together. So who's it aimed at usually? So we aim hackathons at people that are experienced in X-Flow and are interested in contributing to NFCorp pipelines to various NFCorp infrastructure things or also to next-flow plugins. If you're completely new to next-flow, the hackathon might not be quite the right fit for you yet, but instead we have run several community trainings a year, usually also around the hackathon before that you can attend. All the material for this is also online and the recordings of it are on YouTube. So you can go back, re-watch it or also do it whenever you have time to do so. Right, so we have basically two setups for hackathons. We do some in-person where most people meet and then we do some online. So we do the in-person one, usually in Barcelona in fall roughly. And then we also recently started having one in Boston. And the other one that we do is online, for this we use Skada Town, just like a little platform where you can log in, you can have your little avatar. If you see there, you can walk around, you can easily interact with people. You can go to enclosed spaces to communicate with a bunch of people but don't bother anybody else. And it's really easy to use to just get kind of this hackathon feeling and this group feeling while being online and also have a bunch of fun little things like dogs you can pet and go-karts you can raise around. We've been using Gada for quite some time and it's worked really well. There are a couple of things to keep in mind. So you need to use the email address that you registered with for the hackathon. And if Gada Town sounds a little bit complicated or you don't really know how to use it, James made an entire bike size just about Gada that you can check out. And online hackathons are also usually once a year and they tend to be in Marchish, let's say spring. And last year we extended the online hackathons to having distributed local sites. So basically we encourage people at the institute at their workplace to have small gatherings of people that are around to kind of mix a little bit this online only but hackathon together with the in-person feeling of it. These are pictures from last year and when I'm making the slide that this was probably the slide I had most fun with going back and finding all the group pictures from hackathon from hackathon in March last year. If you wanna host one of these distributed sites, it's very low stakes and low effort to make it as easy as possible. So essentially they are only two things you need to do. If you wanna host one is you need to book a room and you need to add yourself to the website. You can see here already a bunch of people have registered for the upcoming hackathon. And then when people sign up for the hackathon they can find your site and register there up until the maximum number of people has reached. And then you just program together. We do ask people to be online on Gada though even while they need to stay in touch with everyone else. And since the majority of people won't be in the room with you. So don't forget to bring your headphones to, not bother anybody. Yeah, and then how do we normally do hackathons? So basically we subdivide ourselves and topics formerly groups. And typically we have a topic or a group that centers around pipelines. So people that wanna work on existing on you and of core pipelines. Then we have a topic that centers around modules and sub workflows, topic about infrastructure. So and of course tools and website development. And then we tend to have a few more depending on what we're doing at the time. So recently we had topics focused around NF tests or next slope plugins or documentation. And you are not at all bound by it. It just helps us organize a little bit. So throughout the hackathon you can switch around as you want. And oftentimes, I mean, you might develop modules to be used in your pipeline that you then later add on. So we just use these topics to organize. But you can do basically whatever you want and just move around as you please. We communicate as always and then of course we slack. So we set up specific hackathon channels. Here I already made up some that we will probably have for the upcoming hackathon. So we have a central channel where general stuff like announcements, hey, wrap up is happening. These sort of things are posted. And then for each topic, we have a channel to find people that are working on the same thing. Or to get help or just talk to people there. We organize all of our issues and features in GitHub project boards. So for each hackathon, we create a new one. If you go to the NF core GitHub site you will find this tag project. And then there you will find the link to the hackathon project board. And there we collect any issues, features that people want to work on. You can also add your issue if you wanna work on this during the hackathon. And it helps us to organize. It helps other people find issues if they're looking for work. It helps make sure that not two people work on the same thing. So yeah, it's really nice to have and also it helps us track what needs reviews, what has been done and just the current state of things. If you can't find it, we also have a website for every hackathon where the Slack group is linked, all the topics are listed and also the link to the project board is listed. So here at the bottom you can see it in gray. Right, so on the hackathon, we have all of these issue cards. These are the same issues that you have in your pipelines on modules there, just link there and we can use them there. So if you pick an issue to work on on the project board, don't forget to assign yourself just so everybody else knows say somebody's working on it or you also can easily find people to help you out on these issues then and then also update the status. So you see this little dropdown menu that says to do in progress done and in review. So just by updating the status, it's easier to keep track. Right, then one of the probably the most important parts actually is reviews and these are also the ones that usually end up being quite a bottleneck. So we need to review everything, all the full requests and so on to before merging them in and we need people to do this. So yeah, review as you go. Also in some groups, we have tried out review body. So for example, two pipeline groups, RNA-seq and rare disease or so that they exchange reviews with each other to get them done more quickly. Also don't forget to add the ready for review in your status and drop the link on the request review channel on Slack just to raise awareness and also return reviews. So if you, I don't know just worked on a module and open a PR maybe take five minutes to pick another PR to review. You're unsure if you should give an approving review you can also just comment on it. This is also really helpful for other people. All right, throughout the hackathon day you will be bothered by your topic leaders to fill out some progress slides. And at the end of the hackathon day we have some upslides that just give a very high level overview of the day what happened, which modules were worked on here for example, what that hackathon we were particularly talking about NF tests. So we highlighted this or other interesting things like a new sub-workflow was added. And it was there to update everyone else and also to celebrate ourselves a little bit for the achievements. Okay, so to sum up how to contribute at a hackathon yeah, go on Slack chat with your group then find an issue and assign yourself and start working on it. Open a PR and request a review maybe by you're waiting for the review review one back and then update the progress slides. And then don't forget to celebrate, get up, get a cup of coffee, get some snacks, take a walk and then start over again. So all the information for all the hackathons is also always linked on the website. So for each hackathon you will find an individual site. So here's the March one already linked. Yeah, and if you're a couple of things maybe before I finish if you're very familiar with next flow but you are not so familiar with NFCOR yet we have a bunch of bite-sized talks that cover individual aspects like how do we do testing, linting? How do people have their code environment set up? What is NF test? All these things that could be very useful. So maybe check out those. If you're planning to work on a new pipeline be sure to propose it in the new pipelines channel before the hackathon. So whenever somebody has a new pipeline like a proposed and then we kind of talk about it does it fit into another pipeline? Can it be a standalone pipeline? What should the name be? And it takes a little bit of time and if you propose a new pipeline at a hackathon you might not actually be able to work on it because people didn't have time to review it where discussions took too long. So if you wanna work on a new pipeline at a hackathon come to the new pipelines channel and write about it there. Also maybe when you sign up for the hackathon consider a little bit what you want to work on. It's nice to get in touch with others beforehand and find some collaborators on something and then you can start right away on Monday morning. Last but not least, I hope this goes without saying but we have a code of conduct that basically says don't be mean, be inclusive, be friendly and everybody who attends one of our events needs to adhere to it. Yeah, and as Fran mentioned we have a hackathon coming up in March from the 18th to the 20th and we are still looking for a lot of local site organizers. So if you're thinking about it I can definitely recommend it, we did it last year and it wasn't a lot of effort and we had a lot of fun to do it. If you have questions about it I'm also happy to answer anything there. Okay, thank you very much. Thank you so much. I have now allowed everyone to unmute themselves to start their video. So if there are any questions please ask away. Are there any in the chat? There's a lot of thank you's in the chat but I have nothing to question it. I actually have a question. So if you are interested in working with NextFlow and NFCore but you don't actually have your own pipeline you just learned NextFlow with one of the courses what is it you can do at a hackathon? So one thing that I think always works really well is pick some of the modules and contribute those. They are very self-contained packages usually so you have one module it's very achievable to add this one tool I think minus a couple of difficult points like test data also and for this you don't need any pipelines so the modules are completely independent basically of pipelines and you can always contribute there but also if you want to contribute to a pipeline a hackathon is a great way to meet the developers to get in touch with them and work together with them as well. Right, a question. Yes, hey, thank you very much. Yeah, I have a question if we have like an idea to work on something what's the proposed procedure to actually start on to work on like a certain component of a pipeline that we feel is dismissing or something like that? Like maybe adding a new feature to an existing? Yeah, for example, yeah. Yeah, so yeah, basically add an issue to the GitHub repository of the pipeline maybe talk to the people who develop the pipeline if something is already going on and then it will be added to the issue board and then you can just work on it and if it for some reason didn't end up on the project board for the hackathon don't worry you can still work on it and we'll add it later. Yeah, especially. Thank you very much. Thank you. There is a question in the chat. Can we work on NFCore style workflows? For example, NFCore template-based workflows using NFCore modules? Nobody's keeping it from anything. Yeah, so I guess we can say that any NFCore related work is very welcome at the hackathons. Yeah, it doesn't have to fit in any of the specific topics that we choose so you can work on anything. Yeah, exactly. It's more that we try to organize it a little bit to help people but if you have something you want to work on, go for it. If it isn't on the project board, don't worry about it, just add it later or if it doesn't fit there, also good. Maybe you found something completely new to work on that you just came up with that but like a completely new topic, it's all good. All very welcome. Hello. Hi. So I'm fairly beginner. I've played around with NFCore. I've written my own very simple, like read QC pipelines in Nextvo just to see how things are working. Do you think a hackathon would be suitable for someone like me? Yeah, I think so. I mean, if you already know Nextvo a little bit and you know NFCore a little bit, I think it's perfectly fine. We just want to make clear that we don't have any training sessions at the hackathon and we don't have typically people there that are dedicated to train other people but if you have like a few components you want to work on or just chat with people then that's good, I think. Cool. And just to follow up, do I need to be added to the NFCore GitHub to be able to talk? Yes, very good point. So basically before you start a hackathon, I meant to mention this or not start a hackathon before you join the hackathon, make sure you sign up to Slack and to the GitHub repository. Typically, there's also I think an email or maybe it's in the sign up sheet that you need to do it. But yeah, there's two very important points. Thanks, yeah. Thanks for having me there. All right, thank you. I also want to clarify, even though we're not there to have the training events or anything, if you're a beginner and you have questions, of course ask those questions straight away. So don't hesitate. We're happy to answer any kind of questions anyway. I mean, even outside of hackathons, but there you might actually find people in the room that can immediately answer the questions. So that's actually awesome. Excellent. Thank you both. Thank you. Can infrastructure and DevOps professional participate in the hackathon or is this hackathon solely on developing new code? No, they do and they have participated on it or developing, I don't know. I mean, GitHub actions or something for deployment and so on. So yeah, we have a bunch of people who work on this. And I think actually last hackathon we had a group that was dedicated to DevOps, yeah. Are there any more questions? No, I think we covered it all. Then I would like to thank Eureka for this great presentation and everyone in the audience for listening. And as usual, the John Zuckerberg initiative for funding our bite-size talks. And if you're interested, don't forget to sign up for the hackathon or maybe even to host the site. Thank you. Yes, exactly.