Can we take a second to just appreciate you? Yeah, you're amazing. Imagine. Oh my god. You look so good You should be feeling good to all our wash any quality So our super director come produce a Brenda Moraleo. I'm Eva Sikat She is wearing legs today and she looks amazing. So guys I encourage you to try something new and feel good about it, too My name is Valentine or to color me Valkyrie Puzana. We are doing viral videos I am standing in a for joy much houchie. So please are you ready to get your life on sir? Yes, and see cut is cut in lower by the way. Oh Sikat. Yeah, but that thing that you said is cut And yes, it's about that time that we love on breaking views And if you happen to interact with the video that you think will make people laugh or impress people Oh, go viral. Just send it to us on white for four channel on Twitter white for four underscore channel on Instagram and white for one Basically, don't forget today's screens Wednesday So our first group of stories presenting. Did you ever do share it with him? What more money check out of just guess what it was like.  Oh my friends are ballers My I don't know I'd really really really like to meet this guy and yeah get to know how he got to interact with this culture and loved it so much But yeah, it's about that time It's called andres andres and all right and rise is coming to you live from my in the morning from white fight for enjoy Paul Hey Can you Oh my guys are ballers. Oh my guys are ballers. Ooh. I said I like it like that. I said I like it like that. Oh my guys are ballers. Oh my guys are ballers. Ooh. All my friends are ballers. All my friends are ballers. What is wrong with this? On your face when you find out one of your friends is not a baller. No. We don't do that. All about black excellence. If one of your friends is not a baller, you build it. All my friends are ballers. That's all I know. You make all your friends ballers. Me like James. All my friends are already ballers. Anyway, this guy I think he needs help. And when I say help in the very most positive way, it needs help. It needs to be brought together. It needs to come show us some of their talent and let's pay. So where does the help come from? I don't know. We are helping as career. I said, oh, I am a singer. I have to go wrong. I don't know what to buy. I don't know what to buy. I don't know what to buy. Anyway, Anders, we appreciate you so much for appreciating the Kenyan culture and taking it white white. Val, I've been in a situation here. When I was in high school, the person who used to play the keys in church was just one of the people. He used to play the keys. Like keyboard. Like piano. Yeah. As we just had a drama. We used to play the guitar, the guitar, the piano. And by the way, the drama girl was always the star. All right. Music is all about the beat, by the way. Don't be ashamed. Be proud. Let's not forget the matter as well. This guy used to play keys. It was the same guy who used to get into the most trouble. So this guy. We had a vicar. He knew the vicar did not know anything about R&B music. So when we're in the middle of church to share and let's wake up and pray in Anglican school. He plays some Bruno Mars. I'll catch a good name for you. People know what he's doing. The students know what he's doing. But the teachers have no idea. I think this story, this next story, I relate so much because of this. You are just a band by a church. Give the Lord a great praise all over this house. Come on, give the Lord a praise. Put that music back on. I don't know who playing Bruno Mars, but it better not play it in here. I like the notes that she hit right now. Me, me, me. I like how the first thing came out to see. I think it's playing Bruno Mars, but he better not. Yeah, he's playing Bruno Mars in the first place. He listens to Bruno Mars low key. And then... I'll tell you, for example, he's playing in town. He's playing in town. And he says, bend over, bend over. He's playing in town. Yeah, he's playing in town. It's not that far. But how did they know Bruno Mars? In Adizina? Okay, but what do you think safe people do? They don't listen at all too. They should block it all out. But... Do you know what they have just told me? They're not only supporting the blocking, but we should only listen to really Paul Mesafi. Yeah. This is the cue to go into the next story right now.  I'm not talking about this man anyway. What is our next story? I see you. So, yes, our next story is right here with us. We have the C-E-T-C.  C-E-T-C. Chief, I see it now. If you're from Nyanze, you'll relate. But why is that flavor just in western? Because the way I like it, I like the spirit. The spirit that the brothers on western have. By the way, guys, so once told me, if you count, like when we're counting and we're doing mic check one, two, three, you count like a low, one million, three million dollars. Yeah, at least that a mic is clear. You know what money is. All right. C-E-T-E-C. Chief Executive Toilet Cleaner. Yeah. Our brothers from Nyanze. I see it up. Chief Executive Toilet Cleaner. I see it up. Corporate Democratic. Corporate Democratic. Corporate Democratic. Corporate Democratic. It is not just at its bare minimum, it is chief presenter at its... Chief executive at its bare minimum.  But sir, if you don't mind, I would like to speak with you. Please. Yes. I am too young to speak with you. Chief general. You are general already. Yes, general. Let me work on this. Kamlai. Kamlai. Yes. We'll have a name for her on to our next story now. And this one is about... This one is special to me as well. For folk's sake. We are not cursing. Like folk. Yes, folk. Do you know like there's a country somewhere that they don't serve you folk and knife. Like they serve you folk and spoon. Like they just don't leave. They're not violent. In fact, it's so deep that none of their swimming pools have a deep end for safety reasons. Like unless it's an Olympic size or particular, like you have a drain, all of them, like from end to end, it's shallow. There's no place for you to tell it. Like it's just... Can Chris Brown really survive in that country? Backstroke. He likes to backstroke. He likes to backstroke. Anyway, for folk's sake. This is what people work through. At no folk hotel. Yes. To make one. Ten more on this story. To make one. So, Kwanzaa. Hair, folk, knife. I hope this is not the boyfriend recording. I hope this is not the tip. Just to make sure your infancy restaurant is okay and nobody will think, but they will be full today. No, no, no, no. This is the most important part. Okay, okay. Today, she will be... Still can job, by the way. I hope she washed her hands. Wow. Now what happens when you have a knife and fork, you have a street dessert spoon, you have a soup spoon, you have a dish. Is it too salty? Yeah. Just eat with your hands, don't stress.   Who are you? I'm a shakura number one.  You have a bone, you have a bone. That's why you're a shakura number one. I'll have a glass.  Just in case.  You have a soup spoon.  But pay when it's cheap. I don't get the first about this knife and fork culture. Oh, the knife is on the left. the right. What if you're left handed? Tafukari Haio. Yeah, we show stories. So, to you guys, to to to to I feel like we're in the same place. I can't believe it. I'm so excited. This is the best time I've ever had. Wow! I can't believe it! I'm going crazy! Shout out to all the real friends! I'm serious, I'm deep, but I have a lot of instructions. This is my tip bag. I just want to put it in the way, please. You don't have to put it in the way it is. Shout out to all the real friends out there. Oh, god, they're friends. But, you know, sometimes not all your friends can be bothered, as I told you. This is what happens when you're called Frank, and people don't believe you when you're trying to be Frank. Sometimes people can get misunderstood. Yes, man. Check the story. I am mesmerized and perturbed by the need for cameras to always use hard words in the excuses. Why are you saying I'm being Frank? Can you make up your mind? Are you Frank or Wambua? I am a Franklin Wambua. I'm in Mungodraza and I'm by the way. It seems like you want to take an off to go and complete the house of the VP. Then you are saying Kimotelapi. Stupid. How do you know? I don't know. I don't know. I don't know. I don't know. I don't know. I don't know. I don't know. I don't know. Okay. I'd like to believe that we should be allowed to express ourselves. So if it comes in big words, I'm like, just allow. I'm Frank. I'm being Frank. Are you Frank? And why did the teacher have to be from Nyanza? Nyanza means big words to me. I'm perturbed and perplexed. Why do you have to use big words? Excuse me. This next story is about Mshangau. Alama is Mshangau. Kai. Kai. Kai. Kai. Kai. Kai. Check one of the stories. But guess what? She goes on with this show like nothing ever happened, man. Number two, this is the same girl. This girl had something going on in the morning. But this same girl at minute 256, all the way to minute 308, is struggling to put her wig back on. Now guys, her wig fell off when she was vigorously dancing to harmonize this verse. Well, to make the matters worse, the girl who's right behind her is bursting out in laughter. Now, please, can you picture all this happening in a video that has been released today? A video that has half a million views. Is this really serious? Because what surprises me is what was the editor really doing? Was he really doing his job? Didn't he notice all this?  Kai Nama. Kai Nama. Kai Nama. Kai Noka. First of all, please, have a lot of time. You know how fast the editor... And you pose. This one has to be taken back to the editor. So you can reduce the frame to a minute first. At first, her umbrella does not open at minute, so you see what. And then she continues on with the show. And then after a minute... She laughs at the other lady, but they wouldn't want any progress to her corner. Or back to the matter. Okay, I'll have a look at that video that says... But being an artist, by the way, I don't know how to say it on YouTube. There's nothing you can do. This is the perfect date to release this song. It's time for it to be released. That's suddenly... It should be on YouTube. You can have views for days. There's nothing you can do. And this is when you notice all these things. One million views later. But I feel like this is a plus for harmonize. It depends on how harmonize is going to take this. Because trust me, people are going to view this video even more. People are going to pay more views. Two million views. Two million views for days. So what kind of videos do you watch? Mistakes. Ziko? And then we'll check it closely. All of them that you have graced. And then we'll do a check. Ziko, Ziko, Ziko, Ziko. All right, so... We have friends from Ben Kamuri, to the rest of them. At a company meeting, I always answer, Ka'Bla. Meeting? I'm at Kali Steak. I'm at a meeting. I think we have a meeting. Meeting? What are you meeting? I know I sit about this band and check this story. So, by force, by fire. So actually, it ties into what we've been talking about today. Since Mosevenia metwambia, and Mosevenia metwambia, we should not follow western culture. Oh, I'm so sorry. I couldn't make it for the meeting. I'm busy. I'm going to come back here. And the meeting is scheduled. But you need this person. I'm not the only one who's in the team. I'm the only one who's in the team. So, I'm not alone. So, I'm coming back here. To have a meeting. To have a meeting. To have a meeting. To have a meeting. To have a meeting. We need more energy. Sustainable. To have a meeting. To have a meeting. Okay, sorry. Very well. Dede, dede, dede. So, talking about black magic.  Let's just call it magic. There's a software called black magic. There's an artist called black magic. No, where's he from? Nigeria. Hell! It's black as hell, though. Oh, God. Meena. Meshkarangi. I like it. Anyway, this is magic right here. Your company, at least, it is a generated energy. Magic Sengar, no. Well, I'm done. Let's check the story. But, at the end of the day, the company can generate energy. Nigeria is doing as a family name. Mm-hmm. I have a caption. If you're at home, and you want to pick a food, you're going to be shocked. Shhh! But is what from Nigeria on offer stopped? If you're watching us, and you're from Nigeria, or you are affiliated to Nigeria, please. Why now? We need a meeting. That is a cure to depression. Okay. Just care to over the life. You don't have purpose. Just go and see what someone else's purpose is. But I like the effects. They have been proved. Quite effects. You don't have any effects. It's easy. At least, when we improve, we act as in his face, actually look mad. His face, they don't have effects. And she actually looked like she had been thrown around a bit. But at least, when we're in Nigeria, we're going to do it. Mm-hmm. Anyway, we are living in the era of the drill of the new Super Magus. Mm-hmm. This is the new era of comedy. Check it out. First of all, I would like to take the time to thank His Excellency, the President. Thank you for just helping the meme community flourish. Yes. Hey! Thanks. Thanks, Masi. Yes, it has helped us with a lot of depression that is attacking the guy. There's a depression outbreak. I want to laugh, but it's serious. It really is serious. The President has helped. Memes for days. The President has helped. Memes for days. The President has helped. Memes for days. Just like today. We're sitting here having a conversation and we're talking about what's really gonna happen to you. We're just going to what's really going on. I thought it was crazy. Anyway... As we wrapped this up. They have taken a part where he's kind of standing and then there's a lady sitting Officer.  I just spend it on the food, but I don't want people to feel bad about it. Yeah, I want to eat it. Have a nice day. Have a nice day. I want to eat, I want to eat Saidi. I'm round. I want to eat it in human and belly. So Saidi is Saidi in low. Saidi, you say Saidi. Anyway, onto our last story now. And this is what you do when the secret is out. I want to hit, but I want to hear your part. I want to hear your part. I want to hear your part. I want to hear your part.  But we can never do this because of one experience. You know how Miki and Hohgeni, your mum plays commercial. Hohgeni knows it too, Miki. But when you're doing the dishes, you wash all of them.  So she was washing Barry. Imagine, Barry takes them. She washes them because we were washing them. You don't want to know what happened. Barry can never do this because of that one day. Anyway, you've come to the end of this. Wait, no. Can you imagine? Yes. You can't do this. You can't do this. You can't do this. Yes, you know. I love you, mum. I know you're washing. But she taught me. You owe me a name. Since you were in charge of two shows. Administrator, chief administrator of Bounce Nation. And why in the morning? But what happens if I want to expand? If you want to expand? Yes, I want a chair that will allow me to... The administration comes with expansion. Stacky. Stacky is all you must have, isn't it? Stacky. White people on Twitter. White people on Instagram and White people on Facebook. Don't forget the hashtag. Why in the morning? Don't forget the hashtag. Queens Wednesday. This is my favourite day. I go by the name of Bite Mosses. Or it's by Mone every social media platform. And I hope you notice our merchandise. They keep coming nowadays. We're just only imagining. We're also happy for coming through. And I hope you notice our merchandise. Yes, it's in the spirit of Queens Wednesday. Yes. But it's okay. The point remains. It's all about Queens. And I still want the chance to appreciate you. If you would let me, okay? At White 5 on Facebook. At White 5 on Twitter. Just send me a message. Thank you so much. And then post it. And if you like this project. If you don't like it, you can't do it now. But you do, you can celebrate. Okay? Please let me. Let me appreciate you. It's my joy. My name is Valentines. Yes. We're standing in for. Technically I'm the maker. So, he's the big customer. Alright, that is the spirit. But she's so lit. But she's show me. Oh that's. Anyway, I'm happy to announce on behalf of the I think the team will be back with tomorrow's Queensland. Brother, I have something to say about that. There is a sector where you can try to get a bad look, but I think that's it. Normal not to confuse my Gina up. I'll see you. Okay, guys, talk about it.


So what's up guys welcome to another episode of Basley quick one Happy new year I'm so excited to be Here today.  So guys, I'm going to show you some fingering exercises You can keep up with for the year. Okay, and this exercise is they were really really Your fingering your speed your tone your dexterity They will really help you to improve. Okay. I know since the holiday some of you have not been practicing You've not even picked the base and this is a good starts, you know starting the year with some fingerness exercises So that you will be able to flow all through remaining days of this year 2021 so get your base. Let's get started All right, guys, I'm going to be using the key e Okay This exercises, okay, so the first exercise I'm going to take it this way. This is what we're going to do. Okay, kind of open string You can see the consistent some open notes. That's my e That is what I have outside there my e So you go Let's take for instance, this is our one One, okay, so don't forget to be on key of C. So definitely if this is my one that I'm playing out there This will be my one six one flat seven seven one Okay, so what this does it helps your fingers to be independent and to have dream each and every one of them Okay, so this you're building this to have more strength. You're also building the middle finger to have more strength They bring finger to have more strength So you're coming from the G string Yeah, you have your six note.  Okay. That's how we're going. So you go Okay, so just keep going the second one you can go this way. It's just resting there I think you think I did if you think I'm playing roots flat seven root Seven root one Okay, look at the finger in here at the end of the you lead to so when you constantly practice this it's kind of Help your fingers to be independent. Okay, and to be flexible. So they are gaining Tone, they are also gaining accuracy. Let's play it with the metro line You can practice this if you are if you if you do music for time You can practice this all day if you if you walk her you can give these at least 40 to 60 minutes every day either Your back from work or when before you need for work. Okay, you can just try this. Okay, it helps It helps. Okay, so that's the number two number three. We are going to do this So don't forget everything that I'm showing you we are on the key of my starting note is So I'm playing six four Then you go the chromatic From three four flat five. Okay, so that's the first move So you're repeating it again On the D string then Then you're putting it again on the A string Then you're going So this comes first Before the Six four two flat two Three four flat five five three One flat six six then you go seven one flat two Then you go seven five Flat three because this is my and this is my just continues to repeat it pattern The first finger almost played all the notes before this comes in Okay Then for the chromatic but then responded Two three four, so that's it. Now the next move is you're running a major scale. You're going to run the a major scale So you go Then you move to the next key, okay Okay Just keep going chromatic up so that's it so at this time I want us to use the key C So that will help us To keep going to keep going so you go So you keep going you keep you just keep going okay, so let's play that with the Metrolum and see how it goes You You Keep going until you get to the last The same major scale is one two three four five six seven one, okay So you go one three five seven six four Then you use the middle finger On the next key, then you keep going so this is it So guys the last exercise I want to show you this look and sound like the spider is a size The normal spice exercise will be practicing the number one is That's it that's the number one so this one you're using just three fingers the index ring finger and the pinky So the reason for this exercise is to strengthen more of the pinky finger and the ring finger, okay, so You The only finger that is not doing anything is the middle finger, okay Okay, and look at the peak You So that's what we did metrolum You So guys, these are the finger exercises. I'm gonna show you You need to spend time practicing them, okay We got practice you cannot achieve some certain things some sudden move on the bass guitar So you just have to stick with practice stick with fingering exercises. They have a lot, you know There's some kind of approach you see some professional this player do that's because They practice they practice fingering exercises, okay, and through those finger exercises That has helped them to achieve some sudden move on the bass guitar Hope you enjoyed hope this is helpful And if you're new to this channel do not forget to hit that subscribe button looking at you right there You can afford to miss new videos. I upload every week. Okay. Hit that subscribe button I'm on the notification bell so that you will be notified Whenever I upload new videos, okay, and for private lessons some of you have been telling me this year You're going to enroll for the private lesson. It's open now. So come in for registration Every information is in the description below or right there on the screen looking at you. Okay, it's gonna be a live zoom section Yeah, we got to see each other one-on-one. You send me an email check me by whatsapp indicating you want to join the private lesson And also to my patreon fan. I want to say big. Thank you to you guys Thank you for your support. Okay, and if you also want to become a patron fan every information Is in the description below or right there on the screen. We cannot see you. Okay, and there are other mazes and also supports by PayPal, okay, and Thank you guys. I will see you in my next video. Peace out. Bye


Rivers provide a major pathway for ocean plastic waste, but effective mitigation is dependent on a quantification of active sources. Here, the authors present a global model of riverine plastic inputs, an estimate annual plastic waste of almost 2.5 million tons, with 86% sourced from Asia. This article was authored by Laurent C. M. Lebriton, Juiced Van Der Zwet, Jan Willem Damstijk, and others.


today. I want to talk about how containers ended up at Netflix. This is a question that we get really often. How do TITUS containers work? How does our containerization platform differ from others? What are some interesting things that we've learned while building TITUS, and what are some open problems? This is really a high-level overview talk about the Netflix containerization platform, and we kind of want to talk about it openly a little bit more and see what tech exchange we can do with other people in the industry that are facing the same problems that we are. A little bit of a background on TITUS. Development on it began in 2015, so relatively recently, and we open-sourced most of the platform in April 2018, if this year, and it's not a total container platform. We leverage off-the-shelf components like Docker and Mezos for what they're best at being that. But even though it's relatively young and a relatively small platform, we ran on the order of 100,000 or 300,000 containers a day for batch to completion, and we run a few tens of thousands of containers a day to termination, services containers. But to go back to the earlier question, how do containers actually get to Netflix? Why do we have these containers? To answer that question, we have to talk a little bit about Netflix engineering. Netflix engineering is different in the sense that there's no top-down edicts. Nobody tells you where to run your workloads or how to run your workloads, and our engineering teams are really small. I think we have about 1,500 engineers today. Three years ago, we had less than 700 engineers. And every engineer at Netflix is responsible for their software, the operations that software and the computers that software runs on. And what that actually means is that, like most companies, every engineer has a local test and dev environment, and they're responsible for testing. But they're responsible for testing way more than a traditional engineer would be responsible for testing because they own the entire AMI, they own the entire image and the machines it runs on. So when they rebake those images, they have to vet the new kernel that goes into those images, potentially a new operating system that goes into those images, potentially being on new SKUs, et cetera. And this means that they have to understand their system end-to-end because they're also responsible for setting up monitoring on those systems, capacity planning for those systems. And if any of this goes wrong, they're on call for that. They're responsible for patching their OS and they're responsible for deploying new machines. So how have we possibly made this tenable? How are engineers at Netflix getting anything done? And a big part of this is by shedding responsibility using the cloud. And EC2 was the first iteration of this. EC2 was a way to give Amazon the undifferentiated heavy lifting because we don't like to build things that are commodity or effectively commodity in the industry. And the second iteration of this is really giving developers the best tool to choose for the job. And this means whether they're deploying machines and they use EC2 or they're using something like cloud functions or a variety of other cloud services that are offered out there. We don't tell them what to do as an infrastructure team. The only kind of guidance we give them is that software has to run on autopilot. Software can't involve the software engineer giving care and feeding to their software. People have to be able to take vacation. People have to have their teams be able to turn down when they're done and not constantly feed the machine like blood, sweat and tears in order to keep their systems up. And that means the workload has to automatically capacity plan. It has to automatically heal from failure. And there's a certain level of magic around this because we have so many tools that have been built up over the past 10 years. But this is great for standard workloads. This is great for standard workloads like services where you have a massive set of homogenous services or like the JVM where it abstracts all this out for you. But ad hoc batch kind of became a challenge a couple of years ago. And this is where Titus containers came in. In a couple of years ago what happened that really caused this ad hoc batch thing to become interesting is the soul machine learning grace. We had a lot of people that were coming to us that have like grad student code or random code that they pulled off the internet and they copied and pasted from like some TensorFlow tutorial.  And it's using brand new libraries and I want to figure out how to get that into like the CentOS 6 image or the Ubuntu 14.04 image. And it was just untenable because getting these native dependencies in and getting it working became an entire ordeal. So this is kind of what Titus unlocked. Titus unlocked these users to be able to run experimentation on the order of thousands of cores initially. And it made it so that they could go ahead and build Docker containers or OCI images and do this in tens of seconds versus going through an entire OS build process which took tens of minutes and potentially hours to deploy those new machines after going through the entire build process. We wanted to enable these people to do fast iteration and fast testing as opposed to having to run on top of a traditional hardware platform. The other thing that it did and this was kind of ancillary thing was that it allowed them to choose arbitrary resource dimensions and not have to deal with capacity planning. And this was part of this was a efficiency play. But the bigger part of this was automatically figuring out what resources they need and pulling in nodes from EC2 in automatically auto scaling or EC2 clusters in order to get those nodes. But how do Titus containers work? What do we do a little bit differently? First to jump into our orchestration model. We only have two long running components on the system. And they're soft state components. This is Mesos agent. It's used for state tracking of what containers are running on the system. It's kind of the source of truth of what the system is supposed to be doing. And Docker, which is really there just to orchestrate container D and to act as an interface. We have a bunch of other tools around Docker that are used by our developers for troubleshooting what's going on in the system in understanding the state of the system. And then underneath Mesos for those just order of hands, how many of you are familiar with Mesos? Okay, a handful of you. All right, cool. So Mesos is a really lightweight thing. It doesn't really do anything other than say, like, go run this process under some isolation or no isolation in our case largely. And this process, in our case, is the Titus executor. And it's responsible for actually getting that workload running. And we run one of these Titus executors per workload that we run per container that we run. And the only containment that we do is PIDS C group in order to make sure that we're able to reap everything under that C group. And children of that C group when that workload dies. Once this Titus executor goes ahead and starts, it hands off and tells Docker to go ahead and wire up a container file system. It says, start the run C and start the PID 1 of that container. And we own that PID 1 using the run C or the O C I D ability to inject your own PID 1 into a container. And this PID 1 goes ahead, connects back to the Titus executor over a Unix domain socket that we injected into the container or we bind-mounted into the container. And this is how we're able to do things like provide EC2 integration and launch a metadata proxy on behalf of the container. We're able to launch special EC2 networking extensions on behalf of the container, set up NFS mounts on behalf of the container. And it also lets us do our Netflix integration bits, like have our MTLS solution that drops certificates into the container file system and starts metric collection for the container. But once this happens, we have no control over the user workload. And we let the user do whatever they want in their container. And this is a big deal to us because we want to enable every workload wherever it comes from, whether it comes from Docker Hub and some random image someone has downloaded or something a grad student has put together or something that's gone through a traditional workflow system and been built as a production homogenous image. But we do provide a couple of PAZE services, platform services, and one of those services is logging. And that's because everybody needs logging. It's one of the few things that Titus does as a service. And it comes in two parts. The first part of this is file log rotation. And the way that we do file log rotation is super similar to your traditional file log rotation mechanisms, where if you have an application that has a log file that's based on time or window or something like that, like January.log, it'll keep writing to that until it's a certain window where it'll switch over to February.log. Once this is done writing, we go ahead and we say that this file hasn't been written to for one day or some such based on some rule system. We go ahead and we move that file and upload it to S3. Once this is done, that image may go ahead and create some new files. And at that point, we'll go ahead and delete the old files. And this is, again, based on some heuristics, like how long has that file gone unwritten to, how full is the disk image, so on and so forth. But where this becomes more interesting is how we have to deal with standard IO file log rotation. And our initial approach is just using Docker logs. I think someone actually talked about this earlier, the fluent bit fellow. And Docker has the super nice logging API where you can go ahead and get standard IO from the container and figure out what's coming out of your container. And it goes ahead and compresses this on disk and rotates it and so on. But we found some issues in this. And we found that a bunch of our dockeries were pinned to 100% CPU and this is bad. And what we found, the underlying issue was a bunch of bad actors. And these bad actors were generating on the order of like 10 megabytes or 100 megabytes a second worth of log lines. And the fact that Docker was running a little go process, they had to read through every one of these lines and compress it was untenable for us. And we didn't really have a good isolation mechanism without putting Docker into yet another C group and dealing with all the problems within Docker. So that PID 1, one of the few things that it does, is it intercepts the standard IO file descriptors and it sends those over to files that are opened up in OAPend. And we have a little bit of metadata associated with those. We have some X adders on the file system that say for this given offset, we've recognized that it was written to at this given time to give us like a virtual file offset mapping similar to what you get in traditionally log rotated systems or traditional systems where the application is able to change which file it's writing to at a given point in time. And we have abstractions that people interact with these two special files via the log uploader understands this special metadata format, this extended attribute format and our log viewer service understand the special extended attribute format to go ahead and map these into API where people can fetch these via their virtual names that say, let me fetch the January log or the hour one log file. But eventually we need to reclaim these. And what we do is we upload them like we would with traditional file rotation. And we use F allocate to punch holes in these. In this way, we don't need to have the application work with us in order to move those file descriptors around or to say reopen these file descriptors that you're using for standard IO. And this is kind of a hack. And we're not super happy with it. And we eventually want to move to something like collapse range. But unfortunately, it doesn't work super well because collapse range requires aligned collapsing to the block alignment, whereas people have been used to having time-based alignment or having something new line-based alignment. The last kind of interesting thing that the actual containerizer that we have does is networking. And our networking kind of started backwards. It started with some set of goals versus kind of trying to build a solution that would solve arbitrary problems. And those goals were given to us because it had to work with the rest of our EC2 environment, with the rest of our VM environment. And that meant that we had to have like VPC network security. How many of you are familiar with what a VPC is? A couple of you. A high level overview of a VPC, it's kind of like a micro segmentation as a service in the cloud, where you're able to say, I have a bunch of VMs, EC2 VMs, and they belong to a set of security groups. And then you can have firewall rules on these security groups.  Because we worked really closely with Amazon to build the VPC product. So we wanted to be able to leverage that and not have to reinvent the wheel. So with that, we had that as a requirement, and we had the ability to also leverage VPC routable IPs. So everything within our VPCs has to be routable, primarily to ensure that we can lift and shift applications from EC2 onto the container platform without having to rewrite them to understand things like port bindings or having to understand sharing of IPs or anything like that, or go through NATs. And we had a kind of a secondary set of goals, which were to prevent the interference of mice and elephants.  And both are equally important in the eyes of the service owner. And we needed to make sure that both were reliable. And then the latter one was to make sure that we could modify these security groups and move around these IPs without having to have a human or a system administrator come into the picture. And the tool that AWS gave us was the ENI, the Elastic Network Interface. And the Elastic Network Interface is basically just a traditional Ethernet interface from the perspective of the VM, the OS. And you get somewhere between two and 15 per machine. We dedicate one of these to the control plane for the Mesos agent or for the Docker daemon to be able to connect back to the Titus controller, but the rest of them are used for our containers. And these are really rudimentary interfaces. All they give us is security control. Because we can go ahead and bound some set of security groups to these interfaces and say that traffic from these interfaces is classified with these security groups and filtered based on these security groups. And they're not performance isolating either. They're just raw interfaces. And we can multiplex these because we can attach secondary IPs to these in AWS and under the hood will route the secondary IPs to us. But there's a really high cost to reconfiguring this. And there's a really high cost to reconfiguring the security groups on these as well. So if we use off the shelf networking like a lot of these container daemons are using, we have something like this where you have a bunch of these containers talking to a bridge that goes through NAT that goes through one network interface. And this doesn't work super well because you have no public IPs and you have to pay the overhead of NAT. And then all containers have to share the same security group. So it causes a massive bin packing problem in the sense that you can only run one type of workload on a given machine. And so it doesn't solve the QoS problem. So if we continue to evolve this and we say each container gets an ENI and we configure that ENI based on the security groups for the container and we give one IP per ENI, it solves the security group problem. But it comes at the cost of again not having QoS. And we can only pack about six containers to 10 containers per machine before things get wonky because based on the number of interfaces we have, we have to pay the nappy polling cost across each interface. And it's just super expensive where, you know, if we multiplex these we can have something 50 to 60 containers per machine. And if we continue to evolve this, we can use IPvlan, which Google added a couple years ago to the kernel to go ahead and multiplex these ENIs and take those secondary IPs and assign them to subcontainers as long as they're sharing the same security group. But we still don't have QoS. And the reason why we don't have QoS is because each ENI is rendered as a different entity from the perspective of QoS in the kernel. So we need to tie all of these ENIs together. And the way that we do that is using ifbies, using intermediate functional blocks. And we're basically just using married actions where we steal network packets from the ENIs on egress and on ingress and shove that into an intermediate functional block. And then we use BPF to go ahead and classify the traffic depending on whether it's high priority traffic, low-priority traffic, what container it's coming to and from. And then these go into HTV classes that are configured via the Titus executor to say that each one of these has, you know, 10% of the bandwidth of the network interface or 30% of the bandwidth of the network interface. And since we have such a high level abstraction from the network and we can't actually have any real sense feedback to the network other than drop and delay, one of the things that we instituted recently about six months ago was ECN, explicit congestion notification. And that's at least a way for us to start giving notifications to the network to say back off before we have to start dropping and delaying. And it's allowing us to run interactive applications next to batch-style applications. The other trick for doing mice versus elephants has been FQ-codal to give a stochastic fair queuing between different flows and between different containers to avoid them clashing and creating a queue storm. But all this comes at a very high overhead. And we've been kind of looking at a solution that will give us all of these same benefits, but without forcing everything through a single set of queues and a single interface. And if we measure the overhead of this, we're paying on the order of like 10% overhead in terms of CPU cost. And it's even higher than that in throughput. But again, this is worth it to us in the fact that we're able to get higher capacity from our machines in density, but at a slight cost of total efficiency. And the last part of TITUS that's really interesting is the intelligent scheduler. And that's not part of the TITUS executor. That's what the control plane is. And I'm just going to touch on this really at a high level. From our scheduler today, we have two tiers of scheduling. And the two tiers of scheduling are critical tier and flex tier. Our critical tier has a launch time SLO. And that launch time SLO is to be able to launch 10,000 containers in five minutes within a given region. And it's typically used for customer facing traffic. If you use an iPhone or an Android device or PlayStation or an Xbox, you're going through these. And then we have our flex tier. And the flex tier is what you get spotted into by default. And we don't have an SLO on that you can get queued for an unbounded amount of time. But if you look at the P95 realistically, you get a schedule in about a minute or so. It's typically used for internal services or batch. And the reason why we don't have an SLO on that is because we might have to auto scale and get more instances from EC2. And if EC2 doesn't have instances at that point in time, we have to wait for them to actually give us nodes. And today these are two separate pools of VMs. Eventually we want to combine these. But as Facebook has talked about earlier, like running multiple workloads that are diverse on the same machine is hard. But to actually get to the reason why we have that SLO is because of these things called congs. And congs are what we call our multi-region failovers. And the way that we handle these is that the savior region basically has to scale up to support all of the traffic that the victim region has. And if we look at this from a traffic pattern perspective, we move over one region to an entire other region wholesale. So it has to basically double in capacity at that point in time if it's in trough. So the way that we handle that is having two scheduling modes. Where normal scheduling spreads workloads across machines. And this is in order to pre-warm our runtime. And pre-warm our runtime by getting images onto those machines, find out, getting those security groups configured, getting that networking warmed up. And then at cong time we switch over to a different scheduling mode. And that scheduling mode is to try to make sure as many workloads of the same machine or the same type are on the same machine. And the reason to do this is to reduce the app launch time at the slight cost of reliability. And eventually we'll go back into non-cong mode and we'll go back to normal scheduling and we'll go back to the traditional region we were in and at this point it all does itself. And our container scheduler has insight into our containers and knows when they've started up and knows when they're ready to serve traffic. So it won't keep trying to start workloads on the same machine or start a batch of workloads on the same machine until that first workload comes up in order to optimize from the perspective of queuing theory. Until all of the machines are full or the workloads are totally scheduled. A couple of challenges that we've run into. The biggest challenge that we've run into over the past two years I would say is zombies and reconciliation with a variety of these tools. And this is really what happens when something breaks. When one of these intermediate components breaks.  And those things like the kubelet might be supervised. But it doesn't really address if we have intermediate component failure. Something like the run C fails or the Titus executor fails. Or even a soft state component like the mesos agent. Because when this happens we get a zombie state where one of these containers now leaks. And in order to deal with this what we've had to do is have a reconciler. And that reconciler goes ahead and pulls all of the components on the machine and compares your state and tries to take remedial action. And then remedial action is basically just to blow things away. Just to shoot containers in the head until you're in a good state. And this is super risky. Because we can blow away our entire environment. And we don't want to do this. So we see this as an anti-pattern. And we see this as an anti-pattern that we can kind of solve using things like POSIX advisory locks. And using solve-freeping systems like PED namespaces and isolating things via seed groups and using those to prevent arbitrary leakage. But unfortunately we've seen a bunch of people in the container industry use things like CSI and CNI that kind of don't work super well with this. And they kind of remind me of the system five days where you had a startup script and a shutdown script. And if you didn't call it a shutdown script, things would get into a wonky situation. Another big challenge we've seen is CPU isolation. And CPU isolation or CPU interference kind of unlocks a can of worms. And it unlocks a can of worms because not only do you have the issue where not all workloads are affected equally, it also opens up philosophical questions. Like, now that we have control over our machines because we're taking over our entire machines and able to control scheduling, what about things like Intel Turbo? Where EC2 had kind of chosen the most conservative rules for us in order to give all of our workloads the most reasonable speed in their mind. But where we can say, this workload is more important, we can give more resources to this workload. How do workloads signal up to kernel space that they should be more important than other workloads? And it turns out that the Linux APIs have existed for this for some time, they just haven't really evolved the processors evolving. And we have some indicators of what's going on with this, like cycle sprint instruction or cache hit rate. But these are only proxies and they're kind of ruined depending on what's going on. And we can actually see this. Like, this is an example of the kind of latency numbers that we get when we're seeing interference on production. And when we compare containers and container CPU utilization against VM CPU utilization, like these are real clusters, you see way better grouping on VMs and containers aren't really there yet. And we've had a couple ideas here, like relocating outliers or doing what EC2 does and limiting everyone to the same speed and then requiring what the capacity plan based on that. We're figuring out some way to tell the CPU to isolate these workloads in an intelligent way, but we really don't have answers here. And, you know, we're thinking of kind of giving up here and saying to the user, this is not how you should think about your system. And instead, you should think about your system as like instructions per second or cycles per second that you're getting scheduled. And the last problem that we've had is syscall performance. And this is kind of due to the current mechanisms of filtering syscalls. And like BPF is awesome, but BPF still comes at a non-zero overhead. And when people compare it against the VMs, they're still asking us why this exists. And again, I don't have an answer here, but it's something that we kind of have to come up with a better solution for. So in closing, containers at Netflix, where are we? We've been pretty successful in batch. Pretty much every batch workload is targeting Titus and containers as their primary way of running things. We've been pretty successful in modern microservices things like Node.js, things like Ruby can target Titus as a first class. But we've been having a traditional, we've been having a difficult time in enabling traditional microservices, things that rely on very, very strong guarantees from the underlying system, things that have no hedging, things like that. But we don't really have a story around high performance services or security oriented workloads without impeding performance. So our priorities today are to figure out how to make Titus a first class deployable platform for every workload at Netflix. And part of this ensures that every part of our platform works correctly in containers, which we still found situations where things don't work as expected. And instead of trying to become equal with EC2, instead of trying to become equal with our VM environment, we're trying to figure out where we can exceed it if possible. And eventually, our target is to find out how we can extract hidden efficiencies as our third target and our third priority. Thank you. Any questions? We have time? No, this was basically for filtering. Oh, sorry. The question was, is the syscall graph for the EBPF syscalls or all syscalls? This was, this is basically, we took a benchmark of how long syscall times took in a benchmark application and using various filtering mechanisms on it in our environment. And these were the over, this was the runtime speed of the application as a whole, compared to some other mechanisms we've tried. No more questions, I think, we're out of time, but I'll be out on the hallway to talk later. Thank you.


Imagine you've just parsed an Android phone with a leap, and you're looking through the report, but you don't really see the artifacts that you expect to find. So for example, on this phone, I would expect a Gmail account to be available. But none of these options show the Gmail account. What can I do? Well, the good news is a leap is really easy to develop a module for if you know a little bit of Python. So what we're going to do today is show you how to make an artifact in a leap. The first thing you need to do is actually download a leap from the GitHub repository. I just have the folder cloned and all of the code here. Now once I have that, I open up that directory inside Microsoft code. Visual Studio code is what I use for a coding. And you can see a couple of different things here. The first is in the a leap folder, we have a leap dot pi. And this is the utility that we run normally. And we have a leap gooey dot pi. So if I click on those, you can see a lot of different code. But most people don't need to worry about a leap dot pi or a leap gooey dot pi. Most people who are developing a module will never even look at that code. Okay, what we care about is in the scripts folder. So there's a folder called scripts, expand that and then there's basically two files we're interested in one file that we actually have to create ourselves and then one file that we have to modify a little bit. But before we get into that, let's identify some information that we want to be presented in the a leap report. So the file that I'm interested in today, I found during the celebrite CTF, and it is in the com Google Android GM shared prefs Gmail XML file. Okay, so if we look inside that file, it's just a simple XML file. And what I'm really interested in is this active account string, right? So we have a string name equals active account, and then we have a Gmail address that's that I'm looking at. So I want a leap to be able to pull out that active account, and show me that Gmail address just from the reports page. Okay, but right now it doesn't. Now, we're kind of lucky because this is just a straight XML file. So we don't have to parse any databases, very often we're parsing SQL like databases whenever we're dealing with Android, but this I can just pull it out directly out of the XML file. There is some other information that could be interesting in here, but I'm going to save that for later and just try to get the active account pulled out for this particular module. So I'm going to call my module Gmail or Gmail active account or active Gmail. Okay, so now I have an idea of what I need to pull out. It's the active Gmail account. And I know what I want to call it just Gmail analysis, because there is no other Gmail analysis in here. So let's go to first ilap underscore artifacts dot pi. Now what this file is, is the list of all of the artifacts that a leap will recognize, or you need to point this file at your particular code. And it has a very specific structure that you have to follow. I've already added my code. And basically, we just enter an alphabetical order, we are adding code to scripts dot artifacts folder. So we are in the scripts, artifacts folder. And I'm going to add a new Python script called Gmail, because it's for Gmail analysis. Now, I'm importing a function called get underscore Gmail active. Okay, so get underscore Gmail active. Basically, what you can do is once you know what you want to name your artifact, you can just copy one of these lines and then change the file that you're pointing to and the function that you're calling. And we'll talk more about what those mean in a second. Once you have that inserted, you can scroll down. And again, looking at this in alphabetical order, I've added my Gmail active entry, and then given it a common name. And this is what will show up in the categories, I'll show you in a second. And then the final thing that we add is the file that I want to analyze. So basically a leap will go through all of the files in Android. And if it finds a file that matches the string that I'm looking for, then it will send that file to our script so we can process it. So all of that is defined inside the ilap underscore artifacts dot pi file. So you need to add two entries in the ilap underscore artifacts file. One is the name and artifact or file that we're interested in analyzing. And then the second is the function to call whenever those files are found. The next thing is whatever I've added here. So I called my file, for example, Gmail. So in the scripts to artifacts folder, I need to create a new file called Gmail. So I already have it created here, but I have an empty file. So now we can actually get started in writing our module, we've already told a leap that our module exists and which file it can be found in. So then now we just have to actually start writing our module. Now I'm going to add one thing that I don't usually see other authors do. And that is add a header to your module.  But as more people write these modules, we're going to want to add headers that way we can keep track of things. So I'm going to create a header. And I'm just going to give a description of what this module does, who to contact if there's a problem with it, the date that it was written, the version number of this individual module, and then any special requirements. And what I mean by special requirements are really third party tools or libraries that are not built into Python. So if they're in the Python standard library, doesn't require special requirements. Now once we have our header setup, and like I said, it's non standard, add the information that you think is useful. The next thing we need to do is is import Python libraries that are necessary to, to run your program. Now I'm going to need two things. The first is just this report header. So basically from scripts dot artifact underscore report, that is a script that is built into a leap that handles all of the reporting. So we want to import artifact HTML report, that way we can output our report to an HTML file.  So these two scripts artifacts report and scripts I lab functions are part of a leap reporting. So you want to include those in your script. Now the one at the top, this import XML E tree elementary as ET, this is what I need for my script, a leap doesn't care about that. But I know that I'm going to be parsing out XML. So I want to use the XML library to be able to parse that out. So I'm going to import those libraries. So once we have that, we have another default class that's created for a leap. And basically just copy this directly over from one of these other artifacts. This is a class keyboard event. And basically that just keeps track of the keyboard as the module is running. And then we finally get into our main function that we defined previously. And that is the def get underscore Gmail active. Now remember, this is exactly the same as I lab artifacts, and then get underscore Gmail active, they have to be exactly the same. That way the program knows which function to call whenever the file that we're interested in is found, we have a couple of different things, we have to give it four different things. First is the files found. And that's all of the files that elite found that match our string that we're looking for the report folder, that's where we want to save files into and then see her and wrap texts. I actually don't know what those do, but we don't need them for now unless you're trying to do something advanced. So don't worry about the last two, just make sure you keep them. Otherwise, you'll have an error in your code. I just want to do a test to make sure that my module actually works. So instead of using print, I can't just print. Otherwise, I won't see the print happening. What I can do is the log function log funk, and that will basically output to the a leap log, anything that I put in here. So basically, copy the log funk in here. If you can read this, your module is working. And then I also print the files found what we want to do before we get too far. I want to actually run this. So I'm going to run the a leap GUI version. And the first thing that we should see is if I deselect all, I should be able to scroll down. And if everything looks good so far, then I should have my module available inside this list. So we can see Gmail active. Gmail active is listed properly, which means that a leap detected my module. Now, does my module have any errors? I don't know yet, but at least a leap knows about it. So I'm going to go ahead and select the folder that I want to save the report into. I'm going to select the data that I'm going to be processing. And since I've only selected my module, that should be the only thing that runs. So let's go ahead and process. And we can see that there was an error. But we did actually run. So if you can read this, the module is working, that means that that first text did actually run. And then we're basically printing out the files that were found. And then we had an error after that. Okay, so at least we know that we got to that point. So everything looks okay so far. So once I have that, then I can go ahead and remove those log functions. Just keep them for testing. But now that I know that that's working, that is fine. So the next thing I'm going to do is actually add our processing code. So first we just have the libraries that we need to do this module. We tested to make sure that our module is detected by a leap and that we can actually output to the log function. The next thing I'm going to do is we have my processing script. Okay, so we have a variable that's created called active account. That's the Gmail address that I want to pull out. We have the file found and file found is coming from files found. And I want to take basically the first file that I find, I'm going to use that file for my analysis. That file is in XML. So we can go back and look at our original file here, we just have an XML file. And I want to parse that out where I'm looking for, for example, string name equals active account, and then pull out that Gmail address. So that's actually the contents that I'm looking for. So I'm going to use XML tree equals ET, that's from our imported library. And then we are doing ET parse file found. So whatever file a leap is sending to us, I'm going to parse that as an XML file, and then save everything in XML tree, then XML tree, I'm going to get the root, the XML root of that, which basically just means all elements from that file, and then save that into the root variable. And then for child, so all of the child elements inside the XML root, get the child's attribute of name, if that name equals active account output that active account to the log set active account variable to child dot text. So basically what I'm doing is parsing all of this as XML finding active account. And if it equals active account, I'm getting the Gmail address, and then I'm just saving that Gmail address text to a variable. That's all it is for parsing out my data. This isn't a complicated data structure. It's very simple data structure. But that's it. Now I have the very the data saved in the variable. All I have to do is create my report. So I have my variable set with my child text in it, if active account is not equal to empty. So here it was empty. So if we actually have set it to something, then that means we have found the active Gmail account. Okay, good. If we found it, then create the report. If we didn't find it, then just output that no active Gmail address was found. If it's found, then we go ahead and start making the report. And most of this reporting is just straight from the other artifacts that were created. Go ahead and take a look at them and see if you see anything that's useful for you. So here we have report equals artifact HTML report. Remember, that's coming from a library that we are importing above. And I'm calling it Gmail active. Then we have report start artifact report in the report folder. So the location that we're saving all of the reports for this phone basically just create another Gmail active folder in there. And then we have ad script. And here's where we actually start creating our data headers. And this is the header for the table that's going to be shown in the HTML file. So here we have data headers. And I only have one header because I only have one Gmail address. So I have this active Gmail address, you can name it whatever you want as long as it makes sense for that column. Then we have our data list, which is an empty list. And I'm appending the active account to that list. So basically I'm adding the Gmail address to a list that is going to be creating a table. It's a little bit complicated, but if you're dealing with lots of different data inside a table, this really makes sense. And then we're just writing the artifact table out with the data headers, the data list, and then the file that was found, we have the end artifact report. And that's all it is for creating the HTML report. Now if you don't create the HTML report, you can still output, for example, to a TSV your module will still run. Now the next thing is this TSV name equals Gmail active. And this is creating a tab separated value file along with the HTML report. And then we have TSV report folder data headers, data list, TSV name. So basically two reports are always generated whenever a leap is ran, the HTML report as well as a tab separated value report. It's basically split into three parts. First is just getting ready and importing all the requirements. Second is actually parsing out the information from the files that you're given, get the file from a leap, parse out the information. Once we have the data that we need, we just output that to a simple report. And this type of reporting is pretty much always the same for all of the artifacts. It'll just change, for example, your data headers and the data that you actually show in the in the table. So let's go ahead and save that. Now I'm going to run my module again, and then select my module Gmail active, and then click process. And we didn't have any errors. You can see here Gmail active artifact is executing. And then we have our log function active Gmail account found. And we just print it here in the log file. But that's not the HTML page. So we know that our artifact was found and it ran, and it was found correctly. And then we exited properly. And then we also get this processing complete where the report is.  And you can see that a new category has been created Gmail active. And we have another tag Gmail dash active. And this is our artifact that ran. I didn't set any icons or anything like that. We might want to just name this category Gmail, but you know, we'll deal with that later once we get multiple Gmail artifacts created. So go ahead and click on Gmail active. Then we can see the total number of entries we have Gmail active located at this Gmail XML file. So that's exactly what we were looking for. And then active Gmail address, we have this table and it has the active Gmail address here. That's it. That's all it takes to create a module. Now, like I said, I'm dealing with a very, very simple data structure. I knew exactly where the data was located at the beginning. So I had already analyzed an Android phone. And I knew that in shared prefs Gmail dot XML has that active account available. So I knew where the data was located. I knew what the structure was. Once you have that at a basic artifact parser to a leap, and then you can use it in all of your investigations from then on, and especially contribute that artifact back to the elite group that way everyone else can also use that artifact. Okay, so relatively straightforward to do, there is some tweaking in terms of making things look nice or getting categories or getting your icons or whatever. But essentially, the processing itself, if you know where your data is and what it looks like, the processing is super simple. And then you're just sending it to a report. So I hope that helps with creating an artifact in a leap, essentially the same approach works for I leap, w leap, all of the leap structures are basically the same. And I'm going to put a a leap template on GitHub. So watch out for that and check below for links to my GitHub repository, where you can get a very basic template for new artifacts. All right, that's it for today. Thank you very much.


That seems to be the case on every Sunday morning edition of Carifter as the 800 athletes make their way out on the boys side will have three semifinal races. Carifter record 1 minute 48.95 set in 1987 by Ken Roy Levy of Jamaica one of the longest standing records here at the Carifter Games. I think the longest standing record. Well the longest standing breakable record. We have records from the 70s for the 3000 steeple chase and for the different weighted javelin implement but in terms of records that are still up for grabs. There's confirmation of the record mark as we get ready for the first semifinal ratio and Harris of St. Lucia Kimaria by Grave the 1500 champion from Jamaica. Javelin Sylvester of Suriname, Sian Miller of the Bahamas and Jamal Sullivan of Guyana. Top two short to be in the final. There's the Surinamese. Javelin Sylvester a 156 flat operator. Well we know the Guyanis have been good and so every time you see one on the track you expect a big personal best. Three gold medals last night two in the 400s at the on the 20 level and the Hingson in the on the 17 100. There's Kimaria by Grave. Last night one is first ever Carifter medal and it was gold over 1500 meters. Very good quarter mile of 47 54 at his best has run in a Jamaican high school championship 400 final even though the 800 is his best event. There's the St. Lucia. Rishon Harris has gone below two minutes but needs a big PB to factor in this semifinal. They are sent on their way and the Kimaria by Grave steps up to the front. The St. Lucia. Harris tracks him well and they all comfortably head down the back straight away with Guyanis Jamal Sullivan stepping into second position now the Bohemian Zion Miller running on the outside of lane number one as he ships into third position with by Grave comfortable at the top by Grave has run personal bests at 400 and 1500 this year but he hasn't run a personal best at 800 meters yet surprisingly because it says best event the 800 47 54 for 400 357 34 for 1500 is 800 PB is one minute 50.20 and that was done last year 2023. He takes the Guyanis with him. Miller of Barbados in third on the tour short to be in the final so a lot to chase here and they're all in with a shout I think top three separating themselves now Miller moves into second Guyanis Sullivan back in third Miller now challenges by Grave Sullivan I don't think is quite done yet by Grave looks across at Miller to his right Sullivan is still trying to charge the Jamaican trying to control this looks left looks right and gets through qualifying at 155 53 Kamaria by Grave ahead of Zion Miller of Bahamas with Sullivan of Guyana finishing in third position he'll have to wait and see if his time is good enough 155 56 for the 1500 champion Kamaria by Grave looking for the Carifter double Fabulous run from by Grave but I think the Guyanis will be happy with his time and satisfied that he is likely to be in that final I can't see the second semi-final being that much quicker than this one there's a second and third here's another look at the closing stages by Grave of Jamaica 3 4 2 controlling things Zion Miller of the Bahamas holding his qualifying position wall with a charging Sullivan of Guyana taking third and now we await the time for Jamal Sullivan because that will be the leading Bob the time heading into the second semi-final 155 56 155 66 for Miller of the Bahamas sort of an 155 73 and also on the Bumble Sylvester 157 10 but I can't see that 157 10 making it in this I don't think that will hold up now


Okay, so before people disappear, we have some awards to give out, and I'm watching people walk out the door, okay? All right, so we have a couple of words we want to give out. The first is I mentioned that we ran a hackathon, right? So 24 hours of coding, teams get together, they come up with interesting ideas, and they attempt to complete it in a very quick amount of time. Then they were judged.  We have a cool drone for each member of the winning team. And in particular, I want to thank our judges for helping participate. I want to thank Chris Clark from my team for helping to organize the hackathon event. I really do think it's one of the most interesting parts of the kind of day zero activities that we run. Okay, so the winning team was Team Bosch Central. I'm not going to read all that to you, but basically what they did was they created a package manager for Bosch releases. They were looking at Bosch, looking at some of the gaps that it may have, and they managed to pull something together, and I believe it also included a web UI. So I'd like to invite the actual four members of the team I think are over here somewhere to come on on stage. I only have one of the drones, but everybody give them a round of applause. We've got Yannick, Benjamin, Christian, and Renee from both Ivoila and from GSTAC. So here, who wants to take the first one, and you can meet Chris over there for the other one. Awesome. So Benjamin, hey. Oh, there you go. Good job, guys. Congratulations. Thank you very much. I hope you had fun. That's awesome. Cheers. Thank you. So congrats. Chris has the other drones down there. Awesome. Okay. So besides the hackathon, we also ran some community awards, and one of the categories that we had was what we called Stealth Ops. Now, these are folks that maybe kind of fly into the covers, don't necessarily get on stage very frequently, but are incredibly important to our ecosystem. So we have two winners, and I'm going to ask them to join me up here in a second. We have Natalie Bennett. So Natalie's a frequent contributor to the open source discussions, the community efforts. She works in the release integration team. Now for those of you that may not be familiar, the release integration team is the team that takes all of the various components, right? Hundreds of repositories of code and brings it through a central pipeline. Really critical to the efforts that we have to produce this open source platform. The other, though, of course, is Dimitri Callan. So Dimitri has been running the Bosch PMC for quite some time. He recently stepped aside to kind of move on to the next career adventure he's having within Pivotal. But Dimitri has been so important to the Cloud Foundry community overall, Bosch community specifically. And we just wanted to make sure that he was rewarded for his time. So if Dimitri and Natalie could come on up here, we have an award to give you. Thank you very much. Hey, Dimitri made it. There we go. So these are kind of cool. Swarna, these are really neat. Good job. So this one's for Dimitri. Thank you. Very good. And there you go, Natalie. Thank you. Thank you very much, both of you. So congratulations. The community loves everything you do. Thanks, Dimitri. Thank you very much. Awesome. Okay, last one from me before Abby comes up and helps wrap up and set you up for the rest of the day. We had another category, Helping Hands. The Helping Hands category was really about, hey, who are some of the more helpful individuals that are in the community, some of the contributors that really take the time with end users with other contributors throughout the different projects to kind of make sure that everyone's feeling well, welcome, right? Make sure that people are feeling included. Make sure that the questions could be answered. And so our winner for this is Eric Maugham. For those of you that don't know Eric, he leads the Diego Project. That's the heart of the Cloud Foundry application runtime. He's an amazing person. I actually feel quite happy to have gotten to know him over the last couple of years. So Eric, why don't you come on up here. Thank you very much for everything you do. All right. And this one's cool too. I kind of like this award. Now you have something heavy. You have to carry home. Okay. Thank you so much for everything. There you go. Congratulations. Thanks a lot. One other award, unfortunately, they're not able to be here. They were at our North American Summit. But we asked for the coolest user story, and this is something that we really want to start getting more submissions for because there are so many amazing stories. So each summit we want to highlight at least one end user that has just an incredible story about the adoption of Cloud Foundry, how it's changing their business, making major impact in their organization if they're not actually a corporation. So this year, or at this event, we'd like to congratulate the Home Depot, right? Retail firm, predominantly in the U.S. but global. They have fundamentally changed the way that they deliver software within their organization. They even have some fascinating approaches to finding more developers. They look to their store associates and find ways to elevate people up through career ladders and IT. So if you haven't heard the Home Depot story, go to CloudFoundry.org. You can take a look at the case study there. There are lots of talks about them as well. Really fascinating and wonderful folks. So congratulations to the Home Depot. If you can give them a round of applause. All right. And with that, my time with you is done, and I'm going to invite Abby back on stage to kind of give you a bit of a show wrap before you're set loose into the breakout. So thank you all very much. Thank you. Well, good morning, not quite afternoon yet. I will try to be quick. Before I get through all the thank yous and everything, I want to say thank you for all of you that come, speak, and participate at summit. This doesn't happen without you. And a special thanks to Dan and Steve. Thank you for getting up here on stage yesterday and today and sharing not only an opportunity for us to all be more welcome and inclusive for our community, but how we can all be better, period. And I know that was a tough thing for you both to do, and I really appreciate it. So buy the numbers really quickly today and yesterday. So in two days, we crammed in 144 keynotes, breakouts, and lightning talks. We had 65 member companies here or within the community, eight certified platforms, and we had 961 attendees. That is a significant jump over last year, so it's really great to see Europe continuing to grow year over year. Thank you again to all of our sponsors. Without you, this is not possible. I want to re-emphasize that again when we go and ask you for money for next year. Without you, this is not possible. So thank you all to our platinum sponsors, Dynatrace, PivotalSAP, Swisscom, and our gold sponsors, Google, SUSE, IBM, and VMware, and our silver sponsors, and our startup sponsors, and our bronze sponsors. Thank you all. You make this possible. Thank you to Google for the diversity scholarship and for allowing some participants to come and join us here that wouldn't have otherwise been able to come. You make this easier to host and bring more people here. Finally, thank you to the city of Basel for allowing us to come back, but also helping us make this possible here. And I want to say again thank you for everyone that spoke, brought content. I know it's a lot of work to do contents, to do presentations, to do keynotes, to do panels, and I really, really appreciate it because you make it possible. We've gotten a lot of press coverage this week. Thank you to all the journalists that are sitting in the front row. Thank you. Thank you for telling the story. I know it seems a little self-serving, but it is important to tell the story, not just for the project, but for all the work that each and every one of you bring to make it possible to have such a great and broadly used technology. And thank you for having us trending second day in a row. Keep tweeting. We love it. Thank you to the ambassadors for not just wearing the badge, but also making other people feel included, new people. We had a lot of first-time attendees, so thank you for going the extra mile and making sure they feel welcome. Thank you to Swarna for leading them and helping drive our community. Huge thank you to the team here on the ground that makes it possible. There's a very small team that make this all possible, so thank you all for the work you do, the midnight slide revisions, the early morning preps before the panels, all of the extra mile work that you do. So, mark your calendars now, April 2nd through 4th. Philly, Chip's very excited. We're going to be not at your house, Chip, but we will be near. Chip's very excited. We won't fit at Chip's house. But Philly, mark your calendars now. The call for papers is open. So, time to submit your talks. Jules, work on it right now. CFP closes on November 30th, so I've got a little over a month and a half to get those in. Registration will open on December 1st, so mark your calendars for that, too. And everyone's been asking, where's the next European summit going to be? Well, unfortunately, it won't be in Basel again as much as I do love coming to Basel. It is going to be in The Hague. Yes. So, save the date. September 11th through 12th, The Hague in the Netherlands. Join us there. Sponsorships are available, obviously, and we will be talking about the CFP as we get closer to the North America summit. But so, Europe next year, September. We have a fantastic afternoon of talks, so this is not it. We're not done right now. There's way more talks today, a lot of great sessions, a lot of great panels. And we have sessions picking up here really quickly. Sorry, we're running a little bit over. But on your way to a session, please drink a coffee. Maybe two. Drink all the coffee. And on that, I will see you in Philly.


I would say that the thing that strikes me the most that I've received from St. Joseph about fatherhood is his immediate obedience to God the Father. That he simply receives the word from God the Father and he does it. He doesn't discuss it, he doesn't ask a thousand questions, he doesn't hymn and haw. He simply, like unto Noah himself, who was also called a just man, when Noah was told to do something that is absolutely preposterous, he just goes out and begins to build this ark, which is crazy. But he receives the word of God and he does it without saying anything. That silent aspect of Joseph I think is something that we've lost. We want to dialogue about everything and fundamentally we don't just need to be heroes of the word but doers. And so the kind of man that receives the word of God and is obedient. And then of course looking as a father to the common good of his family as opposed to his personal good.


What's up, everyone? It's Giovanni here from Breakpoint in Lisbon. I have the pleasure to be joined by Kaili Samani, the managing partner at Multicoin Capital. How are you doing today? Hey Giovanni, it's a pleasure to be here. Yeah, it's a pleasure. So I wanted to ask you your thoughts about Ethereum. So from a long-term perspective, there is this ongoing talk about which of the two protocols will prevail, Solana or Ethereum. Some people say that they will coexist peacefully. What is your thought about it? Is Ethereum going to be able to compete with Solana in the long-term? Generally, trend towards there being one chain over many chains in the long-term, so I think 10 plus years. But in the next two or three years, it's very clear that both ecosystems are going to be thriving. How things play out three to six years from now is pretty hard to reason about at this stage. Talking about the concept of the Web3, so we know everybody is talking about the Web3. You have your thesis at Multicoin Capital regarding Web3. We know that there are incumbents that will kind of fight against the emergence of Web3 stack. So like incumbents or banks, institutions and so on. How is this confrontation going to play out? How can the DeFi ecosystem compete with such huge monopolies in terms of economic power, influence and so on? Yeah, I think you don't compete head-on, you compete asymmetrically. So for example, one way I think you kind of popularize DeFi is look at Axie for example in these player-earned games. All these people playing Axie, they now have a wallet and they can now receive value and they can send value and they can borrow and loan and do these other basic financial primitives because they have a wallet. I think using stuff like Axie as a way to get crypto wallets in the hands of a lot of people is very interesting. I would not be surprised if five years from now, there are a billion people in the world who their primary electronic money is a wallet and they got onboarded to that crypto wallet via a game. It's a great way for them to start receiving value, to receive their paycheck so to speak. And if you start receiving your paycheck somewhere, then that kind of naturally becomes your primary bank account so to speak. I think that will be very, very, very large for onboarding people in the crypto. And so how are the incumbents going to react to these disruptions? Are they going to adapt or are they going to be extinguished? They're not going to be extinguished. Framing these things in a binary fashion is never really helpful. And it's also going to vary a lot by country. The United States, I would think the financial institutions in Western Europe are a lot more entrenched than they are in Latin America, Eastern Europe, Southeast Asia. So it's going to vary a lot by country. I know it means an expert in the U.S. financial industry, let alone elsewhere. So it's hard for me to make too many comments, but I don't think U.S. banks are going anywhere. Part of your thesis regarding the eventual victory of the DeFi ecosystem, Web 3 and so on, is that people should care about their data privacy and people should care about decentralization, the ownership of your own data. Those are the main offer points that this new system is creating. So are you sure that most people really care about data privacy and data ownership? And if they don't, then how is the DeFi ecosystem supposed to prevail at the end of the day? Yeah, so I don't think people care about that stuff, or at least not most people. Maybe one to three percent of people care about that stuff, but not thirty or fifty or eighty percent, certainly. But I think that's the wrong way to think about it. The right way to think about it is what do developers want to build on? And there's a large, large, large swath of developers who want to build on these technologies that respect individual freedoms. And the users don't need to know that these systems are built on Web 3 systems. The users, they can think it's built on Web 2, so it doesn't really matter. And so the right constituency here is developers. And I do believe that there are a large cohort of developers, many of whom are here at Breakpoint, who hold those ethos and those ideals to be true and they're going to build on these new systems. The other really, really cool thing that happens in these new systems is you get some interesting new co-op petition effects. So if users own their own data and the data is built on an open data standard, then you can have ten different applications reading and writing from the same piece of data. And it's not that one company will dethrone Facebook or Twitter or Google or Microsoft or whatever, but if there's an army of five hundred developers who are cooperating with each other over an open set of data standards, they can in fact overthrow the incumbents. And so that's really the things we're most excited for. Yeah, but so what is the incentive for these big amount of developers to focus on Web 3 instead of Web 2 if it's not for ideological purposes? Because you said that it's not because of ideological purposes, right? I mean they don't want to depend on, no one wants to depend on Google and Apple and Microsoft and Facebook anymore. They're not trustworthy. Building your business and depending on any of the large tech giants is a way to kill your business in the long term. The only way to not depend on them is to allow the users themselves to own their own data. Okay, and it's interesting to me also to ask you your opinion about this concept of digital gold, because you said that this kind of borderless money that we are creating, global, borderless, defining it as digital gold is a too narrow of a definition. So what do you mean by that? Yeah, I mean in most of human history gold was the most scarce thing in the crust of the earth. In fact it still is the most scarce chemical atom or molecule in the crust of the earth. But gold is heavy obviously and it can't carry it around easily. If you do carry it around it's actually a security risk for your own health and well-being. So there's lots of pretty obvious problems with gold. Despite these problems, the market cap of gold today is about 10 trillion or so around the world. It just kind of stands to reason that if you can solve a lot of these problems, divisibility, portability, carrying it on your own body easily, that should make the market cap larger, potential larger for digital gold than for regular gold. The best recent example of this industry is Uber. The world used to perceive the market, total market of all taxis rides as whatever, a billion dollars, whatever the number was. And one of the most amazing things about Uber is it can increase people's consumption of taxis rides by like a lot, like I don't know, probably 3x is conservative, maybe 10 or 15x is the right number. And that increase the total market demand for Uber over taxis by a huge number. And I think similarly here when you change the nature of the system and the properties of the system from being in the physical space to being in the digital space, you can increase the amount of demand and consumption for that asset. Cool. And when we talk about the digital gold, do you refer to Bitcoin or in general to cryptocurrencies? In general, what's your thought about Bitcoin? Because in this conference you heard quite actually little about Bitcoin. It's more about decentralized finance, Solana, Ethereum and so on. But Bitcoin is kind of taking the sidelines. What's your thought on that? I mean, we're at Solana breakpoint, so I would hope we're talking about Solana. I'm not very bullish Bitcoin. We don't own any. I don't own any. I don't ever intend to own Bitcoin ever again. Bitcoin was useful to bootstrap this ecosystem in this industry and get it to where it is. But Bitcoin is a backwards facing asset and I want to have my capital in innovative productive things that are building the future. Do you think that Bitcoin will eventually disappear and will take a backseat compared to all the other protocols that we are seeing? Again, these things, it's not helpful to frame them in a binary light. Bitcoin is not ever going to go to zero. But I believe Bitcoin will lose relevancy. Because I'm good at recent analogies that are BlackBerry. In 2010 BlackBerry was king of the world with the BlackBerry phones. And today BlackBerry is around. The market cap is like 10 billion or 20 billion. I don't know. Something like that. It's still a meaningful number. It was 100 billion. Obviously it's down 80 or 90% over the last decade. They've lost relevance, clearly. IBM used to be very relevant to the future of computing in the 70s and 80s and whatever. Today IBM is not relevant to the future of technology. MySpace was relevant in social networking. Today MySpace has 30-50 million years. Quite frankly I don't know who these people are. But they're out there. They're doing something. But MySpace is clearly irrelevant relative to Facebook. I expect in 10 years time Bitcoin will be irrelevant. Interesting. So Ethereum has a more long-term perspective on Bitcoin in this sense. Solana. Solana first. Ethereum second. Bitcoin third. We can put it in this kind of hierarchy in terms of... That's one way to frame it. Are there any projects or sectors in the industry that you are particularly focused on at the moment in terms of investing? So we saw the emergence of NFTs. We saw the emergence of new DeFi projects. Wallets. Can you name a specific technology that you are looking into as the 2022 big thing? Yeah. An area that we're really, really excited about is the growth of the creator economy. And so we've been spending a lot of our own time recently diving really deep into social tokens and NFTs for creators to issue. We've made a number of investments in those sectors. And I think that's going to be one of the breakout sectors in 2022. Awesome. Thanks a lot. Good money. Thank you.


What Jesus was showing 2,000 years ago, he was basically just in touch with the power of the mind and then when people would come to him and they would have faith in him to heal. It was really happening at the mind level, even though the blind could see, the lame could walk, he cast out demons, he raised the dead. Those were all just symbols in form of the idea that there's only one of us. Jesus just remembered one basic thing, that there's only one of us and we are a divine mind. We still have our identity in the mind of God and we have all the strength and power and glory of that one mind. There's still only one of us. There always has been only one of us. We are not divided.