I almost left my own meeting by accident. All right, we're gonna get this thing started here. Can you guys see me? All right, cool, I got it all figured out. What's up, Land, how are you? All right, y'all, I apologize for my lack of lighting here. I'm in my buddy's basement in Minnesota. So say hi basement. Just a little workout in there, kids are all here. We have a big graduation happening. So anyway, I'm super excited. I wanted to talk to you about something kind of short and sweet, something that I think it's really important at the time that we're in at the moment, but also a conversation that I had with one of our new champs and who's absolutely crushing it. And it was really cool, the conversation, because when you become, and as you're becoming a team leader of your own team, if this is with customers or promoters, you sometimes learn just as much by coaching as you do by actually hearing the coaching. And that's a good sign and something I would encourage everybody to do more of. And that's something that I'm gonna encourage you kind of at the end of this thing.  It's almost a year and a half ago. I was listening to a Zoom and I've been wanting to get this guy on. I just, there's a language barrier and I'm trying to work through the language barrier, but I'd love to have him, if you guys would like to, if I can pull it off and get Fabio from Italy on and do a training on really what I'm gonna talk about. But he inspired me and did something that I think was really he was a slap in the face for me, to be honest, because I wasn't doing some of the basic foundations of what was gonna be successful. I was trying to be more creative than I needed to be. I was trying to do more than what needed to be done to have this success that I was looking for. And sometimes it's easy for us to get caught up in all that and just take a step back and break it down into a simplistic manner. And so I took what he said really serious. Like I took it almost personal that he was talking to me. Now he wasn't talking to me, he was talking globally, but when we implemented what he was talking about, it changed not only my business, but it changed a lot of people's business that follow suit. So what I would like to do is deliver that message to you all and see if you can take some of that with you. But what reminded me of this is the conversation I had with Amanda, I don't know, a couple of days ago, three days ago, was when I was talking to her about she has some rock stars that are crushing and doing amazing and they're ready to rank up and go to rank sixes and all this cool stuff. And we were talking and at the end of the day, it was really about getting more simplified. It was really about slowing down to go faster. It was really about taking what we already know and doing really good at that rather than adding all this other stuff that are important. We all need to work on mindset. I just did the stop technique, true story. I did Joseph's stop technique right before this call. Had nothing to do with this call. I had to do with the texts I got that got, I triggered me, it literally triggered me. I'm shaking my butt, I'm doing the stop technique. So it was pretty cool that I got to use that technique, which I want everybody to encourage that personal growth, but I would love to give you this one concept around the challenge that, and this challenge is, it's obviously prove it has a challenge, but it's also a metaphor for how to build your business. It's in, I'm gonna give you a couple of little analogies and then I wanna get right to the meat of this. So you guys okay to learn a little bit of what I learned from Fabio. Now Fabio runs a huge international business throughout Italy, is absolutely a stud, a really cool guy, and I am working on getting him to do a team call for us. It's just, language is a little bit of, it's a process. Anyway, you guys all wanna learn that? I'd love to share it with you. All right, cool. So I'm sitting there on a Zoom and he, well, let me ask you, let me tell you this question. So how many of you feel like you're just sprinting, like running 100 miles per hour with your hair on fire? Anybody? So we get like that. So I want you to keep this in mind. This business is, it's not a sprint and it's not a marathon. It's a sprint marathon combination. And so something that I was really interesting, I was listening to one of the leaders in a network marketing speak on, is he was basically, he took a guy. And how many of you have heard this? And it's just kind of piggybacks his options with Cameron and what Amanda were talking about on the Zoom on Monday. And I was, what they said was brilliant. And then what happened was is there was another person on the call that gave a different perspective. And I think it could have created some confusion. So I'm gonna try to clean that up a little bit, because what Cameron had said was so valuable and so important. And then it could have gotten lost based on how it was reframed by somebody else. And I wanna kind of tie that back together to what I'm talking about here with the challenge. So when Fabio hit me, it was just like, it was a ton of bricks that hit me in the heart of like, this is simpler than you're making it. You can go faster and it can be done in such a cool way. If we can look at this a small bit of different analogy. So I'm watching this leader in network marketing. He goes, okay, let's just be consistent. It's a marathon. Let's just take one, like, hey, just talk to a person here and there, talk to a person here and there. Doesn't mean you can't have success in this. So what he did is he had a guy walk around the room. It's a big stadium. And he goes, I just want you to take one step, but don't go too fast. I just want you to take one step forward, one step at a time, one step at a time, one step at a time, one step at a time. So you're being consistent. I mean, once a week, twice a week, once a day, you're reaching out to somebody. Maybe once a week, you're reaching out to somebody or twice a week or three times a week, right? And he had the guy walk around the room. And what he showed is that the guy still got around the room. The guy was still getting around the room. But what happens is when people think that's how you build your business, you can build your business that way. The timeframe of building your business that way might take you five or six or seven years to hit an expectation or goal, which is fine if that's what your expectation is. But what happens is people come in, they want goals and they want to run for stuff, and they're not hitting those goals. What happens is it feels like you're failing even though you are moving forward. Does everybody track me right now, right? And so sometimes, like I'm going into surgery right now. So I'm in a different state of mind getting ready for my next surgery than I was three months ago when I wasn't thinking about my surgery, if that makes any sense. Like somebody's getting ready to get married or getting ready to go, your energy and your focus has shifted to something else a little bit. So you're gonna see absent flows of your business, but keep moving forward. So I love the consistency and I wanna encourage people that are moving forward. Just keep moving forward, don't stop. But if you wanna go faster and what he showed was this, he goes, you put challenges, I'm using my languages, but put challenges in place.  It's a sprint. So a challenge, you know, right now, Camyn has the team doing a different type of challenges and a challenge is a sprint.  And what you do is, but here's the secret. If you're, let me get on me out, there you go. So a challenge is a sprint. So you wanna put challenges in place to run fast.  And then what he did is he ran faster like 25 steps. He didn't stop. That's the secret about the challenge is that too many people run a challenge, they run a sprint and they stop moving forward. So there's the other concept that I wanna put in place here. So it's not a sprint and it's not a marathon. It is a marathon of sprints. It's a marathon, let's rephrase that. It's a marathon in a world with sprints. And that's our real business. If you wanna go further faster. On the flip side of that, can you sprint forever? Can you just sprint? Some of you right now, I ask you if you feel like you're sprinting. Some of you are like, yeah, I feel like I'm always sprinting. Like I'm just going. And there's times in your business where your business dictates you to sprint faster. Right now Amanda, I'm using Amanda as an example because she hit rank six and now she has people that are chasing her to rank six. So she's in a position where like, we always say, if the surf is up, don't get out of the water, right? If the waves are big, stay in the water and ride that wave.  And what you need to do is recharge your batteries to go sprint again, okay? So for some of you, and as a leader, this is something that gets a little bit more complex, right? Because at one point, like, you know, I might push Amanda one way. At the same time, I don't want to necessarily push Lynn the same way, even though they both have very, like certain same intensities of wanting to go win. I might not push them the same way because Lynn may be in a different phase in her business or in her life that she needs to be supported in the marathon and they get ready to hit the sprint. Even though if you ask a Lynn, Lynn wants to be hit to sprint all the time. The asker, she wants to be pushed all the time, but that might not actually be the thing that's gonna serve her business long-term because she isn't in a position to run at the moment. She needs to re-gooperate, get everything back under in place. And so it was really a cool analogy. I hope this analogy is working.  As long as you're able to manage the expectations of that success, it might take you longer. I'm okay. There's people that have run way faster than me. There's people that have ledger faster than me. There's people, I haven't hit legend yet, but I'm going to, right? And I've had to manage those expectations of how fast it's all happening. At the same time, I have a tendency to want to sprint all the time, which ultimately slowed me down.  Well, you don't want to do that either, if that makes any sense. You want to keep moving forward, recharge and then hit some more challenges or sprints. So why I'm saying this is that that's what challenge marketing is about. It's about running challenges. And I'm using that word because that's our analogy of words. It's about running a sprint situationally timely. So if you're currently in this as a business, obviously you're on the Zoom, so you're in this as a business.  For some of you, and I want you to write this down, for some of you, the challenge you're running right now, let me ask you, I did this about a year ago. It was almost exactly a year ago. So how many have plateaued on their health goals? I see Layla, anybody else raise your hand if you plateaued on your health goals? Jason, Deanna, oh, this is weird. I didn't know Zoom to change that way. Derek, Shannon, Nicole, I will tell you something. Anybody, that's all the hands I can see at the moment. Okay, this is cool. I didn't know Zoom changes format and went up versus sideways. Maybe it can do both actually. It's pretty neat. I don't play around that much on this stuff guys, be honest. Okay, there's a direct proportion of you plateauing on your health goal and you're recruiting the people at your business. There's a direct correlation to it.  There's a correlation between your health goal and your business, right? They correlate together. The same thing is if you're plateaued on your business, you might notice that you're plateaued on your health goals. They go together, they're in or won't because we're running a health business.  Hey, I'm gonna go accomplish this goal and then you grab two or three teammates to do it with you. I didn't say 70 or 80, I said two or three teammates to do it with you. And what that happens is that creates momentum in your and you hold you accountable to moving forward. So some of you need to focus on the challenge at hand with all the promotions we have and we have a food challenge. We have obviously our recruiting promoter challenges. We have the proven has challenges in front of us right now. So for some of us, we need to put focus on that. So what I want you to do is identify where you're at in the moment, identify where you're at. Where's your, if you're ready to sprint. Some of you right now, it may not be the best time to sprint. You might sprint yourself out, right? Some of you right now just need to maybe just take like another day or two, write down what your goals are for the end of the month, right? Write down what your goals are for the end of the month, right? Remind yourself what your goals are for your overall business and your journey here. What's your timeframe and commitment to that, right? When I joined Prove It, I wanted to make $5,000 a month and I was willing to give myself two years to get there. I want everybody to hear that again. So does anybody have bigger goals than $5,000 a month? Almost everybody on here probably will raise their hand, right? Now I'm just giving you my expectation. My expectation, and this is because of doing business and looking at it as a residual income. I wasn't looking at this as I was gonna retire from my career and this is what I was doing. I was looking at this as a residual income-based business. I was gonna give myself two years to get to $5,000 a month. How many of you have not been in for two years yet? So my expectation was that was the marathon of it all. I had two years to figure this stuff out to understand how to build a business, okay? I ran sprints inside of there based off of Prove It and Brian and Michael and you have team leaders like Cameron and Amanda Lin that are leading maybe you should go further faster and putting challenges in the place. Well, when you add those challenges in there, I went faster than two years. Is everybody making sense?    I don't actually want to fly the jet but I want that to be my normal life, right? So that's my big goals but I have specific goals for this year. And I have to refocus those goals like Joseph McClendon right now says it's half time. This is halfway through our year. And this is the time to sit down and reflect on how far have you made it into your goals? Now you could be nowhere near, you could have a weight loss goal of a hundred pounds and only be at 30 pounds and still hit your goal by the year. But I promise you if you hit 80 pounds you'll be very proud of yourself. You could be in this business right now and say, hey, my goal is to make $10,000 in 2022 and you're at $1,000 now. Well, you could hit $10,000 because it's compounded in our business model. You could make almost all the money could come in the last month if that makes any sense. If you've established what your goals are. So don't ever look at it as a mountain that's too high to climb based on your goals but has anybody sat down and reassessed their goals from the beginning of the year to now and then awesome and that's good. So I want everybody to take a moment and reflect on that but I want you to do it across the board. I want you to look at your family relationship.  I want you to look at your business. I want you to look at the whole picture if it's spiritual for you. I want you to look at the whole picture and you might in the moment there might be a challenge you're putting in place. For instance, for me, we still have a special guest today. His schedule got a little bit tricky. So what we have it on is for me my one of my number one goals for this year is to improve the relationship with my wife. True story. It's like five love languages. I'm listening to again for like the entire time and I want to work on that. It's something that's really important to me and it's probably at a higher importance to me than anything income-based, right? Because I look at what's my marathon and my relationship, right? So this is how I assess and I'm being truly transparent with you all. I had another health goal because I went through a lot of surgeries. I have another big one coming up. So I'm trying to get myself in a healthier state physically to prepare for a surgery. And then I have some very specific business goals which are really big and I've had to assess those. And in each one of them I'm in a different place in June then I probably thought I was gonna be if I would have assessed it. If I would have said where I was in June I probably would have, I probably would have, I have high expectations. I probably would have overshot myself. If that makes sense I would have thought I would be further ahead in probably each one of them. And that's just my personality trait. Now at the same time I'm celebrating because I'm not stopping, I'm still moving forward but I had to put sprints in place, right?  So for me, I would listen into the five level languages and then I, magically I stopped for two weeks, right? So my challenge to me is to not miss it every single day for the rest of the month. Does that make sense? So I'm not gonna miss listening to that audio book every single day for the rest of the month. And I only do like 10 minutes worth and then I implement what I learned. I like Brian style about that. He's like, you know, take a bite and then implement it and don't go learn the whole book and then not do any of it. So that's just my style. So to wrap this all up and what I wanted to really discuss is where's your run at? What's your run at? What's your challenge? What's your challenge for the rest of the month? And I want you to assess that and really be honest with yourself. I am okay. Listen, we have these awesome cool promos to make more money. And when I was talking to Amanda, the situation was she has somebody that's just a stud, the rock star, unbelievable and she needs to make some more money.  But what's interesting is that she had a call with her and Amanda, correct me if I'm wrong at any level here is that they kind of told her all the stuff that she had to do or could do. It's like, here's all the playbooks. Like you can do this, you can do this, you can do this, you can do this, you can do this. And I said, well, that's awesome. And she's amazing. And she'll probably hit some of those. But I go, what if we just took one of the things and said for the next 48 hours, you just focused on one of these and you crushed it. And then after 48 hours, you moved to the next thing. Which one do you think should be more effective at? And so Amanda, I don't know how it's going so far, but if you have any feedback on that, I'd love to, because to me, that is the art of the challenge, right? Is you run that race, put your focus on that challenge and then after the challenge, we move to another one or we take a day or two regroup and then we relaunch another one, right? So anything you want to add to that? No, no, it was a good awareness for myself too, because like instead of just spitting all this stuff out at her like, we have this, we have this, we have this, why not break it down? Let's start with, you know, the food challenge at first and get your two customers. So therefore that bonus is done. Once that's done, move on to the summer splash and get the new promoters in by July, you're going to get an extra $2,500 in your pocket. So it was a good awareness for me and it's going great for her. She's actually running for the go for no challenge right now and I'm working on building her team. Awesome, keep it up, nice job.  Any of you guys have a guy or any of you guys that were on here that were in there, no Derrick's on here, but we had a 28 day challenge for kind of dudes and it was just something I wanted to put together. But it was really focused for them to do the challenge and the results have been extraordinary, absolutely extraordinary. And so my goal here is when I was listening to Fabio and he had said something, this is where my challenge is to you guys is going to come, is I want you to really write down what is your, what's your challenge or what's your sprint or what's the challenge you're running for? And let's be clear about that. If you're going for the food challenge of the promotion that Proven has in front of us for the food, then be clear about that challenge, be clear about that focus and let's go hit it by the end of the month. If you're not sure what it is, go back to Paulson and look it up because sometimes we get so much information coming in and we miss the simplicity, something so simple as doing the food challenge and makes them some extra money. If your challenge is promoters and you're like, hey, I'm really going to run for this promoting challenge, well then be very clear about that and let's put that in place, okay? Now the third one, if you're in a health challenge and you haven't done the core four challenge yet then actually if you're struggling in plateaued and your energy is not maybe projecting out to the world because you're plateaued or you gained five pounds back, well then it's time to put that challenge in place because you can sit there and give yourself, hey, I'm going to recruit four promoters and I'm going to get all these other things happening but if it's not inspiring you to go for it then you have to be inspired to go sprint. Does that make sense? Like you're not going to run if you're not going to run. If you're not ready to run then that's okay. So find the challenge that you're ready to run and then commit to it. Now if you need a day or two or three days to get set up for it, I'm okay with that and that's a secret that I learned that I was mistaking early on was, what happened was I'm a constant like, what's next, what's next, what's next, what's next, right? And I put my head down and I would go but I was not stopping and regrouping and therefore what happens is I'm going a million miles per hour but I'm losing people out of the back end because they're not staying on the truck with me. I'm just going, I'm out of the hell crazy.  And what I set up, one of the things that he was saying was really, I think really insightful for me was, set your date, he goes, if you set your date six months from now that you're going to do your core core challenge or you're going to go on a recruiting challenge, if you set it for six months from now or a year from now you're not that committed to whatever like, life's got to be really, you're maybe not ready to do much. You just stay in a marathon, right? And don't even plan it out. He goes, but if you need a week or two or three weeks or even a month to get ready to run, he goes, that's okay. He goes, that's okay. Just be aware it's going to impact how your business is going to grow. This was all focused on bringing on promoters. He goes, but set a date, tell people the date. So if you're getting ready to do a core core challenge set a date. It don't just say, I'm going to start tomorrow. That's what I'm trying to say. I'm just going to start tomorrow. Are you really ready and committed to starting tomorrow? Have you invited people to do it with you yet? No. If it's just, hey, I'm going to do a challenge, go do core four, do another core four, do another core four. What happens is at the end of all these core fours eventually you're the only one doing them by yourself and kind of half assing. If that makes any sense. It's not setting it up. So we just finished the score four. We took about a 10 day break and we got together and we're like, okay, we're going to do another one. But the check, like what I'm doing with the team that's a gentleman that we're doing this with is that the goal is they all have to bring two extra people with us on the challenge. So that we're building the challenge up, okay? We're expanding the challenge. If we don't, then we'll still finish the 28 day challenge. That tells me that we need to do a whole regroup and a refocus. Otherwise it's just going to drift away. It's not right, Jennifer Mann. Jennifer Mann has been crushing challenges now for a long time. But the part of that is, is that we have to sometimes regroup and get buy-in from another regular group of people. So I know that was a long topic, but here's the message I really wanted to deliver. Is that this is a marathon to your goals. But if you're not clear about what your goals are, short-term and long-term, refocus and reassess where your goals are. This is half time of the year. Know that it's a marathon. The year is a marathon, right? Just know that it's a marathon, but throughout the marathon, if you want to be super effective, you have to put sprints in place to move faster. So when they were doing the walk around the room, the guy that was walking slowly, made it around the room like twice, it was like 20 minutes or 30 minutes. And the guy that was running, he would sprint for only like 30 steps, right? And then he would walk. Well, he ended up lapping that guy three times. So for a long time, Amanda was in a marathon of just slowly, slowly, slowly, slowly, slowly, then she just had to sprint. And then she took off, right? Well, at some point, she's gonna, she's regrouped a few times throughout this journey and kind of refocused and setting some things up. Well, that's okay. She didn't stop. She kept moving forward. And then now she's ready for another sprint with maybe a teammate coming along with her. So that's really the art of our business, but that's the same thing on the product and the same thing in the business. They coexist. So when Fabio said to me, he's like, Dustin, this is, he didn't speak to me. He was speaking to everybody. This is how I hear it. Dustin, if you're not doing the challenge, if we're gonna be marketing a core for challenge and you're not currently going to do a challenge, you can't recruit to the challenge that well. Because you can sell all day long. You can sell, sell, sell, sell, sell, sell, but you get just as many people going out the back end because you're not invested into it. So if you wanna bring on and bring on a lot of customers around our challenge marketing packs and around the better bundles, then you better be doing something with them. If that makes sense. You better run the challenge with them. If you want them to stay with you in the journey. If you're not with them, then basically you're just telling somebody else what to do, but you're not leading by example. At the same time, you can't run the back to back to back to back challenges but very effectively. So it's okay to regroup and re-break. So you might only run, Amanda might only run like four by 28 day challenges for the whole year. Doesn't mean she doesn't bring people in every month. Doesn't mean she doesn't coexist with those people. But she'll get more out of her business if she inserts herself into the, and get passionate about it. Maybe it's a push-up challenge that she's doing or maybe it's a lean leg challenge. I don't know, I'm making that up. But do a challenge, like incorporate the challenge around the product. What that does is that to Shannon raise her hand, she's plateaued on the product or plateaued on her health goals. I don't know if you guys know. So I know Shannon and Amanda work together. Well, Shannon plateaued on the product. I guarantee you when she plots on their product her business will be affected. So by Amanda running a challenge with herself in what she's doing is she's putting Shannon in the position to run a challenge with her. It gets Shannon's business moving because she's moving forward in the product. If that makes any sense. Well, then now the business starts to grow and then we can incorporate a business challenge with it. So that's why the product challenges are so important, I think. So the same thing applying to the, if you're running, if you're going for a food promo right now and you're not running for it but you're trying to coach your team into running for it, you'll find that it doesn't work very well. You're not, it's not working very well because you're not actually actively doing it the same way. So what I heard from Fabio was if you're not doing it, your team's not doing it. So if you want to, and this is, if you have two customers, you can run your own challenge with two customers, with one customer, with two friends.  Reassess where your goals are. Celebrate that you're here and you're still going for them. If you're watching this, you're here and you're still going for them. The year's not over. The year's not over. I watched too much sports and I watched people come back in the fourth quarter. And guess what? Those are the best games, by the way, but we're only at halftime. Okay? We're only at halftime. So I want you to reassess your goals.  And if you're going to be focusing on, let's say you want to focus on the promoter recruiting challenge right now, well, you can do a couple of things. Number one is what, what does that look like? Number like what's how many you're going for? Number two, what I want you to do is, do you feel confident in running for it? If you do not get on with the team leader that you work with and say, okay, listen, how do I go for that challenge? What do I need to do? Like where am I at? What do I need to say? Now there's some activity zooms that have been going on that have been extraordinarily awesome. Talking about some of these things. Liz, you did a great job, by the way, the other day. I appreciate you for filling in. That was so amazing.  But if you feel like you're doing 30 things at once, it won't be effective. Remember a sprint is a direct line and it's a direct focus and a direct path. We don't want to be thinking of, if you're doing nine challenges all at once, you're probably not sprinting. You're probably just going nice and slow. So really focus on one thing at a time, if that makes any sense, to run to accomplish that goal and prioritize it. If your priority is your health right now, like I said, I have a very big business goal and I have very specific focus towards that. But I also have a very big personal goal of improving relationship with my family. And that's something that's super dear to me. That is my priority. That's the first thing I do in the day is I prioritize that, okay? Now, I don't always prioritize. There's sometimes where we need to make more money or we want to have big financial goals and that's my first thing I do in the day in some situations when I start my work day, if that makes sense. So I want you to be clear about that as where your focus is, where your challenges and I want to put that into place and write it down.  Now, if they're already running a challenge with you, you're already in it, always finish the race. If you're always in a challenge, run the race. Don't stop, finish it. If you're starting a 28-day challenge, you're halfway through and you're kind of half-assing it, I don't care, finish it. Finish the challenge, but then regroup, refocus and put a plan together and go for it, okay? And then just keep moving forward in your energy. So that's what I heard from Fabio and since we've been running the challenges for a year and a half and I don't run a challenge every month, I don't run a tent, but I've ran lots of challenges, it has been such a huge success to our business and that same thing applies to business challenges and customer challenges or product challenges, meaning results on the product challenges. It all creates positive momentum in your business and it's all the part of the sprint. So with that said and done, y'all, I appreciate you. I was going to do another topic but we're not going to cover that one. Just get prepared to have your own Thanksgiving dinner soon, sooner than later, some of you know what that means, some of you don't, but you'll get to hear about that soon. But I appreciate y'all. Anybody have any questions before I hop off? Feel free to unmute. Jennifer, I'll see you soon. Are we doing love languages, Sam? Who talked about that? We are, I'm working on it. The gentleman that I was doing had a schedule conflict so I have a guy that's going to come on and do a little talk on love languages, the five languages. I think it's really cool. Grab that book, listen to, or I listen to audio of it and it's been, it's really, it's just funny because you know what, you know, and it's a reminder but I'll just give you my little two glimpses. So my growing up, I never, I'm very ineffectual in family. We never hugged and said I loved you, ever.  So it's just, if you come to my house and you get hit in the arm really hard or maybe a jaw dropper or a drop kick, that means I love you and my family, right? That's just the, that's how we show affection in our family. The first thing, I mean, I'm home now and I haven't seen my family but the first thing that's gonna happen when I get there I'm gonna get hit. And I know that's my love language but my wife's love language is affection and quality time together. Well, I grew up exactly the opposite of that. Well, what's really cool about that is that the, what I learned in this book, and it's hard for me is that he basically said is like, you have to learn your loves, you have to learn your wife's love language. It's not something that, and you have to learn to love it in her language. Like, and if you don't, it's gonna be struggling.  So I've had to work on that and it's a constant journey. The good thing is I've been working on it for like nine years, y'all. This isn't new by no mean. And it's something I wanna keep getting better at. And so, but this applies to our business and not just our personal life, right? So Amanda has a love language. Lynn has a love language. Jason has a love language. Derek has a love, we all have it. So you start to pick up on it as you start to practice it yourself. And a lot of people don't even know their own love languages, right? I don't like gifts. I get really uncomfortable with gifts and it's something that I had to work on. So anyway, I wanna do a training on that because I think it's valuable for not just your own personal life but it's also valuable for your business. But I think if you're working on your personal life your business will only grow. And I think that's really, really important. Mark Williams did a speech on, he did the speech on the only way to have success in this is to work on your family and your personal and your spiritual life and your business life. They all have to grow, is the only way to have long-term success. That is the recipe. And sometimes people are willing to go, to me, that's the ultimate, that's the ultimate success.  Linda and I have been chatting about, something amazing that's come into her life. And it's just, it's so cool that things like these things can happen. So, but anyway, I appreciate you all figure out your, let's get your challenge lined up and run for it. We are gonna be doing another group challenge, core four challenge starting the 28th. It's the 28th there. I think that's the day Monday, whatever Monday is.  We're not saying no to ladies, by the way, you're more than welcome, but we're really trying to put more energy towards getting your husband and your boyfriend or whoever, or just a dude on your team to have them pulled into a new group and to give them some different types of love and different types of conversation.  So, starting Monday. Here's y'all.


It's now time for member's statements. Member for Toronto, Dan Forrest. Thank you, Speaker. Tenants, low-income tenants, are being driven out of their homes by predatory landlords. In the past month, I've met with people from three different apartment buildings in my riding who are enduring mass evictions. The landlords want to clear out the buildings, apparently do minor renovations, and then rent out the units at dramatically higher rents. Tenants now going for under $1,000 per month at 245 Logan are being advertised to future tenants at $2,300 per month. It's very clear what's happening here. Tenants, many of them seniors who have lived in their units for decades, paid the rent that allowed the landlord to make a decent profit and maintain the buildings are now being driven out so that new owners can make a fortune. Not only are their lives being upended so someone can make big bucks at their expense, but the units will be permanently unaffordable to people with low income after these changes are made. That's wrong. The Ford government needs to act now to protect tenants from these predatory practices. Member's statements. The member for Scarborough Rouge Park. Thank you, Mr. Speaker. First celebrated in 1970, Earth Day is a special day every year where people across the globe hold events and gatherings to show their support for environmental protection. In Canada, our first official Earth Day was held in 1980 with the week-long ceremonies opened by Progressive Conservative MP Flora MacDonald. On Earth Day 2016, the landmark Paris Agreement was open for signatures where Canada agreed to a 30% reduction in greenhouse gas emission by 2030. Thanks to the leadership of Minister Phillips, Ontario is on track to do our part. Earth Day this year will be no different with events around the world. In my writing of Scarborough Rouge Park, I am proud to say that I'm hosting a shoreline cleanup this weekend to keep our beaches beautiful and free of litter, so my constituents and all visitors can enjoy the stunning shore of Lake Ontario. I will also be attending a number of other cleanup events and Earth Day events, including the ones hosted by the CCRA Highland Creek Village Community Association, Friends of the Rouge Watershed and Green Canada. I hope we can all work together to keep Ontario beautiful and clean for generations to come. Thank you, Mr Speaker. Thank you. Member Statements. Member for Ottawa Centre. Thank you, Speaker. Speaker, on Wednesday of this week, April 10, disability rights leaders and activists will be converging on this building at Queen's Park because our office is hosting a town hall on accessibility. They're coming to share their wisdom and personal experiences so we can hear directly from those affected by inaccessibility and how we as a province can do better. All of us in this place received a wake-up call from the Honourable David Onley's report on the third review of the Accessibility of Ontarians with Disabilities Act. In searing language, Speaker, he told us about the agonizingly slow process Ontario is making towards full accessibility by 2025. I want a clip from the report. Mr. Onley says, every day in every community in Ontario, people with disabilities encounter formidable barriers to participation, and vast opportunities this province affords its residents its abled-bodied residents, as will be fulsomely described in the report. For most disabled persons, Ontario is not a place of opportunity, but one of countless dispiriting, soul-crushing barriers. Speaker, 1.9 million people with disabilities and their families are tired of waiting. This is a human rights issue, and we must act with greater urgency if we want to achieve greater accessibility. That's why we're opening up this place on Wednesday, to make sure that we can listen to people on the front lines. I invite my colleagues on all sides of the House to join us for that event in room 351 on the third floor. Let's commit ourselves to a province that's free from barriers so everybody can live their lives to the fullest. Thank you. Member Statements. The Member for Durham. Thank you, Speaker. I was disappointed to recently learn that the Canadian Women's Hockey League would be folding on May 1, 2019. This news is devastating for both players and fans of women's hockey. For those who don't know, this is the league that many of our Olympians play in between Olympic Games, and the competition in the league has been one of the foundations of the Canadian women's hockey team's continual top performance in the Olympic Games. Not only that, but the league also provides a venue for young female hockey players to attend and watch their role models play outside of just the Olympic Games once every four years. I remember being inspired by Sammy Jo Small, the women's team Canada goaltender when I attended Toronto Arrows Games as a kid. In Durham Region, I think of how many young Clarington Flames, Oshawa Lady Generals, Whitby Wolves, Durham West Lightning and North Durham Blades players have been inspired by their play. Many came out to a CWHL game hosted in Bowmanville this season. Sport is an important part of the cultural fabric of Ontario. Hockey in particular is something that brings Ontarians together regardless of ethnicity and background, uniting people behind a common love for the game. I want our incredible female athletes to know that I stand with them to fight for the continued success for our game. By coming together as a hockey community, we will keep these players on the ice. Thank you. Member Statements. Member for York Southwest. Thank you, Mr Speaker. I rise today to speak on the housing crisis taking place in my riding of York Southwest. Last week I held a town hall in my riding on housing to hear directly from the constituents. People are stuck and Toronto's housing support systems are bursting at the seams. I heard directly from constituents who have been waiting on the waiting list for affordable housing for more than seven years, whether they were young families, single mothers with children and those living with disabilities. The system chewed them up and spat them out for those who were fortunate enough to secure shelter while waiting for affordable housing constituents reported having to spend the majority of their income on housing. This is addition to having to live in overcrowded conditions due to prices restrained. With more than 100,000 households waiting to access 94,000 social housing units in Toronto, it is safe to say that we are experiencing a crisis again and again. I have been asked by constituents why this government isn't pushing more purpose-built rental units to build instead of condos that they will never be able to afford. After 15 years of neglect by the previous Liberals, the people of York Southwest are hurting and they know that this current Conservative government won't be of any help to them. It is making things worse. The people of York Southwest deserve better. Thank you, Mr Speaker. Member Statements, the Member for Guelph. Thank you, Mr Speaker. It is an honour to rise today on the inaugural Green Shirt Day. Today we thank Logan Boulet and Oregon donors across the country. Logan made the decision to be a donor just weeks before his passing in the tragic Humboldt Broncos bus crash. He has inspired thousands of Canadians to register as Oregon donors. I also today want to thank one of my constituents, Janet Parr. Janet is a community hero and organ donation champion who received the Trillium Gift of Life Network's 2018 Champion Award. A heart transplant recipient, Janet has made an outstanding difference in organ and tissue donations in Ontario. Janet along with Linda and Mike Willis have worked tirelessly to promote organ donations in our community. As a result, the number of registered organ donors in Guelph is far above the provincial average. And I want to thank Janet, Mike and Linda for the tremendous work they have done in our community. And I'm proud to say that I'm one of the 51,160 registered organ donors in Guelph. And I encourage everyone across Ontario and across the country to be an organ donor and visit BeaDonor.ca and sign up today. Thank you Mr. Speaker. Thank you very much. Member Statements, the Member for Perth Wellington. Thank you Speaker. Today I rise in the Legislature to recognize the newest sports hero of Listwell in my writing of Perth Wellington. Yesterday Corey Connors won the Valero, Texas Open in his first PGA event. He has also punched his ticket to next week's Masters in Augusta, Georgia. Corey brought his A-game to the golf course on Sunday. He made three birdies in the final five holes shooting a 666. He was 20 under for the tournament. He is the first Monday qualifier to win on a PGA tour since 2010. This is also his first PGA tournament win. He will join only one other Canadian at next week's Masters, the great Mike Weir. Corey got his start putting and ball striking at the Listwell Golf Club. From a young age, we all saw his passion for the game. No matter the career highs or lows, he always remained positive. Corey is focused on doing his best and leaving it all on the course. His colleagues describe him as a smart, constituent, a smart, constant and committed golfer. His hard work and determination paid off yesterday in Texas. Congratulations to Corey and his biggest supporter, his wife Mallory. Both of you stole the hearts of Canadians yesterday. Listwell Ontario and Canada will be cheering you on at next week's Masters. Way to go, Corey. Member for Spadina, Fort York. Thank you, Mr. Speaker. Last Thursday I joined a few thousand students who are just some of the hundred thousand students who walked out to protest against cuts to our schools. Then on Saturday, I marched here at a rally where tens of thousands of students' parents and teachers were rallying for our public education system. As a teacher in 1997, I marched on Queens Park in a similar rally when conservative Premier Mike Harris launched an all-out assault on our schools. His goal was to create, in the words of the Conservative Minister of the Day, a useful crisis in order to open our schools for eventual privatization. He said that he would start discrediting our school system and launch an all-out verbal assault on teachers and students who were fighting to protect schools. Last week, the government started using the same rhetoric as the Conservatives used during the Harris years. The Premier called teachers and students' thugs and ponds, saying the system is broken, even though Ontario students are tied for first in reading, seventh for science, and in the top 25% in math and international scores. There is work to be done to improve our schools, but that's a continuous job and you don't improve our schools by cutting teachers out of them. Mike Harris cut one point, underfunded our public schools by $1.2 billion, and then launched a $700 million private school tax credit. It is the same privatization agenda that the parents and students and teachers who were marching last week understand is the agenda of this government, and they will fight to protect our school system. Thank you. Member for Haldeman Norfolk. It gives me great pleasure to congratulate Jason Gordy on his recent victory at the Special Olympic World Games in Abu Dhabi. Jason Gordy is a well-known and top-notch Special Olympics athlete from Norfolk County. For the past 25 years, Jason has represented my riding at Special Olympics events across Canada, initially as a swimmer, however, now at age 46, he's a bowler. Jason trained extremely hard to hone his bowling techniques, and finally, his training paid off. Gordy won gold in the Men's Lagos competition, a final score of 502 and 10-pin bowling at the Special Olympics World Games. Shirley Shaw, a Sympos Community Coordinator of Special Olympics, is quoted in the reformer. We were so excited he got gold. We are more than ecstatic that all of the extra training he put in has really paid off. Jason is a lovely young man and is very involved in the Special Olympics. Speaker, Jason Gordy is not only a bowling champion, he also plays golf, plays basketball, and he's a junior coach with the swim team. Gordy truly is an inspiration, and his contributions are greatly appreciated and respected. Thank you, and congratulations, Jason Gordy. Thank you very much. Member Statements, the member from Milton. Mr. Speaker, I rise today to highlight the Fine Arts Society of Milton. I have started displaying local artists' paintings on the walls of my constituency office in an effort to showcase the talented individuals in my great writing of Milton. Mr. Speaker, everyone who comes through my constituency office can see the artwork now displayed on the walls and get to know the story of each painter. I will be rotating it every six weeks and look forward to highlighting many more talented artists moving forward. Mr. Speaker, just as the dining room at Queen's Park works to promote Ontario's artists, I am working to do the same in my constituency office to highlight our Miltonians. Mr. Speaker, the Fine Arts Society of Milton is a nonprofit organization that promotes fine art and artists in Milton and the surrounding area. The first painting that we're currently displaying were created by Christie Rutter from Campbell Road. They include paintings named Int of Blue, Greeting the Dawn, and Color Me Not. Mr. Speaker, I thank Christie and the Fine Arts Society of Milton for working with me to create this awesome program. Thank you, Mr. Speaker. Thank you very much. That concludes our time for Member Statements. Reports by committees.


Okay, if you've watched my first two tutorials in this series on PHP, which by the way, hopefully if I didn't forget, there should be an annotation to the playlist which will have all the videos in it, which will be added once to twice a week, hopefully be adding videos to it. This is going to be kind of boring for you, because it's 99% review just like last time when we sorted text files and the first tutorial we read them, basically we added one thing and we're kind of doing the same thing, but reviewing is good, so I'm going to try to review really quick here, okay? So once again, as always, a list here, we've got the PHP files we've made and then we also have a text file that I'll look at out here called names. You can see up here our sort PHP, right now we have it reverse sort, so it's sorting them in reverse alphanumeric order. Today we're going to shuffle that file. So right here I'm going to create a file, I'll call it shuffle.php, we're going to create our PHP tags here, and I'm going to create an array called lines, going to call the function file and pass it the name of the file that we want to read, which is list, names.list, and then for each in our array here, so we're doing a for loop, that's why we have the squiggly braces there, curly braces, squiggly brackets, whatever you want to call them, dollar sign lines, which is our array as dollar sign name, and then we will echo dollar sign name and line break. So that's how we read a file, so that's all review at this point. Last time we did a sort and a reverse sort function passing it our array, this time we are going to say shuffle dollar sign lines, giving it our array. So basically we're saying read this file, so file, this file, and put it into an array called lines, and then we're going to say look at each line in this array, each item in this array, and we're going to shuffle it. So now it's all mixed up, and then we're going to read it line by line and output each thing on each line. So let's save that, so we go back and you can see we have a file called shuffle.php here, I'm going to click that, oh see I got an error here and right away I can look at my code and know what it is without even reading it, but it does tell you that the problem is on line 7 and it tells you what the problem is and basically as I stated in earlier tutorials, and each command with a semicolon. Okay, so I did that, saved it, refresh, and there we go, we have our list of names in reverse order, if we refresh you can see each time it will shuffle them and display them in a different order, a random order if you will kind of sort of. So that is how you shuffle text files, each line in the text file, so I'm just hitting F5 to refresh here, you can click the refresh button, so if you ever need to grab some random name from a file you can do that and you'll have them in a random order, so that is it, thank you for watching tutorial, sorry if it was a little boring, probably should just add this into the last tutorial but I didn't think about it until after I finished recording, so shuffling, text files, there you go, please visit filmsbychrist.com for more tutorials like these and on other programming languages, once again this is part of a series on PHP that I'm doing, there should be an annotation to the playlist and once we get through some just basic PHP stuff and we finish up on the jQuery tutorials, then we're going to start making applications that will later on package into different packages for different operating systems, so I thank you for watching and please visit filmsbychrist.com, there should be a link in the description, have a great day.


Hej och välkomna till Patreon Q&A. Först frågan från min män, Lachalan Short. Den dödpenalten är du för eller mot det? Jag är definitivt för den dödpenalten och speciellt i den här dagen när vi har progressat så långt i terms av science och i terms of finding evidence. Had you asked me 50 years ago, I probably would have said no in most cases because proving things, obviously if you prove innocent man to death, then you have committed a rather grievous error, but as it is right now, we can figure out via DNA samples, etc. Who has committed what crime. So for example I would definitely encourage Sweden for example and all of the west to reinstate the death penalty for sexual crimes, especially so if we have a case of gang rape in Sweden and you have DNA evidence of who has done what, then it's definitely a good idea to have a public execution or a private execution or something like that. But anyway, the moral question of death penalty, it's absolutely a good idea to have death penalty. We can obviously not have people who participate in gang rapes. You cannot have them living in a society. Then you have forsaken all claims to life if you do something as horrible as that. So the moral argument is definitely no question about it at all. Then it's just a matter of can we prove it with 100 percent certainty. And yes, we can via DNA samples. So in the case of pedophiles gang rapist, etc. Yes, definitely death penalty is a good idea. And now here's a heads up for any man who is watching this. If you don't agree here, if you don't think death penalty is a good idea, it might be worth checking your testosterone levels because testosterone is linked with a sound sense of justice. And if you have a low testosterone, it might be the case that your moral compass is a bit off. So if you do think that death penalty is something bad or outdated, definitely check your testosterone and you can supplement with some sync if it's low. Anyway, that was just a side note because that's something that we don't really talk that much about because usually testosterone is vilified when we talk about it. But it's actually a very good hormone. It's very good to have. It's very necessary for a man to have. So anyway, I hope that responded to the question. Some advice for the older warriors would be welcome. Well, honestly, there is no difference really in the advice for older or younger people. It's the same thing. Just embrace the glorious pill and bark upon the self improvement journey. And especially with the gym, it doesn't. It might sound like a cliche that you say that oh, it's never too late to start. But in the gym, it's actually very true because you will get your noob games.  So if you've never gone to the gym and if you're 40 years of age, you will still experience great games, so just get at it. Next question from my man, Robert Greene. Who are some of your favorite Swedish kings or leaders? Well, I have two Swedish kings that I appreciate in particular. First risk, Carolus Rex, and that is quite obvious. He spent his entire life fighting to keep Sweden free. So in terms of martial heroism, I definitely respect him and the men he led. They were giving everything they had against surrounded by enemies to keep Sweden free. So definitely I am very much appreciating the sacrifices they made. And I have made a video about him before a tribute of sorts. But also I definitely respect and admire Gustav III, because he was in a bit of a different situation. Carolus Rex, he was thrown into a war basically. He had that coming to him, he couldn't really react in any different way. Gustav III, however, he took the choice. He could have lived out his life in luxury and not really cared about anything at all. Because the situation there was that he saw Sweden being torn apart by two parties. Hattana och mössuna, which means the hats and the caps, basically two different parties. One was bought by the French and the other was bought by the Russians. And they did not work for the interests of the Swedish people or for the Swedish nation. Gustav III obviously viewed this as a problem and decided to do something against it. So he staged a coup and took the power. He obviously was king already, but he was a king in name. The parliament had all the power. But he decided to take the power to himself and to bring Sweden up to speed in a lot of ways. So he modernized Sweden in a good sense of the word. And he was also a great patron of the arts. So he was called a theater king because he liked those sort of things. But anyway, the reason I appreciate him and his sacrifice is that he had the choice. He could just as easily have taken the path of decadence and luxury and just let these two political parties have torn Sweden apart. But he did the right thing. He took the hard road instead of the luxurious road. And this is something I wish more Swedes would do in this particular moment in time. Now most people are too afraid to say like, oh, mass immigration is bad. Most Swedish people, they still go like this. Oh, I don't want to offend anyone. And then they let people like me take all the heat. But then again, I don't complain because that's glory for me. And I noted both Caroll's rex and Gustav III. They are smiling down upon me and obviously guys like me. I'm certainly not the only political dissident in Sweden at this particular moment in time. But anyway, to conclude the answer to that question. The reason I respect Gustav III is that he actually had the choice. He wasn't pushed into doing anything. He did it even though he could just as well not have done anything at all. And also, since the coup he staged was bloodless, I definitely can respect the sheer intelligence and. The level of strategy in pulling something like that off. Last question from a Hellenic brother called Justinian. Greetings from Hellas. I've been a silent follower since early 2017, and now your advice is needed. I've undertaken most of the challenges that you've suggested. I've introduced gym and nutrition for more than a year now, reading, no fapping, no drunkenness, gallantry to my fair maiden, etc. Are already part of my life for longer than I can remember. I have elevated myself, preservation, my work, productivity, my influence to others. I've taken up new skills, both professionally, engineering and personally writing articles, cooking, etc. I've battled my smoking addiction and now I'm off smoking for four years. I've introduced wisdom walks twice a week, one alone and one with my fair maiden or a friend. Wild hunts, once a quarter, cultural sacks, different every three months in my life. I'm currently not perfect in any sense of the world on the above, but I'm constantly focused on improving them. But I do feel the need to improve in other areas and challenge myself more. My goals for next year are fatherhood and more professional advancement. How would you advise me to move forward? Jag vill inte ha det här frågan, men jag vill bara lägga det ut. Det varms min hjärta för att se att gallant-leggenare går i det här sättet. Det är absolut hårdvarmigt att hitta sådana saker. Jag är definitivt glömt för dig att ha de här städerna. Och med det viset jag har, jag har ingen aning. Jag har ingen aning för att hitta sådana saker. Jag har ingen aning för att hitta sådana saker. Jag har ingen aning för att hitta sådana saker. Och jag har ingenting att förändra för att berätta på. Jag har ingenting att förändra för att berätta på. Men det är definitivt bra att göda dig om progressen och jag tror att din plan är bra. förväntningarna är riktigt bra. Så förväntningarna, om du har möjlighet, definitivt en bra nästa steg. Och förväntningar professionellt alltid en bra idé också. Så mitt bästa uppdrag är att bara hålla på och fortsätta att övna journeyen. Och svarlig fråga om flexibilitet och stjärna. Och jag har aldrig gjort den stjärna-tutorial-videoen. Så jag har lärt mig att lägga dig till det här. Och jag hoppas att det gör dig bra. Så i alla fall. Tack för att ni tittade. XOXO, boom!


Despite a rare May rainstorm, crews from the California Geological Survey were in the back parking lot at Cal OES headquarters, installing the latest tool in California's robust earthquake early warning system. Our goal with building out the California earthquake early warning system network is to build a network of sensors that total 1,115 sensors. While these seismic stations vary from location to location, they all perform the same primary functions. They register the movement of the Earth 24-7. If and when an earthquake happens, these stations will be the first to know. Scientists have come up with an estimate that we have a 99% chance of having a magnitude 6.7 earthquake somewhere in the state in the next 30 years. This latest seismic station here at Cal OES is closest to the Hayward Fault. I'd say we're about 70 or 80 miles away from Oakland. So in this case, assuming that the shaking is continuing to head towards Sacramento, we feel some level of shaking. You could have up to a minute of warning in this situation. We want everybody to be prepared. We want you to practice those protective actions and, you know, we'll continue here at Cal OES investing in this earthquake early warning system so we can give everybody a chance to protect themselves and their family. For more information on California's earthquake early warning system or for earthquake preparedness tips, you can visit the earthquake page on our website, caloes.ca.gov. For all of us at Cal OES, I'm Brian May. Visit our online newsroom at oesnews.com to learn more about this program and get the latest news and information from our team. Don't miss our next video on your Facebook timeline. Like our page and you'll get the latest posts as they happen. If you're an Instagram user, you can see the latest snapshots by following our Cal OES Instagram account. And Twitter users can get instant access to our tweets from across the state by following Cal OES.


Yeah. Welcome everybody. I am Mario Tore, and this is Marco Steart. We're here today to introduce a little bit about Mission Control at Fryer Recorder and explain what it is, how it can be useful, and how it can be useful, especially in a production system. That's the agenda for today, as I said, a short introduction. Then we will see one specific use case, but that should be taken as an example of what you can do with the framework, obviously. The example is about open tracing, and we will see how to do analysis or distribute the application with load balancing and everything. The first code drop, I would say Mission Control at Fryer Recorder can be seen as some kind of a framework or a platform. It's actually two big pieces. One is living in the JDK, and that's Fryer Recorder. The other part is a standalone application with a very comprehensive set of APIs that is Mission Control. Fryer Recorder was open sourced last year with OpenJDK 11. While Mission Control was followed pretty soon after, they both resided as an official project under the OpenJDK umbrella. Since then, it's been less than a year basically. There's a very awesome number of contributions. This has been a very, very good project from the beginning. I want to take this opportunity to thank Marcus because he's running. It's really, really open on the project. And of course, why Oregon and Redata are the main contributor at this point? There's been a lot of discussion and contribution from the rest of the community. So it's a very healthy open source project. So JDK Fryer Recorder. The good analogy for that is actually from the name itself. When you think about the Fryer Recorder, the data recorder in a night plane, is something that starts gathering information of events that happened during the flight. Sometimes, also in case of catastrophic events, keeps recording. And then there is a way to store all those events and then at some point with a forensic tool afterward, analyze them. This is what happens between Mission Control and Fryer Recorder. Mission Control is this forensic tool while Fryer Recorder is the actual data itself. Again, open source in JDK 11 is very actively developed so the Osport team is still adding features at every release. An example of how you can use that. So in addition to the user metrics there for the actual JVM, there is also a very nice and neat API that you can use to extend your own application. So it's possible to instrument your application adding events and then those events will basically use everything that is the same infrastructure that the Fryer Recorder events use and then be analyzed by Mission Control. So it's very easy to add events. This is the most trivial example. It's basically creating a class that needs to extend an event and then you can start adding some information about what it is that you are logging. In this case the three-year example is just adding labels but you have all sorts of different metadata that can be useful to analyze and structure the event, things like the frequency for instance or giving meaning to specific fields. And yeah, that is basically everything you do to define those. Then whenever this is necessary, you decide whatever the event should be committed. At that point some magic happens and then it ends up in the Flyer Recorder file. As you see, this is extremely easy. The next step, the next part of the feature is Mission Control. Mission Control is an application. So it's mostly based on Eclipse. So you run as a standalone desktop application. However, it also has an API that you can use to build your own application using the power of this framework. It's an API. We will see that in the next slide. There is very similar, I would say, to the streams. So you don't actually go and do some one-by-one event processing of the data. Instead you ask Mission Control to give you some statistical analysis for you. This is very powerful. That's an example, for instance. This is basically a method that is using the API without the full application but only the API to create an HTML report out of the rules. So it's basically lower the events. This is the event file that's been created by the JVM when dumping the Flyer Recorder file. Another example here, this is a little bit more complex and by complexity it really means just five lines of code more and this explains how powerful the API is. So basically you're still collecting the events, you're still analyzing them and there at some point you get account and average and those are, as you see, you never deal with the single events. You basically ask to the framework to give you an average and a standard deviation and then you can bring the result in so few lines of code it's possible to get a lot of information out of it. Some of this information. Well, actually another example that we were creating some example for this demonstration and we went for a more complex one that Markus is going to show you. That's an example you can download. This is very nice because this is basically two Java applications running in two separate Docker containers. They are talking to each other. One is controlling Flyer Recorder and the other is actually the VM that is being targeted to be analyzed and then this is dumping events, the Flyer Recorder data then the first application that analyzes using the Mission Control API. It gives you another use case. Open tracing. This one has... Right. Yes. Okay. Yes. So I actually have a fever so I might be delirious. Anyways, I'm impressed that I'm on. So open tracing. Yeah. So I have an example here consisting of a few microservices. It's a robot ordering and building application. So these are the three microservices. We have an order service that just takes the orders and when we get an order we'll verify that the customer is an actual customer in the system and then we're going to talk to factory for building the robots and that's pretty much it. We also have a load generator that we can use to do this full system testing. So this is how it might look. We're getting a request. We're talking to the say order system and the order system in turn is going to verify that the customer exists by talking to the customer service and then we're going to maybe talk to a few factories to start building these robots. But what if something goes wrong? This is where open tracing or distributed tracing systems come in. So Google released a paper called Dapper that many of you probably already know about about their infrastructure, their distributed tracing infrastructure in 2010 and that has inspired a host of other systems like Zipkin and Jager. How many here knows about Zipkin? Almost everybody. So it's a very commonly used tool. Of course this is nothing new. Distributed tracing is something that people have been doing for quite some time. All the APM vendors are doing this in one way or another. And they are all doing pretty much the same thing if we talk about Java land. Everybody is using bytecode instrumentation to get data from various different systems. So the differentiation here is really about what to instrument, what data to get and then also the other part of the differentiation is really how they present the data to the user. So the value add here is knowing what to actually do with the data once you have it. So previously if you wanted to add some contextual information so you have your own application and you would really like to put some pieces of information into this distributed tracing well you would need to work with a vendor specific proprietary API or if you as a library vendor wanted to add some special information there again you pretty much had to work with one of the tracer implementations. So then came open tracing which is a vendor independent API so that you can support multiple tracers with one API. And you can add contextual information without worrying about some vendor looking. And yeah, there is a spec on GitHub if you are interested in looking at the spec. So I am quickly just going to go through some basic parts of the API because you will need to know this when I do the demo. So the core API, well this is not actually part of the API but the core concept is the distributed trace. So this is something that will span multiple processes or can span multiple processes and it's really a directed I-Cyclic graph of spans so we will get to spans. And a span itself has an operation name and some data so there are key value stores sort of. It has a start time and an end time that's really the key piece of information you want to know how long these spans took because that's probably one of the key pieces of information you are going to use to find out that something is going bad. Okay, then there is a span context and that is propagated across the process boundaries. So I am just going to skip ahead. So in our robot shop this is what this graph could look like. So we have the low generator which does a full system test it's going to create a customer, a random customer then we are going to post an order which might be multiple robots that we want to create. We are going to start by validating the customer then create whatever many robots we want to create pick up the robots and fulfill the order and at the very end delete our customer. So I am going to do a quick demo of what this might look like. So I am going to start a bunch of services you are going to see an exception because I am running JDK 11 from the Scanners. Well, you don't see anything? Is this going to help? Do I need to do something else? Do I need to exit here? Hello. Okay, I am near. Where do I do that? Okay, so display. Okay, so you are seeing something at least. Okay, so I have started a bunch of services and now I am going to start a little load generator single increment load generator so it is now creating this customer and it is going to fulfill an order and after a little while we are going to be done there and I am just going to start the Jager UI so that we can look at our traces here and here we go. So this is basically the full cycle of us creating a customer you can see that we first check whatever types the factory can build and then we are checking what paints are available and then we create a random user and at some point here we are going to start building robots in a factory. What we can see when we start building these robots is that creating a chassis actually takes, there is a lot of variance in how long it takes to create a chassis. So here we are creating an EVE type of robot then we are painting it red here we are creating some other type of robot and you can see that the variance in how long it takes to actually create those robots I mean it would be an amazing factory that can create robots in seconds but still, you know, it is a lot of variance and why is that? And this is typically where these distributed traces break down you don't get the information that you need to actually be able to do something about this so you know that there is a problem probably in the factory but you don't know what to do about it. So, what if we... Okay, so I am going to just do it like this Exit, here, I don't care, I've got a fever. So, here we go. So the idea then is what happens if you start marrying flight recorder with the distributed tracer So, what if you could get the low level information that you require to be able to solve these kind of problems and you can marry that with the tracer so basically what you would need is some way to take the contextual information that you have from the tracer and push that into the flight recorder so you can start correlating them, right? You would be able to get, record the trace ID span ID all these kind of identities that allow you to properly go find what was actually going down So, one way to do that is to create an open tracing tracer and start emitting flight recorder events using the tracer and there is a concept that I didn't talk about which is called scope and that is a thread local activation of a span So, that rhymes very well with the thread local recording of events in flight recorder, right? So, what if we could do that? What if we could start recording this contextual information? Then we could probably do something good So, I built a prototype I've donated it to open tracing There are still some things in open tracing that should be fixed to minimize the object allocations but it works and it's built as an MR jar so it will work on Oracle JDK 7 and Open JDK 11 plus and there is a link towards the end I think the link might be to my Github repo pre-donating it So, I'm going to do a quick demo of what might happen if we... Okay, so, I'm just going to go ahead and push some more data into the tracer and the thing is, I am actually running with flight recorder already So, let's take a look at Jager UI Now, we should have another trace, right? So, what do we want to do? Now, we want to check out what the factory was actually doing So, let's go back to my Eclipse and let's look at flight recorder So, all these guys actually have a flight recording running and it's the factory that I'm interested in So, I'm just going to go ahead and dump that whole recording So, I've dumped the recording and I've actually done a little special UI here for traces So, we can see that there is a bunch of traces here Low resolution and we can see that we have one trace that took 1.3 seconds So, maybe look at what was actually going on there and let's go to the Java application... well, Java threads actually and I want to see all of them and I only want to see stuff that was happening in the same thread during the same time So, here we can see what was actually going on here I'm going to zoom in a little bit So, we see our thread local activations of the spans So, we can see that there are scope events associated to that span ID and you know, you would get that ID from Jager if you really wanted to homing on a specific one and you can see that what's happening here is that we're actually blocked on entering a Java monitor here So, we have a synchronization problem here and well, we can either go look at the actual log instances here very specifically and we see that it's this monitor and this is the stack trace So, it's this logger that is being used and this logger is the thing that we're all synchronizing on all these threads and that's why we have this skew or variance in the time it takes to invoke this problem So, we now have stack traces we have low level events like Java monitor enter it's not just Java monitor enter we have parks, we have all these this very rich, if you haven't looked at the flight recorder you'll see that there is a very rich set of events So, there is a method profiler so allocation profiling in this case it's thread holds So, what is actually going on when we aren't executing So, what holds the thread and in this case it was Java monitor enter and that's why we're not executing So, how are we time wise? I think we have a few minutes for questions as well Okay, so I'll just go back to Five minutes more Okay So, that we can have some questions I'm going to sum this up JDK flight recorder has been open sourced since JDK 11 so it's something that you can already use There are even ARM builds with flight recorder working on open JDK So, those of you who are doing embedded systems might find that very useful to record sensor data and I have an example with using laser rangefinders and recording the laser rangefinder information and using admission control to render what we're actually seeing So, that's kind of cool It's mission control has been open sourced I'm sorry it hasn't been released yet It's processed stuff So, it should be released within, I don't know maybe a couple of weeks We'll see Open tracing is open sourced has always been and that's the vendor neutral initiative for doing distributed tracing and since I'm Oracle and since I actually said something about the future this slide Especially regarding the release Especially regarding the release that might change at the sole discretion of Oracle So, here are some resources So, the project for mission control that's up there my blog here So, I'm talking about cool things you could do with flight recorder usually and then my Github if you want to look at some of the examples or the tracer or whatever There are also some serviceability examples for the Java serviceability APIs and stuff Okay So, I'm going to sit down I think Yeah, do you have a question for us? Yeah Questions I think I have to look around there and then come So, I've been doing similar kind of event sort of like inserting event into my application and at the moment I'm actually using something called micrometer from sprain So, how is that matrix sort of event differs from open tracing or can they actually be basically I just instrument it once and then basically I'll get all the events So, what you mean is how this is different from open tracing? Oh, okay So, open tracing is just an API for a vendor neutral API to push things into the tracers, right? So, you can use it with Zipkin you can use it with Jager you can use it with a lot of different tracers So, the thing you get with open tracing is the ability to just use one API and then the end user can choose which tracer he wants to use I'm not sure about micrometer or how it's implemented If you're talking about flight recorder and stuffing things into flight recorder Well, flight recorder is a very highly efficient recording engine built into the JVM So, the overhead when you're using flight recorder and there is a ton of cool things we're doing Like some platforms we're using invariant TSC for time stamping getting really fast time stamping It's a binary format We're using integer compression to make sure that we're not using more memory than we want to or as little as possible And there's a whole host of cool things we're doing inside of JVM to just make sure that it's really, really fast And if you turn off an event and it's on the hot path you can be pretty sure that it's going to be optimized If you disassemble the assembly for the method you're basically not going to see a trace of anything that has to do with events I think also one point important is the knowledge of the knowledge of everything of those events because it's all tied to the runtime of the JVM So when you're adding some events that are custom events for your application you still have some way or contextualize that with the rest of the environment And that's where the example Marcus did before is important and critical It's not an open tracing I can't tell you because of some specific reason but it's only because it doesn't have the knowledge of the runtime it's running on where the virtual machine does have this knowledge So it's easy for you to correlate the various events in the same application and this is the power of Flaregården I think another good point Oh, this is a long answer to your question Now we're going down the rabbit hole But another good point is that it's built into the JVM So there is certain information that we can get from the JVM So heap composition for example when we garbage collect we can start gathering data as part of the say the mark phase of the garbage collector So you don't need to explicitly go say to now I want to go through the heap to see what's there We can piggyback on already existing systems to get the data So some data we pretty much get for free just as part of running the program Well, that is a good question I don't think you want to do that but you can Because the problem with Prometheus is that Prometheus is very much about harvesting the data You will hand up getting one event at a time So you can absolutely do that with Prometheus and have some way of telling So I don't know if you write a simple application that reads the fry record the events and then one by one make them available to Prometheus But I think this will kind of invited the point that you have access to all the statistical metals in the first place and there's all the overhead So to take an example just a random example If you take a flight recording file which is a binary recording which has constant pools for the stack traces I mean stack traces are literally sets of integers pointing into the constant pool If you take that thing and you transform it to JSON that thing is going to blow up by several orders of magnitude It's like and then if you take all that data and you try to push it into an event system that event system is going to be unhappy So it's better to get the data when you need it So for example the example that I did with the tracer So when you know that there is something suspicious going on you can leave the fry record running because you're not going to see more than say a percent of overhead you can actually have it running all the time So when you see something that actually is interesting to you from the contextual data that you get from the tracer that's when you can dump it and look at the data and the detailed data and as Mario was talking about you have in mission control a bunch of there is the core API from mission control which is basically a set of bundles that you can use to do automated analysis of flight recordings So then you can push that through that pipeline if you want to So this is what I wanted to ask So the best approach in this case would be to have some kind of embedding application that does the processing using the API and then output the results to Prometheus if you want to in some already automated form Yeah Yes, it's over It's over It's over Well, thank you Thank you