And let's go to my pages. So all we're gonna do is we're gonna build audiences around these pages, custom audiences. So we can start tracking not by name and number, right? Not by the actual name of the individual who landed on that page. Unless it's a lead, like you'll have that lead in Karcher, but as far as the data that Facebook is collecting, they're just putting all these visitors in a group, in an audience. And so we wanna be able to track the most important pages for advertising. So let's go to, it's gonna be, which one's, it's gonna be, it's gonna be the opt-in. So scroll down, we'll do the opt-in. We'll do the thank you page. And then we're gonna do, the pixel is on everything else. See, there's two things that are going on. The pixel is on the page first. That's already on the page. The pixel is what's allowing Facebook to track it. But now what we're gonna do is we're gonna go even more deeper. We're gonna actually give them a specific link to track and we're gonna name that link. So for example, the book opt-in. We're gonna tell Facebook, whoever lands on this page is a website visitor. And then whoever lands on the thank you page is a lead. We're gonna name that in Facebook. Like, so now those, like just those two pages alone, the book opt-in and the thank you page, that just those two pages alone are the most important because those who land on the book opt-in, but don't opt-in. That's an audience that I wanna continue to retarget ads to. The people who actually opt-in, they go to the book opt-in, they put their name and email, they go to the thank you page. People that specifically land on that thank you page are leads. We need to tell it to Facebook. And then again, the just the overall benefit or the advantage that we have by specifically setting that up as a custom audience, thank you page leads. The reason why that's so important to be set up as a custom audience is because that's the audience will be excluding from future ads. One, the book opt-in I'm including, and I'm gonna always retarget those because those are people that are landing, but they just didn't, they didn't fill out the form. So let's get back in front of them, right? Those are visitors that will always wanna retarget. And then the thank you page will be visitors who you'll always want to exclude. Cause if they've already downloaded your seller guide, they don't need to keep seeing your ads, right? Okay, okay, I'm sorry. So the ones that we're excluding that have opted in. Now let's say for instance, you have me kind of creating these weekly seller content videos with those go to those who have already opted in or would they no longer be seeing any sort of ad campaign for me ever in the future? Very, very good question. It's totally up to you to show whoever, whatever, but if you're focused on putting out weekly video ads talking about, hey, download my seller guide and people have already downloaded your seller guide, they don't need to be seeing that ad. Well, the one I did was kind of from something that you had suggested, which is basically create the content first. So when I, the first part of the video is content-driven, it's something specific to sellers or I'm educating, but when I close out is when I say, if you like these tips, then I have a 2021 for sale bonus seller guide, which you can learn more, so I kind of have that, it's kind of like my close out call to action. Oh yeah. So it's not really upfront. It's kind of like after you've set through a video, you like the content, you like my tips, then here's a, do you still feel like that is kind of redundant though? Cause I don't want to be blowing money. No, no, not at all. Because again, that's what we're doing here. These custom audiences are including or excluding the type of person that it's the most relevant to. So if I already opted in, I won't be seeing any ads. If I haven't opted in, I can continue to see ads. So if I land on your book opt-in page, but I don't opt in, keep showing me ads, retarget me. You're going to have me in an audience. Those who land on the thank you page, they're already leads. Now you need to exclude me. I shouldn't be seeing no more ads. Like you said, yes, not need for ads. Now this is where you're building, basically you're taking it from online to offline. Now you're building that relationship where now it's a personal, whether I'm calling, I'm emailing direct or whatever. I'm spending time converting that lead. Yes, because. But not through ads, cause that makes sense. Yes, because now again, the people who land on the thank you page, they will no longer see ads anymore because we're going to physically and manually exclude them. We're going to put them in their own custom audience. We're going to exclude them from seeing future ads. Because again, those are people who've already opted in. They're on my email list. So any information, any video, whatever, I can just email it to them. I don't need to run an ad to them. Right, right. But the people who haven't landed on, that's why we're going to get very specific as we go and set it up in Facebook. It's going to be very specific. These are people who landed on a very specific link. So we're going to be able to name that audience and again, really manage our ads that way, segment them that way, show our next ad to the most relevant audience that way by knowing who we're targeting, by knowing who landed on pages and who didn't. Got you. You know what I mean? But again, yeah, those who've already opted in, email them. They don't need to see ads. That makes sense.  I mean, it was well delivered. I guess my question is, I hope that I have put my pixels on all of these email sequences. Because I suppose I've done that. I think I did, but. Yeah, we can always double check. We can do that later or whatever. In fact, you know what? Let me, let me. It may be something easier that you could do maybe. Yeah, I can, I can, I could, I could check that for sure. I could check that for sure. Did you download the Facebook Pixel Helper? Did I have you download that? I think you did. Check your profile picture in the top right. No, not over there. Don't leave this page in the top right. Yeah, to the very left of that, that little hammer looking thing. Click on that. Okay, yeah, you don't have it. Okay, so open up a new tab, open up a third tab and just go to Google and then just right here in the middle, yeah, in the search, type in Facebook Pixel Helper. You'll see it right there. I am. Install this. This is free. Click on, yeah, click on, actually go down. It should be, it should be a Google Chrome. Yeah, that Chrome one. This one? Yeah, grab that one. Okay, so install this real quick. This is free. This will sit up here at the top right there by your profile picture. And then just right here, yeah, add to Chrome. This right here, add extension. This is just how you test your pages, how you test your pages to see if that page has a pixel on it. So go in and go to Cartra. Grab a link real quick. Grab any page. David, wait a minute. Why does it say turn on sync? Am I supposed to do something here? No, just Excel, that's fine. Just, yeah, but let's pin it so it shows up here. So go back to that hammer looking thing next to your profile. Yeah, and then just pin it. Yeah, hit that little pin. There you go, perfect. So now let's set up there. Okay, so now when you're on a page that does not, this is a page, you're on a Cartra page, you're in Cartra now, this is a tab, this is a page, we're on a page right now. This right here. When you're on someone's page, it doesn't have to be yours website, any website you're on, whatever, it could be any page. When you're on a page and that little icon on the top right is shaded gray, that's how you know they don't have a pixel on you. But when that thing lights up, you can be on someone else's website, you can go to ESPN.com, you can go anywhere online. And when that thing lights up, you know that they're pixeling you. I don't care. Did that, you showed me, but I didn't know how you were reading that icon image. You had said that before, you were showing me through some other sponsored ads and you were like, yeah, they've got their pixels on me. I didn't know how you were reading. Okay, sorry, I'm kind of excited. I don't care who's pixeling me. Like I don't care. Like I don't care about none of that privacy. I don't care about none of that. I only have that up there to test my pages. So for example, click on your three dots and get the code on any of them. Click on finale step six, whatever. Click on the three dots, get the code. Get the code. And then just get this link, copy this link and just open it up in a new tab. And so this right here is why I install that little helper thing so I can test my pages. So right away, your little icon thing lit up. It's blue with the number two in it. So click on that, that Facebook pixel hopper. This right here will let you know if your pixel is installed. It is installed because it lit up. But then when you click on it, you see your name. Next step, realtor, that's your pixel. So that's why I have that thing up there so I can test my pages and make sure my pixels on there correctly. I don't care about anyone else tracking me. You know what I mean? So yeah, so your pixels on that page for sure. Yeah, hopefully they're on all the other ones. And the ones we'll really do watch scroll down. We'll do custom audiences around three pages. It's the opt-in page, the thank you page, and the call confirm page. So even with the call confirm page, again. Did you do this? You can re-edit it. It's not a big deal. Like you can edit it for sure, but the link, get the, click the dots and go to get code or link. Let's make sure the link is customized. We wanna make sure all these links are customized. That's what you were supposed to do is customize all the links. I didn't put that there. Yeah, I know, that's the default link. So hit the pencil and customize this link. That was your homework last time. No, click the dropdown, go to your link. Yeah, so we just need these links customized. Was this called confirm? Call confirmed. Okay, so call confirmed, ED. Oh. Yeah, so this is the page that they'll land on. Okay, so now take this link, open it up in a new tab. You always wanna do that right away. So Facebook can read that page for the first time. They can read that link. We wanna make sure that our pixel is on it, which in this case, our pixel is not on it, right? So that thing didn't light up in the top right, right? It's gray, so you know your pixel's not on it. So you'll need to install your pixel on this page. So let's just go to, go back to Cartra, close this out.  Oh. So yeah, we'll click on edit and go at it here. So the reason why this call confirmed page is so important, in the category, you have it in no category. Actually that one's fine, that one doesn't have to be in category, this specific call confirmed page. But the reason why this is so important for Facebook, for our ads, because just like the thank you page, so those who land on the thank you page are leads. I'm gonna have them in a custom audience, I'm gonna name it Seller Guide Leads, and I'm going to exclude that audience from seeing future ads. Same thing with call confirmed. If a person's already scheduled on deployment with me, they don't need to keep seeing my ads.  Yeah, I just felt like that was odd because there is a pixel in there. Perfect, apply. And then now we'll have to actions, save progress, publish live. So with this page, again, the reason why this is so important is because if you've already scheduled an appointment with me, you don't need to keep seeing ads. Because I already have your email. So if there's any message I need to get over to you, I'll email it to you. I don't need to run an ad to you. Now again, what I'm saying regarding this, yeah, go ahead and open it up, let Facebook read that pixel, hit the pixel helper, see if that's your pixel. Make sure that says your name, next step, rotor. Okay, you're good. So again, what I'm saying is the thank you page leads exclude, the call confirmed page exclude. They're gonna, these people are gonna be, yeah, return to dashboard. These people are gonna be in a custom audience. We're gonna then exclude them from same feature ads. Now I'm saying exclude, but it also works on the flip side. Let's say for example, I actually do wanna run an ad to all my leads. Okay, well then shit, you can do that too. So every lead that has came in, they know me. They opted in, they saw my video, thank you page, blah, blah, blah, they're seeing all my damn emails going out, they're at a video on every damn step. They're seeing me. So if I really wanted to also on the flip side, I can run an ad straight to them. So now I have my audience of everyone who landed on the thank you page, I have maybe even my audience of everyone who scheduled a call because they landed on the call confirmed page. If I wanted to on the flip side, I can even take those two audiences and show them an ad. Hey guys, this is David. Hey, I just wanted to thank you so much for scheduling an appointment with me. I know a lot of you guys are watching this video.  Let me tell you what's going on next, right? Like that could be a very specific message that I actually run to all my leads. So it could work both ways. Like it could work both ways. I can either email them a freaking message or I can show up in their damn news feed if I wanted to as well. But the point is, is that these audiences are segmented. That's what's the most important is I'm able to categorize these people based on actions that they're taking in my funnel. And that's gonna result in my overall ad cost when I run the right ads to people, right?  So here, let's just check this real quick. Get the dots where the book opt in, get the link and then do the same thing for the thank you page. And let's just make sure that these two pages have the pixel. So let's just let Facebook read it. Okay, awesome. So check that, click that. Next step, rotor, bam. Okay, cool. So we're good there. Leave this open, leave it open. I was just gonna ask you, did you want me to leave it open? Yeah, leave it open cause we're gonna need to grab that link and then do the same for the thank you page and then do the same for the call confirm. Let's just leave all of them open. Let's grab them, open them up in new tabs. Those are the three audiences that we're gonna create right now. This is just so genius. Never gets old. So custom audiences are what we've been going over this whole time. That's what we're gonna do. So go and get the call confirm one as well. Custom audiences, we're gonna set up three custom audiences. Now, this is custom audiences around website, around the keyword website, which I'll show you where that's at, but this is website custom audiences. The other custom audiences that we'll be creating are videos. So just like we went over that before, we created a custom audience around your video. So that's the other audiences. Those are the other audiences that we'll be retargeting in the future as well. It's people who land on specific pages and then also those who are watching your videos. Those who you'll wanna continue to retarget. Yeah, that's what I want. Yes, so now they won't be landing on that. They won't be watching, they won't be seeing future videos if they've landed here or if they've already opted in, right? So we're gonna set all that up right now. We're gonna really make sure that we're targeting the right people. Okay, so we have these three links up. Now let's go to the business settings, let's go to ads manager. And all we're gonna do is click on the dots at the top and we're gonna go to audiences. These dots? Yes, we're gonna go to audiences and right there to the right, you'll click on audiences. There's so much stuff to look at. You have the ads manager folder right there at the top. So that is all you should be clicking on, really. Click on that. You have everything saved, right? So you have, yeah, you have everything saved. So actually, you know what? Yeah, custom audiences right there. So yeah, try to always go back to the folder, just so yeah, because as you're navigating to the damn platform, it could be overwhelming. There's so many things going on. It is. But those bookmarks right there, I'm telling you, that's all you'll really ever need, like those bookmarks right there. So right here, as again, as we're navigating through the platform, you always wanna make sure you're in the right account. So next step, rotor, that's the right account. So now we're gonna scroll down and let's just minimize this top part right here. In the top right, you see that little dropdown for this middle part. No, down, down, down, little further, right there to the right. All this? Yeah. So go ahead and yeah, minimize it just a bit. So right here, we have one custom audience and that was the video. So again, we'll be creating custom audiences around those who are watching your videos. And then the other custom audiences are going to be websites around different websites, which are these three specifically. So let's click on create audience, click the blue button to the left, and then we're gonna go down to custom audiences. So custom audience. Okay, so this is gonna be website. And this is really all you'll focus on is website, video, and maybe customer list. Maybe customer list. Customer list could be like crazy, crazy powerful. I have some clients where they have good relationships with either lead brokers or they'll have good relationships with their title company because their title company has a list of every transaction, every freaking homeowner or whatever. Depending on if you have a relationship like that with the title company, some of my clients they do and they'll get a list from their title company. They'll get a list of everyone who has purchased a home in the last five years or whatever, right? Last year, the last two years, whatever, but they'll get a list of homeowners. And with Facebook, Facebook is so freaking gangster, man.  It's insane. What we do with that list of homeowners, people that have purchased in this zip code in the last two years, let's say, we could take that email list or that list of people, upload it to Facebook, that would be in customer list. And then we tell Facebook, we say, hey, here's a list of a thousand people. Go find me a million more who look just like them. And that quote unquote look just like them, that is based on buying patterns, that is based on clicking patterns. That's based on so many different data points. Facebook has thousands of data points on us. They know everything we're clicking on. So with this list, I'm able to tell Facebook, hey, here's a thousand people that all resemble my ideal client. Go and find me a million more. And that's when you just now leverage Facebook. Now you no longer have to put in the interest, you no longer have to target a specific demographic. You can just give this list to Facebook and Facebook will go find you more people that look just like them. It's insane, like it's absolutely insane. That's customer list. So it's website, customer list and video is where you'll really spend time creating audiences. Video, we did the other one, the intro, that's the one behind this screen here. Now we're gonna do website. So let's do website. So click on website. We'll do customer list later on, but right now just website video, that's all we really need to focus on. So click on next and then now over here, now we're gonna start getting specific with these links. So let's start with the opt-in page. Let's go to the opt-in page and click on the link at the top, yeah, the tab. So this right here, all we're gonna do is copy the URL, not the WWW or the HTTPS, double click it, double click the link. Yeah, so all you need is the next step dash, rotor, like everything to the right, that's all you need on all these. All these that we're gonna do, just remember that. That's all we need, we just need that part. So copy that. Okay, so now go back to Facebook. And now you're gonna click on, that's the, we always wanna make sure that that pixel, the source, that's your pixel, the green dot, that's your pixel. So we always wanna make sure that's the green dot right there that we see a green dot, that's our pixel. Next step, rotor. And so events, we're gonna hit that dropdown and we're gonna go down to specific. People who visited specific web pages, specific, go with that one and we'll leave it at 30 days, that's fine. Facebook will start capturing the audience of those who are landing on this page within a 30 day period. So right there below, you see contains and then paste in, leave that, paste in the link right there, these values. Yep, paste it in right there. And then you'll always go with the dropdown. So as you paste it in, you'll see a dropdown, click the dropdown, always click the dropdown, that blue, click the dropdown. Oh, dang it, hold on. No, it's all good, it's there. But when you do this, just hit that dropdown. There you go, perfect, you're good. Okay, again, the keyword today, for today's call, the keyword is specific. Like this is specifics. Like we are telling Facebook specific links, name these audiences under specific names, like we're being specific. So this right here, we're creating an audience of everyone who landed on the website, but have not opted in. So then now what we have to do is scroll down, scroll down a bit right here. And now we're gonna tell Facebook, okay, these are people who have landed on that link, but they never landed on the thank you page. So now we're gonna click on exclude. We're gonna exclude anyone who actually has. If you landed on the thank you page, you ain't on this list, right? So now I'm gonna exclude, I'm telling Facebook, only people who have landed but not opted in. So scroll down, we're gonna hit all website visitors, we're gonna go specific, we'll leave it at 30. So hit the all website visitors, the same as the top. So the events specific. And then now what we're gonna do is we're gonna paste in the thank you page and the call confirm page. So go to the thank you page, go to the call confirm page, grab those links, grab just the URL, not the www. So just right there, this is the thank you page. So let's paste this one in. And then we're gonna also paste in. Yeah, see, so you grabbed everything. You gotta always double click it, double click, go back. Yeah, double click it so it opens up and then just, no, no, no, just grab the URL, not the www. Okay, so we're gonna grab this one, copy that, paste it in and we're gonna grab the call confirmed and paste that one in as well. I think you might have the dot. Do you have the dot? No, you might not have the dot. I'm tripping. I thought you had the dot copied as well. Well, you're okay. Okay, yeah, so. I did. Yeah, I did. It keeps picking it up. It keeps picking it up for some reason. No, you know what? I don't think it is picking it up actually. Okay. Yeah, you should be fine, you should be fine. Okay, so again, specifics, specific. They landed on the website, but they never, or the opt-in page, but they never landed on those two. So now scroll down and this is gonna be free FSBO website visitors. So audience name, yep, audience name, yep. And keep it the same as well. Whatever prefix you're using, whether it's FSBO, yeah, so free FSBO page visitors, page visitors. And then in parentheses, you wanna put only. So again, specific. These are only, they've only visited the page. That's all they've done. And then just click create audience and that's it. Now, this is an audience that you'll always want to retarget, click done. That's an audience that you can always retarget. Because again, they're senior ads, they've clicked on it, but they haven't opted in.  Show them another ad next week, you know what I mean? So that's an audience you'll always wanna retarget. The intro next step, 25%, that's an audience you'll always want to retarget. Again, this custom audience, this is what creates the omnipresence type of vibe.  Who is this chick? She keeps showing up. I keep seeing her videos. It's like, man, you're only seeing my stuff because you're engaging with my stuff. You're either watching my videos for 25% or you've clicked on my page before and haven't opted in. Right? So don't get mad at me because I just know my marketing and I keep showing up in your damn newsfeed. You're the one watching my stuff. So you must like something, let's do business. Correct, right? So it's like, that's what's gonna turn you into a rockstar is when you're retargeting. That's where, and this is where everyone drops the ball D. Like I probably mentioned this to a million times but I've spoken to a million rotors. Okay, I literally a million rotors on this exact topic. All damn days since 2016, where 99% of the people drop the ball is they'll run an ad, expect leads from it, run an ad, expect leads from it. Maybe they'll run another ad, expect leads from it when each time, let's say it was three ads over three weeks, let's just say for example, or over a month, whatever, it doesn't even matter. Let's just say they ran three ads but each ad was set up targeting their local area which is technically set up starting a new ad. Every ad is a new ad.  When you set up ad number two, go set up a custom audience and then when you go to ad number three, retarget those who have watched number ad number one and ad number two. Like there's never retargeting. That's what agents don't do. They don't set up custom audiences which give them the long-term ability to retarget these people and create that omnipresence. People need to see you over and over and over. Don't just, I can't just see one ad and click. Like it doesn't happen that way. Like even if it has consumers, like you don't just see something random. Even if it's the baddest handbag D, like I'm gonna keep it real. Like I know you're all into fashion. I know you are. You be looking good. I know you. I know you. Let's say you were looking at shoes or handbags or hair products or whatever. And even if it is exactly your style and your type and you're like, damn, that handbag is nice. Like I want that.  Like unless you're that major impulse buyer, then maybe. But the majority of us, we're not hardcore impulse buyers. Like I can get impulse every now and then but not on everything. So even if I see something a nice hat cause I'd be wearing hats, if I saw a nice hat on a website, I don't just click and buy right away. I need to see that how to, if that hat showed up again and then all of a sudden it's in my newsfeed, maybe four days later and now they're offering me a discount code if I click and order now, then I'm like, holy shit, okay, cool.  I keep seeing it. Right? If we don't get people to that point, then you're just a lost soul. They don't even remember you. They don't remember that first ad they've seen three weeks ago on you and it was one ad only? Exactly. Right? So this is where it's all at is custom audiences. You wanna start grabbing this data of people who are engaging. That's where the retargeting, that's where the money's at. Okay, so- I wanna tell you something I think is really funny. You know how I work with a lot of clients and a lot of their, how can I say it? Confirmation of decision-making comes from a sign. I won't go because I know I'm being recorded and I don't wanna start getting you any hate comments. No, it's all good. It's all good. Let me know. It's all good. But I hate to say that but you know, well, if it's meant for me, then- Yeah, yeah, yeah. How do they know that by something that they see over and over again? Or you know what I'm saying? So even seeing my face, well, I wasn't gonna go with an agent but God, it must be confirmation because- Right? Showing up, you know? So it's funny how people will base decisions and a lot of it is through this, you know, abstract, you know, give me a sign type of mindset. And it's funny how you can tailor your marketing to kind of speak right into that type of impulse. That is funny. That is really funny. The other thing is, so when I run these ads, is this something that I need to be coming into my custom audience? No. And setting up the next ad for the same way? Well, no. Well, once we set up these custom audiences, then they're already set. And so now, when we go and run the ad, we'll be able to choose.  You choose the keyword you wanna use. I wanna target people who have an interest in this, people who have an interest in that, right? So as we go and set up the ad, that's where we can put these audiences. Okay. So we'll be able to click and we'll be able to see free FSBO page visitors only. We'll be able to see intro next step. Like we'll be able to see that as we're set up the ad, we'll have the ability to choose these audience or to exclude these audiences from that one specific ad. Like that's all in the setup of the ad, which we'll get to on our next call. So now let's do the, now let's do the, go to the thank you page. Go to the thank you page. Let's set up that one real quick. So the thank you page, this right here, copy that. And now, yep, just that right there. Copy where, timeline it or what? Just that, yep, just that. It's always just that. So now go back to Facebook and this audience is gonna be leads. So hit the blue button, create audience, go to custom audience. This one is going to be FSBO leads. So website. And then next, and then just go in and hit that all website visitors, hit that events dropdown, go to specific, leave it at 30 and just paste in that contains, paste in that value right there. Hit the dropdown, just choose the blue one. And that's it. So scroll down. This right here is FSBO leads. In the description. Audience name. Nope, audience name. So just name it. This is a very specific audience. These are my leads. This is an audience of my leads. Would you say FSBO leads? Yeah, you could. You could, yeah. I was just trying to remember what you said. I'm trying to take in so much. Okay. FSBO leads. And then what we'll do also is go to create audience. Okay. And why don't we do this too? Go click done. Scroll down. Let's look for that audience real quick and just, actually, I think it was that for them. I'm so sorry. Scroll back up. It was that for, yeah, right, the leads. Check that box to the left. Let's add one more link in there. Yeah, click on edit. And again, the keyword today is specific. So this right here, what I wanna do is I wanna set it up where this is an audience of everyone who landed on the thank you page, but they never landed on the call confirm page. Again, specific. These are leads only. They haven't sketched an appointment with me yet. So scroll down. We're going to exclude. So we're gonna click exclude and we're gonna exclude the call confirm page. So go to the call confirm page at the top. Copy the link and that's gonna go in there. So let's exclude all website visitors. Go to specific. Hold on. Nope, above. All website visitors. Down. No, no, no, no, no. Down. Excluding. So right here, this is the exclude part. So the events in the events, click the dropdown. All you're doing is doing the same as the top. So it's specific. Oh, sorry. And scroll down and then just paste in that call confirm page. And so in the audience name, in the description of the name, scroll down. Why don't we just name it? In parentheses, only, only. That means they haven't scheduled an appointment. They're only leads. They haven't scheduled an appointment. Okay, so you want to keep that in mind. Or in the parentheses, you could put haven't scheduled appointment. You could put whatever the hell makes it better for you to remember this stuff, but only is only leads. Like they haven't moved on to the next part. And that's how you should look at it. There's levels to this.  The next step, as I take you to the next level, that's when you schedule an appointment with me, right? So that's how these audiences could be set up too. So FSBO leads, yep, only haven't scheduled an appointment. Take away the word only, take away only. Yeah, so in parentheses, haven't scheduled appointment. Perfect, update audience. Okay, so now let's create our last audience around, hit done, so click the blue button, create audience, custom audience. Let's create this last one of appointments. So website, and then let's go to, let's go to all website visitors specific. And then go and get the call confirm page, our link. Okay, cool. And then paste that in right there. Okay, perfect. So scroll down, and then the audience name. I would name it appointments. And it's not just FSBO appointments, actually.  Right. So appointments. So create audience. Do I need to do anything here? No, there's no one to exclude. Just, yeah, just, that's fine. Audience of just appointments. So again, in the future, you can choose to target that audience, or you can again choose to exclude that audience. Okay, of appointments. So those are your main, main, main audiences in your business are people who schedule appointment, leads, and those who've just opted in, or those who've just landed on the opt-in, but haven't, you know, opted in. Those are your three audiences. So now what we gotta do real quick is we have to set up a custom conversion. A custom conversion is based on, based on your thank you page. So as we run ads, go in and close out the call confirmed tab at the top and close out the Facebook Pixel Helper. Let's just leave open the Facebook Pixel Helper tab. Yeah, close up that one. So go to your opt-in page. Okay, so you got your opt-in page link, right? That's forward slash download free seller guide. That's that link. As you run Facebook ads, we're gonna let Facebook know about that link, right? We're gonna say, okay, Facebook, when people click on learn more, take them there. That's when Facebook knows about this link. It's set up as a custom audience, our Pixel is on it. We're gonna give the link to Facebook when we set up the ad. Okay, when they click learn more, they go here. But the type of ad we're running, the type of ads we will be running for lead capture is conversions. So with a conversion ad, that's the type of ad where we are telling Facebook our ultimate goal. So when you're running an ad, what is the ultimate goal? Is the ultimate goal to get people here or is the ultimate goal to get people to the thank you page? Well, for me, it's to get them here. No, it's not here. Well. That's not your ultimate goal. That's your goal. No, no, no, no. I mean, you're right. You're right. You said ultimate goal. And I guess I was thinking what do I want them to link to as far as. Yes. The goal is to get them here. Yeah, not the technical side of it all, not the clicking, not the technical side of everything, just the overall philosophy and the overall strategy and the overall mindset and just the overall goal. Our goal is to, yeah, get them here. But our ultimate goal is to get them in the next page. So open up the next tab, click on the tab at the top, schedule you're free. Our ultimate goal is to get people here. Yeah. That's what we gotta tell Facebook. Again, today's word is specific. It's specific. So when we go run a Facebook ad, we are very specific. We're telling Facebook, hey, man, I am only willing to pay you if you can get me people here. This is my ultimate goal. I don't care about the thank you pay. Yeah, they gotta get to them and click learn more. Yes, they gotta get there. But I ain't paying you for that. I'm paying you to get me people here. Yeah. And I guess I was thinking about it as far as, you know, giving them the product that I promised. You know what I mean? The learn more is where I'm telling you to click in order to get the download. Yes. So that's how I was processing it. It's like, that's the goal is to get them to that download page. But you're right. No, my ultimate goal for this whole marketing strategy is obviously to get leads, to get business. So that is to get them here. To get them here. To get them here. To get them here. That's the goal, to get them here. Because if I can get people here, then everything else takes, you know, everything else falls into place. I gotta get people to land here. And so that's what we're gonna tell Facebook. So copy this link right here. And now what we're gonna do is we're gonna go back to the Facebook ads manager. We're gonna go click on the dots in the top left and we're gonna go to business settings. We're gonna set up our custom conversion. So go to business settings and then to the left, you'll scroll down. And I believe it might be under data sources. Scroll down to the left and you see data sources. Click on that. I'm pretty sure it's in this one. Yeah. So custom conversions. Okay, cool. So again, all we're doing is telling Facebook our ultimate goal is to get them to that page. And we have to set it up. So click on the blue one, add. And then create a new custom conversion. And then we're gonna simply take that link. Well, so we'll scroll down and let's just hit create the blue button. And then we're gonna name the conversion. So this could be the same. FSBO leads. Just like you named the custom audience. So you got custom audience and you got custom conversion. The custom conversion is only the thank you page. In your case, only the thank you page we need to really focus on. Oh, do you want me to put Ollie in there? No, no, it only does that. This is the name of our custom conversion. So as we go and set up our ad, we're gonna also link this as well when we set up the ad, which I'll show you how to do later. But so now we named it FSBO leads. That's our custom conversion. The data source is Next Step Rotor. That's the pixel. And then all URL traffic, you can leave that. Click on select your own category, the blue one. Select your own category. So we're telling Facebook that the people who land on this page hit the recommended, the dropdown. We're gonna call these ones, no, recommended. We're gonna call these ones lead. So scroll down, look for the word lead and you'll click on that one. Okay, so now we're gonna paste in that URL right there. Okay, create. That's it. That's our custom conversion. Now what we have to do first real quick, we gotta do a couple of steps real quick, but hit done. And then now what we'll do is we'll refresh this page or unless it's still thinking, but go ahead and try refreshing it. And now we gotta just activate the conversion. So we set it up. Now go ahead and click on connected assets or click on add assets. Click on, click on add to the very, very right. So now we're in the custom conversion. Click on add assets. Right here. Yeah. And so now you can just add right here, this add account, go ahead and click on the circle to the right of next step rotor. Click on that and then add. Okay, good. We're good there. So hit done. And then let's just double check. Click on add accounts to the left. Let's just double check. We have to add anything over here. Add accounts. I'm getting lost. Add accounts right there to the left, add accounts. Down. Oh, right here. Yeah, add account. Okay, so we're good there. Yeah, we're good here. Now what we'll do is we'll scroll down, click on the data sources, click on pixels. Let's just double check our pixel real quick. We should be fine over here. Yeah, okay, so it's tied to you. Click on add assets to the right. Yeah, add assets. And just add that right there, add account. Click on that. Yeah, it's already added, but let's just do it again. Click on add. Okay, good. We're good. Okay, so now go to your folder at the top, the ads manager bookmark folder, and then go to custom conversions. Go to it from here. Okay, so now all we have to do is we may just have to refresh our page, our carture page, our thank you page. Let me double check real quick. Okay, so you see it inactive right there. So now what we gotta do is we gotta activate it. So go to your schedule free call page now, go to the thank you page, and then refresh this page. Okay, now go to click on the pixel helper in the top right. Okay, perfect.  You named it FSBO leads. So there is that. So now go back to the events manager tab and refresh this page. Okay, so now this should go active. What's that? I was just saying, please be active. Yes, it should be active. It's active on the page. So it should be active over here as well. Okay, perfect. So you're good. You're good. So now there's a couple more steps that we need to do real quick. You're like gracious. Yeah, I know it's crazy, but click on the three dots, or the dots to the left and go to events manager. Over here. Yeah, so we're gonna go to events manager. That one right there. Click on that one. And this is the newest, newest update with Facebook and Apple. So this is just, this is next level stuff right here and I'm gonna show you to do real quick. So that's the pixel. Click on diagnostics right there in the middle. You see the number one diagnostics. Click on that. And then to the right, click on these dots to the right. Scroll down a little bit. Right there, those dots. Yeah, click on those and just click on ignore. Okay, so now click on settings right there. Settings and then scroll down. And all we're gonna do is we're looking for traffic permissions. Scroll down, scroll down, scroll down.  Keep going, traffic permissions. Okay, right here.  Create allow list. Create allow list. Yeah, click on that to the left. Create allow list. Click on the words. Oh, the words, sorry. Okay, so we got this over here. So let's, okay, so those are all loud. Those are all loud. Okay, good, we're good. We're good. So that's your domain right there. Okay, cool. So close this out. Okay. And then now all we're gonna do is click on overview right in the middle overview. And then right here, we're gonna scroll down just a bit. And we're gonna click on right here, right here. We're gonna click on aggregated event measurement. Click on that one. Aggregated event measurement. And then configure web events, the blue one. And then over here, the domain verified. This is the newest update with Facebook. This is the Apple iOS update with Facebook where now Facebook needs to, needs to, now we already verified the domain, but now we got to connect it to the custom conversion. So click on domain verified. And then manage events. And then go and click on the blue one, edit. And then to the right, you're gonna click on the green one, add event. And then over here, click on that dropdown. Sometimes this might take a few minutes, but let's see. Yeah, hit the dropdown. Okay, so go to custom conversion. And then to the right, choose an event. Bam, FSBO leads. Click on that. And you're good. So click the blue button to the very, very right. Submit. And then check this yes box. Yes, I understand these changes. And that's it, D.  Like you're ready to go for your question. That was custom audiences. That's setting up a custom conversion and that's updating everything, the settings to the new web event configuration, which is an Apple iOS update with Facebook.  And so, I mean, they're always updating the iOS, so... No, that's the one-time thing. That was the one-time thing. What is it? It seemed like we had to do something a while ago about an update that they did. But anyway, okay, cool. Yeah, no, we're good now. We're good now. So next is just to start running ads.  Now it just comes down to running ads. So... So I'll book with you. I'll go through your calendar, see what you got open for next week. You asked me a question about the sell by the pros. So I don't think we were going to use it, but I think we were going to be able to put that, put my pixel on it, I believe, just so that I could create an audience from it. Is that what you said? I can't remember. No. If, well, what I was really kind of referring to was just taking that name and creating all your platforms around it. So all your social media icons around it. No, I'm not going to do that. Okay, cool. So yeah, I mean, yeah, if you're ever going to use the domain and tie it to a cartridge page, then yeah, you'll want to put a pixel, but not this same pixel. Maybe a different pixel. Maybe that's a whole different campaign that you run with that domain. Whatever you want to do, you can use... Because this domain right here, Next Step Dash Rotor, that's already on cartridge pages. That's tied to the FSBO campaign. That pixel is for that domain. I mean, so if anything, you can always use that domain too. We'll just set everything up around that. It's own pixel, it's own ad account, it's own everything. Or not, or you can just take out this one and just start using that one. It's up to you. No, I don't want to do that. Like I said, the only reason I was setting it up is because I am using Homesnap as an ad. Well, how can I say it? It creates ads for me.  So because I had to either A, allow them to give me a free domain, which is never interesting. I never liked for the company who I'm getting a subscription to to own my domain. Yeah, you're thinking right. Yeah, so I bought my own, but I was just trying to figure out, I think you had mentioned something I can't really recollect, which is why, I'm sorry, but I thought you said something about being able to get familiar almost with that traffic. Like whoever's now going to that website because it's going to be a published website, it's, Homesnap is going to be driving traffic to it. Yeah. Now you can get the traffic from that site and create an audience through then. I don't know. No, we could do that for sure. We could do that for sure. All we would do is integrate the domain over here with Facebook and then put your pixel, this pixel, put it on that page. That's fine. Okay. And then we create a custom audience around everyone who lands there. Yeah, that's what I was wondering. Yeah, for sure. So all you need to find out is how to install your pixel on that page. That's it. And then I can help you integrate the domain and then we'll just do the same. And all it is is integrating the domain and then doing exactly what we just did with all this. So that webpage, whatever that page is, copy the link, go and create a custom audience, put the pixel on the page, just like we did over here. So if anything, you could play this back. I'll send you this video, play this one back because all you're doing is setting up the same thing. But first, what you'll need to do, what you'll need to do first before you even set up the custom audiences is you'll wanna click on the dots to the left, go back to the business settings, click on the dots. Oh, you're telling me you're doing it now? Yeah, go to business settings. What you'll wanna do before anything is you'll wanna integrate the domain with Facebook. So what you'll do to do that is to the very left, you'll scroll down, go to brand safety and then you'll click on domains and then you'll just add that domain. The same way we added this one, we went into GoDaddy, we put a piece of code that Facebook had you copy and you integrated it with GoDaddy. You would just do the same thing here. So you'd hit add, let's just do it right now for the hell of it and then just do add. I think the website is still in park. That's fine, it'll be pending, that's fine, just do this part real quick, click on add and then just type in your, no www, just the URL. So type that in right there, soldbypro.com or whatever, sold by, yeah. And then you're gonna click on add domain.  Yeah, dot com, put the dot com. Hold on, soldbythepro.com. I don't remember what it was. Okay, so add domain and then now what you'll do over here is this will just be pending. So in GoDaddy, you'll just need to do this part.  We can do this real quick before your website's even up. It hasn't done your website. Let's just integrate it with GoDaddy real quick. Go to GoDaddy, let me just show you how to do this. Thanks, Dave. So let's go to your domains or go to that specific domain actually. Here's the domain. Okay, so go to, yeah, go ahead and click on it and then we're gonna scroll down. Yeah, click on, click on it. Yeah, yeah, click on it. The dot com, click on it. The name. Dot com. The name. I'm gonna be. Click on the name. Okay, so scroll down and now we're looking for managed DNS. So if you scroll down, actually I think it was at the top. It's managed domain. Click on managed domain. What do you say that at? To the right, quick links, managed domain to the right. Down. Down. I swear, oh, over here. Yeah, managed domain. So click on managed domain and then we're looking for the DNS settings. So that will be over here. This is one and more. Try clicking it again. Yeah, actually it's a dropdown and I think you gotta click the dropdown. So click on so many. Click on your name. You all domain, so let's do that. Okay, so now that's gonna bring you over here where you'll scroll down, scroll down to the very, very bottom and you'll see managed DNS. Down, down, down, down, down, down, down. Right there, managed DNS. So up, a little up, right there, managed DNS. Click on that. And so now what you're gonna do is go back to Facebook real quick. To what? To Facebook business settings. Okay. Click on number one, click on that. Actually, you know what? Click on, okay, so we're, click on, so add this meta tag to the head. Okay, so we don't want, click on the very top, actually the DNS verification. So right there, DNS verification. Click on that one. Perfect. Okay, so number two, we need to copy that. Number two, Facebook, yeah, copy. Perfect. Just click on it. Yeah, you're fine, just click on it. Just click on it, okay. Okay, it's copied. Okay, so now go back to GoDaddy. And then right here, scroll down. And all we're gonna do, they're gonna add. So click on add. And we're gonna, on the dropdown select, go to TXT. And then in the host, you're gonna put the at sign. So just shift in number two. Yep, perfect. And then the value, go to paste in that link, right there. Okay, cool. So save. And then now let's go back to Facebook to the business settings and just go and click on verify. And sometimes you have to do it multiple times, but we'll see. Okay, scroll down. Scroll down a bit. It won't move. Do you have something below? Just click on the X, maybe X out then, the very bottom, no, very, very bottom. That little X, yeah, try doing that. And then verify again. Yeah, that's fine. Verify again. Okay, cool, you're done. Okay, now refresh this page. And then that red dot will go green and you're good. So now that domain's integrated with Facebook and now you can use it for ads in the future, we just got to connect it to some pages or connect it to your page. So in GoDaddy, so go back to GoDaddy real quick. What you'll do is just scroll down. What you can do is you can have it forward. You can have it forward to see that. Here's the challenge. Here's the little roadblock. Here's the little roadblock. You can't just have it forward to that homesnap website. So let's say the homesnap is homesnap.com forward slash Dureka Morrison, right? Just like any EXP site. Just like your EXP KB Core website would be. It'd be something like kbcore.com forward slash Dureka dot, right? Like that's their link. It's your name because it's your page, but it's their link. It's their domain. If homesnap is the same way, then you may not be able to run ads on that name because the website, you need to be able to integrate the domain to the website. So just like you integrated your domain to Cartra, now instead of Cartra, all the pages, I can edit, change out the link and now it's my domain. It's nextnextsteprotor.com forward slash free download. It's my domain. Right. You need to be able to do the same thing with homesnap. If you cannot, then I don't think you can use this domain to run ads. So find that part out. Find out because typically it would just be forwarding. Now you got your .com. When someone clicks on it, it forwards to your homesnap and homesnap owns that domain. So wherever it forwards to, they own that domain, not you. It's just simply forwarding, right? So you can do it in that case just for the hell of it, but to run ads, you may not be running ads on that name, which is no big deal. We're running ads on this other one, next step rotor. But that's just a setup. That's just a setup. If you can change the full domain where it's sold by the pro.com forward slash whatever, home, and that's your homesnap page, but it's your domain, right? Then you can do it, but I wouldn't even worry about it. At least this part's set up in case you wanna do something with it in the future. And in case you can actually change homesnap to your domain, then I'll be cool, but you have this next step, rotor.com. So it's not a big deal. Yeah, okay. But at least it's integrated for now. Yeah, I was just trying to maximize everything that I have. Yes, for sure, for sure. So let me know if you need anything else, D. Let's chat next week. And what you should be focused on is that next video ad, like ad. The emails are one thing, but the actual ad, the actual ad, that's a one minute video, could be a two minute video, whatever. You're giving a tip on selling and the call to action to click learn more to download your free seller guide. That's what you should be focused on, is that next ad, that next video. And keeping it simple, it's one video a week. You may not have to run one every week because maybe this week we're capturing leads and we're good. And we may not have to launch that next one, but you want to get in the habit of making a new video every week. A new video should go on that business page.  So whatever day you put up that next video on that business page, seven days later, there better be another one. Seven days later, there better be another one. Even if you're not running them as ads just yet, get in the habit of doing a video every week. Okay. That's where people drop the ball. Because they don't retarget custom audiences and they drop the ball because they don't stay consistent with content. It's one a week, dude. It's freaking one a week. Yeah, you got me on that one. I'm like, okay. So one minute video per week, giving us a tip on selling with a call to action to click learn more to download your seller guide. So this could be it right here. This could be it right here. Well, that's what it's intended for, but I'll have another one done. Perfect. So look, your day is Friday. Every Friday, there needs to be a new tip, seller tip video on this page. Okay. Every Friday, your day's Friday since that one went up on Friday. This should be our next day. What happened yesterday? Oh, it was Friday. God, I'm tripping. So every Friday, every Friday, every Friday, every Friday by 10 a.m., there better be a new video on this page. Just like this. Seller tip, click learn more. Okay. Okay. Get in that habit. Just get it in that habit. And this one, let's chat Monday, Tuesday, whenever you're free, let's chat. And that's our next call is to run that as an ad. Okay. Everything is set up. The custom audiences, the custom conversion, the pixel on the pages, just make sure your funnel is good to go. Make sure your emails are good to go. That right there is our next call. That's going as an ad. Perfect. Cool. Ready. Have a great weekend. I'll be messing with anything. All right. Thanks. Thanks. Bye bye.


What's your name? Aw, brah! Ah, you're gonna start using it. Okay, okay. The first question is right back. Thank you, dear. This is how it all happens, too. It's not a big deal. It's a super one. What's your name? I'm from the Bowling Studio. Nice to meet you. I'm from the Bowling Studio. I've been here since 19utan. That's still friend news. People come to enjoy my food. Your FC, very friendly. It's my goddamn name.


I'm Jesse Newland, the Principal Site Reliability Engineer at GitHub and I'm really excited to be able to share a glimpse into GitHub's Kubernetes infrastructure with you today. So I'd like to start with a quick story. A story about a software project that never got off the ground. Around four years ago, in the fall of 2013, the GitHub Ops team all met in San Francisco. We just finished a big data center migration which had bought us a ton of time in our race to keep up with traffic, with user growth, and with DDoS attacks. As a team, we were really excited about this new found time. We were full of ideas about moving up a layer of abstraction. So at this team meeting, we started talking seriously about building a platform. A handful of engineers on the team had experienced building and running platform as a service offerings and had a design in mind that used containers instead of VMs. We sketched out some of the rough concepts and split up some follow-up tasks. And the team all went back to their home offices and started researching the problem space. We picked a name and started to get more serious about the work. But as we started to learn more about the state of container technology at the time, we began to get a better sense of the amount of work ahead of us. There was a lot to do and we started to realize it was going to take us quite a bit of time to deliver something that solved the problems in our sites. As we started comparing notes with others in the organization, we got feedback from a few senior engineers that was initially surprising. They encouraged us to wait, to do nothing. Let someone else build this, they said. The design is not bad. In fact, it's good, but it's worthless without execution. And we're not in the right spot to ship something like this at the moment. This project needs a team that has more experience with containerized workloads and the resources necessary to push the tech a bit further. This project would be better served by an organization with experience managing more long-running projects. We want to see this happen, they said, but we're not the right group of folks to do it, especially not right now. Instead, we need to work on leveling up our organization and our technology for storing Git repositories. We took that feedback to heart and agreed to call the project off. I was disappointed personally and so were a lot of others on the team. But in retrospect, I think this was some of the best technical advice I've ever had the privilege to receive. There were a lot of other things that GitHub needed to work on. We really weren't in the right place to execute on a project like this at the time. I'm glad that we focused our time and attention where we did. We really needed to grow in other ways. Now, I didn't tell you this story to make any sort of false claim to any idea of a platform or anything of the sort. In fact, quite the opposite. I told you this story to set up a sincere expression of gratitude to everyone that was making different decisions just a few months later, deciding to dedicate the time, the experience, the resources, and the emotional labor necessary to kick off the Kubernetes project. We're incredibly grateful for Kubernetes at GitHub and want to extend that gratitude to every single member of this incredible community. GitHub is standardizing on Kubernetes as our service runtime across our entire engineering organization and we hope to do that over the next few years. We're making decent progress towards this goal. Right now, 20% of the services we run are deployed on Kubernetes clusters inside our data centers, including the service that serves GitHub.com and API.github.com, the service you use when you open an issue or review a poll request on the Kubernetes repo. I'm excited to tell you more about the Kubernetes infrastructure that powers this one small part of the Kubernetes community today. The Ruby on Rails application that serves GitHub's web UI is also developed on GitHub and lives at github.com slash GitHub slash GitHub. That's a bit of a mouthful, so it's become known inside the organization colloquially as github.com, the website, which I find pretty amusing. But to our Kubernetes clusters, it has a different name. It's the GitHub production namespace. When we started the process of migrating github.com, the website to Kubernetes, we hadn't settled on the design for isolating workloads running on the same cluster, and our back was still in alpha, so we reserved a few clusters for the exclusive purpose of running this workload and a few other supporting services. We're getting more confident with our isolation design over time and are excited to revisit this soon to more densely pack our workloads. We also didn't have a lot of experience operating clusters at the beginning of this project. We didn't know how to break one, though. We had recently broken a cluster pretty badly while trying to roll out an API server or config change and broken another one when we tried an upgrade. To ensure we could hit our targets for the reliability of github.com, we decided to run its workload on multiple clusters in each site. We didn't end up using any of the existing federation tools to do this, but instead rely on our deployment tooling support for deploying to multiple partitions in parallel. This multi-cluster approach has been pretty useful recently as it's allowed us to replace entire clusters without interrupting the flow of traffic or the flow of work. The three clusters running the .com workload in our primary site provide around 1500 CPUs and five terabytes worth of RAM each. We're currently running about seven different types of nodes in these clusters, so they vary pretty quickly in terms of node count. Running the same workload on a wide variety of node types has helped our data center teams evaluate the relative performance and efficiency of a bunch of different nodes. We've recently been preferring these tiny little things in a configuration that gives us 40 CPU threads, 128 gigs of RAM, and two local SSDs for each node. We packed tons of these into each rack and used node annotations to ensure that the Kubernetes scheduler automatically distributes work across these racks. Over the past few years, GitHub has invested a ton of resources into our data center management practices and processes. This investment has paid off pretty well. We built out some incredible facilities and have shipped provisioning APIs and automation that resemble what you might expect from a public cloud provider's VM control plane. Engineers can provision Kubernetes nodes from chat, but instead of getting back a VM, our metal cloud deals out one of these hooked up to our high-performance network. Node configuration is managed by our existing puppet infrastructure, which we use to build the images used in the provisioning process. Configuration changes and security updates can be applied with a pull request to our puppet repo, which can be deployed to an individual node, a cluster, or an entire fleet. So inside the GitHub production namespace on each cluster, there are three primary deployments, Unicorn, Unicorn API, and a thing called Console Service Router. Each pod in the Unicorn deployment contains three containers, first an IngenX container that accepts and buffers incoming requests, then a container that runs Unicorn, the Ruby on Rails web server, which processes requests sent over a domain socket from IngenX, makes requests to backing services like MySQL or Spokes, or Git storage tier, and then renders HTML. And finally, a proxy called Failbot that accepts, decorates, and buffers exceptions reported by the Rails app before sending them to an exception tracking system. The Unicorn API deployment powers API.github.com, and is practically identical to the Unicorn deployment. We deploy it separately due to some differences in seasonality. Computers wake up and go to sleep more frequently than we do, it turns out. So this third deployment that's running in the GitHub production namespace is Console Service Router, which routes traffic from application processes to services not running in our Kubernetes clusters, like our search clusters or our webhook delivery service. This uses a combination of HA proxy and console template. This service and this approach is basically a direct re-implementation of the way that we solved this problem before Kubernetes. We're hoping to replace this hand-rolled service mesh with Envoy sometime soon as a part of a project that aims to improve the observability of all services' service traffic. To accompany our Metal Cloud service, we built GLB, a horizontally scalable load balancer service that can route external or internal traffic to a group of nodes. And we use GLB, along with node port services, to get traffic into our clusters, currently using every node in the cluster as a back end. Most of the node port services configured in GLB route to an ingress deployment, but a few skip that step for various reasons. So in addition to configuring pretty standard logging, monitoring, and metric stacks on our clusters, we built a handful of tools to support ongoing cluster operations. There's Kube Test Lib, which continuously runs a suite of conformance tests to make sure our clusters meet our specification. Kube Health Proxy, which adjusts the weight of incoming traffic at the load balancer level and allows us to turn off an entire cluster. Kube namespace default, which creates default resources in each new namespace like limit ranges and configures image pull secrets. Kube Pod Control, which detects and deletes stuck pods and will set node conditions if it notices that an individual node has a bunch of pods that aren't able to start for some reason. And then Node Problem Healer, which detects node conditions that are either set by Kube Pod Patrol or Node Problem Detector and heals those nodes by rebooting them. A few of our teams have been building systems on Kubernetes for around a year, and it's been a joy to observe how their workflows have changed over that time. So all of these tools that I just mentioned, they're like real software projects with tests and stuff. They each have their own repo, which contains the software, a description of how it should be packaged, and a blueprint for running it in production. A year ago, we might have reached for a bash script to solve some of these problems, and to distribute that script to our class of nodes, we might have checked it into our puppet repo. I mean, I really, really like bash, but this workflow left a lot to be desired. Instead, we've ended up building projects like Node Problem Healer that use Kubernetes incredible APIs to solve problems. Node Problem Healer in particular has been a huge win for our team as it fixes a class of problems that sometimes happen in the middle of the night. But to be honest, I think it's also been a win because the NPH abbreviation makes us all think of Neil Patrick Harris more often, which, I mean, that cheers me up every time I see it. We've also built a tiny wrapper for Kube CTL Git that we can run in chat. It's been incredibly useful as we help a ton of engineers learn how to build systems using Kubernetes primitives. But these chat ops are read-only. We generally encourage engineers to use our deployment tools to declaratively manage the Kubernetes resources that describe their infrastructure as much as possible. So as opposed to a traditional version release strategy, GitHub has historically used a continuous delivery approach called the GitHub flow, where we deploy approved but open pull requests, and then merge them when the behavior has been verified. To map this sort of workflow to Kubernetes, we settled on a basic set of conventions, which I'll try to describe with some pseudocode. First, if a repo contains a Docker file, we'll build that image on each push, tag it with the name of the service and the current Git commit, and then push it to our internal registry. Second, each service and deploy-target combination gets its own namespace, like GitHub production, for example. Next, we expect our deployment tooling to load and process Kubernetes YAML from config Kubernetes environment in each services repo. This step can modify resources, filter them, or inject additional ones. This step also updates image fields to use the image built for the commit being deployed, as well as some other actions that are configured with annotations. And then finally, we expect our deployment tooling to declaratively apply the modified resource config using the same semantics as kubectl apply. So what's really rad about this set of conventions combined is that they support changes to either the application or its Kubernetes configuration using the exact same workflow. So no matter what sort of change you're looking to make, the workflow looks the same. You create a branch, you add some commits, you push your changes up to GitHub and open a pull request. And on that PR page, you'll see that a CI job has built a container image. The next up is everyone's favorite part of the pull request process, code review. During the course of reviewing a pull request, it's often pretty helpful for both feature authors and reviewers to be able to preview the effect of a change, especially if that change targets UI elements. So to help with this, we support deploying to a review lab target. Each review lab gets a unique URL that any GitHub engineer can log into named after the branch that's being reviewed. During a review lab deployment, our deployment tools load the YAML and config Kubernetes review lab and make a few modifications. The image field is updated, a secret is injected from our internal encrypted secret store, and an ingress is injected to configure the domain. Our deployment tooling then creates a new namespace named after the branch you're deploying and applies the modified config into that namespace. This workflow brings up an entirely isolated front-end tier for each branch that needs to be reviewed, which is automatically cleaned up after 24 hours. So once your PR has been reviewed and approved, the next step is to deploy it to production. But deploying a change to a large system like GitHub is inherently risky, and we're always looking for ways to reduce that risk. We know the GitHub going down can have a significant impact on the software industry, right? Workflows are interrupted, release schedules are affected, all sorts of productivity is lost. So after looking really closely at all the factors that have contributed to outages in the past, we added another step to our production pipeline a few years back. The first step of a production deploy is now Canary deploy, which exposes your change to a small percentage of traffic to help you confirm that it doesn't materially regress the performance or increase the error rate of requests flowing through the system. To support this Canary workflow, our deployment tooling looks for deployments with a couple of special annotations. One declaring a deployment as Canaryable, and another selecting a label to be modified. During a Canary deployment, our deployment tooling clones any deployment marked as a Canary, sets the value of the label you've chosen to Canary, and then deploys just that cloned deployment. So in a normal state of operation, the flow to traffic to our Unicorn deployment looks something like this. A Unicorn service sends traffic to all pods labeled with service equals Unicorn. But during a Canary deployment, a single pod Unicorn Canary deployment is created from the new version of code. Within a technical service label, but a different role label. Since our service resource doesn't include the role label in its selector, traffic goes to the Canary pod at the same rate as any other pod. So once the deploying engineer is verified that the error rate and latency of the Canary deployment hasn't regressed, they then deploy their change to production. This fans out their changes to a bunch of different targets. Some of this app's workloads still run on metal, so it's updated in parallel with essentially our deployment tooling doing something like this to apply the configuration from config Kubernetes production. Now, this Canary deployment model isn't unique to GitHub, and to be honest, our implementation of it is pretty naive at the moment. But it's important to point out that previously, this deployment workflow was only available when deploying the GitHub GitHub service, not any of our other services. This is really important for us because now all of the other services deployed to our Kubernetes clusters can use this Canary workflow once we've implemented it using Kubernetes primitives. Network effects like this are by far the biggest benefit we've seen as a result of adopting Kubernetes. Adopting Kubernetes as a standard platform has made it easier for GitHub to build features that apply to all of our services, not just GitHub GitHub. And we're really happy about this and are excited to continue working to improve the experience that our engineers have deployed and running any service at GitHub. That's really important to us as it supports another goal we're working towards. By providing a first-class experience for newer and maybe smaller services, we're helping to encourage the decomposition of our Ruby on Rails monolith, which is another important goal for our engineering organization. So I'll leave you today with a quick word about GitHub's plans for Kubernetes in the new year. In the coming year, we plan to focus a lot of our energy on enablement with Kubernetes internally. That is, we're going to be continuously evaluating the needs of our engineering teams and iterating on our container orchestration platform to meet those needs. One request we've heard from a handful of engineers is for persistent volume support in our on-prem clusters. State is pretty important for GitHub, right? Storing your data is basically the core of our product, but right now our Kubernetes clusters can only run stateless workloads. A solution to this problem is slightly complicated for us by our Metal Cloud service lack of a service like Google Cloud Persistent Disk or EBS. But even if we had such a service, network storage won't give us the performance we need for some of our systems, especially Git. Many of our systems are designed to use the SSDs available to each node to locally store a small part of a replicated distributed system. The local storage management proposal includes a use case covering persistent local storage that strongly matches some of the systems that we're running today. Spokes, our distributed system that stores and replicates Git repositories, looks like a great fit for this use case, as does part of our MySQL infrastructure, especially the fleet of replicas that we use to scale out read traffic. We're excited to begin experimenting with local storage soon. And we're also excited to break ourselves out of some open-source habits, out of some bad open-source habits in the new year. None of the projects I've described in this talk are open-source yet. And to be honest, I'm incredibly embarrassed to be up here and tell you that. I'm super excited that we're going to be able to commit some time to both open-sourcing these existing tools, and to paving a path that will enable us to build future tools like this in the open by default. It's the least we can do to give back to the most kind, welcoming, and talented community I've ever had the privilege of considering myself a part of. So thank you so much for letting me share a bit of GitHub's story with you this morning. And if you're interested in chatting more about anything that I just mentioned, please do reach out or find me at the GitHub booth later today. Thanks again.


So we had the SID display week and hello, so who are you? My name is Ho-Kwon Kim. And who are you? My name is Shinwon Byun. And you're from... I come from H3. H3? Yeah. And there's right here Ray on Tech. So what is shine here? This is oil micro-display for military application. So it's a very small display? Yeah. What's the resolution? Solution? Yeah, resolution. XXJ and the resolution is 2250. And this is a very small display? Yeah. Is it this one? Yeah, this one. So what is special about this? This is emissive display. You can make an AR or VR application very small. So it's great for AR and VR? Yeah. Emissive. Yeah, emissive display. So this is reflective? Reflective or transmissive? Reflective. Reflective. So this is L-Cos? Yeah. Where is the display? The display is where? Oh, well... From here? Yeah. And you can... Yeah? This direction, this way. This direction? Yeah, I can see some displays. So it's rare on tech. Are you shipping now? This stuff? Yeah. You're shipping this? Yeah, yeah. All this on the market? Yeah. Panel is three parts. There are three parts. One is a panel. And second is a controller. Another is an optic engine. So... What's the price? This is well... Secret? Yeah. Contact... Defend? Defend. Yeah. So... Are you making the best panels? The best chipset? The best optic? Nobody else could do better? Is the best one? In the market? South Korea. But you have K-features right here? Yeah. You have a wide special software development kit. All this stuff. Put a future of AR glasses right here.


Hello, I'm Tina Mason and I'm the Program Coordinator for Mid-Michigan Health's PAD program. This specialized program is dedicated to the advanced management and treatment of peripheral artery disease, also referred to as PAD. In addition to increasing the overall understanding of the disease and its risk factors, the program is designed to provide the best treatment options for patients with severe forms of PAD. Veteran patients also benefit from the expertise of an experienced team of multidisciplinary specialists. These include interventional cardiologists, a vascular surgeon, and an interventional radiologist. PAD is a life-threatening condition that occurs when arteries in the legs become narrowed. Fatty buildup called plaque clings to the artery walls, restricting blood flow, and increasing the risk of heart attack or stroke. Symptoms that may increase an individual's risk for PAD include smoking, diabetes, chronic kidney disease, high cholesterol, and or high blood pressure, and a family history of heart or vascular disease. Those who are over the age of 50 or who are overweight and inactive are also at greater risk. While many people do not experience PAD symptoms or mistake their symptoms for something else, symptoms may include. Leg muscle tiredness, heaviness, or cramping. Toes or feet that look pale, discolored, or blue. Leg or foot pain that disturbs sleep. Sores or wounds on toes, feet, or legs that heal slowly or not at all. One leg or foot that feels colder than the other. Thick or yellow toenails that aren't growing. Shiny skin or loss of hair on the legs. Weak or no pulse in the legs or feet. Individuals experiencing any of the symptoms I just mentioned or those who have two or more risk factors are encouraged to talk with their doctor about being screened for PAD. For additional information or questions about Mid-Michigan's PAD program, please visit our website at www.midmichigan.org.


Shoot Move Communicate is the ability to move fluidly and cohesively as a fire team. If you can't communicate with one another, you're going to have a really hard time moving. So here we focus on those principles, being able to move with each other, being able to engage contact, taking minimal loss to your own team, being able to make those decisions on the fly and, as I said earlier, being able to break their tunnel vision. So what happens if they get a jam? What happens if they have a weapon down? How is community that to their team and how are they fixing it well in the battlefield and being able to get back in the fight quickly? We normally don't get a lot of training on this, especially being calm. Normally once or twice a year. So it's always good to just kind of have this knowledge of how to do all these stuff in case we're ever put into a situation where we do need to go out in the field. We chose to only operate with the 9, which is normally your secondary weapon system. Members are less familiar with it, so we wanted to give them a chance to fully incorporate their knowledge on it. We're designed to deploy rapidly in small teams, potentially austere or hostile environments. On those teams you might have limited defenders, so under combat com with this training we provide kind of a way to fill that gap. For me it was a really good learning opportunity to get more comfortable with the M9. And the major thing is just how to move as a team and get an objective done and communicate.