 Hello. It's nice to see a full room. So, you know, we're not going to present any technical stuff here. So, probably you've seen some of the presentations in the academic track. It was like deep technical stuff, so we're going to make it a bit lighter and have some kind of educational track. So, let's first introduce ourselves. So, this is Marianne. He's actually the attendee, one of the attendees of the camp. He's 14 by few days. He actually had a birthday just before Defconn. So, happy birthday. I think he's the youngest presenter at this conference. So, yeah. And I'm Jerry. I'm not the important one. So, what do we do? Each summer, since 1998, when it was the first year, it was like different organizers, it was not me. But since that year, every year, we take a group of teenagers and we let them go into the mountains with us for a week. It's like Saturday to Saturday. I think originally it was a bit longer. And we show them interesting stuff. So, yeah, it has a long tradition. It's like 21 years now, which is quite nice. So, during the time, of course, how the camp looks like shifted a bit. But nowadays it's for 25 attendees, mostly for 12 to 9 years old. So, it's mostly high schoolers, I'd say. When they quit high school and you just go to university, then this is the stop, then they cannot come anymore. Most people are actually returning each year. Historically, in the mountains, the reasons are quite simple. We need nice hills. So, we can get them out and run uphill for some time to get them a bit tired. So, they sleep at night and don't stay awake to the midnight playing games or whatever. Being in mountains has some challenges, though. So, for example, getting internet there is sometimes a bit of a problem. So, we resort to solutions like this, antenna just in the middle of the woods to get a good connection. For the attendees, it is required to have at least some programming experience, such as if conditions, loops, functions, and arrays. Every attendee has used a different programming language, such as C, C++, Python, Java, IOC-sharp. And attendees have different operating systems, mostly Mac and Windows, and some even use Mac. Reduxing Windows for a minute, mostly. And there is unintended high Linux conversion, by the way. So, it's not that we like force them to switch to Linux. We don't. Windows is just fine. But, you know, all the organizers are using Linux, and we all know Linux is great. So, usually by the end of the camp, after several iterations, several years, we just magically end up using Linux. Okay, three words about what we do during the camp. So, we have two kind of lines. The first one is, of course, the technical line. So, we show them interesting stuff. We have talks and workshops and so on. And the second line is, I'd like to call it social line. So, it's like for improving soft skills. So, we take that group and let them go outside and do something without computers sometimes. And also, we have a contest that's running through all the camp. And at the end of the camp, they can win interesting prizes. Thank you, CZ Nick. So, we cover a wide range of topics, such as programming languages, such as C, Python, C++, or Fsharp and Lua. We talk about frameworks, such as Django. And there are some talks about some tools, such as Git, GDB, Vim, or Make. And sometimes we have some hardware talks about Arduino, USB, and sometimes we even add some IoT things. Yeah, so, you see, he omitted the first item, the hardware to the test structures. So, of course, we do that too. It's not that popular, but yeah, we teach them how to walk through graphs and so on, don't worry. And we also, we also have a guest, because, I mean, we are mighty organizers, we know everything, of course, but not so much. So, sometimes there are some areas that other people are better at presenting. So, we invite them, they come and talk to the students about various stuff. To be honest, the games are actually pretty crazy. They are made by developers, for developers. We play the games outside, mostly, and one day there is a full-day trip. So, we did some examples. What game did you like the most in the last camp? Well, I liked mining cryptocurrencies when we were running from our computer to a tree, to the hill, because it's in the hill. And we were collecting, like, small papers and typing the codes that were on the papers to our computers. Those were votes, so they exchanged votes for the currencies, yeah, of course. And then we were, like, making the cryptocurrencies and trading them. What did you not like? There actually wasn't anything that I didn't like, you see? Yeah, we do, we do also. So, one thing that's, like, a regular thing each year, mostly each year, is we do, like, some kind of puzzle hunt. So, they get a cypher or puzzle, let's say, and they have to solve it. And when they solve it, they get a location of the next puzzle. So, they go there and then they fetch paper with the next puzzle and so on. So, the interesting stuff is it starts, like, just after dinner and it has, like, no set time when it ends. Usually, the teenagers sleep a lot at the presentations next day, but... Yeah, no, we had hard stop at 2 a.m. So, okay, no new events such as this one could run without the computers and technologies behind them and so on. So, as I said, all the people behind the camera, the organizers, are using Linux. And we're open source fans, of course, so we also use open source technologies. So, we have a server. You can see the server in the picture. There's that laptop that's just in the corner. There's a server serving the whole camp. So, there's web server running there. So, in traditional summer camps, there are things like daily program, like what's going on in the schedule, what will be going on next day and what meals will be and so on. So, usually, that's a paper just being somewhere and we don't have to do that. We're, like, eco-friendly, so we have the computers and it's online. We have internal web app with all of that that's built on top of Django, Python. We like Python. Maybe not. And also, yeah, also, we're now pretty rich, you know, so we could afford our own top-level domain. We want it, well, but a lot, because it's accessible only from the camp. Thank you, Binds. And the important thing, usually for the contests, we build our custom solutions. And the camp contest is different every year. As you said, they make custom solutions that are available on the GitHub. And they should be, like, programming language independent, so it doesn't matter which programming language that it uses. But that actually wasn't true the last year. Sorry, do you like Python? I don't know. Yeah, so this is the GitHub page. You can check it out. The present two of those. The first one that we're going to present, we'll have live demo. It's called Mazette. And it's a framework when we can develop different tasks for the attendee or for the contestants. Basically, it doesn't have to be a maze. But it has to be something that's, like, you know, great and has some visual representation and chooses, like, some comments to do something usually move around, but not necessarily. And the task is to provide a client that solves that maze, whatever. So the client connects to server, to the server, and it sends comments to the server. We did not want the attendees to deal with the networking communication, so we built libraries for several different languages, all is on GitHub. So they can just, like, call a function and pass it a character that is sent to the server. And then there is a WebSocket interface, so we had a web page where I could see in life what's going on. So maybe let's see, let's see something. Oh, okay, I need to move it to this screen. Sorry for that. So this is the front-end, doing nothing at this point, waiting for a connection. Here you can see just a simple maze, where you can, which you can solve, like, doing manually. And you are the player, and your task is to get the treasure. Now you can see you have time, you have time limit, and the maze is much more bigger, so you have to make the program. You can do it manually. Yeah, that search will come. So the maze is out-generated each time. Yeah, this is just a classic Minesweeper, as we all know it. And the... And there was a time limit in, like, next level, so... Yeah, you had to write a program to solve Minesweeper. This is just a classic old snake. So that looks easy, yeah? No, the time limit probably does not apply here. But what happens if the snake is put into a maze? And one thing it can do, it allows multiple connections to the same maze to the same level. So there was even a table, like, four different... The maze was split in four parts, there were four snakes, and they had to cooperate. I think there were, like, only two or three students who were able to program that and to finish that one. It's really hard. And this is the trace where your goal is to, like, clear out. Yeah, clear it out. It's a classic Tetris exhibit on a... It's a small touch. Yeah, and it's quite... So, yeah, you need to write something like that. So it's a Tetris solver. I think no one actually was able to solve it. This is my solver. We will not let it run to the end. It will finish in, like, five minutes, but... The other thing we're going to show and demo probably is Sceptic. It's a framework that allows you to specify functions and variables that are exported to a program. So the task of the attendees is to write a program using some functions that are available to them. And, yeah, they think that's it. So they write a Python's program that is uploaded to the server. It runs at the server in a container. It's isolated from the system. And it can call the predefined functions. So there was tasks like... There was a graph given and finding a shortest path in the graph between two nodes. Or even, like, these are things like playing a guess number game with the computer and so on. Python has introspection, yeah, so we need to isolate that from that. So everything is doing RPC transparently. So the function, in fact, is RPC outside of the container. For the front-end, we used the ace web editor, code editor. So here is an example. This is actually the web for the camp. It's not open source yet. And this is a piece of the game. So we can do program stuff like hello. Yeah, it outputs hello and the program ended. Sorry, it's check only. And of course, you can now just solve it just call face and bus functions as appropriate, depending on whether it's divisible by 3 and 5 and so on. And after the end, it tells you the password. So that's an example here. Okay, we have a lot of demand. So we have absolutely no problem cleaning up the camp. We have a lot of students, a lot of engineers are interested in joining the camp. That's why we need to put in some limitations. So for example, we take all the students who have at least some basic experience, not the complete beginners, no capacity for that. Now we run two camps back to back. So we can have like 50 attendees. We could usually do four, maybe even more. But we don't have enough people doing that, organizing that stuff. So it's quite hard. So for my knowledge, during summer, there's probably nothing, no other camp than we are doing in the whole Czech Republic. I know about there's something, maybe one similar, but with even lower capacity. We try to cooperate as much as possible with other similar events and so on. So for example, the Charles University in Prague, they're doing correspondence programming contest called KSP. So we try to work with them at least a bit. And yeah, by the way, they do like a week long camp during the school year. So it's in many ways similar to what we do and it's pretty cool. So what I would like to see is more opportunities for teenagers to be able to attend. So because mostly they are on their own, they have to learn all the stuff themselves and that's not how it should be. So if any one of you, not talking mostly to the Czech guys, it's like you need to help or have some ideas or even help their own camp. Yeah, please, please do. I'm willing to help exchange ideas, exchange like software or exchange experience, whatever, yeah. Please, let's make more opportunities for them. They're really good. There are a lot of really great kids here in Czech Republic. And this is just our web page, which you can use it. Check only, sorry. Use Google translator. Questions? Yeah. So do you have problems with some of the kids getting a little frustrated when they get to the hiring? How do you deal with that? That's a good question. Some of the games that we showed seem to be pretty difficult. The question was whether the kids are not too frustrated with those. So first, we showed you only the interesting ones. There was a lot more that were much easier. Of course, we tried to balance that because the level of the attendees is... Yeah, it's not the same, it varies a lot. Some of those just started programming last year and some of those are attending international programming contests already. So we need to have something for everyone. Yeah, so we tried to put it in the way that everyone can find its own level, his or her own level. And of course, we helped them. It's not like, here is a task, just hold it or die. No. Although the schedule is packed, they do have free time during the day when they can work on the contest and other stuff. And we intentionally planned it so all the organizers, most of them are free at the moment, not doing anything else, and just trying to help them to explain stuff. So I didn't hear well. So the question was how it was founded. So it originated as an event that was, I'm sorry, it originated as an event that was made for the best attendees of a programming contest. There is a contest held here in the Czech public every year, organized by the Ministry of School and Education. And in 1989, it started as an event, like week, I think maybe even two weeks, event for the best attendees of that time. But over time, it got more open and then evolved in the current shape. So it was Jirka Kosek who started that. You may know the name, he's like the XML expert for his work on the open office documentation format and so on. Ah, found it, not found it. Okay, sorry. So how it is played? Yeah, great question. We try for the camp to be as accessible as possible. So part of the reason why it's in mountains, of course we like the nature and this is the number one reason. But we don't have to have to that in the city also because of costs. So the accommodation in the mountains is really cheaper, especially during summer. During winter it's not the case, of course. And we are volunteers. We do that for free and nobody is paid for doing any of this. We do it now spare time, usually taking vacation or for those study universities they are taking part of their holidays. And so we try to lower the costs as much as possible. I think that the culture here in the Czech Republic is quite usual for kids during the winter to go to a summer camp for a week or two. So the parents usually come with that and if the price stays like a competitive level, so it's below the usual camps that organize it commercially, then I think we're fine and so far we're managing to do that. So yeah, we try to it to be cheap but it's not free. Thank you for the question. So the question was, what's the gender balance between the attendees? Yeah, that's one of the pain points we have. So we usually have like only two, maybe even one girl among the attendees which I don't like. It's better. Several years ago there was only male only so it's trying to change. The next year or for this year we have, first time ever we will have one of the girls as an organizer so I really love that and I hope this will mark like the change in the industry. So yeah, we're trying to do something with that but it's hard. Without a start, thank you.