In this section of this session, we are going to talk about color theory for web designers. And we're going to start with the question, how do humans see color? And the answer is in a lot of different ways. Most people probably perceive the colors in this pile of crayons much in the same way that I do. But those who are impacted by a variety of the different types of color blindness that one could have could see them in lots of different ways. Most of the time, when we think about color blindness, we think it looks like this. We think it's just variants of gray. And for most people who have a variant of color blindness, that's not true. It's usually representative of one of the other examples that was shown earlier. But this allows us to have a frame for how color is not a physical property of objects. And I'm going to repeat that because when I say this to people, usually they look at me and go, no, it is. No, it's not. Color is not a physical property of objects. Color is a psychophysical property. What does that mean? Well, when we see something in the world, light hits the object, wavelengths of that light are absorbed by the object, and some of them are reflected by the object. Those rays of light go through our eyes. They hit our retina. And our retina has rods and cones on it. And those rods and cones interpret what they're seeing and send that information to our brain, which allows us to perceive color and light and other things. Okay, so rods. Rods only contain one photopigment. It's called rodipsin. And all rods have the same sensitivity to wavelengths, which means that rods have absolutely nothing to do with color. But their power is enabling us to see in low light levels. So if you are looking at what would otherwise be a red apple in a dark room, that otherwise red apple will look like it is dark gray. And that's because of your rods. Cones, humans have three different kinds of these. Short, medium, and long wavelengths, which roughly correspond to blue, green, and red portions of the visual light spectrum. Which leads us to trichromatic color theory, which is the basis of human color theory perception. Our visual system is defined by numbers that correspond to the proportional outputs of those three cone types. So we're going to talk about that more in a second. But the overarching theory here is that all of us see differently. And many animals see differently. Dogs are what are called dichromats. That means that they have two different types of cones in their eyes. So they can see color, but they see it differently than we do. They see parts of the blue spectrum and parts of the yellow spectrum. Bees are also trichromats, but they cannot see the red part of the color spectrum. They see blue, green, and ultraviolet, which we can't see at all. This finch is, and many birds, are tetra-chromats. And they see four. They see red, green, blue, and ultraviolet parts. Butterflies and a lot of other insects are really, really interesting. There is a lot of research on this. And there are some butterflies that can see up to 15 different types of ranges in the photopigments in their eyes. So unimaginable to us. Okay. But the point here is we all see color differently. And we all see the color in our physical world differently. When we look at an opaque object, those opaque objects are reflecting all or part of the light that they receive. This is called subtractive synthesis because it is subtracting what it absorbs from the light that you receive in your eyes. So if an object absorbs all light, it will be perceived as black. If it reflects all light, it will be perceived as white. If it absorbs blue and green wavelengths but reflects red, we will see it as red. When we are mixing paint colors, we are mixing opaque pigments. So I'm talking about literal physical art class paint. We are mixing pigments, not light. And this is what our color model for that looks like. It's a little different than what we learned in school. But the primary colors here are cyan, magenta, and yellow. Secondaries are red, green, and blue. That cyan, magenta, and yellow grouping should seem familiar when you think about the color of ink that you buy for your printer. When you combine these, you can get all possible other colors. The reason they sell black ink is because it's a lot easier to just mix it all together first. Okay, when we're mixing light colors, we are combining wavelengths of light. This is additive synthesis. So we have the opposite. The primary colors in this situation are red, green, and blue. Secondaries are cyan, magenta, and yellow. Mixing those pigment colors and light colors have opposite effects, and we can see that here. Okay, so humans, we're all human in this room.  Okay, but humans tend to think in subtractive color palettes because these mirror the natural world that we live in. But computers are different. Computer screens are generating color using additive systems. The pixels on our screen are generated with light. So not all screen colors can be printed, and not all print colors can be displayed on a screen. Here is a diagram that is super complicated. It is of different color spaces that are describing systems that humans have created to physically represent color. And so you've got CMYK in there. You've got RGB in there, different types of RGB. And the key here is that these color spaces don't always overlap. So this is one of the reasons why there are some neon colors that you can generate on a screen, but you can't print. When we are talking about the code that we're writing and the CSS that we're writing, there are four ways to identify color values in that code. The first way is through keywords, and the oldest way we are familiar with keywords is through WebSafe colors. WebSafe colors were identified as safe, because at the time, in early, early monitor days, computer monitors were limited to 256 colors. This is because of the number of bits in the monitors themselves, and the reason that 216 were considered safe is because of the politics of those who produced those monitors, not agreeing on what the remaining 40 should be. Okay. Hex colors. A lot of us are more familiar with these. There is a direct correlation between the hex colors that we use and the way we perceive light in our eyes. The red channel, green channel, and blue channel here, those two digit sections of the hex colors, each of those sections is identifying which part of that channel is being displayed on the screen. Each digit ranges from zero at the lowest to F at the highest. There are 16.7 million potential combinations here. Here I have a progression from nothing in that blue channel to the highest value you can have in that blue channel, and you can see that there is just an even progression as we bump that number up. Many of us are also familiar with RGB colors. These work exactly the same way, in the sense that each value that we are defining corresponds to a channel in the color space. Each digit is ranging from zero at the lowest to 255 at the highest, also for 16.7 million potential combinations. Our GB is really cool because we also have an alpha channel, which allows us to add transparency to our color values in one CSS statement. Here we have this chart again, and we're showing from zero in that blue color space all the way up to 255 and even increments. This looks exactly the same as the hex example did, and there's a reason for that. These are actually identical colors. The last way we can identify color in our CSS is through HSL. This is the one no one has ever heard of, and it is using a different color model than the RGB color models that we've been talking about. It's based on hue, which is depicted in a degree from zero to 360, saturation, which is from zero, fully desaturated to 100, and lightness, which is from black to white. HSLA colors, it also supports an alpha channel, which respects values between zero, fully transparent, and one, opaque. Here's a visual representation of that. On the left, you've got the color wheel with the different hue values that you can have. On the right, we're using the blue to demonstrate saturation and then lightness on the bottom right. This is an altogether visualization of how that would work. A lot of in-the-wild uses of HSL in computer systems are in things like color pickers, but you've got to be careful. This is one from Photoshop. You have an HSB value here, and you might think, oh, I can just use that and write an HSL. No, HSB is not the same color space. It stands for hue, saturation, and brightness, and it's not the same as HSL. So watch out for that. This is the last example of the progression, and it works exactly the same way as the others. The first value is hue. It stays at 240 throughout. That's for blue. Saturation stays at 100. And lightness ranges from zero to, in this case, 50%. Because you can change that single value in HSL to go all the way up to full white as well. So as we are writing our CSS and building our websites, there's a few things to think about. Color is a psychophysical, not physical property. Trichromatic color theory describes how humans see and how screens generate color. Mixing pigment colors is the opposite of mixing light colors. Screens cannot display all possible colors of physical objects. And finally, we can use any of these things, keywords, HEX, RGBA, or HSLA to identify our color values. Thank you very much.


A very good morning and welcome to this conversation with architect and 2024 crystal award honoree Guembero Francis Carey. My name is Nzinga Kuntan. I'm so pleased to be hosting this conversation that's going to take a look at Carey's approach to design, his cultural sensitivity and the work of the Carey Foundation. To those of us in the room and those watching us online, please remember that you can add to the conversation by using the hashtag WEF24 with 24. Francis, congratulations on your crystal award 2024. It's such a pleasure and a privilege to be speaking to you. It's a very long way from Gandor to Davos. Take us through what happened in between that. Thank you. Thank you very much. Indeed, from Gandor to Davos is a very, very long way, but it's a way that I enjoyed a lot. Very much. And it's a way where you realize your privilege to look back and see that I have been one of the very few and the first one to attend education and then being happy to be able to attend higher education and to learn how to build and to come back and be able to work together with the community to create a building. An effort that I have always seen as a matter of heart in my place. Every member of the community has to contribute to the growth of the community and have been very far away in the world that was not known to my people. Germany is so far away. What is doing there?  He should come and help to work on the field.  So it was a way full of experience. But then looking back, I say, sitting here, I feel very, very privileged. I created the school as a student. I was a student because let's say three years after I started to study architecture in Berlin, I suddenly feel, wow, I know a lot. I know a lot. I will go back and work with the community. And so I built a first school when I was a student. And then before Priska that you mentioned, in 21, the school has been selected as one of the 21 most influential buildings in the world since the Second World War. Zika, can you imagine what that means to an architect like me? Beautiful. And the way the reason that there were so much accolades around your work, particularly with the school and beyond, is because you operate, you look at the context in which people are operating, and then you build things to suit them, not impose your beliefs. And I think your story about how your father insisted on sending you to school, even though people were saying that he shouldn't, is also about understanding what context you're operating in, but having a vision for the future and having a vision for something beyond yourself. Yeah. No, I left the school, my family when I was seven, and so back I was thinking, what can I do? What can I do to keep the kids home by their community, by their families, but then to attend education? Education is so highly needed. And so after this, and then after I got the scholarship and started to study architecture, I grew the idea, so you could solve these and creating a school yourself. But this school should be within the reality of the people, the social context, the economical context, the cultural context. And this context was people used to work together. If it came to building, you need the entire community. And that's what I've done. What's the importance of architecture in society? Often when we think about architects, we think about people erecting a building and then leaving, but it goes beyond that. Oh, yes. Oh, yes. I can see the work of an architect as those often social urges, you know. You're trying to shape people's life, by the way. It is in the house where we share our intimacy. This is where we rest. That is where we spend most of our time. So we work in buildings. And so I think that is the role of an architect is caring, shortly said, is caring for humanity. And it's about caring means to think about solutions where you could create comfort for people to really stay and then spend that time and, you know, fulfill their dreams. When we speak about the work that you do, it's celebrated in part because it makes sure that it uses sustainable materials. It caters to people. I thought it was beautiful that even the way that you design light, especially for children, evokes feeling of hope and a feeling of the future. But you don't like using the word sustainability, why? Not because when I start to do, in my mind, I was thinking like my family, my community was thinking, just take as much as possible what nature is giving to you, just what you need to make sure that it's healthy to the community but to the users. And so I was looking back and say, okay, what is the most available in the village was clay and there was traditional law lectures and I tried to apply these and just work. And they start to say, okay, we had not a lot of money. What can I do? I will try to get everyone in the community to be involved. So everything that I did came out of sheer necessity. And so then I won a prize, Agakana Award in 2004, and the word of sustainability came out. It was German, nachhaltigkeit. At that time I was speaking German, but it was a new word to me. And then within the context of architecture, I started to think, oh, wow, my gosh, what is it? You have to know that in daily when I received the Agakana Award, I couldn't speak English. And so I put my word right to be able to push, to pull out my message. I just concentrated. And then I started to speak in front of His Highness, Agakana. And then the Prime Minister of India and bigger people, even kings, and I get stuck. Where are my words? So I turned it very quickly to French. And 10 seconds later I found my text back and I turned it again. So that is my context. And now you heard big words, sustainability. Oh, my gosh. Could you stand and start to talk about it?  I was just doing my work. And then, yeah, good people realize, okay, there is more than just words around what He's doing. That is a debt. And that saved me. I didn't need to really use the word properly, but to be able and to be able with the people and to use the resources, I believe will open a future to, will open a future to my community. And that is it. And now I'm here. I know you're very focused on your community and giving back and constantly working there. You've also done work in Germany and beyond. What kind of a perspective does that give you on the other work that you do? Just tell us about that work as well. So Germany is like many Western countries, a place where substantially you could reach high quality in terms of construction. So that is something to learn, especially if you look back. At nowadays, construction is over complicated, regulation, and even the, you know, how do you apply material? Everything is so complex and you cannot innovate anymore. This is what I have seen. And what I do is to try every time when I have a chance to build in the West and to gather with professionals to make sure we will be able to come out with quality. So first, I have a big vision and I try to put as much as a lot of insight in that, knowing if they try to, you know, to decompose it, to take away elements, like taking away clothes. At the end of the day, a core will remain. That is quality. That is one thing. But now it goes outside, somewhere else. I'm trying to use the opportunity that in other places in the world, construction can still be innovative. And there, a push just to use a chance to innovate and then back, bring this back to Germany. And that's what I'm doing, what I have learned from that place. And that's what I'm trying to do. We have the World Economic Forum's annual 2024 meeting and there's people from all over the world gathered here from different sectors, private and public. What's the importance of this kind of gathering and working together with people who have different perspectives from you learning and listening? It's a big chance. It's a big chance. If you met, you learned a lot. If you have a chance to listen to people, to discover their journey through their profession in the world and from that place, you learn a lot. And it's a sort of encouragement. You know, you gaining new ideas, but also encouragement. And then to know that you're not alone and ideas of other people can help you make your own ideas stronger. Here, let's say or repeat the words of Mr. Schwab who said yesterday, we are in the global village. There's so many people from diverse horizons and also professionals and we could learn from their, from their experience and to be able to do our own work, to make our own work better. Tell me about the work of the Francis Kerri Foundation. I don't know how much time we have. No, the Kerri Foundation is something that was born out of senior necessity. I was a student. I had a big heart for my community. I wanted to give them a school. I was a student. I could design, but where to get the money? You know, and so that is personal. People try to start to advise you to people that could be potential donor. Really. And that time, except to the very extremist party that I didn't meet in Germany, I met every political party looking for, oh, I have an idea to build a school in Africa.  It's so corrupt. What can you do that? You think you could do something? I didn't give up. I met NGOs in Germany running, running, running, trying to explain why that is a need for me to build a school. And then there is a rejection, why you are not the government and you are a student. Why should you do that? Why you don't wait? I have been facing all of that. And one day I stopped. Everyone that was advising me to someone else, I say, hey, what about yourself? You could support. So I honestly started to push my colleague to smoke less or drink less coffee, but found my project. And so out of this idea, people start to put money in a box that I designed for the school, like a mock-up of the school has been used as a box to collect money. And then suddenly someone said, oh, it's illegal to collect money like this in Germany. And I said, oh, wow, illegal. Okay. So you cannot give me money. I found a way to get money. And you say it's illegal. No, no, it's not forbidden. You need a structure. And so we created the foundation called Schulbau Steine Fugando FV, which means construction bricks for the school in Gando, which is very, very long. And, yeah, but it was the structure that allowed me to raise money. Honestly, I got $50,000 that time and I started to build a school. So the Kerri Foundation is a non-profit structure that I founded as a student to be able to do my work here, to build a school.  So it remains. But then with the growing success of my architecture, there was still struggle to get the money. And friends of mine started six years ago to say, you know, you're famous. I said, who are famous? What means famous?  There is still a lot to do. No, no, Francis. It's important that you connect the name with the success of your architecture, the name of your foundation with the success of your architecture. And they said, why you don't call it Kerri Foundation? And so we call it Kerri Foundation. It is English. It's very cool. But now the fact is there's still a struggle, but I have to say I'm very privileged now. I have like a client that are really looking forward to support this structure. So this is a structure that I will still use in the future to share my work to the world, you know, to my fellow Africans, but to the world. And you know it, I'm obliged to use this success to gain more. And I will use this through the Kerri Foundation. If we're talking about the world and a little bit earlier on, you and I were talking about context. With the geopolitical tensions and challenges that we see, there's a lot of uncertainty even when it comes to climate, increment weather as well. What's the role of architecture in cities, in helping communities, cope with these risks and also adapt to the changes that we are seeing on so many fronts? Well, this is a big question, Zynga, very big. I think in the time we're leaving now today, it's very difficult to be able to find a solution or to show a way to go through. In that way, I will try to stack in that what I'm doing. Because I believe that everyone in his field can do something that helps make a difference. If I'm looking back to the work that I have done, my work is capable of giving a job to minimum 100 to 200 young people. Few people know that because I have created a workshop. The beginning of my career, there was no company that will trust himself to build the design that I was doing. So I tried to train young people. So why is this relevant? So if you give a job to young people from our place, young people are looking for opportunities. They try to leave and to go somewhere else. They don't leave because they want to leave. They leave because their life conditions are worse, are bad. That's why they're leaving. And so with my modest workshop that I'm doing, since 20 years now, I can tell you that I have more than 500 young people in Burkina Faso that really earn money and could make a living and they will never take the road to the Sahara to come to the West. And that is something that we can see and say. If we develop community, we make them stronger, enabling the use of the community to build a better future for generations to come, we will heal our places and contribute to peace in the world. So this is what I can say through my modest work and not more. We've been speaking about community a lot. There is a small community inside. I know we have about 10 minutes to go before we wrap up. I wanted to check if there are any questions from the floor. I don't know if I'm allowed to do that, but I'm going to do it. There are questions to the floor. If you do have a question, please can you raise your hand to let us know where you're from and we'll try and get it answered. Is it okay? I think so. Good. Thank you, Kerry. My name is Gerald Abila. I'm a winner of this year's Schwab Award for social entrepreneurship. I'm a lawyer, a statistician and I like to think of myself as a futurist because I like to think, unfortunately, where I come from, there are no places to think. I see so many of them in Europe, but so few of them in Africa. For me to go with my team to think about AI or something like that, we need to go to a hotel, book a conference center somewhere. Mine is more a comment, perhaps if you have some time. In fact, just today, today I got land about 20 acres that I intend to put a center like this and I want to build it using natural architecture, using natural earth to represent the people that it intends to serve and I would like to share your thoughts on this. Maybe we'll get time after this meeting, but thank you. Thank you for being an inspiration to everyone else. Thank you. That sounds like a consultation. No, but I think the continent has learned from those people like you traveling that really learn so what we have elsewhere and what we can take back to the continent and so to be really honest to you is how I am. Now you have your architecture. He in the room, we have people that have created infrastructure around New York where people gather. So if you, you know, not just to do advertisement, but like to grace farms, so indeed those things are and what we really need is an elite, an elite that is aware about the need to create that kind of spaces and I can tell you this is coming, you know, in the past you see some of the work that commission that I have done in the West has been so inspiring and nowadays we have like a lot of people in Africa that are coming to me and looking for a project. So and they don't look just they have even the private people having their resources and wanted to really create things for their own communities and private houses. In the future you will hear about House Nikema, House Widarogo, House Kotor, you know, there are things that we don't know in the Western language because in our places we didn't pay attention to architecture but nowadays it is time, it is our time. Francis, thank you, inspiring thoughts. In India I trained as an architect in the 80s, started work and then fell out, got into development. In those decades, the 70s and 80s we had quite a few people right from Laurie Baker to many others who were, you know, practicing the kind of architecture that you stand for and over the last 30 years driven a lot by urbanization and also, you know, the economics of land and I think just the need for a return on capital invested in buildings, quite unfortunately I think we've moved very much in the direction of, you know, what you'd see in Western countries or, you know, even in China. Looking ahead, do you see those kind of challenges coming up in Africa or somehow in a much more urban context, do you see those challenges inhibiting what an architect can do? I'd love to hear your thoughts on that. It's like a short question but very complex. I think if we, like we are lucky today in Africa because there is a big, big need but lucky means we could learn from what is happening outside and what has already been done to really be a model for the future, not to repeat the mistakes. I mean it will be arrogant if I say I don't want to do a competition, really I need to know you and to know what do you want to do with me and if I really, you convince me and I see that inside there is something that can benefit not just yourself as a client but the world by bringing out ideas that can be shared with others will go. And that is what should be and of course climate change and material limitation and ethic, all of these will play a major role in shaping Africa with architecture that can really become a catalyst. Francis, congratulations for the inspiration. I'm actually a social entrepreneur from Brazil and curiously I'm an architect by education. I had classes with Paulo Mendes-Dahosha. Oh well. Yeah, but I never worked with architecture because I became a teacher so my life has been in the education sector. You mentioned yesterday and today about being privileged and I was curious about throughout your career you mentioned that many people helped you. Who were your mentors or sources of inspiration? You are at a point where your architecture is widely recognized, your work with the foundation. Who are your sources of inspiration? So Mendes-Russia I admire these architects so great and I have a lot of friends in Brazil and so I want to use these to say if I'm looking to the work of Nimaia, Mendes-Russia or whatever, I want to say don't feel sorry for me or PD because I'm working in the social I have to warn you I love fantasy. I love to put fantasy in my work really no matter what it is if I met a client I try to understand what this person is expecting from me and I go because seeing what Nimaia is doing is like wow freeing you just go ahead and do it. So now to your question if I may be honest and assured my mother was a role model to me. Over already a year I've been working my mother will say if it was hard like leaving the village my mother will say yeah just go it is just a while and it will be shown better. So if it was hard and you want to go she will say you know think about it so it won't last your entire life and I will come back at the beginning we had no money and my mother will do share not butter to sell it and just compensate it and pay the vision of my father because we needed to buy paper. So the resilience of these women who is still alive is still has built a foundation for me a very solid foundation of course in the world you had the chance to discover these incredible architects that are still looking to and to be honest I will not name a living architect but all still living architect are heroes to me when they succeeded in their places seeing the fight the struggle we all have to come out with quality there but so Luis Karen so Mies van der Rohe with the rationalism so there are people that I'm really looking to you know really they have given us great ideas and he's up to us to work on and I did it. Okay just checking if we have any more questions on the floor before we wrap up the Q&A session. Hello Francis congratulations on your award as well I'm Sharon Prince from Grace Farms Foundation and what we know now about building materials that you've so eloquently described as being having that expertise from the place that you're in right using those materials clay and so forth. Building materials are set to dominate climate change and the building materials that material it says is you know me short enough are also fraught with slave labor and there's an opportunity like you said to really supersede what has already been a labor transparency pass. Do you have some thoughts on that? Yeah I think in in the field of the build this is where we do a lot we employ a lot of labor and I think it's fundamental to make sure so no exploitation should happen and it is not easy because if you need to be able to follow the chain from material and to construction to the source of labor and to make sure that it is not and I think so what your foundation is doing is a great job and we all need to start to really think about it. In my little place I'm now involved in you know in huge buildings and you try to be involved and warn the client and say make sure that we don't try to do something good by abusing and exploiting the most vulnerable. It is not easy task. In the small kale like in Gandor that is great because we know each other and then the work there is like a is like a celebration. If I have a little project now everyone wants to be part of it I make sure that no one gets harmed. Thank you so much thank you for your interventions from the floor and helping me moderate the conversation it's very appreciated. Thank you for just giving us insight about using what we have when people are thinking about building operating within a context but also looking beyond what people say is possible and the importance of people being conscientized. Really appreciated having discussion with you. Thank you so much. Thank you. Thank you so much.


Hello everyone, welcome to the Jenkins Infrastructure Weekly Team Meeting. Today we are the 13th of February 2024. Around the virtual table we have myself, Demandu Portals, Stefan Merle, Novera Arthen, Kevin Martins, and we have a new attendee, Akash Mishra. Please note that AirVelomer and Markway are most probably unavailable today, so we're going to start without waiting for them. Let's get started. It's been two weeks, we cancelled last week due to the FOSDEM, so a lot of things. First of all, weekly releases. As we had 2.444 and 2.45 releases, I don't remember, there has been issues last week with the 2.444. I can't remember which one though, let me check the history. Do you want a little reminder? Yes, I broke something, sure. Yes, you deleted something that was needed, you know the... Oh yeah, file system. True that, so failed due to... Let me search the issue. Get the Jenkins IO, I believe we closed it right after. Which milestone was it? Oh, it wasn't in any milestone? Oh no. So then let's add to the closed milestone. The milestone we are going to close. Okay, let me take notes. Due to unforeseen consequences of file storage was removed during migration to premium storage. So what happened is that that issue showed that we were using a non-premium file storage, which is a shared file storage, which is baked by object storage behind, managed on Azure, and that can provide Samba or NFS multivariate access as a persistent volume to our systems. In that case, forget Jenkins IO, the mirror redirector. That storage was costing us around 2 to 3K per month, which was so much that we initially thought about let's just move to virtual machine or use a simple SSD that will be clearly cheaper. And we realized along the way that in fact we were built by usage, as you can see on that one. If we were using transaction optimized and transaction optimized, say, hey, you are built per snapshot, per transactions. While in the case of the new one, everything is included, particularly metadata, which means we were able to remove this 3K because the storage cost, even though a bit higher, 0.2 per gigabyte instead of 0.005. So it's fourth time the price for storage, but that's still a total of 200 per month instead of 2K per month. So it's a 10 time decrease. As part of this one, we had to create a brand new premium storage and migrate data, and there were two file storage. One was marked superficially at least as non-use since years. So I deleted it and never migrated it. The data within is already present on Archive Jenkins IO and PKG Jenkins IO. And the question, hey, what purpose does it serve? The purpose is that that share was used during the Jenkins core release, which broke last week release. So fixed by recreating the missing file storage, documenting it, and filling it with data from PKG.origin.jenkins.io VM. The goal of the survey because he pointed that out during the emergency. So good job. Thanks at Irvay and at Mark for handling this release. So thanks everyone. So then everything went fine and we didn't have the issue today. We had another issue though. So today's release, a release is out or let me see what's the status, the packaging bill failed due to an agent being deleted. I believe there was a network issue. Let's have a look at the checks. Okay, it's currently synchronizing with the mirror. So in a few minutes that should be okay. Let's go back to the notes. Packaging job failed due to a network transient error. It started almost finished and the Docker image is out. The tag has been created, the release has been created. So we are ready to update Docker-based image for the weekly release. Kevin, I don't know if there is something to run on a changelog for this week. I merged it and it's live now. So that should be all set. Oh, cool. Thanks. So end of this meeting, everything should be there. Is there any question on the weekly releases, the problem we had last week, this week or something to add? No, okay. Do you have something else on the announcement folks? I don't have either. So let's continue. The next weekly release will happen next week as usual, Tuesday, 20 February, 2024. That will be 2.446. I don't remember as usual, the LTS release, 21.0. So next week is an LTS week. So be careful next week folks, don't break the production. Do we have an announced Jenkins security advisory? None as far as I can tell. So that's a good thing. And next major events, Scalics in March. That's an opportunity for people living on the West Coast to be able to meet some of the Jenkins community member that will be there. At least Mark, I believe. Mark and Alisa most probably. Is there anything else on the calendar or announcements? No? Okay, let's roll. Add deprecated topic. So let's start with the job we were able to do during the past milestone, which was an exceptional milestone due to the cancellation of last week build. So it's two week milestone, that's a lot of element we were able to fix. So GitHub topic was added to one of the repository. Just to mention, we use the help desk for that, but these are managed by the Jenkins CI GitHub organization administrator, which we are not, but we use the Jenkins Infraild desk for that. We had four or four random errors on CI Jenkins SEO. So let me regroup the Datadog issue. We have had an issue with the version 6.0.0 of the Datadog plugin, which corrupted some build pages and build data. So we had to update to the 6.0.1, which stopped corrupting data, but was showing quite often stackover flow error requiring a controller restart. Finally, the 6.0.2 version of Datadog was able to stop this stackover flow. So now we are safe, but there have been multiple consequences. So Datadog plugin is failures. Let me rewrite that. If you have any question while I'm ordering the element, don't hesitate. Nope, 6.0. Generate made controller to corrupt build data during a stackoverflow error, fixed by corruption, fixed by stackoverflow error, fixed by 6.0.0 applied everywhere. We use it. Okay. I'm searching for the nine. Okay, this one. So the one first funny consequence of this was that all build and CI Jenkins are you were showing the epoch as the date because the build data was corrupted. So the default value when the Jenkins workloads, the build data is 1st January of 97, the epoch. So that one has been fixed. Thanks for the work of Erwe and Mark. They upgraded. They contacted the Datadog maintainer and exchanged. And one of the funny consequences is that we had the random for pages because some build had their build data corrupted. After we restarted the controller and the applying the changes, all of these error pages were gone. Finally, we realized with Erwe that the controller logs are not collected on CI Jenkins.io. We willingly disabled that like one year and a half ago and never went back on that area. But since we know Datadog offers and sponsors us with unlimited data and limited requests, that's a good opportunity now that we have removed everything sensitive from CI Jenkins.io. So that was an opportunity for us to start collecting these logs so we can correlate with the logs sent by the Datadog plugin itself. Controller versus build versus agent logs. I'm looking at all the other consequences. I think it's okay. Gentleman spawning on infrasia. Okay. There was another unforeseen consequence of that. Incremental publisher application was answering HTTP 400 client error when the builds on the pull request for different plugins were reaching success and were trying to tell the system to deploy the generated incremental builds to the specific repository. The reason is because that one uses CI Jenkins.io as a source of truth. And since the source of truth was an archived artifact of a build which was corrupted by the Datadog problem, that was a domino effect that killed the service. And that is on RPU archived artifact which were corrupted by Datadog. Fixed as RPU run again with success. Let's see the Jenkins. Next step. Let's start using reports Jenkins.io instead. So there is an issue for me. We started, so the idea is to use like for Infra reports and other services, the RPU repository permission updater is a job that run on trusted CI, the trusted and private controller which is able to publish to report Jenkins.io that is on file. These files are public, their content is public. There is nothing sensitive except the fact that we want this file not to be served by CI Jenkins.io. Instead, reports Jenkins.io is a static web server, a simple one which we can rely on highly available. So we started the work and now the report is generated and served so we now have to update incremental publisher. For the next release, I will have to write an issue. Is there any question on that topics? Things to add, things unclear. Okay, a note about incremental publisher. Thanks at airway and team for the huge amount of work you've put on incremental publisher that has been released at least seven times since the past four days for the incremental service upgrades. A lot of features, bug fix and improvements. Any question? Nope, okay. Thanks. So Alex was able to create a... Alex and airway were able to create a new category on their desk. So when you open an issue that is related to community Jenkins.io, such as, oh, I've been banned or I have an issue with my discourse account, then it can be a great help for us to categorize and try age these kind of issues. So thanks, Alex and airway. Oh, we don't have, okay. Next one, community Jenkins.io page view, exceed OSS plan. So Alex Brandes, part of the Jenkins board member was so that we were crossing some threshold in amount of users and accesses. Looks like it's fixed. I haven't checked in detail, but looks like they contacted discourse and they were able to increase our plan because they fully sponsor us. So thanks discourse and thanks Alex for taking care of this. Same kind of issue on GitHub. The Jenkins CI GitHub organization was consuming too much user seats compared to what was allowed for the sponsored plan. In fact, we are sponsored in an unlimited way. So either it was visual or it was just to contact them so they can increase virtually the amount of seats. So that has been closed. So thanks again for the administrator for taking care of this one. Is there any question? Nope, okay. In the top level topic, I'm just adding back the high storage issue. Just a word on get Jenkins.io. Because it created some errors. Hop, here we are. Believe I've added it. Because that spined up that error. So for some users, so that issue is what I mentioned about last week failed release. Some users during one or 12 or even more. So a 404 one trying to download the latest Jenkins, the weekly release which was broken due to so caused due to missing file. Storage C announcement section. So as we discussed, that has been taken care of by RV. Many thanks for that and Mark. So it was fixed during the same day and now we are back to, we are back to the new something working. Next issue, is there any question on this topic? This issue, so some users were blacklisted from download mirror. It's because on another issue that I will, let me try age some, the maintainer, that person is one of the maintainers of the university mirror that sponsored us by providing a file server that serve as one of the mirror. If you are close to Germany on network or geographically, most of the time your downloads of Jenkins war or HPI or GPA files comes from that file server. They saw, let's say, unpleasant usages just on a few files, old version of old plugin which looks like someone misconfigured their whole system. So they enable a fail to ban system which tend to blacklist or API rate limit the downloads when someone is doing an abuse. As a consequence of this, some user were misconfiguring their system. They were downloading a lot of plugins and they were falsely considered as a usage abuser. So they have ponderated the rules and everything is back to normal. But that was an opportunity to check that the Jenkins operator to install is one of the numerous way to install Jenkins on Kubernetes. And that operator does not allow to provide your custom built image with your plugins which mean on each Jenkins restart like the default setting of the Elm chart, Jenkins tried to read download all the plugins. If the plugins are already there, of course it's only checking that there is no new version but still that's a lot of downloads. So in that case, their user had 25 controller using the operator and they restarted all at the same time which was yes, a little peak of download. It's not catastrophic but still fail to one consider that as an abuse. So it had to be a fine dude. The good thing is that that allowed us that clearly allowed us to see, oh, there is an issue with the operator. So the maintainer of the Jenkins operator is working on that feature. And yeah, we know if you run Jenkins on Kubernetes please disable the download plugin feature and build your own image that will be easier for you. Is there any question? Nope, okay. Next issue. I believe that one is not related to us. And I think we need to change the status as not planned. Sorry. The user had DNS resolution issue and they were redirected to a mirror which their system wasn't able to get an IP from that name. So it's not something we can control, it's their system. So I'm adding it in the closed as not planned because there is nothing related to our work and there is nothing we can do for that user. Any question? Nope, okay, let's continue. So as a follow-up of the get Jenkins IO storage change to premium which broke the weekly release that was also an opportunity for us to automate using update CLI and data dog, two elements. First, since we define infrastructure on one system with Terraform which define the size of that file storage and then we specify a reference in Kubernetes management we have to keep in sync the some elements such as the size. We want Kubernetes to always be in sync of the size of the real file storage and have the same amount. So that has been automated by Yervian or Stefan. I don't remember exactly. And we also started to monitor the amount of data we use because that's volume is never cleaned up which is what we want. We want a limited persistence but we need to be sure that we only pay for what we consume. So we have an intermediate to find. We need to always have less than 80% of disk storage usage so we can eat best performances of the network system and the system storage. But we also need to increase the storage when we cross the 80% threshold. As such, we have added a problem data dog that alerts us when we reached that threshold. Is there any question or things to add? Nope, okay. Next issue, we had a problem with infra.ci while our private controller which wasn't able to spin up agent. So thanks Stefan for taking care of this one. May I let you explain in a one sentence the outcome? Okay, the problem was with the autoscaler on the node pool specifically on the IRM node pool, or IRM 64. And in fact, we did start the autoscaler from zero to 10, I think. And the problem was that zero, the Microsoft Azure is pushing people to use one and not zero. So for it to work, especially when you're using spot instances that take the risk to get killed. And then it will not spawn up the one that had been killed and you stay at zero. But if you spawn manually one, then it's working and triggering everything fine. With an issue open with Microsoft, we did a visual and some exchanges and they stick to the fact that we need to start at one. We did some math and the budget is okay. With small spot instances in that case, that was something we can afford. So we did start it at one. But before they closed the ticket, I told them that we solved the problem by starting at one, but that will be smart if we can start at zero. And if the autoscaler was able to to spawn up one none, one day is none. Nice job. Which means now we have way more responsive system for the ARM. And I will add that thanks to the work we are going to mention a bit later on migrating everything on ARM 64 all in one agents that had way more efficiency and sense to that choice. Because if all of our jobs are running on the same not pool, the probability to have a pod is at any moment is close to 100% and it's okay because we don't consume on other not pool for that instance. Agreed. Thanks for that work. Is there any question on this one? No, okay. Next one. We now have a nice API to expose for today the mirror list to our end user. So the list of mirror. So if you want to allow these IPs or domain name, you can use programmer particularly because we provide a static JSON file and that will be amended with, if we change these mirrors, if we add more, remove some and it's automatically generated. Click on the link at the bottom to show them. Cool. I was going, hey Stefan, do you want to guide me? Where's the link? Hervé did put it up here. Yeah, yeah. So it's very shunned of course, as you can see. We have one mirror, which is the fallback. Uh-oh. Oops. We are in the middle of a release so there might be something going wrong. I'm not sure what is the reference. Oh, there is a bug on the system. You know, two weeks ago I was saying everything was fine with the release and in fact it was not, so. Yep. Okay. So re-open the issue. We can re-open and add it to the new milestone. That's what I did two weeks ago. Live effect always good. Scene during team meeting. The list of mirrors only shows the fallback. Here we are. But you get the idea. That's a nice service. I'm sorry Hervé, I'm sorry. Each time we open that, we have to re-open the issue. Okay, so let's amend on the notes and add it in work in progress. Deploy, deploy is a mirrors meta two. What is the issue? Ah, let me get the link though. Okay. But there still is an unexpected bug. List is empty except for fallback. Okay. Is there any other question on this one? I would say it's still great job because we have an automation system that we will be able now to use as foundation to increase the amount of public information to provide as meta API, like GitHub provide their own public API. So we'll be able to have our public outbound API, et cetera. That would be awesome one day. One day, one day. Step by step. One last item. That's just something we did a few months ago. See you Bruno. Since we changed the fallback of these mirrors to archives junk in SAIO, that solved the long running issue of a user who was using a tool on Red Hat environment named Red Hat Satellites. And that system was scanning everything and trying to download all the packages to create their own private network. The problem is that the former fallback system, OSUSL servers, did not add all the data.  So that's why since we were able to change archives and can say you to digital ocean and we have the bandwidth, we define archives as something where we have all the artifact we ever had been and as a fallback for download. So if you are trying to get an old file, the mirror system will redirect you to that fallback which solve effectively the issue of that user. So I closed it. Any question? I'm sorry, just, I'm not sure.  The fallback is not up to date. All the time we still need to solve that problem, no? It's up to date after 30 minutes maximum. Yes, we still got that gap, okay, good. Exactly, but since the year the problem was for old files, it's already up to date since years. Old files are good, new files, 30 minutes gap, yes. Exactly, got it, but good point. Okay, I think that's all for the closed issue. We had a few issues closed as not planned. Most of the time it's either a user facing issue, user opening an help desk for their own Jenkins installation which is not our job to manage. Most of the time they have to be redirected to community Jenkins IOPolitely because there is nothing we can do to help them. The community is way more efficient than us for answering their issues. Finally, we have ACON tissues that were never answered as usual, so we closed them. Any question on the closed as not planned? Okay, so now work in progress. So we seen the download mirror, so there is an issue to be fixed. At least analyze. Stefan, I may help if you want. I mean, we can all get this one. We'll see later how do we dispatch the work. One server will be back. Is that okay for you for this one? Yes, it was pleasure. Then thanks, Alex and Mark for taking care of the Jira updates. So that consists on opening an issue for the Linux Foundation as they manage Jira instance for us. And like we did last year, every year we have an LTS upgrade to have because 9.4.x baseline will be under life in November or October this year. And it's the change on to the latest LTS on the nine line. So nothing to say here. Waiting for LF to give us an operation date. Nothing for us here and we will manage this. Any question? Then unexpected delays, building small plug-in on Linux agent. That's a long running issue. Some agents were when spawned on digital ocean had trouble when downloading issue from our caching proxy. We disabled the usage of digital ocean. And right now we consider that we need to start upgrading to Kubernetes 1.27. Usually that kind of trouble upon the one trimester before digital ocean drop given Kubernetes line. And of February marks the end of the support for Kubernetes 1.26 on digital ocean. As such, that's why we think migrating to 1.27 will clean up the virtual machine, the cluster and will most probably solve the performance issue. If not, then we will have to diagnose and eventually change the way we use digital ocean. Require Kubernetes.27 C below in new items. I planned this during this milestone. We will add it on next milestone after covering the current in progress. Is that okay for you? Yes. Digital ocean Kubernetes agent are still disabled on CI Jenkins.io Not important one. I tried to update the GNL PR argument as arguments as pointed by Bazil because we are using deprecated forms of some arguments or deprecated but still functional. Failed or Azure VM need to investigate. I've seen different possibility and errors but we need to check what is the agent the virtual machine are created but the agent fails to connect back to the controllers on both cases when we have containers and when we have virtual machine, both Windows and Linux. Azure containers, both Linux and Windows so need to investigate on a flying scenario to not break the production. If unless someone want to play with this I'm continuing my work here. No question. Open VPN revoke. Nothing done here. Let's check if we can diagnose this this week or we will drop it. That's about revoking open VPN certificate. Most probably there is documentation built by Olivier Verneur but someone need to check. He did the first superficial check and wasn't able to find something obvious which means we might have missing things here around revoking former certificate. We can revoke one person certificate if we want to get rid of that person from the VPN access but revoking whole certificates can still be a problem. Let's check and try with local installation to see. Most probably we need to use a CRM. Most probably here but it is a question of scope. We can revoke a user but can we revoke former certs of a valid user easily? No question? Nope, okay. Thanks for the person reading my notes. That helps a lot. Versioning docs. Check with the survey yesterday. Need to continue working on this one. On this one. First for them. That was not the top priority and that part being somewhere. I know some tiny things were done but some work need to be applied and every was missing time due to the first day. Is there anything else to add on your side? Kevin, on that one? No, nothing to add there. Just working on some issues and stuff that we found. Cool, thanks. Uplink, we still have still corrupted database records. We have slow running requests to find them all but that takes 20 to 40 hours to do the dichotomy so that takes time. So once a day, one request a day keeps the corruption away. Continuing working on this one. We have an effect. Each time we remove a corrupted network we just have 10 to 20 compared to the 100 of billions records on that database. So we just removed 10 to 20 records and that solved the issue and then the seek and find continues. So now we're able to download 3 megabytes of logs. Initially we're only blocked at 200K and it's only on 24 and 25 December of last year. Christmas gift, yeah. If you have data to find on other days, that's fine. Just these two days are corrupted. So as discussed, with Daniel, maybe that should be okay but I would want to remove the corruption. We are still not able to understand why these records were corrupted. No logs are available on Microsoft ProgressQL site. No question? Okay, next item. Intermittent out of memory Java 21 builds. Nothing done. Still need to be investigated. Still need to be investigated. Still need to be investigated. We still need to be investigated. Still need to be investigated. Still need to be investigated. Not sure why. Maybe it was fixed. Maybe it was development. Maybe it's on the infrastructure. We need to investigate that one. Most probably we'll see that coming with more priority when we will start the switch to GDK 21 for controller and agent. But right now it's GDK 21 for builds. So it's different concerns and different usage. Next one is on me. Migration leftover from public gates to RM64. Migration leftover from public gates to RM64. So next step is held up. Next step is held up. Need to plan migration of persistent data. Need to plan migration of persistent data. As RM64 VMs are in a different AZ availability zone than x86. So that means we need to migrate the data volume to a new one which will be multi-availability on replicated. The cost overhead is close to nothing. But we need a migration to a geo zone replicated persistent volume. And then migrate held up to RM64. The image is working already on RM64. So the data is the problem here. Next candidate then key clock and still no news from Miror bit maintainer. I tried to catch Jean-Baptiste Kamp at the first them but they didn't have I wasn't successful to get his attention and there were too much people around him. So no news. We will ping them because one of the solution for us will be to fork and maintain our own fork of mirror bits given no commits are done here will be more efficient on maintaining our own copy of this system. That also include challenging the usage of mirror bits in the future as well. There are other solutions from the shoes world and the open source is a good thing. So let's see where we already have enough work right now. Stefan, can you explain what's the status on migration to RM64? Yes I'm fighting with I think the last image which is bundler sorry it's not bundler the name of the image it's forgot that name but there is Ruby inside because it's installing bundler and right now that's a nightmare but I think that Hervé points my problem within another issue and that problem was related to the path for ASDF sorry and in fact we were using variable and those variables were not interpolated. So we had to fight and the whole team had to fight for the regex instead to manage a way for the path to be updated correctly but still a work in progress the last build work almost everywhere except on windows so I launched another build because most of the time with windows that's just a flaggy issue and that's not related because we didn't install that on windows so I think for that part at least it's going in a good way Nice I believe the next candidates after infrareports will be other consumers of the docker builder which is the one you try to migrate exactly to the system I think Poupet will be first in line soon enough but yeah cool Poupet we need to update it too Reminder long term spin up a new AKS cluster only for infra.ci agents on the Azure Sponsored subscription the goal will be to separate controller and agent like we do we see agent in SAO and we will pay for the agent on the new system since we won't have spots available I haven't had any answer I need to re-request a third time we will be able to scale to zero Any question on this one? As a reminder I had to check with the CDF the cost last week in details but that work on RM64 has been proven to be a gain of 5 to 7% on the last two last month builds on Azure so thanks An old issue which was consecutive so let me get back to get Genkin SAO here we are still that file storage migration to premium system related to now we have used a premium file storage we see improved times on loading the list of previous releases when you go to Genkin SAO you go to download and you want to see the list of all the former weekly downloads that request is a slow request on the file storage because it's using Samba on a system which is baked by object storage and listing content of a file container inside these kind of storages is not an efficient operation unless you do some tricks there were two solutions the first one tried NFS version 4 premium only because right now it's NFS 3.1 if we want to use NFS which is the case instead of CEFS in the AKS CSI driver but failed on the two first attempts so even following there were a permission issue I'm not sure which one how so I focused on relating to the premium file storage but that could be an improvement because NFS v4 with the proper client side tuning on the CSI driver might help on that area but not sure, I cannot be sure because still the backend system are not directly disks you have an intermediate system of the storage however airbay emitted raised a long running question also raised by Mark two years ago why not generating these HTML pages on each core release I mean that's a static page that lists the list of existing releases so if when we do a weekly or an LTS release a core release in general we regenerate that page and copy that file on the mirror system and we're done that could be also redirected to Jen Kinsayo there are multiple solutions here so airbay had that issue at that proposal raised by Mark a few years ago Kevin there is no expectation here but I'm mentioning this because that could be something we can do on Jen Kinsayo either update CLI could help automate that there are at least four different ways of doing it it used to be done by Olivier four or five years ago I think Tim was there and worked with him on that element if needed that's really ancient history during the generation they were spinning up a docker container with Apache within serving the files they did the slow request one time and Kerl exported the HTML file which then they deployed to the to the production so that could be as simple as this one I believe airbay will be really interested on driving this but I don't want to speak on this balf so I will let him confirm until next week so I'm going to keep that issue on the milestone and if we don't have time or if airbay is not interested it will go back to somewhere lost in our backlog any question okay next one which is the most important and most blocking one to replace blobxfer and by azcopy that one is blocking update center migration and it was creating a lot of additional network requests to the file storage hopefully we don't have the transaction problem anymore still that will improve the performances and the security of how we manage credential for writing to this file storage good news airbay was able to find a way to generate short-lived asas token using azure service principle so that's a lot of big words to say a he was able to say with an account which credential don't need to be renewed every month when we need to deploy files we can generate a token a short-lived token allow the builds copying files for one hour to copy or read files on these systems which is really useful because we don't have to manage that credential and that credential if exposed will be invalid automatically in one hour maximum so that protect us without having us to renew every month or three months the tokens that's really interesting and in the future we could use azure instance identity which is the same thing as a service principle instead it doesn't have any credential at all inside Jenkins and instead it's authenticated by azure cloud based on the instance either container or virtual machine if it has the permissions so we have numerous ways here so next step next steps so right now work in progress on contributors contributors.jenkins.io next step updates Jenkins.io which is the new update center system and the others if it work if it work long-term pkg.origin.jenkins.io virtual machine so that will be after the next steps that machine is using Blobix for every five minutes to synchronize the metadata of the update center so we'll need to use az copy instead any question? so immediately I can write blocks the update center evaluation we have asked the Jenkins security team for review but we need to migrate that update Jenkins.io to a new premium storage with that new token system so right now it's blocked by finishing the Blobix for az copy test okay for everyone finally we've already broken back an old issue we have a lot of jobs where we want to have two pipelines for a given project one pipeline is the project itself and the second pipeline is update CLI like we used to do on GitHub Actions and the goal is to have to separate jobs so we want to split them so if update CLI fails it doesn't block the main pipeline and it's also easier to use the graph viewer because otherwise you know Terraform jobs it breaks the graph view and that's really hard for us to use on day-to-day so by separating different jobs for the given project that solved that issue was making usage of GraphView hard for us Terraform Packer Occupant is written and Packer Jobs on Infra CI Long running task we have a lot of jobs to cover and we are missing automation so one or two jobs max per week and we do this on the long term WIP currently is on Azure and Packer Azure job has been created for update CLI so run every task and split the pipelines any question on this one ok perfect now new issues Stefan you can start with Kubernetes Yes I plan to start at least with the digital ocean upgrade as there is not really any risk we don't, we disabled it the both of them because we have two clusters one for the ACP which is public and one for the agents and both of them are not used so I will do the upgrades during that milestone and that's good because they are the first one to end this old version 1.26 2.4 1.4 digital ocean clusters has not used risk is zero and then I discovered that the version used for the client on the all-in-one agent was not correct so that was a double effect for the upgrade nice one on all-in-one image incorrect thanks to this nice and next candidate IWSCKS clusters yeah we'll let this one to cave in cool oh we have the azure production cluster azure you just click on the button and you wait for everything to be read and then you blame the network always blame the network no usually you blame the DNS or the regex yeah regex is also a good candidate to be blamed okay so we remove triage, I will add the recovery label later, do we have other triage issue? yes goulang we need to improve the way we manage it right now we track version of goulang but we track based on the latest available right here we are so stefan I let you continue explaining what this issue is about I need to remember we need to match the same version of goulang between the one in the one image and we use it so the shared tools the shared pipeline library and the shared tools so we cannot have the last one in one side and an old one on the other one so we need to provide the same one at the same time okay today it's all for me um otherwise otherwise we break shared tools and open vpn when upgrading oh we stop upgrading and that's fine yeah um for that one I don't mind to help I will let you drive since I see you have assigned yourself stefan maybe I didn't assign myself maybe you did no nope five days ago I was sick something don't lie as a reminder we already do that kind of trick for tracking the genkin's tool version of maven for the installer we have an update cli manifest with two sources the first source is get the version of the old one image we have in production today which is this one that's literally the production and from this you go to the packer image repository source for that specific tagged version which is in production and you list the tools version yaml file then with a request on the in that case maven version so in your case in the go long version you will be able to get what go long version is currently in production I think we have the same kind of update cli manifest for the version of agents within the g-cask definition for absolutely absolutely so that's the same pattern which means once we have a graded go long on the all in one image then all the project using go long and updating go long will then use that kind of trick to say oh I see a new version then let's try to update the go long dependencies based on what we have in production so the packer one is the truth absolutely so am I adding this on the next milestone I think I saw one last triage issue at the new private Kubernetes in the new spawns oh that one is for Stefan he already did the trick and Stefan you already wrote the issue for the new cluster for infra-ci yes I forgot I work sometimes what do you mean so let me add the reference here okay I've added it to the next milestone is that okay for you why not and finally we have one last triage issue I need to diagnose okay need to diagnose and we have added the new cluster I'm adding myself on the new cluster if it's okay for you Stefan no it's okay I'm ascending myself and I will fish you and say hey come work with me is that okay for you yes can I can I do the same with Kevin fish if it's okay yes I don't mind I'll work with you Stefan no worries there cool there is a problem with that indentation yep no worries it works I think that's all for the issues I don't see new issues let's remove trade from this one and add it to the milestone good is there new issues or thing you want to to discuss concerns or whatever I don't see any okay is there any question or topic you want to bring to that meeting do you have any question before we close thank you so then we'll see each other next week once the recording will be available I will publish them on YouTube and the one from the previous meeting as well and I hope you will and I wish you everyone a nice end of week take care bye bye


Can I say, 10 seconds. Okay, we're good. So, can I welcome Laszlo Pap, who is here to talk about, give us an ONS introduction and demo. Thank you so much, Laszlo. Thank you everyone for coming, and I'm very pleased to be here. So, I think this is the first time that Onof is talked about at Fauston. So, it's quite exciting and I would like to just give you some taster about ONOS and what ONOS is. Maybe a short ice breaker would be like, how many of you heard about ONOS before? That's very good. So, well, I still hope that I can provide some information and maybe you can ask questions so I can also learn from you. So, I'm actually an ONOS ambassador. It's not a big title or anything, but that just means that I'm keen on using this technology and I'm keen on advocating it to others as well. So, what I'm going to talk about is basically, I would just for those and also for those who know ONOS, but those who don't know what ONOS is, maybe just explain the architecture briefly and the use cases. Hopefully, we will have a very, very brief demo one minute and then maybe just a few words about the community and how you can join it if you like hacking and open source projects. So, ONOS comes from the background. Basically, it comes in terms of SDN. So, it's traditionally, the word was such that there were many devices in the networks. I mean, it's still there are many devices in the networks, and quite often, these are like closed platforms. They come with their own protocols. It's provided by the vendor and even the software that controls the functionality very often comes from the vendor. So, there is very little space for researchers or open source developers to actually customize these devices and these systems. So, they have to always comply with whatever the vendor is providing. So, that's the background where SDN is born. So, there is what we call data plane, which is there were a lot of talks about how to optimize that part of the stack, but there's also the control plane and ONOS is actually in that domain. So, ONOS is more concentrating on the control plane itself. So, yeah, it's just again just summarizing, there's the forwarding hardware functionality in the hardware. This is coming from the hardware vendors. Actually, I also work for hardware vendor companies. So, I'm coming from that side of the software stack, and then there is a network operating system, and then there are application on top of that platform, which all kinds of applications can be implemented. In a way, I would probably compare it to the Linux kernel itself. That's why it's also an operating system because in many ways, when you write drivers for these forwarding hardware, you actually write like a device driver in a bit different sense, but the philosophy is kind of like the same, and then the applications would compare to user space applications sitting on the top of the Linux kernel. So, this is a centralized platform, and the use case is really that in data centers, there are so many hardware devices and applications that need to be provided, that the variety and the matrix of these are so complex, and there was a need to have like a centralized platform to manage all this. So, in a data center, I just read two years ago in a big data centers, that for example, Google has, there are 70,000 virtual servers running. So, it's really huge scale. So, on us, on us is an open network operating system. So, it's, I've very much compared to the Linux kernel in the networking domain. So, it's completely open. It's meant for networking for this use case. It's written in Java, that's definitely different to the Linux kernel. So, it's a bit higher level language and very much object oriented and all these things. The license is Apache, it's open source, so it's available on GitHub, so you can clone it yourself to see it, there are quarterly releases. So, the last one happened actually just this month. The next one will happen in April, either before Brexit or after, I don't know. So, yeah, just the ecosystem briefly. So, this is very important. This slide is more just to show how much it is used and how many industrial collaborators are investing into this project. So, it's definitely not a toy project, not a personal repo from someone. So, it's actually backed by many big giants in the networking field, including Cisco, you see all these. I think even Intel, yeah, Intel is also there. So, many of these companies are behind this project. There is a very active board deciding according to service provider use cases. So, this is very much industry driven. So, briefly just about the architecture. So, this is roughly the architecture of Onos, which is basically an operating system for the networking field. So, there is a core, which I would compare to the Linux kernel. There you have the core, the actual kernel itself. Then there is what we call the SB core API, that's the south bound core API. I would very much compare this to the driver system in the Linux kernel. So, you can write device drivers for various devices. Even for one particular device, you can write multiple drivers for different protocols. Then there is what is called, sitting on top of the distributed core is the north bound core API. And then the apps, but I think I will just go through explaining each of them very briefly and why they are there. So, obviously the distributed core is where the abstraction is happening, high availability is happening, which is very important in network systems, and scalability, performance, distributed storage. So, all the kind of logical algorithm is happening inside that. So, that's basically the craft of the whole thing. So, the distributed core also makes sure that the scalability is good. So, like I said before in big data centers, there are so many network devices. So, it's very important that these are just pluggable into the network, and the operating on us is basically still up working. So, it doesn't matter how many more devices you connect to it, it will keep working. Or similarly, if you connect servers into the system host, then that is also like not a limitation in the most that you can scale up the network like that. So, this is just an example. In this case, we have various network devices at the bottom in the network. And at the top, we have multiple servers, multiple hosts, and they are all equal. So, those are there to provide high availability. So, in this case, if one host is running at fold, then another host will take over. So, it's not going to be a problem for the network at all. So, all the hosts are running the same code, the same release basically. So, they have their own internal protocol for communicating all this takeover. It's a consensus protocol. So, the next thing very important in the architecture is the northbound interface, because this is where the actual network services, network applications are written on top. So, yeah, it provides key abstractions. Probably I won't go very much into the details, but I think the main point for network operators and network architects is that they can write applications explaining what the application, the network service should do as opposed to how. So, it's a way in almost to what we call intents. So, it's really the network operator can express their intent as opposed to connect this device to this device, this device to this, no. You just say, these end devices connect them and don't want to work out what the intent, how the intent should be actually implemented. So, the next thing which I worked actually personally a lot with is the southbound core API. This is where the network drivers are written. But again, it's not network drivers in terms of the Linux kernel, but in some way they are very similar because there is a strong abstraction. So, you can plug in any device. It doesn't matter whether it's an optical device, whether it's an Ethernet device, whether it's running OpenFlow, whether it's running SNMP, NetConf. So, it's possible basically to plug in anything. And yeah, it's just a few examples of these. So, what I worked on personally is OpenFlow. In fact, that's how I started this whole Onos thing. In fact, even before Onos, I was working with Open Daylight. Because Onos got on the open source in 2014, I started it in 2013. And we started with OpenFlow and gradually we got more requests from customers to support NetConf on our devices or SNMP. P4 is a new upcoming way of programming devices, basically. And a couple of other examples, like even REST or RESTConf, these are very popular for network providers. So, these are what they are all implementing in different ways. Sometimes these protocols are not exactly implemented in the same way by Windows. This is what writing the driving in Onos means. So, then we come to the applications. So, this is probably the most interesting part of the stack for network operators because this is where various applications can be written. So, this is just one example where Onos, in the middle, it can function basically as a service in OpenStack. And I haven't mentioned this, but it's kind of given these days that Onos is also providing Docker containers and Docker images. So, actually, there are nightly builds. So, even the very new stuff can be experimented with and tried out. So, Onos is providing that. And in this way, an almost instance or set of Docker containers that Onos provide, they can be plugged into the OpenStack word and then it can function as a service. And this is practically how it's done in terms of architecture. So, yeah, Onos provides containers. It can be run in VMs. In fact, the demo that I will show that is also using VMs and Docker containers. So, this is not a problem. And then some more use cases, it's probably a bit too many to show. But I'm not trying to show this on a horizon basis, just to show that there are so many use cases out there that can be done with, that can be used for, that Onos can be used for. So, that's an interesting project. I forgot to mention that Onos is coming from the Open Network Foundation. And they're also working on a project called COARD. Where they are basically into all kinds of things. So, data centers, providing services for data centers, telecommunication offices. So, 5G projects and all kinds of data center projects. Because this is actually a developer conference. Just to show, because going short on time, but basically just to summarize, developing an Onos application is not any different to basically any other way of developing applications in other projects. You just clone the code. So, like I mentioned on the first slide, it's available on GitHub. You create your application or clone an existing one and adjust it. Write your code. It's written in Java at the back end and the front end is written in JavaScript. The build system is currently switched to Bazel, which is a new build system.  It's all based on OSGI. So some of you, if you are familiar with the Java word, it's very common to activate the activate applications drivers on the fly without affecting the running production instance. And obviously, you test it, you debug and you release it again. So, I will just show how Onos looks like when it is used. So, this is one of the northbound interfaces. It's a GUI. So, this is actually a network topology. And yeah, this is America. And this is how the GUI looks like. So, you can see here, like there are multiple hosts. So, they're all in charge of the whole network. So, if there's a failure in one, the other will take order. And this is just the GUI. We have a console-based interface as well. I personally use that the most, but it's just what I prefer. It's not really required. And we have a REST interface. So, Onos has a REST interface for interacting. So, many applications can be written using the REST interface. And then you have the usual swagger, which is the providing the REST API documentation. So, it's again, it's generic. And I will try to show the demo if it works. There should be a play button somewhere. It worked yesterday. It worked yesterday. Let's go out of full-screen mode. Yeah. Can you check? Maybe a button at the play button. Or maybe we can just go to the slide and play it from back. There we go. And then if we go back, is that playing? It's not playing still. Something is not right. I will not hit this mark. Okay. I might say just don't go full-screen. Just play it from... Yeah, okay. Yeah, that's what it was meant to be. Show us a video. Okay. So, that's it. So, this is the honest group that is being demonstrated. So, there are all kinds of views in the group. So, this is the intent view where you have your intents listed. They have IDs, type. And this is like a simple topology view. In this case, it's using optical switches because that's the background that I'm coming from. But it's not limited to optical technology at all. So, yeah. So, you can see there are several nodes. You can see their IDs. And, yeah, then a cable is plugged out there. Just not to read. Yeah. So, there are also flows in the systems. Obviously, everything that goes between the elements, those are flows, even for optical switches, actually. The abstraction of flows are preserved. Yeah. So, in this case, the idea was that if you remove the path, then the topology will recalculate everything. And it just shows that the consensus works and how the topology changes. Maybe it's a bit long. So, I will just go to the next slide. So, the community. Community, again, there is an ambassador programming on us. That's how I got into it as well. My SaaS, it's very accessible. The community is very open, very, very, like, very friendly. We use Garrett for code reviews. And this is just a map of the contributors all over the world. So, there's a lot in Europe, also in America, also in the East. And, yeah, just quickly, the takeaways. Honestly, it's production ready. That's the critique it used to get in the past. But now with actual real deployment, this can be proved that it's production ready. It has a distributed core. It's modular. So, if you write code in one area, if you don't affect the other code, it's high performance, scalable. It's easy to extend. It's easy to use from CLI, GUI, and REST. And, yeah, it simplifies the network. It's open source, and it has a great community. Thank you very much.


Hide any confidential information in any of your Excel sheets following these two ways. Right-click on the sheet you want to hide and in the menu that opens, select the Hide option. As you can see now, the sheet is not visible. If you want to see it again, go back and right-click and select Unhide and that's it. View my caffeine addiction with a cup of Joe, please. If you have a sheet you want no one else to see, then right-click but now click on View Code. Go to the visible section. Here click on the last option in the drop-down menu and select Sheet Berry Hidden. Nobody except you can see the information. To unhide the sheet, press Alt plus F11. Now a window is opened where you can find and select your hidden sheet. Go to the visible section. Now in the drop-down menu, select the visible option and that's it.


He's a pretty good doctor and he may be very comfortable and let me review all the procedure, what he's going to do. I'm happy so far, so good. All the staff over here, especially the nursing staff, are really nice. They took real good care while doing dressing or something. I don't feel the pain. I would recommend Manipal Hospital. That's the new hospital nobody would be knowing a lot about this place. But it is a really nice place to come, and especially Dr. Cabra is an excellent oncologist.


A smart contract is effectively a computer program which you can negotiate or facilitate or even execute a contract through the computer program, but it relies on the blockchain technology. So if you've heard of Bitcoin, Bitcoin actually created the blockchain technology. And so what Bitcoin has done is allowed the double spend situation to be taken care of. In the past, if you've had a digital asset, how do we know whether you haven't sent it to A and also sent it to B? And so what Bitcoin does is it creates what we call the blockchain. So when you've got the transactions, people sending money from each other, it grabs it all together. So about every 10 minutes, all those transactions are then put together. And then a computer has to go and solve a problem. And when it does that, it creates a block.  And they build up over time. And that becomes a ledger. And then people realise, well, if you could have information about who owns what, then other bits of information can be stored as well. And that's where you can start storing terms of the contract. The benefit of smart contracts, depending on what type of contract it is, is that you can have all these intermediaries that stand in the way. So for example, with international shipping of goods, you've got someone sending goods, someone receiving it, payments have to be made, often there's finance companies involved who are taking, clipping the tickets, it might be 4% to 8%. That's all gone. You can have the money being transferred immediately upon a set of events that you've agreed upon, the money will be transferred. Don't need to worry about anything whatsoever. So that is decreasing time and transaction costs and also the people involved in negotiating and facilitating those movements. Due to high transaction costs, a lot of what we own, we can't actually prove that we own. So houses are fine because they don't move. You've got the land transfer office and it will tell you. What's incidentally, all those titles, certificate of titles can actually go on the blockchain, but that's another story. Now, if you've got your bike or your car, there's actually no register to show who owns it. We do have a register, for example, for securities, the Personal Properties Securities Act, but that doesn't show who owns it, it just shows who's granted the security over it. With the smart contracts and the blockchain, you can now have a cheap way of actually saying, I own this smartphone, I own this bike, and that will just revolutionise all sorts of things. One of the big issues with smart contracts is, for very, very simple things, they're OK. If it's a yes or a no, has this arrived, yes, we'll pay the money. But there's a whole lot of other things which are not that simple. And in law, there's a lot of reasonable, what is reasonable in a computer contract can't do that. So the current way of thinking is, OK, we'll have some of the terms in computer code, but then not all of it will be, some of it will be manual. So this is people have to make judgement calls. So for quite a while, we're going to have the same contract dual system running. While our current contracts are inefficient, for example, if you're financing a car that someone else has got and they fail to make a payment, you've got to go and find them. And if you put it on the blockchain, well, instant. They miss a payment, bang, the lock is disabled. Well, it could be that they missed a payment for a reason. For example, there was a hiccup at the bank. Now, do we really want the car automatically being locked? What happens if it's a mother who can't then pick up her children or go to the hospital? And so in that situation, you might want to effectively break out of the contract and say, look, give someone a second chance. So it's not as simple as that. So in that situation, you'd probably have some of the terms that are automatic in the contract. And some of them know they'll have a human coming along and mediating between the two parties. Smart contracts are very much in their infancy. There's an awful lot of work that needs to be done. The computer code's not there. There's not the scale there. There's not the reliability. We still don't know what's going to happen in some situations. But they're coming. There's rapid advances. There's a lot of people in a lot of countries working on this. When any new technology comes along, a lot of people get there. They're excited about it and it will solve everything. Well, it may or it may not. It will do some things very well. But other ones, you won't want to put on the blockchain because there's no point. You can just have nor ordinary processes, especially at the moment when the costs are so high. Smart contracts are just one thing. So you've got smart contracts on the blockchain. But when it's combined with the internet of things, that's when sort of the magic starts. And what it's going to do is once we get the technology all sorted out, it's going to mean some things that we're currently doing will just, the costs and time taken will just be collapsed. But also it's going to create new opportunities that we haven't even dreamed about.