[00:00.000 --> 00:11.760] Okay. So, hi everyone. I'm here with the yearly, let's say, Unicraft Weather Report. It's [00:11.760 --> 00:15.400] mostly a community update of what we've been up to in the past year, and then I'm going [00:15.400 --> 00:22.760] to let Simone give up the technical side. As an intro, there's a lot of swag here, so [00:22.760 --> 00:28.520] if you want some Unicraft items, please get them from over there. [00:28.520 --> 00:33.920] So if you don't know what is Unicraft, Unicraft is a Unicolonel, the focus is on specialization. [00:33.920 --> 00:38.400] We call it extreme specialization, being able to customize it for your own needs. It has [00:38.400 --> 00:43.440] a build system, configuration system that makes it suitable for your item. Now, given [00:43.440 --> 00:47.480] this is the Weather Report, I'm going to give a political statement, and I'm going to say [00:47.480 --> 00:52.840] the State of the Community is strong, right? So we're doing it very well. It's going really [00:52.840 --> 00:58.800] good, and just to give you some items, this is what's been happening during the past year. [00:58.800 --> 01:05.000] So you can see this is where we were last year, and now we're over here. It was 1200 [01:05.000 --> 01:11.680] about one week ago, I think we reached that limit. Some more metrics are there, so I don't [01:11.680 --> 01:15.560] have the exact numbers from last year, but I'm not going to keep a good track of each [01:15.560 --> 01:22.040] FOSDM entry, but this is mostly, so this is where we were approximately last year in terms [01:22.080 --> 01:28.680] of GitHub stars, Discord users. We had five releases. We do a release roughly every two [01:28.680 --> 01:34.920] months now because of constant pressure from Mihalis and the others. Mihalis is here, so [01:34.920 --> 01:39.320] I have to get on here. We're going to expand it to three months. It's kind of a lot of [01:39.320 --> 01:45.080] release pressure. We are having a lot of hackathons. There are three life hackathons, and you can [01:45.080 --> 01:49.520] also see the number of committees that are going over there. As hackathons, these are [01:49.560 --> 01:55.200] events where we evangelize Unicraft, Unicronals, and get people more in tune with the US topics [01:55.200 --> 02:00.040] and open source. These have been happening during the past years. We had three at Lyon, [02:00.040 --> 02:05.520] Aachen, and Munich, and they're also a nearly online hackathon. You call it Unicraft Summer [02:05.520 --> 02:10.240] of Code. This is for everyone in the world. It takes about two weeks. It's four hours [02:10.240 --> 02:16.280] per day where we use Discord and a lot of hacking challenges to get people to know more [02:16.320 --> 02:23.560] about Unicronals and Unicraft. These are some pictures. I think I see some people over here. [02:23.560 --> 02:31.680] Martin is here. Martin and Stefan. This is Stefan. This is Martin. This is Stefan, the [02:31.680 --> 02:39.120] white hair. Manuel. Manuel is here. You can see the tall, thin guy. He's over here as [02:39.120 --> 02:46.200] well. I think you're this one. This is Victor, right? This is on our university. This is [02:46.800 --> 02:50.360] I'm not sure if Yakov is here for Sartura. These were the Sartura guys that we met in [02:50.360 --> 02:55.360] Munich. These are all parts of items happening in the hackathon. If we are here, we need [02:55.360 --> 03:03.160] to do the proper praising. With many thanks to Michalis. Anastasius is over here as well. [03:03.160 --> 03:09.480] Thank you, Babis. I'm not sure if George was here. I'm not sure. Thank you so much for [03:09.480 --> 03:15.520] doing this. They're taking us to a tour in the classical era with the hackathon in Athens [03:15.520 --> 03:21.080] in late March. If you want to enjoy lovely weather, good food, and of course, Unicronal [03:21.080 --> 03:28.280] hacking, please join us. All the information is available if you join Unicraft.org website. [03:28.280 --> 03:35.200] You find the information, the form to enroll, and all the items like that. Join us there [03:35.200 --> 03:43.920] for two days of hacking. Also, during this time, you see those people here. Actually, [03:44.000 --> 03:51.200] even Michalis is here to manage to climb it. There's over here. This was a bunch of us. [03:51.200 --> 03:56.600] Yeah, there were the lazy people that stayed at the hotel. This was our first Unicraft [03:56.600 --> 04:02.640] meetup. It happened in Romania in October last year. We're going to, of course, make [04:02.640 --> 04:11.040] it happen again. Because Alex and Michalis are here and the jury still is debating who [04:11.120 --> 04:17.280] is going to win it. But we have the Papanasi. They loved so much. It's still up to debate. [04:17.280 --> 04:22.320] Who loves them more? It's a continuous battle there. We're going to see. Maybe next year [04:22.320 --> 04:28.680] we make a decision on that. As a final point, as we always discuss, very serious about it, [04:28.680 --> 04:34.680] what happens in Sinai stays in Sinai. No pictures, nothing. We know what happened, but no one [04:34.680 --> 04:40.480] is going to see those pictures. Getting a bit more on the unserious side, what we've [04:40.480 --> 04:46.640] been doing to get this happening is that the student engagement. As I'm also part of the [04:46.640 --> 04:50.800] university and also collaborating with other people from universities, you saw Lio Achan, [04:50.800 --> 04:56.480] Miuhan Athens. We talked to a lot of people in universities. They are going to be hackathons [04:56.480 --> 05:01.520] in Portugal. We are trying to do something in Amsterdam. I talked to Manuel about that. [05:02.400 --> 05:07.440] There's something in Canada, so we talk a lot of universities. We do a lot of student engagement [05:07.440 --> 05:14.880] via projects. We do mentorship. We take kind of one-on-one discussions with someone. We get [05:14.880 --> 05:19.680] into the project, and that's also part of Google Summer of Code, but not only that, and that gets [05:19.680 --> 05:25.520] more people in the community. Also, the hackathons, I mean, Martin is basically involved also in [05:25.520 --> 05:31.360] Newcraft community, apart from Rusty Hermit, because of the hackathon we were there, and we [05:31.360 --> 05:36.240] do challenges just to get people involved. We are a fairly welcoming community. We have a lot [05:36.240 --> 05:40.880] of beginner items, so if you just want to do something, you want to do a project, we have plenty [05:40.880 --> 05:46.720] of items, and we have a lot of mentorship bandwidth that help you get into the OS world. [05:48.640 --> 05:53.040] What we also been doing, this is part of maturing the project and the community. We started kind [05:53.040 --> 05:58.400] of creating some sort of hierarchy, so we started creating roles, so we have different roles for [05:58.400 --> 06:03.680] different topics. There's also what we call some sort of community leadership item with people working [06:03.680 --> 06:09.680] as PR manager, release manager, documentation manager, governance, CACD, so different people [06:09.680 --> 06:15.840] doing different things just to make sure everything is working properly. There's a lot of meetings. [06:15.840 --> 06:22.160] If you go to the calendar and if you see what's happening on Discord, a lot of things are happening. [06:22.160 --> 06:28.640] We discuss on different topics, be it Rust, security, app compatibility, a craft kit. Every [06:28.640 --> 06:34.480] topic has their own periodic meeting, usually a weekly meeting. There are some other high-level [06:34.480 --> 06:39.600] meetings. We keep a meeting summary of them. You can find the meeting summaries on Discord. [06:39.600 --> 06:46.640] Everything is kind of open and aiming to get people aware and devolved and make things transparent. [06:47.840 --> 06:54.480] During the past year, this was with help from Alex and Stefan, Stefan Jumara. We've been improving [06:54.480 --> 07:01.280] the documentation greatly. There are some things to do, but it's very good now. You get a lot of [07:01.280 --> 07:09.040] information on how you can use Unicraft. What's happened technically? These are the major features [07:09.040 --> 07:14.000] that you may have heard from other speakers. These have been happening during the past year, so [07:14.000 --> 07:19.840] S&P support, virtual memory support, internal metric system done by Chesar. There's a bit that [07:19.840 --> 07:26.160] requires Simone's attention. Muscle support has been integrated in the previous release. Binary [07:26.160 --> 07:33.280] compatibility, which Simone is going to talk about, is finally in, as of today, to the release. [07:33.280 --> 07:38.480] So we've been doing on that, but now it's going to be official. The Apple Flutter application is out [07:38.480 --> 07:43.280] there. With the help from Mihaly, you see a lot of arm security features and there's also [07:44.240 --> 07:51.040] the, there's an OSS roadmap, a HackMD.io, and the GitHub issue item with the OSS roadmap giving [07:51.040 --> 07:57.280] all the items. Actually, this should be, force them 22, right? So sorry. This is the slide for [07:57.280 --> 08:06.160] next year, but with some other items. And we are almost there. So my estimate is that the next [08:06.160 --> 08:12.080] release happening in late April is going to feature all of this. So the tooling upgrade for [08:12.080 --> 08:17.120] CraftKit, this is what Alex and Chesar have been working on, raw support with great help from [08:17.120 --> 08:22.720] Martin, who's been leading this. Integration of S&P support and synchronization, making sure it's [08:22.720 --> 08:29.520] going to be really used inside Unicraft. Integration testing, there is a bit of work to be done there. [08:29.520 --> 08:33.520] We need to do a lot of testing. We need to automate it. It's going to be part of the CSD system. [08:34.560 --> 08:40.560] There is a lot of security features we plan to do. These were mostly led by Mihaly's on the arm side. [08:40.560 --> 08:46.640] I saw the discussion on Nova on Intel CET and ShadowStack. We have work done over there. So the [08:46.640 --> 08:51.520] estimate is that around March. We're going to integrate that. And then, yeah, the ASLR and [08:52.880 --> 08:58.080] data execution prevention now with paging support should be also available. Risk 5 support is [08:58.080 --> 09:04.800] basically implemented, but with a lead from Mihaly's, we are doing a plattery architecting [09:04.800 --> 09:09.680] discussion. And after that is complete, then risk 5 support together with support for other [09:09.680 --> 09:16.480] VMMs and hypervisors, VMware, Hyper-V. Firecracker is going to be upstreamed. [09:19.280 --> 09:23.440] Well, what I've seen, and this is kind of more on the community management side, [09:23.440 --> 09:31.280] items that we are facing as challenging in community and we are kind of adapting to them, [09:31.280 --> 09:39.360] is making the product easy to use. There's a bit of struggle on that. Once we fully transition to [09:39.360 --> 09:44.240] a mature craft kit, our companion tool, that should make things a lot easier. Basically, [09:44.240 --> 09:50.400] just kind of push a button to make things happen. Now that we have muscle support, [09:50.400 --> 09:55.360] and now with binary compatibility support, my expectation is that new applications are going [09:55.360 --> 10:02.560] to be easy to be ported and then be improved. It's important to also attract experienced [10:02.560 --> 10:07.440] contributors. So we are very welcoming to newcomers. We do, however, of course, rely on [10:07.440 --> 10:13.840] experienced developers, contributors to drive the major items going. So that's been mostly [10:13.840 --> 10:19.760] happening in the core team with Simone, Mark, Marco and Michalis. We want to get more people to [10:19.760 --> 10:25.200] work on that. Also, we are working on improving code quality. There is a discussion we are having, [10:25.200 --> 10:31.760] and I'm hoping that in the next month or so, we're going to finish up the coding guidelines, [10:31.760 --> 10:37.600] making sure we follow a consistent coding style throughout the source code, [10:38.880 --> 10:47.360] and giving those good practices in the community. As a kind of call for contributions, [10:47.360 --> 10:53.840] come to the monkey side, we have a lot of items for everyone. So, of course, it's the chorus part. [10:53.840 --> 11:00.320] If you are fond of C, low-level assembly language, virtualization, there's work to be done there. [11:00.480 --> 11:06.640] If you want to work on tooling, Alex is driving that, so go containers, Kubernetes, [11:06.640 --> 11:12.800] CICD, you can join that. Language support, such as I said with Martin, we draw support [11:12.800 --> 11:19.680] all the others, so there is work being done. We want to expand the ecosystem of applications [11:19.680 --> 11:24.880] and languages, so any language you want that's going to be done there. There was actually a [11:24.880 --> 11:30.800] discussion with someone who was working on some JSON toolkit if I recall, so that's going to be it. [11:30.800 --> 11:35.680] So, there's any sort of preference on library programming language or application you want [11:35.680 --> 11:40.560] is going to be there, and then, of course, performance, benchmarking, doing measurements, [11:40.560 --> 11:46.400] there's plenty of items to work on there. So, we'll welcome you. Please join. You can see on [11:46.400 --> 11:51.600] Discord, you can look at the beginner tasks, you can join the hackathon and find out more. [11:52.160 --> 11:58.720] And finally, this is something I discussed briefly also last evening for those of you [11:58.720 --> 12:04.800] who still remember. It was a bit late after some beer consumption had occurred. So, [12:05.760 --> 12:11.760] I would like to start a unicolonial discussion group to share knowledge, to share the code base, [12:11.760 --> 12:18.640] to see what we are doing. I think that will improve a lot the unicolonial ecosystem and [12:18.640 --> 12:25.360] improve each project. For example, we've been using tons of feature from OSV. There's quite a bit [12:25.360 --> 12:30.480] of code that was, as you might know, borrowed from Stefan and from Pierre, at least on the [12:30.480 --> 12:36.320] back of the website and some others. So, there's plenty of things that we can do if we are together, [12:36.320 --> 12:42.960] and that will also help promote more unicolonials in the OSS community in academia and also create [12:42.960 --> 12:48.480] products from it. So, I'm going to contact you guys to see how we can actually make this happen. [12:48.480 --> 12:53.360] I don't have a clear kind of goal. I'm more of a process type of person. Let's make things happen [12:53.360 --> 12:59.760] and then improve on it. But I think it's kind of a very good time now given the cloud, the [12:59.760 --> 13:06.560] cloud business ecosystem, the academic ecosystem and Unicolonial OS, also the educational [13:06.560 --> 13:11.040] prospect that they provide to do this. That being said, thank you so much. As I said, [13:11.040 --> 13:16.240] the community is strong. You can find out more about Unicraft over there, and we'll wait for [13:16.240 --> 13:23.600] questions after Simon's presentation. Thank you.