And we'll go to ads manager, perfect. So now we're good. Gee, now it's time to roll up your sleeves and get into it. So, but again, we had to spend some time on those because without those, this is a waste of money, right? Without those custom audiences set up correctly, without the custom conversion set up correctly, this would have been a waste of money, this ad campaign. So now we're good. Now we're gonna click on the green button, we're gonna create and we're gonna go into conversions. That's our campaign objective is conversions. And that's for anyone, wait, actually no, no, no, don't, don't click anything yet. Go, go, go, yeah, that's fine, that's fine. But try not to click ahead because every little thing is important. So click on edit. So what we'll do, it's fine, we could do it from here. So we're gonna name the campaign. So go ahead and give it a name at the top and what you're naming it, what you're naming it is also in parentheses, you're gonna name it conversions because as you look at everything on the dashboard, you see how behind this screen, you have the blue dots to the left? It says seller guide leads conversions in parentheses and then below it, it says video views. What you wanna start doing in these titles is getting more specific and more descriptive because when you look at this, when you look at the dashboard from a 30,000 square foot view just like I'm looking at it now, the background, I see seller guide leads conversions and then I see video views. But when I look at it and see video views, I'm thinking, what video? Right? Right, yeah. So as you have 15 different ads going and if they're all listed video views, you're gonna be like, shit, what ad is that? Right, so you wanna be descriptive in the title. So in this case, seller guide leads conversions, that's perfect for the first title and then as we go on to the second title, which is new ad set, and then as we go to the third title, new ad, we'll also wanna be descriptive on those as well. So this is fine for now. So we got conversions, we got seller guide leads conversions and then let's scroll actually at the top.  That gray needs to always go on. Hit the dropdown and you're going to housing. That's for your specific business. You always need to do that. If you don't shift that to on and turn it blue, this ad will get rejected, okay? So you'll always need to shift it to blue. Okay, good, so we're good there, we're good there. We don't need campaign budget optimization in this case. We'll just hit next. So that's the first step. That's the first what I call tab. That's the objective, conversions. Now we're in the second tab, which is the second step and this is where we're gonna choose our budget, our targeting, our age. Actually, we can't choose age, but this is where we'll choose our conversion event. So right there, sometimes watch X out, right where it says seller guide leads. Hit that X, X that out. Sometimes as you come, yeah, X that out. Sometimes as you get to this step, that will be blank. So if it's ever blank, all you'll do, it'll look just like that. Sometimes it looks just like that. It's red, it's blank. You'll have to click on it, find your custom conversion and then choose it. So your custom conversion, we named it seller guide leads. That's the thank you page, okay? So that's what we're telling Facebook over here. We're telling Facebook the end destination. We're telling Facebook the actual goal and that's to get people to the thank you page, which is my custom event, my conversion event, seller guide leads. So right at the top, new ad set, this is simply naming the second tab, naming, normally what I do in here is I'll name the city that I'm targeting. I'll name maybe the demographics that we're targeting, but in your case, in your case with real estate, we're gonna just target, we're gonna leave everything blank. So if anything, maybe put the city, put the name of the city in the title of the ad set name and then maybe also put the actual, maybe put the budget. I don't put seller guide. No, no, no, no, no. Because again, you already named the first step that, seller guide leads, conversions, you already got a name there. We're now in the second step, we wanna give this an abbreviation as well. And so normally the city, and then maybe the budget can go right there. Just again, this is only important when you're looking at everything from a bird's eye view. And I'll show you once we're done. This is just good when you're glancing at everything. You know exactly what campaign that is. So this is targeting Kirkland. This is, and then you could maybe put the actual budget. So let me ask you this first. Let me ask you this first before you put anything else. Are we targeting multiple cities or is it just one city? I was gonna do about like five cities. Perfect, perfect. Okay, cool.  Okay, cool. So right here we're gonna put, I can't really read it. It's too, you got Kirkland, what? Kirkland East side? East side, because all of the five cities that I'm targeting are on the East side. Perfect, okay, cool. So, okay, that's fine. Okay, so now we're gonna scroll down. We got our pixel, our pixel is there. Our custom conversion. And then here you're gonna go, and the reason why I asked how many cities? Because what we're gonna do is we're gonna set up each one individually. What a lot of rookies do is they'll put all five cities all in this one campaign. That's not how you run ads. We're gonna separate every single one of them. So with that being said, it's up to you. Five cities, it's up to you. Four cities, three cities. But what you wanna base it on is five bucks per day. So the daily budget changed that 20 to five. And you're not gonna run this. So for example, if we go five bucks a day on Kirkland, and then we go five bucks a day on Seattle, and we go five bucks a day on freakin' the other city, we're at $15 per day. We're not gonna be at that budget for an entire month. We're only gonna be at that budget for three days. So for example, three, here's how it works. Here's how it works. So we're gonna set this up four cities. We'll just do four cities at a time, $20 a day. But the way we test it and the way we gauge it is we put in four cities individually, five bucks a day, which puts us at $20 a day overall. You run that for three days. You run it for three days. We come back in and we see which city is giving us the leads. It's only gonna be one out of four. It might be two out of four. You might think Kirkland loves you, but maybe they don't. Maybe the leads are coming from Kirkland and you're getting more leads from Seattle or whatever.  And then we just run with Seattle, for example. So if we set up four in the beginning, it's only gonna be one to two of them that we end up keeping in the end. And the end is three days. So it's not like you're gonna run this one campaign at 20 bucks a day for 30 days. It's really just the first few days to find that one audience, to find the one out of four that is our winner. Makes sense? So it's either we go five bucks a day or we go 10 bucks a day. And that's why in the beginning, in the beginning you'll spend a little bit more in the beginning because in the beginning you're targeting a cold market. We're getting ready to release an ad to an audience that don't know us. They've never been on our website. They've never, well, in this case, they watched our intro video because we're gonna retarget those who watched the intro video. But other than that, we're talking a couple million people or let's just call it a few hundred thousand people that don't even know us. So that's why in the very, very beginning, the ads are always a little bit more expensive cost per lead, always a little bit more expensive because you're targeting a cold audience. After we go on to ad number two, three, four, five, then we have a warmer audience. Now we're retargeting people who landed on our website. We're retargeting more people who watched our videos in the past. We're retargeting video number one, video number two, video number three. We're now on ad number four. We're retargeting video number one, two and three, the 25%ers. So now by the time we get to three, four and five, we're retargeting warmer audiences. So therefore our cost per lead will drop significantly. It's just in the beginning, we may end up paying more per lead. So five bucks a day is okay, 10 bucks a day is better, obviously, but it's up to you because what we're testing is for audiences at a time. So if we went 10 bucks per day, you're at $40 per day for the first three days. Okay. You know what I mean? So it's kind of up to you, but again, in real estate, that's why I always say like in real estate, it's like, man, you wanna spend, you wanna spend because it takes one damn deal to justify all this. So if I was spending 20 bucks a day for 30 days, 600, and I'm making six grand for just one damn deal, like that's how you have to be looking at it.  That's what most agents do. They'll spend five bucks and get scared because they didn't capture a lead.   Let's do five bucks, go five bucks. And again, we're gonna set up three other audiences, which will put us at 20 a day. So that's fine. And then now the start date, the start date, let's go tomorrow. Let's go start date the 23rd. Let's start fresh Saturday morning. Go the 23rd and go 6 a.m. Can we do, can we do like Monday or something? Yeah, that's fine. Do Monday at 6 a.m. Yeah, okay, cool. Okay, and then end date, are we doing Wednesday? And you know what we're gonna do also? You know what? This is one way to run the ad. I'm gonna show you another way to run the ad. We'll do the other way next time. And that's campaign budget optimizations. I didn't know we were gonna run multiple cities and that's the best way to do it, but there's two ways to do it. One is through the, through campaign budget optimizations, which I don't wanna confuse you on right now. And then the other way is this way. And we'll just focus on this way for right now, but our next ad we'll test another way as well. So yeah, go ahead and set it for four days. Set it for four days from the 25th to the 29th, or the 30th, or the 30th. Same time, 6 a.m., 6 a.m., perfect. Okay, cool. So we're good there, we're good there. Let's scroll down and here's what we're gonna do. Let's scroll down and then the audiences. So this is where you include and exclude audiences. So right there at the top, you'll see custom audiences. Scroll down, right there. Let's include our 25% of intro video. So those folks who watched our previous video, they're gonna see this ad. And then again, if we already were at the point where we already had leads, ad number two, three and on, then you'll exclude your lead audience. And that's below.  Click away, yeah. So right there where it says exclude, right there where it says exclude, click exclude. That's where you would exclude. You can move that zoom. Is there a zoom window in your way? Where? The zoom panel, is there a zoom panel? It's up there. Yeah, just click it and drag it out the way if it's in your way. But right there where it says exclude, you would click on that and you would exclude your leads. No, above, above, it says exclude, right there. No, so exclude is right here. Oh, guys. Yeah, so this is where you would exclude your leads, that custom audience of leads. You can also set up a custom audience of your appointments. So a custom audience of scheduled appointments is also good as well. That way I can exclude everyone who has already scheduled an appointment with me. Because leads and appointments, those are people who are on two different list within CARTRA. So the reason why I wanna exclude them here is because I don't need to spend money to get them to see, let's say it was a listing lead. And that's a listing lead. Let's say it's a listing lead and they may have not purchased my last listing, but now I have a new listing and I'm running a new Facebook ad three weeks. Let's say we're three weeks later and I'm running a new Facebook ad on a new listing. You would think it would be good to retarget the people who opted in to my listing lead ad three weeks ago, but really I would exclude them because those are people that I don't necessarily need to spend money on showing my next ad, my next listing.  So that's why you'll always exclude leads no matter what. You'll always exclude appointments no matter what. That ad, no, it don't need to run to them. Show them an email, email them that ad. Email them, right? So that right there is your include and exclude audiences and then down the age, you cannot change age in your business, housing, the special ad category, you can no longer change gender. And then the detailed targeting. What I end up doing, because we're only targeting a small area, the detailed targeting, leave it open. What a lot of people do is they'll try to click on, watch click on edit on the detailed targeting to the right edit. What a lot of people do is they'll put in people who showed an interest in Zillow, people who showed an interest in Freakin' realtor.com.  But again, we're targeting one specific area and for the cost, let everybody see it because you can't change age anymore. So you might as well just let everybody see your ad. And it's only those who are interested that are gonna actually watch it. It's only those who are actually interested that are gonna actually click and download. And because we're creating custom audiences around those people, I don't need to narrow it in here. I don't need to narrow it in here. But what you do wanna narrow in is that United States. Take out that US, that's where we put in Kirkland. So above the US, that's where we X out and then we put in our city right there. And then also you want to go with, as you find that Kirkland, right above it, that dropdown, people living in, change that. Yeah, you can change the mileage. And so all the little details that we're doing here, it's always good to use that to abbreviate in the title. So if I'm going Kirkland and I'm going 20, 19 miles, let's put that in the title. Kirkland, 19 miles, and then change that the dropdown. So yeah, I want you to finish that. Yeah, hit that dropdown above. No above, people living in, change that. People living in this location. In this case with a seller guide, I'm looking for homeowners, right? So I'm looking for people who live in, not people traveling in or whatever, you know? So that's super important right there. So go back up to the top and let's add 19 to the title. So right through the title, the very, very top. Yeah? No, no, no, very, very top, very, very top. Very, very top. Go scroll up to the very, very top. Yeah, so back to the title.  It's Kirkland and then just put 19 miles, 19 miles. That's who we're targeting. And then maybe in parentheses, put $5. You know, just so you can see, again, it's just a glance and see the title and know exactly what ad that is when we're viewing everything from the dashboard. That's why that title is important. So Kirkland 19 miles, five bucks, perfect. We're good. Okay, so scroll down, scroll down, scroll down. We're good, good, good age, good gender, good detail targeting. We're gonna leave wide open. Languages, if anything, you may wanna change language and go English all in the languages. So everything is to the right. The edit button is, everything is to the right. So just hover over it and then go to the right languages. To the right, yeah. Edit and then just type in English and then just go with English all. Just hit the drop down, English all, perfect. And then scroll down and here's what we're gonna do. We're actually going to manual place it. So we're not gonna give Facebook the ability to place the ad everywhere and everywhere is right below. So as you look at all this, this is everywhere where Facebook would place the ad. Instagram, Messenger, audience network, all these different platforms, we only have five bucks. So it's like, we need that to stretch as far as we possibly can. And so prime real estate on Facebook is the news feed. So I only wanna be there. So uncheck Instagram, uncheck audience network. Can we leave? I mean, wouldn't it be good on Instagram too? No, not for the same ad. You'll run an Instagram ad completely separate. Okay. So, and that's, yeah, yeah, you'll wanna run it completely separate. And at the same time, that image needs to be sized for Instagram. It's a different dimension. It's a different size image. It's a vertical shot. Okay. Okay. So you'll do a completely different image and a completely different ad for Instagram. So in this case right here, we're gonna uncheck Instagram, uncheck Instagram, uncheck search, uncheck in article. We're only going with the feed. So uncheck all that other stuff. Article, uncheck that. So we're only going with the news feed. Perfect. That's where your ads gonna be seen is the feed. Okay, cool. So scroll down and then maybe put that in the description. Maybe put that in the title. So scroll all the way up and then maybe just put feed only. You know, we're trying to be just brief and descriptive in that title so we can again glance at it and know exactly what we're doing without having to click in and look at everything. Okay. So we're good there. Scroll down, scroll down. We're good. Hit next. Perfect. So now at the top, the title, you could just put image. Just put image, headshot image, put anything in the title of this one. So now all we're gonna do is yeah, go to give it a title, give it a name, image. That's fine. And then Instagram account. We don't need that because we're not running on Instagram. If anything, just hit the dropdown and then just choose a business page. Actually, yeah, just choose it. Just put it there for the heck of it. Okay, good. And then what you can do is you can go in, you're gonna create ad and then you're gonna, here's how you normally would do it. For video, for image, you can do it this way. But when you do a video, always put that video on the business page first. Okay. Upload it first there just like you did the intro video. You had it there first and then we came here and ran the ad. But with an image, you don't necessarily have to put on the business page first. You can just grab it or download folder from here. But the reason why I don't like doing it that way is because once you turn off this ad, it ends on the 29th. So once you turn off this ad, it's nowhere to be found. I'd rather, if I'm gonna spend money on it, I'd rather have it stay on my business page forever. So in case in two months, someone comes to my page and they wanna click on learn more, they can go get my seller guide. Right? But in this case, it's not gonna be there. After the 29th, the ad is off. It's nowhere to be found. No one can find it. You know what I mean? So that's why I don't do it this way. I always put it on the business page first. So, but it's okay. This is what we call a dark post ad. That's what this is called a dark post ad. It's ran behind the scenes. It's not on the business page. So all we're gonna do is we're gonna go with single image right there. Single image is already filled in and then down, you're gonna click on ad media right below. So ad media below the dropdown, ad media right there. And then just add image and then you just go in and click on the upload to the top left, upload and then just find that image. Okay, cool. And then hit next. And then now all we're gonna do is we're gonna just, what you can do is you could just go with, go with, go with square, go with the square, the one by one. Check that box right there. Square, yeah. There you go. Go down. Okay, and then click done. Okay, cool. So now it's gonna just come down to, right now the text, that's what we gotta get good at is the text now, right? And then also adding the link to the landing page. So let's do that real quick. Go to Cartra, grab your landing page link and we're gonna put that link right over here. Five placements, what is it, what is going on? What happened? Just, you know, that part's not important. Just go to your landing page, go to Cartra real quick. Okay. Grab the link, yeah, grab the link over here, get page or get code, yeah. And then just grab the whole link, get the page link. And then we're gonna put that over here in the call to action button. So right, you'll see right below, go down. So right there in the website URL, go to paste in your link and then scroll down just a bit, scroll down. Okay, cool. And then if you hit that dropdown, there's different call to actions but learn more is what you'll, there's also a download one. So scroll through it, look at all of them, scroll through it. There's also a download one. So some people go with download but then some people are most people, 99% of people go with learn more. Learn more is the most clicked on button. Yeah. Yeah, learn more. Okay, so now here's what you'll do. Now we gotta just get good at the text. So the display link, you can, actually the display link, why don't you change that display link? Go ahead and write where it says display link. Yeah, put in your actual dot com. Which is, what is it? What is Genevieve Jones? Genevieve Jones Problems. Yeah, perfect.com or whatever. Yeah, you can always put that there. And then at the top, you have the text, you have the headline and that's really all you need is the text and the headline.  What should the headline say? Well, the headline is download your free seller guide now. And also what you always want to make sure is that it fits. So right there to the right, download your free seller guide, perfect. You may be able to write a little bit more but you don't want to write too, too much because it won't fit right there. You want it to fit, right? So it's something, the headline is something short and sweet with a call to action. Download your free seller guide now. Put the word now and see if now fits okay. Yeah, perfect. Okay, so yeah, something like that. I mean, it could be download your free seller guide, download your free seller guide now. And then now we got to just get creative with the actual copy is what it's called, the text. Perfect, perfect. Awesome. Just everything be capitalized, hello East Side Seattle homeowners. No, yes. Yeah, hello East Side Seattle, yes. Homeowners, yes, the H, yes, but nothing else after that. All right. And I put a comma, hello Seattle homeowner, I put together, should that be on a different line? I don't know, I'll leave it. Yeah, you can do that. Yeah, put it on a different line. Hit enter twice, hit it again. Perfect, perfect. Okay, cool. So that's good, that's good. You don't need a description. Then you don't read it if I do that. Yeah, that's why the text, I mean, it's tricky. You can go, I've seen both forms work, long form, short form, one sentence. We'll do that, that way. They can read it, they can read a little bit, but you know, it'll show. Okay, so then scroll down, scroll down. We got everything we need. The link is there for the landing page and we're gonna click on and we're gonna make sure that that dot is green. That's our pixel, real estate ads. Always make sure that that's the right pixel and then we hit publish. Okay, so here's what we do next. Here's what we do next. Now again, this is the setup. This is somewhat time consuming, but this is how you gotta do it. So hit the X, let's close out of this. This is publishing. This is now gonna all be in review. This is scheduled to go live on Monday. Let's X out. Um, here? Yeah, go to X out right there. So now, here's your, what, go ahead. If this is like 19 miles within Kirkland, it's probably getting like all of the cities that I'm like looking at. Yeah, see, so that's what I also wanted to know. Like how far apart are these cities? Because they're super close. So let me show you. Okay, so then we don't need to do multiple ads, that's then. I don't think so. Let me just move. Let me move. Let me move, sure. So, oh, actually. Yeah, see, if everything is within that mileage, then no, we'll just go with one ad set. That's why with real estate, it's pretty black and white as far as targeting. Okay, so Seattle is 7.7. And then let's see, what was I gonna do? I was gonna do Redmond. Redmond is four. Yeah, oh yeah. No, we don't need multiple ad sets. Bellevue is five, Bopple is five, Woodenville five. Yeah, if I'm doing within 19 miles, we're good. Okay, so then what's your overall monthly budget? Let's just put it that way. Like what were you planning? What were you thinking? What can you allocate over the next 30 days for starting freaking Monday? Monthly, probably like $1 to $200. Like I was thinking. Okay, so here's what you wanna, you wanna at least do this. You wanna at least put, go back to the ad, go back to the ad set, so click on the middle tab. So look, so look, click on the tab, right there where it says campaigns once selected, click on that to the left, campaigns, that's a tab up, right there, that's a tab, that's a tab. So that's campaigns tab, then you got the middle tab, which is ad sets, then you got the tab to the right, which is ads. Click on that, click on campaigns, click. This one's on the left. Yeah, click, click right there, that's the tab. So that's your first tab. So that's why when we name it, Seller Guide leads conversions, we can see it right there, boom, that's the conversion. Click on the middle tab, ad sets. So again, when we're looking at it from this view, we can click on the middle tab, ad sets. Oh, here we go, that one. You look at it, you can look at it, and you can see right away, that's Kirkland 19 miles, five bucks a day, feet only, right?  That's why that's so important. And then the third tab, the ads, I can just click on that and know it's an image. It's not a video, it's an image, right? So that's why the description in the title is so important. But in this case, here's what you're gonna wanna do, like you're gonna want to, because what I initially was thinking is that we were gonna target multiple cities, which would all be $5 each per day for the first few days. So if it's only one city, you're gonna wanna increase that five bucks. You're gonna wanna go to at least $10, like for real estate, for leads, like no, not right there, not right there, don't do it there, just go into the edit, click on edit, and then just do it right here. So change that, and here's the deal too, once that ad goes active, don't change anything. We're only changing it here right now because the ad is in review, and now it's pending to go live in a few days. But after it goes live, don't mess with anything.  So now we're at 10 bucks a day, we're good. Here's the plan. So here's the plan, here's the plan. This goes live on Monday, let's chat midweek next week. Okay, let's do, yeah, do live on Monday, and then let's chat Thursday or Friday. Let's do Wednesday, because I'm nervous. No, don't be nervous, it's all good, like don't be nervous, everything is set up, because the audience is- Yeah, the emails, the emails actually, I mean- Work on the emails. Yeah, work on the emails, get those emails tight, and that's it, so work on those emails, and then let's chat Wednesday or after, Wednesday, Thursday, Friday, but in the beginning, here's the thing, in the beginning of all ads, you're targeting a cold market people that don't know you. You have to be, that's why 10 bucks a day is minimum, like that's minimum, but in the first few days of any campaign, you never worry about the numbers.  Like Tuesday, who cares about the numbers? I don't wanna look at these numbers until Thursday to tell you the truth. Because you need to let Facebook work, you need to let them work, and they need at least three, four days. They need at least seven to 10 days to tell you the truth, and here's the deal. Go back to the Ad Manager real quick. When this ad goes live, yeah, you could work on this part later, but go to the Ad Manager real quick, X out of this, when this ad goes live, here's what it's showing right now. This, you're in the middle tab, you're in the second tab, everything we're gonna be referring to is tabs. You're in the middle tab, the Ad Sets. That says scheduled. Click on the tab to the left, campaigns. That's gonna say scheduled as well. So the campaign tab is approved. The ad set tab in the middle is approved. What's in review is the third tab, which is the image. So click on the third tab to the right, ads. That's gonna say in review. So once it approves, it's gonna say scheduled. And it may approve tonight, it may approve tomorrow, it may not approve until Sunday. But eventually when it approves, it's gonna say scheduled.  That's what that will end up saying. A green dot and it'll say active. And it'll say active on all three tabs. Now, what it's gonna also say though, it's gonna say learning. So that means that Facebook is still learning. They're still trying to find out who your ideal client is, who your ideal lead is. And what my point is that Facebook would tell you that they need seven to 10 days to find that. But a lot of mentors that I learned from give it three to four days. So they give it three to four days to get enough data to find out if that's a good ad or not. And then it's not until your fourth day when you'll eventually either shut it off or yeah, or yeah, or pause it and re-strategize. Maybe it's the image. Maybe it's what you wrote in the image. It's not the city because you're targeting just a city. So, and there's homeowners in that city. So it's not that. If anything, we'd wanna switch out the image, if anything. Maybe the text. So in four days is when we should look at this ad. It's not anywhere in the beginning of the week. Let Facebook work it. Let Facebook go out and try to find your ideal client. So just work on these emails. Work on these emails over the weekend or next week. And then let's chat Wednesday or Thursday. Okay, let's get a call for that. I'm gonna do that, I'm gonna do that right now. Awesome, sounds good, G. You're off to the races. So have a wonderful weekend and we'll chat next week. All right, thanks, David, we'll talk to you soon. Have a good...


um it was exciting you know um obviously I didn't get the playing time I wanted last series and to have my first postseason hit in my career be a home run in that moment was uh was special for me and special for the team you mentioned not getting the playing time how were you able to stay ready without seeing live pitching for the most part of the last couple days um I mean the last two days we did some live BPs and that that definitely helped I made sure to be one of the the guys that was in there every day just because I I didn't know what my situation was going to be but I wanted to be ready and you know not a lot of guys can emulate what Blake Snow has so it was it was difficult but you know we we all went out there and played real well tonight so that was good for everybody next one to Eric Bolland good job Karlo has had some some struggles the last couple of years mainly staying on the field how good did you feel for him having that kind of a moment getting a grand slam there to kind of blow it over I think that was the first time I've screamed for somebody else um not a big emotion guys far as yelling goes but I did yell if the camera did pan over and show me right there so I was I was excited for him he's he's had a really big moment and the last couple games we've had each game and it's been it's been really key really key for us because we know what he can do it's just a matter of doing it from now on next one is Mike what the announcers were as impressed by the fact that the ball you hit was kind of almost in your eyes as opposed to how far like can you just talk about that how you saw it how you saw it leading to that um with with snow he's a guy that likes to throw up in the zone a lot and his fastball plays up so I was going into that about anticipating him to try to go to that pitch up in the zone and I kind of had my my sights set right there but uh it's not often you you hit that pitch because it's so it's so difficult it's a tough one to hit and and it's probably the first one of my career I've ever done like that and it came in a big time and I was really excited and I'm still excited right now and and I can't wait to go out and then see my girlfriend and then give her a hug we have time for the last one from Ryan Hoke hey Clint just to go back to that being the first postseason hit of your career what was that kind of like for you as you're running the bases what was going through your mind I felt like I blacked out you know running around the bases but um it was exciting you know the last few weeks had been frustrating for me at the plate and I didn't finish the season the way I wanted to and and obviously didn't play in the last couple games as much as I would have liked but it meant a lot because tonight's all that mattered you know the last few nights didn't matter because we've already gotten past that and now tonight matters and and I produce whenever I I got the chance and Guardi went out there and finished it off for me and it was it was big for me big for everyone and and it's just really exciting to be a part of


Okay. So thanks for all the survivors that are here today. So it's the last talk. And I would like to talk a little bit about the flow case. The flow case from the theorem that we discussed yesterday. So remember that yesterday we considered a two-dimensional, a surface defilmophism that had, well, in general, you assume it has positive topological entropy so that you can have measures that are hyperbolic. And while we were able to code simultaneously all hyperbolic measures, right, by what? By a topological Markov shift. Given an oriented graph, we were considered the space of z-index paths on this graph with the dynamics of the left shift. And that's exactly the structure that we were able to construct as an extension of our defilmophism. So today I would like to consider a three-dimensional flow. It's natural when you have a result in two dimensions for defilmophisms and you want to get four flows. So first consider three dimensions. And that's what we are going to consider. And we are going to assume further that the flow has positive speed. That means that it has no fixed points. So in other words, the vector field that is generated by the flow is non-zero everywhere. And our goal is to try to code, to get a similar coding for hyperbolic measures. So what is the model that we are trying to construct? If you remember in the first lecture I defined what is known as a topological Markov flow. So what is a topological Markov flow? It is the flow version of the topological Markov shift. So it is a suspension flow in a suspension space where the base's dynamics is the dynamics of a shift. And you have a positive roof function that tells you the time it takes for you to start in the section, in the base, and come back to the base. So that is exactly what we aim to construct today. There will be a big difference from the result of Sariq is that we are only able so far to code one measure at a time. So let me say what the setting is. So let M3 be a smooth, closed, compact without boundary, remanian manifold. Let X be a C1 plus beta vector field on M. Positive speed. So I assume that X of p is different from zero everywhere. Let phi be the flow generated by X. And given a positive phi, let mu be a hyperbolic probability measure. So remember that we are in three dimensions and we always have a Lyapunov exponent which is equal to zero. It is in the flow direction. So we have two other Lyapunov exponents and saying that this measure is hyperbolic is saying that almost everywhere one of these two other Lyapunov exponents is bigger than phi and the other is smaller than minus phi. And the theorem that we want to sketch the proof is that under those conditions that exists topological Markov flow, sigma r. This is the suspension space and small sigma r is the suspension flow. And I hold the continuous map phi sub r that comes from sigma r2m such that it satisfies the same three properties that we got for the thermophysm. So the first one is that I'm always confused about that. Pi r composed of sigma rt. The time t of the suspension flow is conjugated by the time t of the flow phi t by pi r. So this happens for all rt's. Also this coding is relevant for the measure mu. So this guy has full mu measure. And finally we have finiteness 2 1. So for every x or I'm just going to write finiteness 2 1. The precise statement is to get a point that is in pi r of sigma r sharp and saying that the number of pre-images of this point in sigma r sharp is finite. But let us forget about that. So note again that I have to fix my measure mu a priori. Given my measure mu, I get a topological Markov flow.  So for each measure you have a coding. So what is the idea to prove this theorem? Someone has a suggestion. What do we do when we have flows? Usually we don't like to work with flows, right? We like to work with thermophysm. Exactly. So what I want to do is that I want to mud out the flow direction and try to analyze what happens in the transverse direction. And analyzing what happens in the transverse direction, what does that mean? It means that I will fix a section of my flow. And instead of analyzing the flow, I will analyze the first return map of a point of the section to the section. Okay? So the idea is to mud out the flow direction and analyze the hyperbolicity in the transverse direction. Okay. How? We are going to use Poincare resections and Poincare return maps. Okay? So how do I construct a Poincare resection? So let us say that we have a disk, two-dimensional disk, that is transverse 2x. So I have a small piece of a surface here that I know that in every point the tangent space of the surface does not contain the vector field x. Okay? And I'm just going to introduce a notation now. So given an interval from r, you let phi i of d to be the following. You get d and you flow d with the real times that belong to this interval i. So this is just the union of phi t of d as t belongs to i. Okay? So if this i is non-empty, I'm pretty sure that this set here has non-empty interior. Why? Because my vector field is different from zero everywhere. So what is the picture of this phi i of d? So if I have d like that, I just flow. Let us say that i contains the time zero. So I just flow d a little bit above and possibly a little bit below. And what I get is known as a flow box. So this is phi i of d. And how do I get, how do I construct a Poincare resection? How do I construct a section? So it's a two-dimensional object that sees all the points of my flow? And what do I mean by seeing all the points of my flow? I mean that whenever I get a point of the manifold m, after some finite time, I can flow this point and hit the section. Well, since these guys have non-empty interior, it's very easy to get a Poincare resection by compactness. So by compactness, we can find a finite set of transverse disks, d1 up to dn, such that if you give me an alpha a priori, I can find a point of d. And d i's such that the flow box that you, when you get d i and you flow up to time alpha, when you consider the union of all these flow box, you cover the whole manifold. Okay? And why is that good? That is good because I'm pretty sure that every point of m at most after time alpha is going to hit one of these disks d i. So I call the union of d i's a Poincare resection, lambda equals to the union of d i's. And in order to avoid problems with the return time, let us assume that these d i's are disjoint. So assume finite set of disjoint transverse disks. This might require a little bit of more work. Sometimes you have to get one of the d i's when it intersects a dj. You would have to flow one of the d i's a little bit in order not to intersect dj. But that can be done. Okay? So this is the Poincare resection and what is its property. So for every x in m, and in particular for every x in lambda, there exists a time t of x which belongs to the open interval. It's strictly bigger than zero at most alpha, such that when you get x and you flow by this time t of x, you come back to the section. Okay? So you are starting somewhere here. And then I'm pretty sure that there is a time and this time I'm going to get the minimum, so the minimum x, the minimum positive, such that phi t of x comes back to lambda.  Okay?  The association of x to the position that you first hit the section back is what I'm going to call Poincare Re-Return map. So what is a Poincare Re-Return map? Yeah, I require them to be disjoint here. So what is here? In principle, they are not disjoint, but then I said that you can make them disjoint. By probably whenever you see a non-trivial intersection, you have to flow one of the d i's a little bit in the flow direction. Okay? So that's why I'm pretty sure that the time t is positive. Okay, so the Poincare Re-Return map is this association that I just described to you. It's a map from the section to the section, and f of x is given as the first return of x to the section. Okay? So what is this thing? This thing is a two-dimensional, well, map. Not necessarily a defilmophism. You are going to see soon why it is usually not a defilmophism, but it's two-dimensional. And what we want to see is exactly what we wished to get here. We wanted to mod out the flow direction in order to see hyperbolicity in the transverse direction. So it is exactly with respect to this map that we aim to see non-uniform hyperbolicity. Okay? So how am I going to do that? Well, let x, that belongs to Lambda, that we know that it has a good non-uniform hyperbolicity. So let x, such that there exist vectors e s x and e u x, such that you know that the Lyapunov exponent associated to this first one is smaller than minus e. And while here I have to put the Lyapunov exponent with respect to the flow, so I should divide by t and I should apply the derivative of the time t map of the flow. I assume that this is smaller than minus e, and the other one is bigger than e. t goes to plus minus infinity. Okay? So you have here a surface, or let us say that x belongs to some di, and above x you have the tangent space of x with respect to the manifold, which is three-dimensional, and you have the tangent space with respect to the plate, to the surface, which is two-dimensional. So let us say that this guy here is tx di, and while you know that you have three vectors in the ex m, this, and one of them is the flow direction, you know it is transverse to this plane, and you have two other vectors which give you stable and unstable directions. So this is e s x, and this is e u x. And what I want is to find directions for the point career return map for which I see non-uniform hyperbolicity. So what should I do? I want to mod out the flow direction, right? So what I will do is that, well, if this guy is contracting and if this guy is neutral, I know that this plane here, if you iterate it backwards, it's going to expand. But if I want to mod out this direction, what do I do? I get this plane, and I intersect it with this other plane, I get a direction, and then I just normalize it. So in other words, what I can do is that I can get this e s x and delete and project it into this plane in this direction to get a direction here in tx di. And then I just normalize to get a unit vector. So I'm going to define a vector n s x, which is exactly this. It is the projection of e s x to this plane in this direction. And the same thing with e u. Let me give colors for these guys.  So the definition is lambda, actually, unitary, even by the projection e s x to tx lambda in the direction of x. And similarly, okay, and it is in this direction that I wish to see non-uniform hyperbolicity. Well, this is actually true. So you have a lemma, or this is morally true. You need some properties of the angles also, but forget about them, or maybe not. So the lemma is that if you now calculate the Lyapunov exponents of f in this direction, you get something that's negative. And if you calculate the Lyapunov exponent of f in this direction, you get something that's positive. And you can actually give a lower bound of this number, which is the following. So lemma of 1 over n log dfn n s x. This is smaller than minus e prime. It will be a new e. And in the u direction, this is smaller than minus e prime. And you can actually put e prime. It is a multiple of e. And how does it depends on e? It is you can take e prime to be e times the minimum time that you get here in this return map. Minimum of t of x, okay? Well, this number is positive. So what you got is that whenever you see a hyperbolicity bounded away from e, for the map f, you see a hyperbolicity bounded away from e prime, correct? So what is the goal now? Well, the goal is to get the measure that we have in the ambient and consider a new measure here and conclude that this new measure here is going to be e prime hyperbolic. Then we have a two dimensional map, which is, and we have a measure which is e prime hyperbolic and we hope to apply the same methods of the proof of yesterday for f. Okay? Okay, so then if mu is e hyperbolic, we can project mu to a measure nu on lambda. That is e prime hyperbolic. And how do you get this measure nu? The measure nu, some people call it the flux measure. And what is the flux measure? Let us say that you want to measure a subset of your section here. You want to give a reason for this measure here. Okay? So how do you do? You flow this set a little bit above. So you flow it up to time epsilon, for example. And this is now a subset of m. So you can measure it with respect to mu, right? And you want to know what happens in the limit as epsilon goes to zero. So the definition of nu is just, if you call this translation here A epsilon. And actually we know that A epsilon is phi zero epsilon of A. The definition of the flux measure and measures more or less how much we are passing through the section is the limit of the measure mu that we started with. And then you divide by epsilon. Okay? So this measure nu is f invariant by the lemma. It is hip prime hyperbolic. So now what we have is that we have a map that is defined in the surface, two-dimensional guy. And we have a measure that is hip prime hyperbolic. And now everything seems beautiful. We can just apply Sarek's results. Right? Not right. Why? Sarek's results requires that this map f is a defilmophism at least of regularity C1 plus beta. But this map f in general is not even continuous. Why? Because the section lambda is not connected. It is given by the union of these joint disks. So what happens and what will happen is not continuous. And what is the reason of that? It is caused by boundary effects. So what happens if you have this situation here? And you know that this point here hits the section back exactly at the boundary of the next disk. So this boundary here, if you flow it backwards, it defines a curve here. And this curve is separating this disk into two parts. And the property of it is that if you get a point to the left of it, you will hit the same section, the same disk. But if you get a point to the right of it, you will miss this disk. And you will hit another one. So you lose the continuity along this curve. So f is not even continuous. So in order to analyze where it is continuous, let me give a name to the discontinuity set. So let D to be the discontinuity set. And while there is still a hope, and the hope is that, okay, let us see the map f away from this discontinuity set. And let us, okay, outside this discontinuity set, I know that my map f is going to be continuous, and it's actually going to be a local diffeomorphism. If you consider a small neighborhood of the point outside the discontinuity set, well, you can conclude that the map f is a local diffeomorphism onto this small image. Okay, may some? Yes. But that is usually not the case, right? Yeah. Okay, so let D to be the discontinuity set. Well, there is a problem, another problem. What happens if this D is relevant for the dynamics, for the measure? So I want to code almost every point. So I'm aiming to apply the same methods of Sarig. Oh, here's Nu. To code Nu almost every point, right? In particular, I would like this set D to have zero Nu measure. So we want of D to be equal to zero. Otherwise, we will not be able to code all the points, most of the points of our map f. Okay? Okay. So we are going to assume that we have actually a bigger problem. So I'm going to forget for a while about that condition Nu of D equals to zero. And I'm going to try to explain what is the bigger problem. And in order to do that, let us try to follow the steps that we did yesterday in order to construct the symbolic dynamics. So let's try to apply the method or surface defamophisms to the pair or to the triple lambda f Nu. So what is the step one? Step one is to construct passing charts. And actually it was to construct epsilon double charts, but let us first to construct passing charts. How are they defined? They were defined in a domain like this, taking values somewhere given by a composition map, a linear map of the exponential map. Here we can do the same thing. Since we have these two vectors, we can construct that map C of x and we can compose this map C of x that is a map from R2 to the tangent space. We can compose with the exponential map of my section. And that gives me a map from R2 to the section. But note yesterday we defined Q epsilon of x as what? As e to the epsilon to the triple lambda.  But what I want to say is that it only depends on the linear behavior of f. It only depends on the derivative of f. Right? Well, the same definition here is not going to work. Because what happens if I have a good hyperbolicity, so this number is big, but my point x is very close to the boundary? Since my point x is very close to the boundary, the exponential map is not defined in this domain. But I cannot define the composition. So in order to avoid that, I should not consider Q of epsilon to be equal to this, but also take into account how far my point x is from the boundary of the section. So I'm going to consider Q of epsilon not as equal to this, but as a minimum of this and the distance of my point x to the boundary of the section. Okay? And now I'm in good shape. I'm able to define the psi x, the passing chart as a map from a subset of R2, a small subset of R2 to my section. So step one is done. Let us try to do step two. Step two, it was coarse-graining. It is done in the same way as before. So I'm just going to write it here and say that it is okay. It can be done. And let us go to step three. And step three is infinite to one extension. Well, I'm going to show you soon. So in principle, you could have a set of positive measures that is converging to the boundary exponentially fast, right? So I want to make sure that the section that I construct does not have this property. And that's the last part of the discussion. So the step three is to construct an infinite to one extension. So remember that the infinite to one extension was a map pi from sigma to m that uses the graph transform method in order to construct this map. So this uses the graph transform method. And remember that in order to apply the graph transform method, we needed the sizes of the charts to be comparable, right? So we applied the graph transform method not to this charts, not because we don't know what is the dependence, how these numbers vary when you take it at x and when you take it at f of x. We needed to pass to a smaller size of charts, which is the small queue of apps that I defined yesterday, and to apply that for the small queue. So this, it only works after we pass to the smaller size of charts. A smaller domain minus q epsilon x, q epsilon x squared. And what was q epsilon x? We defined it to be the minimum of e to the epsilon n, q epsilon fn of x, or integer n. Well, and we want, if we want to get something, we want this q epsilon to be positive, right? This guy is going to be positive. He's saying something about the decay of this. So remember that yesterday I came to you, okay, the q epsilon defined only as this expression, and I know that almost everywhere, this q epsilon doesn't go to zero exponentially fast. And that was the key point to define the q epsilon in order, in a way that it is positive, right? But now I introduced a term here. I no longer know if this q epsilon is going to zero sub-exponentially fast. And I need that, because otherwise the q epsilon that I'm going to define here is going to be zero, and I cannot apply the graph transform method for a point. Okay? So hence, we need that the section lambda satisfies the following. That satisfies that the measure of points that are in lambda, that are approaching the boundary of lambda exponentially fast, which is just this set, I want this measure to be zero. If this measure is zero, I know that for almost every point, this lim if is zero. So I know that these numbers do not go to zero exponentially fast. So I have q epsilon as the minimum of two numbers. Both of them do not go to zero exponentially fast. So I can define the small q like that. Then I have a positive number. Then I can apply the graph transform method and get the infinity to an extension. Okay? So this is the main goal. And I think it answers your question, right? If I can answer this. Yes. So how do we construct a section? So the goal now is to construct a section that satisfies this. A priori, the section that I fixed here in the beginning might not satisfy that. So how do I do? The idea is, okay, I'm not going to consider only one candidate for a section. I'm going to consider many candidates for a section. And I'm actually going to consider one parameter family of candidates for a section. So in order to get this, we consider a one parameter family, lambda t, Poincare sections. And how do I do that? Well, I can just, I can just parametrize them by the radius of each of these disks. So what I'm doing is that I'm fixing lambda and I'm changing a little bit the radii of each of the disks that compose lambda. Okay? Okay, so you can put here parametrized by the radii. Yes. Yes, you increase a little bit, each of them at the same time. No, you get the same number of disks. You just change the radius. So you have many disks here that compose lambda. And what is going to be lambda t? You are going to increase all of them at the same time. Yes. So if you increase them, they will certainly cover m. And if you increase them just a little bit, they will also certainly be disjoint. Okay? They are closed at this. So if you increase a little bit, they will... I don't mind. The cylinders are not supposed to be disjoint. They will never be disjoint. I have a connected manifold, so it cannot be equal to the union of this flow boxes. I just want the di's to be disjoint. So in white here, I have, for example, lambda a. And in red, I have lambda t. Okay, parametrized by the radii of the disks. So what we show is that, well, maybe my initial lambda will not have that property star. But if I consider a one-parameter family of lambdas, then almost every parameter is going to give me the property star. So proposition for lab bag almost every t in a, b. The section lambda t satisfies. How do we do that? Okay. So for each t, let us look at the bad points. Actually, let me do the following. Fix alpha positive and define the bad points for t with quantity alpha. And what is that? It is the set of points in lambda t such that that limit is negative. And not only negative is smaller than or equal to minus alpha. 1 over n log distance f n x boundary of lambda t is smaller than or equal to minus alpha. Okay. Do you agree that if I fix alpha and then I show that for almost every t, this guy has zero measure, then I'm in good shape. Because I can just take an increase in sequence, a decrease in sequence of rational alphas going to zero. And then I intersect all of these sets and I get the result. So my goal is fix this scale alpha and let us show that this guy here has zero measure for almost every parameter t. Okay. We want that the measure of b t is equal to zero for lab bag almost every t in a, b. Okay. So what I will do is the following. b t is the set that you fix t and you look at the bad points x. I will do the opposite. I will fix x and look at the bad parameters t. Okay. So b t is your fix t and look at x. And I'm going to define now a set ex, ex, which is exactly the opposite. You fix x and look at t. So what is that? I x is the parameters t such that when you fix x, you have this property here.  Okay. So instead of trying to prove, the way that I will show that almost every t gives me zero measure for the set is doing a double counting argument, which is known in the interrogation form as Fubini's theorem. So by Fubini's theorem, I know that if I want to integrate the measure of all the b t's and note that since I want to show that this is zero almost everywhere, it is enough to show that this integral is zero. Right? It's the integral of no negative number. So if it's zero, it's equivalent of the, to this b zero almost everywhere. So how do I calculate this integral? I change the order of integration and I calculate the lab bag measure or the size of the eyes of x. Fubini. Okay. Now I'm, what I want to show is that this right hand side, this right hand integral is equal to zero. Actually, we have that the integrant function is identically equal to zero. Claim the lab bag measure of all of these intervals is zero. Why? What that means for a point to be here? You are fixing an x. So you have the itinerary of x in the section. For a point to be here, it needs to define a radius such that the boundary of this section is exponentially close to the trajectory of this point x. So if you have the trajectory, it means that the boundary of the section has to be in the limb soup of some intervals that whose sizes are going to zero exponentially fast. So what do I mean? I mean that I of x is the limb soup of some intervals I n, where I n is an interval of r of size approximately e to the minus alpha n. And what do I mean by that? That happens because if you have this, then it means that you have this picture here. So you have the center of the disk. Let me do it bigger. You have the center of the disk here. And you have the point f n of x. If this distance is smaller than this, it means that the section that you are considering here, the time t, should define a section for which this distance here is of the order of smaller than or equal to e to the minus alpha n. So that interval is the interval that is centered at this distance, the distance of the center of the disk to f n of x, and whose radius is e to the minus alpha n. So this is the interval I n. And what is the property of the interval I n? It is exponentially small. So in particular, the sum of its lengths is smaller than 0, smaller than infinity, right? So by Borrel Cantelli, you know that the limb soup of these intervals, and what is the limb soup, is the set of points that belong to infinitely many of these intervals. You know that the Lebesgue measure of this limb soup is 0, and that's the end of the proof. So since the sum of I n is smaller than infinity, Borrel Cantelli implies to you that the Lebesgue measure of I of x is 0. And you just showed that almost every parameter t defines to you a section that satisfies this star property. Since it satisfies this star property, we can apply the step three. We can get an infinite one extension. And then we can apply the step four, which is the Bowen-Snag refinement, and get the coding for f. Once you get the coding for f, it is very easy to get the coding for the flow itself. You just suspend the coding for f by the time it takes for you to start in the section and come back to the section, and you are done. Okay? Question or observation. Why can't we do all the same time for all the measures? Why can't we do that for all the measures? Well, we could, if we had this for all the measures, all the flux measures coming from hyperbolic measures. Well, our methods, you see, you have to fix the measure in order to apply, for example, this Fubini argument here. So we are not able to code all the measures simultaneously. Okay? And thank you for your time. So this is the end of my mini course.


We have 100 trillion microorganisms residing in our gut. Give or take a few trillion, but the spread of the Western lifestyle has been accompanied by microbial changes which may be contributing to our epidemics of chronic disease. The problem is that we're eating these meat-sweet diets, characterized by a high intake of animal products and sugars, processed foods, and a low intake of whole plant foods. Contrary to the fermentation of the carbohydrates that make it down to our colon, the fiber and resistance starts to benefit us through the generation of those magical short-chain fatty acids like butyrate, microbial protein fermentation. When excess protein is consumed, that generates potentially toxic and procarcinogenic metabolites involved in colorectal cancer.  We now have evidence from interventional studies suggesting that adopting a plant-based, minimally-processed high-fiber diet may rapidly reverse the effects of meat-based diets on the gut microbiome. So what might be a new form of personalized microbiome medicine for chronic disease? It's called food, which can rapidly and reproducibly alter the human gut microbiome, switch people between a whole-food plant-based diet and more of an animal-food-based diet, and you can see dramatic shifts within two days, which can result in toxic metabolites, switch people to an animal-food-based diet and levels of deoxycholic acid go up, which is a secondary bile acid known to promote DNA damage and liver cancers. Why do levels go up? Because the bad bacteria producing this stuff triple in just two days. And over time, the richness of the microbial diversity in our gut is disappearing. Here's our bacterial tree of life that's getting depleted. Why is this happening? The Fiber Gap A low-fiber diet is a key driver of microbiome depletion. Yeah, there's antibiotics in caesarean sections and indoor plumbing, but the only factor that has been empirically demonstrated to be important is a diet low in max, not big max, microbiota-accessible carbohydrates. It was just a fancy name for fiber found in whole-plant foods and resistant starch found mostly in beans, peas, lentils, and whole grains. Our intake of dietary fiber, our intake of whole-plant foods, is negligibly low in the Western world when compared to what we evolved to eat over millions of years. Such a low-fiber diet provides insufficient nutrients for our gut microbes, leading not only to the loss of bacterial diversity and richness, but also to the reduction in the production of those beneficial fermentation end products that they make with the fiber.  What are we going to do about the deleterious consequences of a diet deficient in whole-plant foods? Create new-fangled, functional foods, of course, and supplements and drugs, prebiotics, probiotics, symbiotics. Think how much money there is to be made, or we could just eat the way your bodies were meant to eat. What kind of value is that going to get for your stockholders, though? Don't you know probiotic pills may be the next big source of big pharma billions?  Researchers compare the microbiome, so vegans versus omnivores. I'm found that vegans friendly flora were churning out more of the good stuff, showing that a plant-based diet may result in more beneficial metabolites in the bloodstream and less of the bad stuff, like TMAO. But while the impact of a vegan diet and what the bacteria were making was large, the effect of the composition of the gut microbiome was surprisingly modest. They only found slight differences between the gut microbiomes of omnivores versus vegans. That was a shocker to the researchers. I mean, this very modest difference juxtaposed against the significantly enhanced dietary consumption of fermentable plant foods. I mean, the vegans were eating nearly twice the fiber. Anyone see the problem here? The vegans just barely made the minimum daily intake of fiber. Why? Because Oreos are vegan, Cocoa Pebbles are vegan, French fries, Coke, potato chips. There are vegan Doritos and Pop-Tarts. You can eat a terrible vegan diet. The market showed that you need to get at least 50 grams a day of fiber for colon cancer prevention. That's only half of what our bodies were designed to get. We evolved getting about 100 grams a day. And that's what you see in modern populations that are immune to epidemic colorectal cancer. So what if instead of feeding people a vegan diet, you just fed people that kind of diet, a diet centered around whole plant foods? We'll find out next.


First, this hour, new information this week about the death of Dexter Barry. The Jacksonville man died after he spent a couple of days in the Duval County jail on a misdemeanor charge. Records show Barry repeatedly told police and jail officials he needed to take his anti-rejection meds to manage his heart transplant, but he never got those pills. Now, it has emerged that the jail ordered the medication, but they never made it to the jail in time. This reporting from the Jacks Trib. Jacksonville attorney Andrew Bondarout is representing Barry's family and joins us now in studio. Andrew, good to see you. Good morning. Thanks for having me. And what are your questions about this story? Give us a call by 492937, emails to First Coast Connect at wjct.org, tweets to at Melissa Injax, Facebook Open. So Andrew, as the tributary has been reporting, Mr. Barry's anti-rejection medications were ordered after he pleaded and begged for them according to records, but they never got delivered to the jail until after he was released. Tell us more about this new evidence. Well, it's such a terrible excuse for healthcare at the Duval County jail. Mr. Barry told absolutely everybody who would listen to him that he has a serious medical need. He has this need for immunosuppressant medication. He told the arresting officer. He told the intake nurse. He told everyone. And the jail had a non-delegable duty to provide those medications to him. And they failed. And there is simply no excuse. There is no excuse for the jail not to have provided that medication to him. Now three days after he was released from jail, Mr. Barry died from cardiac arrest caused by an acute rejection of the heart. Is it your contention as his family's attorney that his death was directly attributable to being denied his meds? I think there's no question. Mr. Barry had the heart transplant surgery in October of 2020. And thereafter, he was doing wonderfully. And he had regular checkups at his doctor. And as recently as April of 2022, there was a biopsy of his transplanted heart that reflected that the heart was in outstanding condition. It was stable. Mr. Barry was doing everything he needed to do to live as normal a life as possible. And then he was arrested. And there's no question in my mind, and I think the medical literature out there corroborates this, that the lapse of two days, lapse in two days of medication, is absolutely the principal cause of death of Mr. Barry. And it just doesn't stand to reason that Mr. Barry, who you can see on video, he's animated, he's healthy, he goes into the jail. And then when he gets back, when he gets out, he drops dead for armor or for the jail to suggest that the jail had nothing to do with that is just, it's outrageous. And it doesn't stand to reason. That's five, four, nine, two, nine, three, seven. So tell us more than about what the new reporting from the tribe is showing that apparently a nurse at the jail did try to get his medication for him, but it didn't get there in time. Well that's right. I think it raises more questions than answers. We do have the medical records which reflect that on the day that Mr. Barry was admitted to the jail, the nurse documented the need for medication, documented clinical history of heart transplant, confirmed the medications with his pharmacy, and there is absolutely no excuse for the medical team at the jail not to have provided the medications. If they are so ill equipped to provide for his health care while he's in the jail, they should not have taken custody of him at the jail. Now Armor Correctional Health Services is the for-profit company that manages the Duval Jails health care services. JSO isn't commenting on this investigation, but they are looking at this company. What do we know about this company? In light of these revelations, they're now investigating this company, is the understanding? There are so many questions that need to be answered, not only about this company, but also about the process that led to this company being the health care services provider at the jail. This company, you know, it's not like I'm super smart or anything. I did what anyone would do when they hear of a company that they've never heard of before. If you google them, if you google this company, you will see an absolute abysmal wake of destruction that this company has left behind it all over the place. They were run out of town by the state of New York, by the state of Virginia. They were prosecuted criminally in Wisconsin, which is extraordinary. The district attorney up there in Milwaukee said it's extraordinary. Why is it extraordinary? Well, it's not common that you have a corporate criminal defendant, particularly a corporate criminal defendant in state court who's a government contractor who is charged in connection with an inmate's death. This company was convicted not only of seven misdemeanor crimes of dishonesty, but also a felony related to their neglect of an inmate there. Given the heels of that, the Jacksonville Sheriff's Office awarded this company a $98 million, no bid contract, no bid, no competition whatsoever, because it was exempt under the municipal code here. And to be clear, this was under the previous sheriff, not the current sheriff. That's correct. The original contract was signed in 2017, also no bid, but the company had a lobbyist, a lobbyist who is well known. Who's that? And this has not been reported on. Tony Bacelli was lobbying on behalf of this company. Really? Really. He was registered as a lobbyist for armor correctional health services under his given name, Don Bacelli. And you can see his email address in the lobbyist registration. And through July of 2022, there are records reflecting Tony Bacelli being present at operational meetings between the Jacksonville Sheriff's Office and armor correctional health services, which, again, what on earth is going on at the jail? Tony Bacelli, of course, was recently inducted into the NFL Hall of Fame. He has had a career as a lobbyist. Has Bacelli commented to you or anyone involved with this case? We'll reach out to him, but this is new information. That's correct. Well, it has not been reported, but it is in the public records. And it is in the public domain if you search for him and his lobbyist registration, which also lapsed several years ago. He has not commented, but I do question football player outstanding, the pride of Jacksonville Jaguars. Involved in inmate correctional health care, I'm going to need to learn a little bit more about that. What are his qualifications to be invited into a meeting? There he is communicating with his Gmail account about this kind of stuff. Was this when Bacelli was affiliated with the lobbying firm Ballard Partners? It may have been several years ago. But again, as recently as summer of 2022, he is neck deep in the operations of provision of health services at the Duvall County Jail.


Hi everyone and welcome to the second video in the CFA Alpine Essential Safety Measures series. In this video we are going to look at fire orders and evacuation plans. Fire orders provide a clear step-by-step process of what to do in the event of a fire or emergency. Included in steps is the phone number for emergency response triple zero. This is important for international travellers as they may not be familiar with Australian emergency response numbers and also include the actual address and name of the building they are located in. This makes it easy for the person reporting, the fire or emergency to identify where they are calling from and in turn allows emergency call takers to pinpoint the correct location of the emergency. At step five there is a space provided to add a description of where the nominated assembly area is. Fire orders should be located on a wall at or near each entry exit and they should also be located on the back of the door in each room or apartment.  This is an essential part of any facilities emergency management plan and should clearly identify all exit routes, emergency exits, firefighting equipment and emergency assembly points. There should be a hole of building plan near the main entry exit, preferably near the fire alarm panel if equipped. Individualised evacuation plans should also be placed beside the fire orders in each room or apartment. This plan should be oriented to the room layout and clearly show directions to each of the emergency exits and also the location of firefighting equipment. For more information on these two topics please see our other videos in the series.


Kubernetes is maturing. For example, moving from quarterly releases to three per year. It's adding many of the capabilities that early on were avoided by Kubernetes committers, but now are going more mainstream. For example, more robust security and better support for multi-cluster management and other functions. But core Kubernetes by itself doesn't get organizations where they need to go. That's why the ecosystem has stepped up to fill the gaps in application development. Developers, as we know, they don't care about infrastructure, but they do care about building new apps. They care about modernizing existing apps, leveraging data, scaling. They care about automation. Look, they want to be cloud native. One of the companies leading the ecosystem charge and building out more robust capabilities is Red Hat. And ahead of KubeCon Spain, it's our pleasure to welcome in Stu Miniman, director of Market Insights at Red Hat to preview the event. Stu, good to see you. How you been? I'm doing awesome, Dave. Thanks for having me. Great to be here. So what's going on in KubeLand these days? Yes, so it's funny, Dave. If you were to kind of just listen out there in the marketplace, the CNCF has a survey that's like 96% of companies, running Kubernetes production, everybody's doing it. And others will say, oh, no, Kubernetes, only a small group of people are using it. It's already probably got newer technologies that's replacing it. And the customers that I'm talking to, Dave, first of all, yes, Containers and Kubernetes, great growth rate, good adoption overall. I think we've said more than a year or two ago, we've probably crossed that chasm. The Jeffrey Moore, it's no longer the early people just building all their own thing, taking all the open source, building this crazy stack that they need to have to do a lot of work. We used to say, chewing glass to be able to make it work right or anything. But it's still not as easy as you would like. Almost no company that I talk to if you're talking about big enterprises has Kubernetes just enterprise-wide and 100% of their applications running on it. What is the tough challenge for people? And I mean, Dave, something you and I've covered for many, many years, that application portfolio that I have, most enterprises, hundreds, thousands of applications, modernizing that, having that truly be cloud native, that's a really long journey and we are still in the midst of that. So I still think we are in that, if you look at the crossing the chasm, that early majority chunk. So some of it is, how do we mature things even better and how do we make things simpler? Talk about things like automation, simplicity, security need to make sure they're all there so that it can be diffused and rolled out more broadly. And then we also need to think about, where are, we talk about the next million cloud customers, where does Kubernetes and containers and all the cloud native pieces fit into that broader discussion. So yes, there's some maturity there and we can declare victory on certain things but there's still a lot, a lot of work that everyone's doing and that leads us into the show. I mean, dozens of projects that are already graduated many more along that process from Sandbox through a whole bunch of co-located events that are there and it's always a great community event which Red Hat, of course, built on open source and community projects. So we're happy to have a good presence there as always. So you and I have talked about this in the past how essentially containers are going to be embedded into a lot of different places and sometimes it's hard to find, it's hard to track but if you look at kind of the pre DevOps world skill sets like provisioning lungs or configuring ports or troubleshooting, squeezing more server utilization. I mean, those were really in high demand. If that's your skill set then you're probably out of a job today. And so that's shifted toward things like Kubernetes, right? So you see in the ETR data, it's along with cloud and RPA or automation is right up there. I mean, it's top, the big four, if you will, cloud, automation, RPA and containers. And so we know there's a lot of spending activity going on there, but sometimes like I said it's hard to track. I mean, if you got cloud growing at 35% a year at least for the hyperscalers that we track, Kubernetes should be growing faster than that, should it not? Yeah, Dave, I would agree with you. When I look at the big analyst firms that track this I believe they've only got the container space at about a 25% growth rate. Slower than cloud. But I compare that with, you know, Deepak Singh who runs AWS, runs the open source office. He has all the containers and Kubernetes has visibility and all of that. And he says basically containers are the default when somebody's deploying to AWS today. You know, yes serverless has its place but it has not replaced or is not pushing down or slowing down the growth of containers or Kubernetes. We've got a strong partnership, have lots of customers running on AWS. So I guess, you know, I look at the numbers and like you I would say that I would expect that growth rate to be, you know, north of where just cloud in general is because the general adoption of containers and Kubernetes, we're still in the early phases of things. And I think a lot of the spending is due is actually in labor resources within companies. You know, that's hard to track. Let's talk about what we should expect at the show.  What's hot? Yeah, so security Dave, absolutely. You said for years it's a board level discussion. It's now something that really everyone in the organization has to know about. The DevSecOps movement has seen a lot of growth, secure supply chain. We're just trying to make sure that when I use open source there's lots of projects. There's the huge ecosystem and marketplaces that are out there. So I wanna make sure that as I grab all of the pieces that I know where they got came from the proper, you know, signature or certification to make sure that the full solution that I build I understand it. And if there are vulnerabilities, I know if there's an issue, how I patch it in the industry we talk about the CVEs. So those vulnerabilities, those exploits that come out then everybody has to do a quick run around to understand, wait, hey, is my configuration am I vulnerable? Do I have to patch things? So security, absolutely still a huge, huge thing. Quick from a Red Hat standpoint, people might have noticed we made an acquisition a year ago of the Stackrocks. That product itself also now has a completely, fully open source project itself, also called Stackrocks. So the product is Red Hat Advanced Cluster Security for Kubernetes. There's an open source equivalent for that called Stackrocks now, open source community. You know, there's a monthly office hour live streaming that a guy in my team actually does. And so there'll be a lot of activity at the show talking about security. So many other things happening at the show Dave. Another key area you talked about the developers and what they want to worry about and what they don't. In the container space, there's a project called Knative. So Google helped create that and that's to help me really have a serverless operational model with still the containers and Kubernetes underneath that. So at the show there will be the first Knative con and if you hadn't looked at Knative in a couple of years, one of the missing pieces that is now there is eventing. So if I look at functions and events, now that event capability is there or something I've talked to a lot of customers that were waiting for that to have it. It's not quite the same as like a Lambda but is now similar functionality that I can have with my containers in Kubernetes world. So that's an area that's there and so many others. I mean GitOps is super hot at the last show. It's something that we've seen really brought adoption since Argo CD went generally available last year and lots of customers that are taking that to help them. That's both automation and security put together because I can allow Git Hub to be my single source of truth for where I keep code, make sure I don't have any deviation from where the golden image, if you will, it lives. So we're talking earlier about how hard it is to track this stuff. So with the steep trajectory of growth and new customers coming on, there's got to be a lot of experimentation going on. That probably is being done. Somebody downloads the open source code and starts playing with it. And then when they go to production, I would imagine Stu, that's the point at which they say, hey, we need to fill some of these gaps and they reach out to a company like yours and say, all right, now we got to have certifications and trust, do you see that? So here's the big shift that happened. If we were looking four or five years ago, absolutely I'd grab the open source code and some people might do that. But what cloud really enabled Dave is rather than just grabbing, you know, going to the, you know, dot, the GitHub repo and pulling it down itself, I can go to the cloud. So Microsoft, AWS and Google all have their Kubernetes offering and I click a button. But that just gives me Kubernetes. So there's still a steep learning curve and as you said, to build out that full stack, that is what one of the big things that we do with OpenShift is we take dozens of projects, pull them in together so you get a full platform. So you can spend less time on, you know, curating, integrating and managing that platform and more time on the real value for your business, which is the application stack itself, the security and the like. And when we deliver OpenShift in the cloud, we have an SRA team that manage that for you. So one of the big challenges we have out there, there is a skill set gap. There are thousands of people getting certified on Kubernetes. There are, I think I saw over 100,000 job openings in the, you know, with Kubernetes mentioned in it. We just can't train people up fast enough. And the question I would have as an enterprise company is if I'm going to the cloud, how much time do I wanna build having SREs, having them focus on the infrastructure versus the things that are business specific? You know, what did Amazon promise Dave? We're going to help you get rid of undifferentiated heavy lifting. Well, just consume things as a service where I have an SRE team manage that environment. That might make more sense so that I can spend more time focusing on my business activities. That's a big focus that we've had on Red Hat is our offerings that we have with the cloud providers to do, you know, a need of offer. Yeah, the managed service capability is key. We saw, we saw it go back to the Hadoop days. We saw that, you know, that's where cloud era really struggled. They had to support every open source project and then the customers largely had to figure it out themselves whereas you look at what Databricks did with Spark, it was a managed service that was getting much greater adoption. So these complex areas, that's what you need. People win sometimes when I use the term super cloud.  But the idea is that you create the subtraction layer that spans your on-prem, your cloud, so you've got a hybrid. You want to go across clouds, what people call multi-cloud. But as you know, I've sort of been skeptical of multi-cloud as really multi-vendor. But so we're talking about a substantial experience that's identical across those clouds and then ultimately out to the edge. And we see a super pass layer emerging, right? And people building on top of that, hiding the underlying complexity. What are your thoughts on that? How does Kubernetes in your view fit in? Yeah, it's funny, Dave. If you look at this container space at the beginning, Docker came out of a company called DotCloud. That was a PaaS company. And there's been so many times that that core functionality of how do I make my developers not have to worry about that underlying gunk? But Dave, while the storage people might not have to worry about the LUNs, somebody needs to understand how storage works and networking works. If something breaks, how do I make sure I can take care of it? Sometimes that's a service that the SRE team manages that away from me so that, yes, there is something I don't need to think about. But these are technically tough configurations. So first to one of your main questions, what do we see in customers with their hybrid and multi-cloud journey? So OpenShift, over 10 years old, we started OpenShift before Kubernetes even was a thing. Lots of our customers run in what most people would consider hybrid. What does that mean? I have something in my data center. I have something in the cloud. OpenShift Health, thanks to Kubernetes, I can have consistency for the developers, the operators, the security team across those environments. Over the last few years, we've been doing a lot in the Kubernetes space as a whole, as the community, to get Kubernetes out to the edge. So one of the nice things, where do containers live, Dave? Anywhere Linux does. Is Linux gonna be out of the edge? Absolutely.  We can do a lot with it. There were a lot of vendors that came out with, it wasn't quite Kubernetes. They would strip certain things out or make a configuration that was smaller, out at the edge. But a lot of times, it was something that was just for a developer or something I could play with. And what it would break sometimes was that consistency out at the edge to what my other environments would like to have. And if I'm a company that needs consistency there, so take for example, if I have an AI workload where I need edge and I need something in the cloud or in my data center of consistency, so the easy use case that everybody thinks about is autonomous vehicles. We work with a lot of the big car manufacturers. I need to have, when my developer builds something and often my training will be done either in the data center or in the public cloud, but I need to be able to push that out to the vehicle itself and let it run. We've actually even got, Dave, we've got Kubernetes running up on the ISS. And you wanna make sure that we have a consistency. The ultimate edge. Yeah, so I said, right, it's edge above and beyond the clouds even. We've gone to beyond. So that is something that the industry as a whole has been working at. From a Red Hat standpoint, we can take OpenShift to a really small footprint. Last year we launched was known as single node OpenShift. We have a project called MicroShift, which is also fully open source that takes, it has less pieces of the overall environment to be able to fit onto smaller and smaller devices there. But we wanna be able to manage all of them consistently because you talked about multi cluster management. Well, what if I have thousands or tens of thousands of devices out of the edge? I don't necessarily have network. I don't have people. I need to be able to do things from an automated standpoint. And that's where containers and Kubernetes really can shine. And where a lot of effort has been done in general and something specifically, we're working on at Red Hat. We've had some great customers in the telecommunication space. Talk about like the 5G rollout with this and industrial companies that are, you know, need to be able to push out at the edge for these types of solutions. So you just kind of answered my next question, but I want to double click on it, which was, you know, if I'm in the cloud, why do I need, you know, you? So, and you touched on it because you've got primitives and APIs and AWS Google and Microsoft, they're different. If you're going to hide the underlying complexity of that, it takes a lot of R and D and work. Now extend that to a Tesla, right? You got to make it run there, different use case, but that's kind of what, you know, Linux and OpenShifter designed to do. So double click on that. Yeah, so, right, if I look at, you know, the discussion you've been having about super clouds is interesting because there are many companies that we work with that do live across multiple environments. So number one, if I'm a developer, if my company came to me and said, hey, you've got all your certifications and you got years of experience running on Amazon, well, we need you to go run over on Google. That developer might switch companies rather than switch clouds because they've got all of their knowledge and skill set and it's a steep learning curve. So there's a lot of companies that work on how can we give you tools and solutions that can live across those environments. So I know you mentioned companies like Snowflake, MongoDB, companies like Red Hat, HashiCorp, GitLab, also span all of those environments. There's a lot of work, Dave, to be different than, we're not just, I say, I don't love the term like, you know, we're cloud agnostic, which would mean, well, you can use any cloud. You can run on any cloud. But it was, that's not what we're talking about. Look at the legacy that Red Hat has is, Red Hat has decades of running in every customer's data center and, you know, pick your x86 server of choice and we would have deep relationships when Dell, HP, IBM, Lenovo, you know, you name it, comes out with a new piece of hardware that was different. We would have to make sure that the Linux primitives work from a Red Hat standpoint. Interesting, Dave, we're now supporting OpenShift on Azure Stack Hub. And I talked to our head of product management and I said, we've been running OpenShift in Azure for years. Isn't Azure Stack Hub, isn't that just Azure in your data center? He's like, yeah, but down at the operating system level, we had to change some flags and change some settings and things like that. So what do we know in IT? It's always the, yeah, at the high level, it looks the same, it acts the same, it feels the same. Seamless. It's seamless and everything. When you get down to, you know, the primitives level, sometimes we need to be able to do that. I'll tell you, Dave, there's things even when I look at a cloud, if I'm in US East One or US West One, there actually could be some differences in what services are there or how things react. And so therefore, we have a lot of deep work that goes into all of those environments. And it's not just Red Hat, you know, we have a marketplace and an ecosystem. You wanna make sure you've got API compatibility across all of those. So we are trying to help lift up this entire ecosystem and bring everybody along with it because you said it at the upfront, you know, Kubernetes alone won't do it. No one vendor gives you an entire, you know, everything that you need for your developer tool chain. There's a lot that goes into this and that's where we have, you know, deep commitment to partnerships. We build out and support lots of ecosystems. And this show itself is very much a community driven show. And therefore that's why, you know, Red Hat has a strong presence at it because that's the open source community and everything that we build on. Yeah, you guys are knee-deep in it.  To me, that should be their strategy. NetApp, their strategy should be to basically build out that abstraction layer, the so-called super cloud. So it'd be interesting to see if they're going to be at this show. It requires a lot of R&D, number one, number two to your point. It requires an ecosystem. So you got all these guys, most of them now doing their own as a service. As a service is their own cloud. Their own cloud means you better have an ecosystem that's robust. I want to ask you about, do you ever think about what's next beyond Kubernetes or do you feel like, hey, there's just so much headroom in Kubernetes and so many, you know, active projects. We got a ways to go. Yeah, so the Kubernetes itself, Dave, should be able to fade into the background some. In many ways, it does mirror what happened with Linux. So, you know, Linux is just the foundation of everything we have. We would not have the public cloud providers if it wasn't for Linux. I mean, Google, of course, you wouldn't have without Linux. It's on the internet. Right, you might not have a lot of it. So Kubernetes, I think, really goes the same way. It is the foundational layer of what so much of it is built on top of it. And it's not really, so many people think about that portability. Oh, Google's the one that created it and they wanted to make sure that it was easy if I want to go from the cloud provider that I had to use, you know, Kubernetes on Google Cloud. And while that is a piece of it, that consistency is more important and what I can build on top of it. It is really more of a distributed systems challenge that we are solving and that we've been working on in industry now for decades. So that is what we helped solve and what's really nice, containers in Kubernetes, it's less of an abstraction. It's more of a new atomic unit of how we build things. So virtualization, you know, I don't know what's underneath. And we spent like a decade fixing the storage and networking components underneath so that the lones matched right and the network understood what was happening in the virtual machine. The atomic unit of a container which is what Kubernetes manages is an application or a piece of an application. And therefore that there is less of an abstraction more of just a rearchitecting of how we build things. And that is part of what is needed. And boy, Dave, the ecosystem, oh my God. Yes, we've gone to only three releases a year but I can tell you having, you know, our roadmaps are all public on the internet and we talk heavily about them. There is still so many things that just at the basic Kubernetes piece, you know, new architectures, ARM devices are now in there. You know, we're now supporting them. Kubernetes can support them too. So, you know, there are so many hardware pieces that are coming, so many software devices, the edge we talked about it a bit. So there's so much that's going on. One of the areas that I love hearing about at the show we have a community event called OpenShift Commons which one of the main things of OpenShift Commons is customers coming to talk about what they've been doing. And not about products, we're talking about the projects and their journey overall. We've got at the Valencia show Airbus and Telefonica are both gonna be talking about what they're doing. You know, we've seen Dave, every industry is going through their digital transformation journey and it's great to hear straight from them what they are doing. And one of the big pieces, an area we actually spend a bunch of time on, that application journey, there's a group of open source projects under what's known as conveyor. That's conveyor with a K, conveyor.io. It's modernization and migration. So how do I go from a VM to a container? How do I go from my data center to a cloud? How do I switch between services, open source projects to help with that journey? And oh my gosh, Dave, I mean, you know in the cloud space, I mean, that's what all the SIs and all the consultancies that they're throwing thousands of people at is to help us get along that curve of that modernization journey. Okay, so let's see. May 16th, the week of May 16th is KubeCon in Valencia, Spain. theCUBE's going to be there. There was a little bit of a kerfuffle on Twitter because the mask mandate was lifted in Spain and people had made plans thinking, okay, it's safe. Everybody's going to be wearing masks. Well no, I mean, you're going to have to make your own decisions on that front. I mean, you saw that. You follow Twitter quite closely. But hey, this is the world we live in, right? So I'll give you the last word. Yeah, we'll see if Twitter still exists by the time we get to that show with what happens. But yeah, no, Dave, I'll be participating remotely. It is a hybrid event. So one of the things we'll be watching is how many people are there in person. LA was a pretty small show. Core contributors brought it back to some of the early days that you covered heavily from the Kube standpoint. How will Lensi be? I know from Red Hat standpoint, we have people there, many of them from Europe, both speaking, we talked about many of the co-located events that are there. So a lot of pieces, I'll participate remotely. So if you stop by OpenShift Commons event, I'll be part of the event just from a hybrid standpoint. And yeah, we've actually got the week before we've got Red Hat Summit. So it's nice to actually to have back-to-back weeks.  I remember back-to-back weeks in Boston one year where we had both of those events and everything. So definitely keeps us busy with there. You've got a whole bunch of travel going on. I'm not doing too much travel just yet, Dave, but it's good to see you and it's great to be connected with the community. Yeah, so the Kube will be there. John Furrier is hosting with Keith Townsend. So if you're in Valencia, definitely stop by. Stu, thanks so much for coming into the Kube Studios and Marvel, appreciate it. Thanks, Dave. All right, and thank you for watching. We'll see you the week of May 16th in Valencia, Spain.