You know, when you are out and about and you turn off your Wi-Fi and then you get home and six hours later you realize that you're not using your home Wi-Fi and you are using your cellular data, we've got a shortcut in today's episode, a quick tip if you will, to solve that problem for you. That and other quick tips, shortcuts, cool stuff found and your questions answered today on MacGeekab 943 for Monday, August 29th, 2022. Welcome to MacGeekab, the show, as I said, where we answer your questions, share your tips, share your cool stuff found, share some cool stuff found from us. The goal is by doing all of this that we each learn at least five new things. Every single time we get together, sponsors are plentiful this time. We have LinkedIn jobs at linkedin.com slash mgg where you can post your first job for free, poda.io slash mgg where you can go and sign up also for free and collect all your text and your tables into one document that you can share with your entire team. This is a cool thing. You definitely wanna go sign up there and check that out. We'll talk more about that and everything else shortly here. Otherworld Computing with their Akidio node Titan as well as their Envoy Pro FX at maxsales.com and NordVPN.com slash mgg where you get one month free with their two-year plan. We'll talk more about all of that shortly here. For now, back here from Podcast Movement in Dallas, here in Durham, New Hampshire. Easy for me to say, here in Durham, New Hampshire, yellow leather, yellow leather. I'm Dave Hamilton. And also back from Podcast Movement in Texas here in Fairfield, Connecticut. This is Jonathan Brown. And back from Daytona Beach, having nothing to do with Podcast Movement. Not this week anyway. It was getting my daughter back to school, but yeah, it's Pilot Pete here in Lee, New Hampshire. And Dave, you know what I noticed? What's that? For the first time, I didn't come into this show wondering what it was about. What could this show possibly be about? That's a great new intro. That sounds good to me. I like that. Thanks. Well, that's gonna be the thing. So whoever's job it is to do the intro, find a quick tip, find something, share it in the thing. We'll get there. Yeah? Absolutely. Much more technical. Speaking of content, let's go right to it. Let's go to Mike's quick tip. And we will get to the shortcut I mentioned in the show in the beginning there shortly here. Mike says, when picking up my watch on its charger, I noticed that if I touch the small charging indicator while the watch is in nightstand mode, the charging icon changes to the full percentage charged. New to me. Did anybody else know? I didn't know that, but it totally works. We got this note while we were traveling. I tried it because I use my watch in nightstand mode when I travel. And sure enough, it tells me the percentage. I just always looked to try and see if that little green circle was closed. Yeah, exactly. That's the thing. And that's probably why it's not showing you the percentage by default, right? Because all we care about is, is it full? Right? Is it is or is it isn't? Yeah. Is it is? I like it. Yeah, good stuff. Andrew Woodward in our Discord channel at makikev.com slash Discord, reminds us of a feature that exists in, it's certainly iOS 15 and it might even go back further. And that is if you go into settings, messages, and scroll down a bit, this is on your iPhone, there is an option for filter unknown senders. And what that does is it then creates, if you launch messages and look in the upper left, you will see a filters option that you can sort of go back to in the navigation. And on iOS 15, you get all messages, known senders and unknown senders. And so you can, by default, it's gonna be on all messages, right?  But if you go to known senders or unknown senders, then you would just see messages from those. iOS 16, because I'm running the betas, I can tell you adds two more things to this. It adds unread messages and recently deleted. And that unread messages is key because I can't tell you how many times I, look at my phone and see the red badge of some number. And it's like, where is the unread message? And sometimes it's like months back, right? And so finding those. You've never done that to me, Dave. I don't believe it. Yeah. Now, if you don't yet have iOS 16, you can do this on your Mac. If you right-click on messages in the doc or whatever, it will oftentimes show, I say this oftentimes because it's not showing it to me now, but it will show you the name of the person and how many messages or the name of the group and how many messages are unread. And you can click on it if you right-click it in the doc and it'll bring you there so that you can process through all these unread messages. But yeah, I like this in iOS 16 now. That seems to be the only way, though, to highlight or to surface the unread messages view is you have to turn on this filter, what is it called, filter unknown senders. But yeah, so thanks for the heads up, Andrew. And nice. Nice to see that iOS 16's adding some stuff too.  I'm not trying to be kind of sending, but remember that you've done it because you will hide from yourself, hey, your pharmacy prescription is ready, or your two-factor authentication code, you can't seem to find. Because those are coming from unrecognized numbers that are not in your contacts. So not that I've ever done that to myself, but I hear it's really bad. Yeah, yeah. I can totally see where you would see that.  I think you do. I think you get the notification. It's just been, you know, but if the phone's in your pocket or something, and by the time you get it out and look at it, I seem to recall in the past, I had done this and then went days without seeing something from an unknown sender and went, oh, there it is. Okay, that makes sense now.  You've been aware that you might have hidden it from yourself, something that you need to sell. And then I think I was holding it up to the camera. I don't know if it's there or not. Yeah, so then once it's there, you have the ability to choose all messages, known senders and unknown senders. Right. So those that are watching, that's your choice. You can select one of those three. And again, on iOS 16, you get two more. You get unread messages and recently deleted, so. I'm stoked. It's coming soon. It's coming. Yeah, that's right. We've got that Apple event on the seventh. We will almost certainly be, well, we will definitely be doing a reaction episode right after the event. I'm still not sure if I'm gonna go to Cupertino or not. So we'll gotta figure out exactly when we will be doing that reaction thing. But we'll put it in the calendar at mackeycub.com slash calendar. What, John, what are you looking forward to at the event? No idea. No idea. All right. Pete, you got anything on your. But as far as the messages thing, that I'm gonna try because, man, I don't know. As of late, I've been getting many messages that my Amazon account has deactivated and my credit card has been deactivated. Got one this morning. It's horrible. It's getting worse. But it sounds like a very similar to silence unknown callers. That's another thing that I enable. And I think this is similar in that you get a notification that the call has been filtered, but it won't ring the phone. Which is how it should work, I guess. But no, that's a good tip there, Pete. You don't wanna miss important messages. So yes, we will be doing coverage of the Apple event. Matt Vader in our chat at live.mackycup.com asks, is it a live event? And I don't know the answer to that. What I do know is that they will be streaming it, but also some people have been invited to attend in person. So it could be similar though to, and I hope it is similar to the way they did the WWC keynote where they invited people to watch in person, but it was the pre-produced video that we have come to know and love through the, you know, since the COVID lockdown started, because those are so much better with Apple's current team than the, we're gonna stand on stage and do live presentation thing. You know, Apple, and I say Apple's current team, both with some pros and some cons, they don't have Steve Jobs on stage anymore, right? So they don't have Mr. Charisma, but what they do have is a fantastic creative team who puts together these wonderful, I mean, these are shows, these aren't, this isn't just like a keynote, like these are well-produced shows that Apple creates and in many ways better overall than the keynotes that we used to see Steve do too. I mean, we don't get the Charisma of watching Steve Jobs on stage, but there's also no dead air, you know exactly how things are gonna go, you're not waiting for applause, and that's annoying when an event might take an hour and 45 minutes plus 15 minutes for applause, you know, yeah. And there's no danger that the dog's not gonna eat the Alpo, so to speak. Correct, exactly, yeah, yeah, yeah, right. I mean, it is worth, you know, kids ask your parents if you've never seen this, but it is on YouTube. It's worth going back and watching the Steve Jobs introduction, the Apple introduction that Steve, you know, was the ringleader for of the iPhone, the original iPhone. That was one of the best live performances I've ever seen in my life, concerts, like put them all together, that was spectacular, and they knew it, you know, it was palpable in the room. The amazing thing that we all learned after the fact, or most of us learned after the fact, I suppose some people knew before the fact, is that as he was demoing the iPhone, he had to follow a very scripted path because it was nowhere near complete and there were no guardrails up, so if he veered off the path even a little bit, it would have crashed. Oh, damn it. Yeah, exactly. And evidently, or as it's been told, he had like three or four different iPhones up there because once one went through the path to demo one thing, that was sort of burned for the rest of the presentation because you couldn't necessarily go back without running into some memory leaks or whatever the issues might have been, and so it was like, okay, do this on this one, do this on this one, you know, those are very rehearsed. You know, Steve was a master at presentation. But anyway, my guess to answer Mac Vader's question, actually, instead of the long-winded version I was giving is that I'm hoping that it is a video that will be watched live with perhaps, you know, an Apple exec coming out in person beforehand, thanking everybody for coming and now, you know, let's roll tape and then presumably a hands-on room afterwards for those in attendance as well. We will hopefully find out soon. In fact, we'll definitely find out soon. Yeah. Hey, I teased up, oh, there is one thing that I'm not happy about with all the rumors and that is that there is, it appears as though there's no planned iPhone 14 mini. I am a huge fan of the mini size. I had the 12 mini, I have the 13 mini and I'm upset about the idea of not being able to buy an iPhone 14 mini, but, you know, it's just kind of how it goes. See, I'm a huge fan of the large phones, but I have an app that really works well for me for scheduling at work. There you go. If I turn it up into the profile view, I'm into the landscape view. Landscape view. It does a nice job for me. Yeah, yeah. Of presenting schedule side by side. Yeah. Yeah, yeah, my guess is I am. Each has a need. Very much in the minority, but yeah, I've always liked the smaller form factor phones. And even iPads, like the iPad mini is also my favorite. And I've got big hands and all that, but I love that I can grip my mini phone with one hand. I can operate it with one hand and it's, you know, it's just not the same. Back when phones were primarily phones, the smaller, the better for me. Yeah. We're great. But yeah, I was noticing this morning, in fact, the large one, I've got fairly good size hands and I can't operate it one hand, even with the phone. Right. No, exactly. Yeah, so. All right, I teased up this tip in the intro, but the idea of, and I got this from my son who evidently has had this shortcut on his phone since high school because he would go to school and the school's Wi-Fi wouldn't let him access anything. And so he would turn off Wi-Fi at school and then be able to do whatever he needed to do.  So what he did was, and then taught me to do the same thing. He went into shortcuts. And I'm gonna go there with us here just so I can make sure I do the same one. But it's a very simple shortcut. You go into automation and you create a new shortcut and you make it to trigger when you arrive at home. And then the action is just one action. And it is turn Wi-Fi on. Set Wi-Fi on is, that's the set Wi-Fi is the command that you would use. But yeah, and now it geofences, but your phone's always knowing your location. So that's fine. And as soon as you get home, Wi-Fi is turned back on, regardless of whether you'd turned it off while you were out. It's now back on the moment you sort of pull into the driveway or at least that's how it's been for me over the weekend is I've been testing it. It's been, it's a great shortcut. So yeah, it's in shortcuts automation at the bottom of the screen on your iPhone is where you're gonna do this. So shortcuts automation. So I have a question. Yeah, man. Can you set it to more than one geolocation or do you need to do separate shortcuts for each geolocation? That's a good question. So you go in there, you click the plus sign in the upper right of your automations. You create a personal automation. You have it arrive when I arrive and you choose your location. So yeah, I don't think you can. Yeah, it's, you would have to set, you just have to create multiple automations. But the beauty of this is it's not mutually exclusive. Like your Wi-Fi doesn't have to be off for this to work, right? It will just run and it will turn your Wi-Fi on. And if it's already on. Whatever sense is it's within that fence. Then it stays on. So create them for, if you've got a vacation home or even your workplace, if you want to make sure that you've got your Wi-Fi on at work. Because I mean, it is often for me that I will turn off Wi-Fi when I'm out and about somewhere when there's some craptastical Wi-Fi network that appears strong and actually has nothing. And then I forget. So yeah, great little shortcut. So thanks. How does it know where home is? You set it for your current location.  And then it asks you. It says, you know, choose a location. And then you just tap choose. And you can choose current location or you can type in addressing. So I just, I mean, I created it while I was at home. So I had to do. That's not true. You know the phone is listening. That's, we're gonna talk about that. I didn't think the phone's listening, Pete. We've had this conversation. I know it is. I know you're wrong. Every time I turn on the chem drill switch, I know the phone hears me and. Pete, you ignorant. Yeah, yeah, let's see. Where do we go from here? All right. Otherworld Computing is up first here today. And the first thing we get to talk about is OWC's Envoy Pro FX. This is a bus powered Thunderbolt portable NVMe SSD speeds up to 2,800 megabytes per second. A great form factor. It feels good in your hand. It looks good on your desk. It looks good next to your laptop in a travel scenario. They've got sizes that go from 240 gigs for 219 up to four terabytes for 899. Great stuff. I've got one of these. You're definitely gonna wanna check this out. Also the Akithio, I think I'm pronouncing that right. Node Titan. This is a plug and play Thunderbolt 3 external GPU. Right, eGPU. Gamers want them, video editors want them, creative professionals want them, up to 6.4 times higher FPS. You can jump from 10.1 FPS to 65 FPS and enable that 1080p gaming or up to 20 times faster effects and renders. Save time and money with accelerated effects, renders and computation in pro apps and games. This thing is cool. Prices range from the add your own chassis for 249 up to the Radeon RX 6800 XT for 1799. And there's a 699 option in the middle there with the RX 6600 XT. You're gonna wanna check it out. Like John and I do, make sure you visit maxsales.com when you need to add something to your Mac. You won't be disappointed. And a thanks, a huge thanks to Otherworld Computing for sponsoring this episode. You know what's great? Being able to work from anywhere. John and I were just away last week. We know that. We just need our laptop and decent wifi. You know what's not so great? Being spread out across the country and trying to keep the team on the same page and focused on tasks. And this is why we love Coda because it's all about the page with teams working all across the country. If your best work is spread out across multiple documents and spreadsheets and a stack of workflow tools, you have to jump in and out of all day, then you need Coda too. Because this is the one doc that brings it all together. Coda is endlessly customizable and connected. There are templates for anything and everything. You want a product roadmap. You want remote onboarding. You want a goal tracker. You want meeting notes. You want a place to track questions from your audience. You name it. Coda has it. Coda adapts to growing teams and changing strategies. It can help change how you view information depending on what you need to do with it. And perhaps most importantly, Coda seamlessly integrates with all the tools you need because everything in Coda is synced. Make an update in a table and it automatically shows up for everybody. No more relying on copy, paste and all that stuff. With Coda, you can solve for just about anything and right now you can get started having your team all working together on the same page for free. Yup, for free. Head over to Coda.io slash MGG. That's C-O-D-A dot I-O to get started for free. Coda.io slash MGG and our thanks to Coda for sponsoring this episode. All right, John, you wanna take us to our first question of the day from listener Dave. Sure. So Dave actually gave us a nice list here. So let's go through the list. Okay. Long time listener, keep up the A plus work, thank you. You make all of our lives easier and you keep the fun rolling with tech advice and humor. We try. Always learning at least four new things. But let's get to the question. So I have an odd one for you. When starting my iMac, I am often asked to give security permissions to my various apps for all the regular permissions such as full disk access, accessibility, et cetera. The issue I have, of course, is that I've already given those permissions to the apps. The checkboxes are already checked, bartender, text expander, magnet, you name it. They're sure I haven't when I have. If I go to system preferences, security and privacy, and all the apps asking for permission, have it. So take a deep breath. Here's what I did to try to fix it. First, this started on my Intel iMac. I'm now using an M1 iMac. Congratulations. Same problem. I used migration assistant. So to avoid corrupt cruft, I made a new user account and started fresh. I even deleted my old user account. It took hours, no joy. I tried Onyx maintenance scripts, Safe Boot, repair disk permissions and disutility, no joy. And here's the real kicker. Sometimes if you can believe, I'm even asked to give permissions and there are zero apps listed in the security and privacy. It's as if to have no apps installed on my computer. John, it's like you say, the computer is lying to me. And yes, this happens on restarts, maybe 50 to 75% of the time, but not 100%. I have not done a PRAM reset, but really this happened with two different computers. Scratching all parts of my bald head would love to hear your thoughts. There's only one thing that he didn't try. So the steps that you had done are ones that I would have done as well, but it sounds like a system level thing, Dave. And the only thing I can think of when you're running into weird system behavior is reinstall the OS. And so there's an article that we'll link to and I sent it to him. How to reinstall Mac OS? My guess is that it will overwrite whatever is broken by reinstalling the OS, but that's the only thing I can think of. What do you think? So as I'm hearing this, and even as I was reading it the first time, my question is, is this problem more than just this one symptom? Because there are times when an app thinks it needs permissions, like during the launch process of an app, right? It thinks, oh, I don't have full disk access. I need to throw up the alert and let the user know. When in reality the app does have full disk access, it just couldn't see it or didn't get the answer back from the OS in time and therefore it assumed it didn't and it throws up the alert. So clearly it's happening on multiple apps and it's happening far more frequently than I've ever seen this, but I have seen this where it throws up that alert and it's like, oh, I need screen recording access or I need full disk access or one of those various things. And it's like, yeah, it's already checked. Like, you're fine. And so, yes, I agree, it's a system level thing. I don't think changing the, if this is deeper than the symptom, I don't think changing the user account would fix it. However, I'm not convinced that we're dealing with more than just the symptom. I don't mean to be dismissive of it. It shouldn't be happening anyway and the fact that it's happening for multiple apps is a lot. But I guess my question is, does the app in the end without you doing anything, does the app have that full disk access when it comes to the time where it actually needs it to use it and is it only throwing up the alert erroneously at launch or is there something more to it? But that would be my question, so. I have an observation and a question. The observation is that he, at least if I'm reading the question correctly, he created the new user account and deleted the old one after using migration assistant. Yeah. So that goes to John's answer, which is, yeah, it's system level. There's something deep in there. Yeah. Is there some kind of a, is there a permissions file somewhere in there that he can delete and have the OS reconstitute on login? Yeah, maybe? I don't know. Yeah, I'm looking, did he say, he tried using Onyx's maintenance scripts? Well, the maintenance scripts are different than the cleaning scripts in Onyx. So you might want to do more with Onyx. Honestly, the thing that comes to mind, John, and it is a system level thing, is the launch services database. Like maybe there's something, I know when that gets corrupted, it can take apps longer to launch. It can put you in that cycle where it's always like authenticating the app before it launched, like all of those things. So, and I know Onyx in the cleaning part, not necessarily the maintenance part, will let you, you know, like delete and force a rebuild of the launch services database. That might be the thing. And that's certainly that in the, if I were there, what would I do next department? That would be it. And he says he didn't reset the PRAM, and I'm assuming the NVRAM. I know it sounds silly, but it's amazing that we'll fix. 100%. Yeah. Yeah, for sure. Yeah, yeah. Fascinating. Yeah. If anybody has any thoughts on this, you know, if you've seen it before and solved it, feedback at macgeekab.com will get you, that's how we get this stuff. And our Discord channel. John, I think he said feedback at macgeekab.com. I don't know about that. I think he said feedback at macgeekab.com. Okay. Well, we'll have to agree to disagree. Hey, Peter, I'm going to ask you an important question, and this is a bit of a detour in the show. Can you tap your microphone a couple of times for me? Yeah, you're not using that microphone. Oh, it's fine. No, believe it or not, your audio, it sounds pretty good, but it's on the internal mic of your thing. You have to click the settings in StreamYard. And change it. According to StreamYard, I'm on my USB mic. Tap it again? Let me try something. There's a second one. There it is. So there's two, remember I've got two USB mics now? Yeah, okay. You sound much better, it's a hotter signal, which is sort of what I was having trouble with here. So thanks for letting us have that detour, folks. I appreciate it. Cindy in Indie has a question for us. While browsing the web, I'm getting so tired of seeing ads and follow us links that can only be targeting me from either conversations I have had, which we all know was happening, or even more bothersome gasp. From podcasts I listen to well at my desktop Mac. For instance, I have recently been listening to fantasy football podcasts and not talking about football with anyone. And now my Facebook feed is full of every NFL team and players, sports, TV channels, and all things football. Ideally, I would like to apply a keystroke or to completely turn off and on my internal microphone, either through an app, Keyboard Maestro, Alfred or whatever geekiness you guys suggest. Okay, I'm gonna state, we're gonna head down this path in a variety of ways, but I'm gonna state upfront that I really don't think that your Mac is listening to you. Because if it were, you would see the little microphone in use, orange light, I'll call it, that sits in between the control center and the clock in the upper right corner of your Mac. That orange light is on when any microphone attached to your Mac is in use, and it is not there or off when it's not. If something's listening to you, so I really don't think it's your Mac for a variety of reasons, which we can get into, but if something's listening to you, it might be another device, like if you have an Amazon Echo unit, the A-Lady in your house, a Google device, like those are listening all the time. There are some conjectures out there that they are using that data to do targeting. I'm also not convinced that that's the case because if that actually was happening and it were provable, they would be in so much hot water. Like it would be like, it would be terrible for you to imagine. The edge you would start seeing. Yeah, that's number one. That's right, yeah. Yeah, I just don't think that that's what's happening, but if it is, you've got those things. I, we've had this conversation on the show. It's the prediction algorithms for specifically Facebook, but lots of the, I'll call them retargeting or ad targeting technology has gotten really good and they use a lot of data to point them to know that we would be interested in one topic or another. Football season is gearing up, right? The pre-season just ended this past weekend, I think, if I'm correct about that, right? I think so. And I'm also getting tons of football ads on my feed and it makes sense because in previous seasons, so a year ago or eight months ago, whatever it was, I've interacted with these things. I might have even posted things about a certain team or another. And so Facebook doesn't forget that stuff just because it wasn't in the last two days. In fact, they have a whole profile. They know all the things I'm into. They probably know more about me accurately than I do about me. And I'm somebody who prioritizes self-awareness. But I think that's probably why you're getting all these football ads is it's the right time of the season and all of the TV streaming companies are trying to win your business by telling you, hey, if you cut the cord, you can still watch sports here. It makes sense that this is the time to spend tons of money and attention on these things, especially targeting people that they know who in the past have done it. All that said, the question is super interesting to me. How do you ensure the microphone is muted? With your camera, you can put a slider or black tape or whatever you want over it and know that the camera is definitely not gonna be viewing you like it can't. We understand the way light works. But with sound, you might be able to figure out where the mic is on whichever computer you have and put a piece of tape over it, but that's only gonna muffle it. You're not gonna stop the microphone from listening. So how do you ensure that your Mac can't hear you? And the answer is there's no direct way, but I have discovered a workaround in the past. And what I've done is I go into, if I wanna make sure that it's never even for a second gonna accidentally capture the audio in a room or something, I will go in and select a non-microphone audio input device. So if you happen to have, for example, a Thunderbolt dock that has a microphone jack on it, you can select that audio input device, but if there's nothing plugged into it, you're not gonna get any sound. I mean, you might get some very, very low volume hum or something, but even that shouldn't happen if there's nothing plugged into it. But it's certainly not gonna be picking up audio from the room. If you don't have one of those things, you can install something that will let you create a virtual audio device. Black Hole is a free piece of software that will create either a two channel or a 16 channel virtual device and just don't point anything at it, but select that as your sound input and that's gonna be, that's it. It's gonna get nothing. Or Loopback is a paid product that does the same thing, lets you create actually many, many different virtual devices and you can do the same thing. Just select a Loopback device, it's a virtual device that has nothing feeding into it and then you're good to go. It's not gonna, you know, there's no audio to be recorded. Now that said, just like we found with Pete, your system default input device can be one thing and a website, for example, StreamYard as we're using here can look and see all of your devices and choose a different one, but each app is going to have to ask you in that privacy thing that we were just talking about and system preferences, soon to be settings, but it's still system preferences, at least as of today, that you go into system preferences, security and privacy and go to microphone and if you turn off all the things here, well, then apps can't hear your microphone. I don't know, that's my idea. That's my thoughts. John, Pete, thoughts? I'm Cindy, it's listening. Now I know what that orange dot means. Oh, there you go, see, learning five things that we didn't even know we were teaching. Yeah, it makes sense. I just saw it, but yeah, I'm with you. Yeah, so I have OWC Thunderbolt 3 audio device and do back. So if I wanted to muffle, I mean, the other thing is most platforms when they show you an ad, you can say, I don't like this and it'll hopefully not do that anymore. So that's another option, maybe. But as you alluded, we did discuss it on a previous show and the coink eating is just so strong sometimes. It really feels that way. But again, as you said, they're good at what they do. They've got people with big brains that figure how to get into your pocket and extract, separate you from your wallet. Absolutely, yeah. Yeah, I mean, it's ad targeting, right? Like, we've got ads on this show that are content targeted, right? They know what the show is about. They know what type of audience generally would listen to a show like this and they know generally what you might be interested in, what we all might be. I mean, I say you, but I've always said, we podcasters attract audiences that are like-minded, right? We attract like-minded audiences. And so it's all of us are interested in these products at some level.  But, you know, there's a sensible approach to it and if you allow people to see more data, which we don't, then they can target even further. And Facebook, simply by using Facebook, you are allowing them to see your data. They don't even have to see what you do outside of Facebook, although they tell us that they have to and if they don't, it's gonna kill small businesses and yada, yada, yada. I don't know, I've been running a small business specifically in the advertising world for 23 years and we've gone out of our way much to the downside of our bottom line to not let people be tracked. And it works out fine, you know, we have a decent living here, so, you know. I was gonna say, you know, I'm guessing it's still effective, else the ad revenue would have dried up years ago. Years ago, yeah. But there is, like, a lot of the conversations I had last week at Podcast Movement are from, you know, there's a lot of desire for us to let them track you. And thus far, we have never allowed that to happen and I, if we ever even consider that, we will let you know, and we will probably put, in fact, I will say it now, we will put out a separate episode that tells you from this point forward, you are gonna, but I don't think that day's ever gonna come. It would be a pretty dire scenario where we would say, listen, and we would explain why we're doing it.  Like, that's how, as far as it would have to go. But we don't do it, you know. And we turn down campaigns all the time, all the time. Let me ask a rabbit hole question then. How, how is that done on other shows? How do they dig deeper into who's listening and what they're, do you know? Yeah. Oh, I do know. Yeah, I'm like, I did not set Pete up to ask me this question, folks. I love answering this question. So the way it's done is through what they call pixel tracking. So, and again, I, you know, I'm gonna use some examples here that are not necessarily correct, right? Because we don't do it here. But if we were to do it, what we would do is when you, in our feed, right?  That's our RSS feed. Then you might not even know that your, your podcast listening clients doing this and that's great, you don't have to.  And one of the pieces of metadata is the enclosure URL. And the enclosure is the audio file that you are going to actually listen to. And so instead of just putting the enclosure, the audio file in as the enclosure URL, we would put the URL, a unique URL, of two, one of these tracking agencies like pod sites or chartable or something. And it would redirect briefly through their engine and log your IP address and user agent and then redirect you very, very quickly, so fast you wouldn't even notice, back to the audio file for that episode and then you'd get to download that episode. But that way, pod sites are chartable or one of these companies now has the user agent and IP address of the device that downloaded that episode.  And then what they would do is put a tracking pixel on the website of the sponsor that they wanted to track. And again, I'm not gonna use any names because like off the top of my head, I can't think of, I know there's lots of companies that do this but I can't think of one because we don't work it in this way. So, but they would put a tracking pixel on the website that's just like a, you know, one by one image that you don't see and that would also capture IP address and user agent. And so now the idea, and I know a lot of you that know about how Apple does things, they're saying, well, this isn't gonna work anyway and you're right, but the industry doesn't wanna know that but they say, okay, well, we've got user agent and IP address from the download. We've got user agent and IP address from the visit to the website. And so now we can put those together and say, yes, this podcast delivered people and even if you don't use our coupon code or anything like that, they could know that we sent you there. And on the surface, this sounds great. And I have to tell you the first time I heard it, 17 years ago, it did sound great. And we said, yes. And it was at the Mac Observer. It had nothing to do with podcasts. Ziff Davis came to us and said, you know, you've got these banner ads. We know that your clients are obsessed with how many people are clicking on them. We know that you know that people are seeing the banner ads. Even if they don't click, we have a way of associating this by using this pixel tracking and okay, great seemed like a good idea at the time. Fast forward, maybe you know, 12 years from there. And we realize how irresponsible we humans are when we have access to this type of data. And now GDPR and CCPA and all of those other things to protect our privacy exist. And so when they approached us and literally asked us the same question with the podcast, you know, four years ago or something, you're like, no, what are you? Are you high? Like, what, did you don't know what? Like, we're really gonna make them the same mistake again, aren't we? And it appears as though the answer is yes. Since then, two very interesting things, well, many interesting things have happened, Pete. One of them is that the two, there are about five companies that do this tracking, right? And PodSights and Charitable are one of them. There's a company called Barometric. There's a couple others. And they've all promised in their own ways that they would never share this data outside because what could happen is this is Mac E-Gab, but let's say this was bipolar weekly, right?  And now you've let them capture your IP address on both sides and they were successfully able to tie it together. And now you've given your name, your phone number, your address to the advertiser to ship you the thing. And in theory, all of that- And a discreet package, of course. Right, yeah, a discreet package, yeah, but even if it was just something like a mattress or something, right? It doesn't matter anymore.  And your employer or insurance, right? And your employer takes, your potential employer takes a look at some database to protect employers from incurring huge medical expenses or whatever. And it says, oh, that person is flagged. Great, you don't get the job. And you didn't even know that you opted in in the first place on the podcast. That is my issue with this is if you, if there was some way for you to opt in but you don't even know what's happening. And so that's the issue. Podsites and chartable on the same day about 18 months ago were acquired by Spotify. Now, I can tell you something about acquisitions folks. If you need technology, you don't buy two competitors. You pick the best one and you buy that one. So the only reason to buy two competitors is to have all the data because now they're still not lying. They've said they're not going to share this data outside of their company. Well, their company is now Spotify. So Spotify has pod sites data. They have chartables data and they have Spotify's data. Wow. So, I know it was a loaded question that you didn't know was loaded Pete. Well, I knew it was bad. I mean, I've listened to, there's one called security now. I listened to that occasionally. And I know there's single pixel embeds and that sort of thing. You know, I knew it was tricky. Yeah. And sneaky, but yeah, that's... Now, here's the nice part. There's two things that you folks should know as podcast listeners. Again, you don't have to worry about this podcast. You don't have to worry about any of the podcasts I do or any of them under the Backbeat Media umbrella. However, there's lots of podcasts out there and I'm sure you listen to more than just this one. Overcast, the podcast client that Marco Armit creates puts a little privacy icon in the listing for every single show and you can tap that. And it will tell you what redirects are being used and what those redirects are generally used for. Now, you might see one that says analytics. Okay, well, that's fine. Maybe you gotta decide what you're comfortable with but the tracking is the thing that you wanna look out for. So that's one thing. Now, even if you don't use that though, you're still protected. Why? Because of Safari's IP address protection because when the tracking pixel loads in Safari, so they're definitely gonna get it from you on the podcast side, right? That's gonna happen because that's happening through an app and it's happening over HTTPS. So Apple's obfuscation efforts are suppressed for that. But in Safari, regardless of whether it's HTTPS or not, when that tracking pixel loads, Apple is going to obscure both the user agent and the IP address to protect against exactly this. And when I tell this to people in the podcast industry, they're like, oh, then why do you care?  But B, my numbers are gonna look worse because you're not gonna see any conversions because you can't match the two together. The one on the Safari side is obscured, the one on the podcast side is not. So there's never gonna be a matched IP address between the two and you're gonna ding me for a show that's not performing even though it is and then you're not gonna wanna buy ads for me. So yeah, anyway. So they're trying to force everybody down that path anyway. They are absolutely. Yeah, we probably turned away 30% more business in 2022 because we do not choose to participate in that.  It fell apart on the web. Look at how, I mean, every browser is moving towards some version of, you know, cookie-less experience because of this. Yeah, yeah. I know the future of this because we're living it. It baffles me that nobody wants to talk about this. Anyway, thanks for taking eight minutes with us. I'm sorry. JP, speaking of privacy. Why don't we let JP ask the next thing? I know it's here somewhere. Did I not put it in there? Oh, there it is. I found it. I got it. Let's go, JP. Gentlemen of the geek gap, it's JP on the road. Here's an annoying stuff found. It'll be quick. I use AirDrop all the time when I'm transferring photos to my laptop, to catalog, et cetera. And I use a VPN when I am not in my home network. So if you're at a hotel or a coffee shop, you definitely want a VPN on. However, the VPN will block AirDrop from your iPhone to your computer or vice versa. So every time I'm needing to do that, I have to turn the VPN off and then all of a sudden, magically the AirDrop will go through and then I turn it back on. There's a moment of anxiety when I do this, but it's the only way around not plugging a cable in and pulling them off with image capture. So just thought I'd pass that on. Thanks, JP.  No offense, my friend, but you got us there, so thank you. I tried this today. I'm curious what VPN JP uses because I tried this today with both NordVPN and private internet access in my office with VPNs on my iPhone, my Mac, every permutation thereof. And AirDrop with default settings on all of these VPNs, AirDrop worked 100% fine. Like I was able to send pictures back and forth exactly what he was trying to do and no issue with it whatsoever. So I don't know what VPN he's using and I don't know how he is configuring that, but most VPNs will let you talk to the local network in that way. And yeah, so I'm not sure what it is, but I figured I'd share this out there and offer that at least private internet access and NordVPN. We'll do that, yeah, Pete. Yeah, I have to respectfully disagree with JP as well because for instance, when I'm not even on a network, say when I'm off the flight deck during a break, we're able to share photos and contacts and that sort of thing via AirDrop in the airplane, no network connected at all. Right. So it's just using the Bluetooth and you do have to have Wi-Fi on, I guess. So it does, in order for AirDrop to work, you need Bluetooth and Wi-Fi both on. And I wonder if that's part of it, yeah, because you do need both of those things. And maybe if he has Bluetooth off and only Wi-Fi on and the VPN, like maybe there is some permutation of this, but. Because when I read that question, I tried the same thing. I made sure my VPN on my laptop was connected to one server and my VPN on my phone was connected to a separate server and it still worked. Amazing, yeah, yeah, yeah. So I don't know what it is, but I respectfully disagree that it's the VPN that's causing it, although it's weird that he turns it off and it works. That's the thing is like the limited, and we all, and I don't mean to be disrespectful of JP's troubleshooting efforts, we all are, whenever we are troubleshooting, we are always using a limited set of data that may not include an important factor, but we generally stop collecting data when we feel like we have an answer. Well, my keys were in the last pit, at least I looked, well, because you found them. Yeah, you didn't look in the other places. Exactly, and I think on this one, there's more to it. But yes, the whole Bluetooth, KiwiGram in our chat room says that Airdrop uses Bluetooth for discovery and Wi-Fi for transfer, and I think I am correct in adding clarity to that by saying ad hoc Wi-Fi for transfer, meaning that it doesn't use your router's Wi-Fi connection, it uses just an ad hoc connection between those two devices to do it. Now, if Bluetooth is off on one of those devices, maybe it does use Wi-Fi as a fallback for discovery, and then the VPN, because it can't see it, would be an issue, and so it doesn't even know to start that ad hoc connection. So, and by ad hoc, yeah, I mean peer-to-peer, which Brian Rowe in the chat also clarifies, so. That's what I got. John, you have anything to add to this, my friend? You may wanna check your Airdrop settings. Now, how do you do that, you may ask. How do you do that? So, I just checked this out. So, system preferences, dock and menu bar, and there's an Airdrop entry. Okay. And you can even see the settings, if you say show in menu bar, there's a little check box, you'll then get a happy little icon in your menu bar, and if you click on that, it'll show the Airdrop status, which is either on or off, but then there's a setting which you may wanna fiddle with. You can have it set to context only, which is what I'm set up for, or everyone. I don't know if I'd recommend everyone, because you could get unsolicited Airdrop requests, and I'll leave it at that. Thank you, yeah. Nobody wants unsolicited Airdrop requests, so yeah. Some people probably do. Maybe, you know what, that's true, we're we to judge. Yeah, make your life more exciting. I've turned it on some of my devices, like specifically the iPad that I use for, in the theater, for reading music charts. We Airdrop stuff to each other all the time, and I say in the theater, which is true, because I just finished doing a run of Rocky Horror, but I also use that same iPad with bandmates and stuff. While most of them are in my contacts, if I'm at a rehearsal with someone else, and they wanna Airdrop me a chart or something, I've found like, if it's like some bass player I've never met before, and he's like, oh, I'll Airdrop you the chart. Well, I'm not gonna show up for him if I have it set to context only. So like that one device I have set to everyone and it's worked out great for me. But theoretically I could be in the middle of a show and somebody in the, you know, in the crowd could try to Airdrop me something, hopefully that doesn't happen at a critical moment. Is that like in the old day for the groupies? No, nevermind. No, it's very, very, very, very. I'm gonna Airdrop you. All right, hey, we've been talking a lot about VPNs on the show. Are you missing out on your favorite TV show because it's not available in your region? Trying to keep your private time private? Well, we've got an option for you, NordVPN. If you're bored of US Netflix, why not take it for a spin in the UK? Using NordVPN and a click of a button, you can do just that. No need to travel to Japan for your favorite anime when NordVPN brings it right to you. And Nord has over 5,000 server options. So no show is out of your reach. You can use our link NordVPN.com slash MGG. And when you use that NordVPN.com slash MGG link, you receive a huge discount on a two-year plan plus one free month. We all love to binge, but privacy is a big deal too. NordVPN keeps your information encrypted so you never have to worry about your IP or location getting out. They've also doubled down on keeping you safe with their new threat protection feature. Say goodbye to intrusive malware and all that stuff. Even if you download an infected file, threat protection kicks in and deletes it before it makes a mess of your computer. And there's literally no risk to you with their 30-day money back guarantee. Give it a try and if you like it, great. If you don't, they'll refund you and you can pretend it never happened. Again, that is NordVPN.com slash MGG to get your subscription started, your 30-day money back guarantee, your bonus or thanks to Nord for doing what they do and sponsoring this episode. All right, as we all gear up for fall, we need the right people on our teams to help our small businesses fire on all cylinders. And our sponsor, LinkedIn Jobs, is here to make it easier to find the people you wanna talk with faster and for free. We just got back from podcast movement where the whole Backbeat Media team, including Sadie was there. Sadie has been instrumental in helping us grow the show, helping bring in some of you. She's helping coordinate all those promo swaps and other promotions we're doing. You could go find yourself your own Sadie, create a free job post in minutes on LinkedIn Jobs to reach your network and beyond to the world's largest professional network of over 810 million people. Then you add your job and the purple hiring frame to your LinkedIn profile to spread the word that you're hiring so your network can help you find the right people to hire. Simple tools like screening questions, make it easy to focus on candidates with just the right skills and experience so you can quickly prioritize who you'd like to interview and hire. This is why small businesses rate LinkedIn Jobs number one in delivering quality hires versus leading competitors. LinkedIn Jobs helps you find the candidates you wanna talk with faster. Did you know every week nearly 40 million job seekers visit LinkedIn, post your job for free at linkedin.com slash MGG. That's linkedin.com slash MGG to post your job for free terms and conditions apply in our thanks to LinkedIn for sponsoring this episode. All right, John, we talked in episode 941. In fact, our intro subject was a 30 minute detour or tour into HDMI and sound and all of that. And we got some great follow-ups from folks. So you wanna start us with Carl on that one, please? Absolutely, and then I'll tell you how I fixed it. Great, yeah, no, that's right. Yeah, yeah. So Carl says, you seem a little confused on today's show with John's new TV concerning ARC. ARC stands for Audio Return Channel. It's basically a two-way street for audio to travel on. It can be used in one of two ways. Option number one, plug everything into your A.B. receiver first and run one HDMI cable from the HDMI ARC port on the A.V.R., sometimes labeled HDMI out to the HDMI ARC port on the TV. This will allow all audio to be handled by the A.V.R. and video to be sent to the TV. This will also allow for audio to be sent from the TV such as OTA antenna over the air antenna and built-in apps back to the A.V.R. to be heard on the A.V.R. speakers. Again, ARC is a two-way street to carry audio back and forth from the TV to the A.V.R. This will allow you to switch between inputs on the A.V.R. Option number two, plug everything into your TV first and run one HDMI cable from the HDMI ARC port from the TV to the HDMI ARC port on the A.V.R., sometimes labeled HDMI out. This will allow the TV to handle video while high-end audio is passed on to the A.V.R. This will allow you to switch between inputs on the TV. The only one problem with this setup is you might be limited to the amount of devices you can plug into your TV. Most IRN TVs have four HDMI inputs, but if you do this setup, you'll be limited to only three as you will lose the fourth port because it's now dealing with audio. So, thank you, Carl. And here's what I did to solve my problem, Dave. You know, when things just aren't working, so my problem was it would keep coming up and saying LPCM48 or something, it wasn't doing Dolby or DTS, and that was aggravating because... But also, ARC wasn't working at all. You couldn't get, like, when you plugged an HDMI cable in, your A.V.R., your receiver wouldn't even see the input signal, right? Correct. So here's how I solved the problem. I did a factory reset on both my receiver and my TV. Okay. And was that alone the solution? I'm prompting you because you did another thing. So, since I did that reset, here's what I had to do then. So, one, I had to enable ARC on my receiver. By default, it's off. Got it. So I had to turn that on. I also had to redefine the speaker layout. Oh, because you had factor reset it, sure, yeah. Right, because the thing is I have two front and two rear speakers. Here's something else that I learned. If your speaker configuration is wrong, so I found the menu where you define it, and I said two by two, which is what I have, you don't get a center channel. Right. So I was playing back all this TV and there was no dialogue, and I'm like, oh, now what's wrong? And I'm like, oh, that's right. I got to reset the sound. All right, but I'm going to poke here again because there's, I think you've buried the lead. There is one piece of equipment that you replaced that allowed you to enable HDMI ARC. It's your cable, right? You replaced the HDMI cable? Yes, and that's the third part is you need to use a quality cable. And among my HDMI cables, I have one, it's an Amazon basics, but it says Ethernet, so it must be a high quality or high bandwidth cable. That's a good way of looking at it because the cables themselves don't tell you what they are, most cables don't tell you what they are.  I think that's actually the only thing you needed to do was to have a cable that supported ARC and my guess is that your TV and your receiver, once you enabled ARC on it, would have been fine. I looked into this and I found a chart that details the bandwidth, the audio bandwidth capable of, that different cable types are capable of. So previously you were using Optical, which is Toslink, the max it will send is 384K per second audio, which is pretty low. It's pretty high when you're talking about a stereo thing, when you're talking about four channels or five channels or six channels, 384, it starts getting pretty diluted pretty fast. An HDMI ARC cable, which I believe is HDMI 1.4 or later, might be 1.3 or later though, but it's at least 1.3. An HDMI ARC cable will do one megabit per second, which still isn't a ton, but certainly quite a bit more than your 384K that you get with the optical cable. So in your case, you have the option of HDMI ARC on your receiver or optical. And so HDMI ARC is gonna be much higher quality sound. And then there's HDMI eARC, which is enhanced ARC. And that comes in at a whopping 37 megabits per second. So 37 times what HDMI ARC does. And this is why HDMI eARC is required for Atmos and all of the other like DTSX and those things that come up. So cables are important. Cables are super important. And it was right after we did that episode that my new HDMI 2.1 cables arrived. And I've had some oddness with things over the last couple of years. That oddness, it's been what, two weeks or maybe two and a half weeks since we've, since we recorded that episode, which is also the same day I replaced my cables.  So making sure you have a cable that is of the right speed is important. Now, as soon as I got those cables, John, I ordered a five pack from Amazon. I busted out my label maker and I put a label on every one of the cables that says HDMI 2.1, because I had no idea which cables of mine were HDMI 2.1 and which weren't. I think your Amazon basics cable, the one that says it has HDMI and ethernet, I think that means it's at least HDMI 2.0, although it may have been sold to you as an HDMI 1.4. Tom's hardware did a whole test where they were testing the bandwidth of cables in like in practical scenarios, like will it send this kind of audio? And they found that those Amazon basics cables that said that were sold years ago as HDMI 1.4 actually can support up to 2.1, no problem. So it's a weird thing. But listener Glenn had another suggestion for us, didn't he, John? Yes, okay, let's see. Yeah, you know, it's aggravating that they don't label their cables, but here's, yeah, because I mean ethernet cables, you know, they have different speeds and they put usually what class of cable it is. So I don't know why they don't do it on HDMI. So Glenn says, we were talking about HDMI speed testers when I listened to the most recent episode. So I'd look for one and found the following all from Amazon. So yeah, he basically sent us links to HDMI speed testers that'll tell you how fast your cable can go. So. Amazing. And they're not terribly expensive. Like the first one we found is like 30 bucks.  Mm-hmm. Yep. Yep, so we'll put a couple of these. There's one from Signs Tech and one from Parts Express. But yeah, fun stuff. Yeah, it's still frustrating that, you know, nothing changes except the internals and you have no way to tell that you now have an obsolete cable. Yeah, you have no idea what you're doing. That's right, yeah. And you can also, your Apple TV will in a limited way allow you to test cables. You plug everything in, you know, as you're supposed to. And then if you go into the settings, and I forget where it is, but it's in like the audio and video, you know, section of the Apple TV settings and it has an HDMI cable test and it will just send all types of different data across the cable and tell you if it succeeded. And essentially you get a, from what I've seen, you get a binary answer, right? It's either yes, this is great, which is what I've gotten or no, it's not, you need something faster. So there is one that Glenn sent us though that appears to be a $1,200 tester, pattern generator, all of the above. So, you know, you can, evidently, you can spend as much as you want on these as you can with pretty much everything else. So, I don't know, I'm not gonna buy the, I don't think I'm gonna buy any of these. I'm just gonna buy HDMI 2.1 cables and use my label maker to put stuff on them. That's where I'm going with it, guys. I don't know. Yep, and then we have a follow up here, Dave, which I think is useful. There's another reason you may wanna buy new cables and that Allison wrote in and said, when Dave brought up changing out your cables to solve some problem, I wanted to give you another incentive to buy new ones and it's high definition copy protection, otherwise known as HDCP. When we bought a new receiver a few years ago, we had to buy all new HDMI cables. HDMI 2.1 had just come out because there was content. We simply could not play until we updated them because of HDCP 2.2. You may not run into this with your setup, but we did. Yeah. Yeah, I've had that come up a couple of times with my Apple TV. It said, unable to negotiate HDCP. And then I clicked on okay and then the problem went away. So, but honestly. The only place I ever had that come up was when I was trying to use the sling box years ago before I went to a cable streaming television service. Sorry about that. I'm curious to see, yeah, now that we've got you on the right mic, we might regret it. Yeah. I'm curious to see John, if your HDCP problems ever come back because clearly you were using non, using HDMI 1.2 or older cables with your setup. And so that could very much be the cause of your issue. So yeah, I will put a, I'll put a link in the show notes also to my, the five pack, I think it was a five pack of, there were mono prices cables, but they're HDMI 2.1. Another way of looking for cables is that they are 8K certified. That's what HDMI 2.1 is for 48 gigabits per second is another thing, but so. And don't buy more than you need, maybe one, but I've got a whole box of mono price cables in the piece, which I'm sure are 1.2s. I knew I needed four. And so the five pack was just economically the right thing to do, but also it leaves me with a spare. Although in the process, I realized I had one of the ones that you mentioned, John, that the Amazon basics one that says HDMI and ethernet or something. And it's like, that's also 2.1. So, yeah. And how did I know that everything was working properly, Dave? How do you know? Just a little tip here. So one, the indicator on my receiver said Dolby 3 slash 2.1, which is what I want. And then it gets down sampled, of course, since I don't have 3. 3 slash 2.1.  It was kind of cool. I'm like, am I really getting surround? And it's like, yep, you know, ran this one video and it's like, here's the left speaker, here's the right speaker, here's the rear speaker, here's the... Just make sure that whatever device you are using to play back from YouTube or wherever you're doing these speaker tests is capable of taking that full quality audio from YouTube and getting it all the way through to your receiver or speakers or whatever it is. And I say this because, for example, I have all of those tests in my Plex library so that I don't have to search YouTube. I don't have to worry about an internet connection or anything. I have them. I can do all those tests. And I even have some for Dolby Atmos because I run Atmos here. If I run Plex on my Apple TV and then it goes Apple TV to my LG television to my Sonos Arc, which runs, you know, at the Atmos part of things, I don't get Atmos. I get 7.1 LPCM, but all the metadata of Atmos gets filtered out in that process. If I run the Plex app on my TV and it streams directly to my thing, so cutting the Apple TV out, I get full Atmos metadata. So just be aware of the path so that you're not troubleshooting the wrong thing. That's all. That's, you know, like we were saying before, having all the data helps. Fun. We got a lot of stuff to go through. Pete, you wanna tell us, since we're talking about audio and video and watching things, you had a cool stuff found that we really don't have time for, but I really want you to share this with folks. So would you please? Yeah, it was, there's a cool little app called Just Watch.  Is it on Amazon? Is it on Netflix? Where is it? Just Watch app or justwatch.com. But the app is cool. Put it in there and it will search across all those databases and tell you where it is. And my understanding is, I haven't tried this yet, but my understanding is you can set up alerts so that if something is going to come up, it will alert you when it becomes available. Amazing. Yeah, and you're right. I put it in planes, trains and automobiles here. It says, it recommends that I can rent it for $3.99 on Apple TV in HD where I can stream it if I have a Paramount Plus subscription and then it's got all other things. I could rent it not in HD from Amazon for a dollar less, you know, for $2.99 or something. I can buy it on Apple TV for $7.99. So, you know, think about that too. I have, it's funny. I've never used Just Watch for this reason. I started using it a couple of years ago when I was trying to find an app that would remind me of the things I was watching and Just Watch can also do that. Like you can create an account and do that. I found... The next episode of Ozark is up or what have you. Exactly, yeah. And, but even also, like if I'm two seasons behind on Ozark, I can tell it that I've watched up through season two, episode three and it'll tell me my next episode to watch is season two, episode four, which is super handy except I don't like their interface for it. I found a different app called TV Time for that interface but TV Time doesn't have this like here's where you will find things. So, yeah, yeah. I never knew that Just Watch did this because like I said, when I found it, I was looking for a different... Looking to solve a different problem. Exactly, yeah. Fun stuff. Thank you for taking us through that, Violet Pete. Appreciate it, man. Hey, if you wanna hear more from Pilot Pete So, there I was.us. That's Pete's new podcast that's in... Are you in the top 10 of Aviation Podcasts yet? Or is that gonna happen soon? Well, we were brief. We bounce in and out of there. We were up to number three in Canada at one point and days ago, we were in the top 20 in the United States, Canada and Australia. So, we're having a lot of fun with it. That's great. One of our upcoming shows is gonna be a True Eyes show. It's the pilots who flew in the movie True Eyes are gonna be on it. Amazing. Yeah, we're trying to schedule that now. Happy Birthday, Yogi. It was one of my favorite shows. That was a couple of weeks ago. Most recent show is, Sir, Don't Eat the Donuts. Don't wanna eat those donuts. Don't eat the brown donuts. Those were laced with something. Yeah, well, these are donuts you don't wanna eat either. Okay, fair. I will ask you all, because the reason that you're charting is you've got a great show. But it's also because the way Apple's charts work is it's based on the number of people that have subscribed in Apple podcasts recently. And there's a formula to prioritize today's subscriptions over, weight them higher than say, two weeks ago or something like that. But that's Apple's formula. So, if you are not subscribed to MacGeekGab in Apple podcasts, I would love for you to do that for us. Even if you're listening in overcast or somewhere else, just go to Apple podcasts and subscribe. And I'll put a link to that in the show notes. That's super easy for me to put there for you. And we'd love for you to do that because it does help us rank. And don't forget to go to the bottom and throw a five star on there. Even then, that's true. But I'll just, I'll take the subscribe for now because ratings, believe it or not, they're great. We love your ratings. And yes, thank you. But they don't help the rankings. Ratings and rankings for Apple are not together. Yeah, yeah, yeah. I mean, it's social proof, right? Ratings are a good thing. When somebody comes to the show and they see zero ratings versus, you know, 500 or something. Well, you know, that tells a different story. Yeah. But yeah, it doesn't affect the ranking. Hey, one other quick thing, Dave, just super quick. Plex sent out an email and you should have gotten one if you have a Plex account. Data breach, please reset your password they're saying. So, it's a bit of a process, but it is a pain in the neck to read all my devices in. I had to reclaim my server. Same. Yeah, I was like, that was surprising. That's right. Yeah, good call though. Yeah, thank you for reminding people of that. Yeah, everybody's having breaches. I got something from a last pass that they claimed that my data is. It's not a good one. Yeah, yeah. All right, folks. Thanks so much for hanging out with us. Thanks for checking out our sponsors. You can read about all our sponsors and including past sponsors whose deals have yet to expire at MackieCubb.com slash sponsors. And then specifically from this episode, of course, LinkedIn.com slash MGG, NordVBN.com slash MGG, Coda.io slash MGG, and MaxSales.com for all your fun stuff. John, I started this out with a quick tip. Do you have something of equal or greater value to share with our friends who have been listening? Yes, I do. And that's one piece of advice. And that is, don't get caught. May not get caught. That's some good advice. Oh, I cut it off. I, you know, I push the wrong buttons or what I don't know is what, whatever it would be.


Hi, so this talk is a very short introduction to NetMap and how you can use it to implement VitoNetwork functions. So what is NetMap? We have been talking about DPDK, pf freeing, xdp and so on, so NetMap is just yet another independent API for direct access to NIC, transmit and receive functionalities in user space. So this case is the very same as DPDK and pf freeing and so on. The idea is that you have a NIC and you open that in NetMap mode and once you do that you are able to temporarily steal that from the NetOstack and use that with a very batch oriented and efficient API for fast application, networking application. So it's very important to know that this is implemented within the operating system kernel. For instance, different tree from DPDK. Should I louder? Louder. Okay. Okay. Sorry. This is implemented in the operating system kernel and we will see why this is important later. It's included in FreeBSD and also in NetMap, also in Linux as an auto tree kernel module. So these are the design principles behind NetMap. I think those are important because of the very same design principles also behind the things like DPDK to some extent and DPDK, pf freeing and XDP. So the first and most important one is budget operation. So the idea is that whenever you want to talk to the NIC, for instance, to transmit packets and receive packets, you need to do that. You need, for instance, to tell the NIC to transmit many packets at once because talking to the NIC is expensive and in general, when you do packet processing, whenever you have fixed costs like locking or lookups, try to, for instance, take a lock and process with that many packets. This is important because the fixed costs can be amortized over many operations. The second principle is preallocation of packet buffers. So in essence, try to avoid dynamic allocation of packet metadata like, for instance, in Linux, you have a SKBuff that you need typically to allocate and deallocate SKBuff metadata structures for each packet that you process. Third, zero copy access to packet buffer. So the idea is that your application should be able to directly read and write packets in each other's space and the NIC can DMA packets, for instance, directly in the application address space. So you don't need the traditional copy across user kernel boundary. Fourth, kernel provides the protection. It means that your application cannot crash NIC, your application cannot crash the system. So for instance, the application cannot direct access to NIC registers and rings. This is very important because all the protection and isolation you need is provided directly by kernel. And last, you must have the possibility to use full synchronization. So for instance, frameworks like DPDK rely on busy waiting, even if there are other options, but with both NETMAP and NGCP, you are able to actually use standard synchronization means like pole system calls, select system calls, you can wait for packets to come or wait for egress space, more on this later. So the data structures used by NETMAP are very simple. There is a NETMAP interface, which is just a bunch of pointers to NETMAP rings. Rings are basically an abstract representation or other cues. So you can have one or more receive rings or one or more transmit rings for each NETMAP interface. And a ring is just a secret area descriptors with producer and consumer indexes. And all of these data structures are contained in a so-called NETMAP allocator. So the idea is that you may have multiple NIC ports on your machines, and a single NETMAP allocator may serve more than a port. So the allocator is a domain of trust, meaning that the only applications that are working on the same allocator must trust each other. If you don't want to trust, just use separate allocators. And the basic idea is that in order to access those data structures, so basically rings and buffers, you want to open a special device and then you can use an NMAP operation to make those data structures available in your application. So a NETMAP ring, as I was saying, is an abstraction of a real ring, the real hardware ring. So what happens is that applications operate on the abstract ring. And then they use a special sync operation to sync the state of the abstract ring to the state of the hardware ring. So there are two pointers. This is the abstract ring. There are two pointers here, add and tail. So the meaning of this pointer is that everything between add and tail is owned by the application. So for instance, for receive rings, those are new packets that are ready to be read. For transmit rings, it's free space that you can use for new EGIS operations. While the rest of the descriptors in the ring, so everything between tail and head, it's owned by NETMAP, it's owned by the kernel. This is an example of how we would process a receive ring. So say that your application has many descriptors available, many new packets that you can read. It can, for instance, process seven new packets and then increment the add index, while the tail is just read only. After incrementing this index, it can sync. There is a special IO control call to sync a receive ring. So what happens? We have two effects here. So everything between the previous position of add and the new position of head is just returned to the kernel. It's returned to the system for reuse so that it can be used for receiving more packets. And if any new packets arrive since the last time we synced, tail is incremented accordingly. So in this case, we received three new packets. So this is a very simple synchronization between your application and the NIC. Okay, a very important thing that was mentioned before is blocking versus busy waiting. So the sync operations for both receive and transmit rings are synchronous non-blocking. And basically, they operate on all the rings that are bound to a specific NETMAP descriptor. So the basic idea is that you open a NIC in NETMAP mode binding a certain ring so you can bind just the receive rings or just transmit rings or everything, whatever you like. And once you use sync operations, the sync operations operate on all the rings you bound. And you can use sync operations to implement busy waiting. So if you don't want to block. But this is actually not the usual way you use NETMAP because you may want to actually block, for instance, waiting for more packets to come or when you want to wait for more space to transmit. And you can use the pulse system call, select system call, or on Linux even E-Poll or K-Event. This is supported. So if, for instance, you want to wait for more ingress space, you will do the polling event. So this is just a standard synchronization. It's very similar to what you would do if you were using sockets, right? So far, I've talked about NICs, so hardware. But actually, NETMAP supports many kinds of virtual ports. And virtual ports are important because they can be implemented, they can be used to implement very fast local IPC communication. So for instance, we have zero copy pipes. The idea is very similar to UNIX pipes. So you have two ends and you can let two processors talk, communicate through the pipe. But the point is that you can use NETMAP pipes using the NETMA API. So you are able to transmit and receive packets in batches, which means that you can be very, very efficient. And also it's zero copy. It's zero copy because you can just swap the script as I will show later. And this means that you can have, independently on packet size, you can have very, very fast communication over 100 mega packets per second. Of course, this is a benchmark assuming you are not touching packets, but still it's an interesting upper bound. We have also software switch, which is designed for virtual machines. So by definition, you want isolations between two virtual machines, which means that the switch must copy packets when transmitting from one port to the other port. And because again, because of the NETMA API, the ability to work in batch, you are able to actually transmit 20 million packets per core per port. We also support monitor ports for sniffing. So similarly to what it's sometimes you have a network application using some ports and you want to see what's happening from a separate process. You want to sniff traffic. You can do that with a special port. Today, I'm going to talk mostly about the last one, which is pass through port. So the idea is that you have a NETMA port in the host machine. It can be a NIC. It can be a port of a switch. It can be a software switch. It can be a pipe or whatever you like. And I want to export this port within a virtual machine. So the idea of this is the basic idea of NETMA virtualization, where you want to run your application within a virtual machine. So this is possible with NETMA pass through. Okay. There are two main use cases. So you have a KVM guest, KVM virtual machine. If you pass through a port of a ballet switch or the software switch, this is very interesting to implement a very fast local inter-VM networking. So think of two VMs on your machine that are able to exchange up to 20 millions packets per second and minimum packet size. So that's pretty impressive if you want to implement some sort of fast packet processing application in your machine. Or you can pass through our report. In this case, this is a sort of direct assignment that you can, of course, implement using standard PCI pass through techniques. But it may still be interesting because you can implement direct assignment without IOMMU support in the advisor and without actual support for PCI pass through. So it's just a different way to do the same thing. From the point of view of the guest, the guest operating system sees a virtual nick. Okay. And the virtual nick has the very same configuration as the underlying NETMA port. So if you pass through a hardware nick with eight receive rings, you will see a virtual nick with eight receive rings within the virtual machine. And again, there is no overland in terms of copying because the guest has direct access to the buffers and the rings of the real port. So you can do basically zero copy from within the virtual machine. Any sync commands are basically forwarded to the host. So this is an example of application that you may implement with this system. It's a very simple two ports application. So we have an external port. Think of it as a public port on some network and an internal port. So you want to forward packets from the receive rings of the external port to the transmit rings of the internal ports. And the other way around. And when going from the external to internal, you also want to apply some rules. So I don't know, depending maybe on destination IP or destination port, you may want to drop some packets or select some packets. While on the other direction, you don't want to filter. How do you do that in a few lines of code? So this is the main synchronization logic. First, we open two ports. Okay. So the internal port and the external port using a simple, very simple library. And then we have a simple poll based loop for loop. Okay. So this is the poll. So here we have two ports. So we have two file descriptors, one file descriptor for each port. What we need to do in this simple forwarding application is to decide which events we want to wait for. So the logic is very simple. Let's take the external port, for instance. So if we have no packets ready to be received on the external port, what I want to do is to spoil in to wait for them. Okay. On that file descriptor. Otherwise, it means I have, I do have packets. So what I want to do, since I want to forward on the other port, I just wait for egress space on the other port. That's why you spoil out on the second port. And this is specularly for the other direction. So if I have some, if I don't have any packets ready to be received on the internal port, I wait for them. Otherwise, I wait for egress space on opposite port. And then I call the poll function. When poll returns, it means that some events are ready. And so I can forward. And I forward in both directions, right? From the external to internal, and from the end the other way around. This is the function that implements zero copy forwarding. It's interesting. What I'm doing here is just a parallel scan of two rings. So what I want to do is I have a receive ring from the source port and a transmit ring of the destination port. I want just to forward a bunch of packets from the receive ring to the transmit ring. So I do a parallel scan. And the nice thing is that with Netmar, with Netmar, you can implement zero copy forwarding. So each descriptor within the ring, as inside a buffer index. And the buffer index is the identifier of a buffer within an allocator. So all you need to do to forward from a ring to the other is just to swap the index of the two descriptors. And this is what I do here. And adjust the length, of course. I also need to tell Netmap that the buffer has changed because it may need to change the DMA mapping inside the kernel. But otherwise, what I wanted to show here is that you can implement some simple forwarding rule in a very elegant way and simple way. So this is the example you can run. I have a QMovital machines and two pipes. So I could have implemented a different example with other ports, but pipe is easy to do because it's all in software. So I have two Netmar pipes. I pass through one end of each pipe to the virtual machine. So the virtual machine, which is a QMovital machine, will see two pass through Netmar ports. While the other end of the pipe are used for packet generation. So here I generate a steam of packet. And on the other end of the pipe, I receive. And so what I measured here with short packets, so 64 bytes, I measured about 17 to 20 million packets per second, which is pretty impressive because consider this application is implemented with just one thread. While with full M2 sites, so 1500 bytes, I get about eight. I actually tried to both zero copy and copy. And it's interesting to see that in the copy case, actually for very short packets, the overhead of changing the DMMA mapping, because you need to do that, is actually higher than copy. So with short packets actually makes sense. And this is actually the same that Luke was saying before. So with short packets, actually doing things in CPU, copying, once you have something in cache, you can very easily process them. Okay. I also prepared a very short comparison between Net and IDBK. There is no time actually to go through this. But what I wanted to show here is some comparison item. So one advantage of Netmap and also XDP actually is that it's very easy to set up. So with DPDK, you need to care about huge pages, you need to care about IOMMUO, you need to bind and unbind drivers from the kernel driver to the DPDK driver. While with XDP and Netmap, you just have to do nothing. Actually, with XDP, you need some very small EBPF program to redirect your packets to an AF XDP socket. Also, the other advantage that you get by reducing kernel drivers is that you can reuse the standard EPRO2 and ATH tools. While in DPDK, of course, you need to rewrite adopt tools. Also, the trading model is a little bit more flexible because with DPDK, you have a fixed, you have L cores. So you write your code and your code is running in the context of a DPDK callback on a core. While with Net and XDP, you can AF XDP, you can basically open AF XDP sockets or open Net and ports wherever you wish and run your packet processing code in any thread. Another advantage again of Net and over DPDK is that you can, and this advantage is actually shared with XDP, is that you get standard synchronization tools, so PALL, E-PALL, and SELECT. Actually, with DPDK, you can use receive interrupts, but that's a bit harder than just using the standard system calls. Of course, DPDK is an extreme performance, so when I prepare this comparison, it's very clear is that if you want the best performance, you must use DPDK because with Net and AF XDP, we are still using system calls, so that as an overhead and come through the advantages in terms of improved isolation, standard synchronization. All you want is performance, you should use DPDK. Okay, conclusion. I showed you a very simple example of how to write a simple but efficient Net from application. I think the design principles behind Netmap are important. They inspire XDP because in the comparison, it's very evident as many choices taken by Netmap and XDP are similar. Why do you really want to use Netmap? It's the biggest advantage, I think. It's easy to set up, very simple API and standard synchronization. Of course, it's a smaller project than the other project, and it's easy to integrate with existing application. Okay, well, for instance, with DPDK, you usually need to write your application from scratch and make your application fit within the DPDK framework. Of course, you can get higher performance. If you want to reproduce the tutorial, this simple setup, you can just follow the tutorial's link and there are detailed instructions on how to reproduce that, all the code, and get those numbers. Thank you. I'm ready to accept questions. Questions? Well, thank you so much. Thank you. The next presentation starts. So just use the opportunity to remind people that could you please leave Vincenzo feedback through the cost app website? There's a link at the end of the talk. And also, I will pull up the meet-up this evening at the main game, his bar on the first floor at 7 o'clock. Yeah. Yeah. If you have anything, can you please exit from the back of the room? Are you working with the author or...?


On Wednesday, August 30th, Pikeville Medical Center received accreditation for their cardiovascular rehabilitation program. The accreditation comes from industry leader American Association of Cardiovascular and Pulmonary Rehabilitation. BMC prides itself on being able to provide care for those who have experienced a cardiovascular episode. The AACVPR sets standards of care through evidence-based qualifications to promote that recovery in patients after a cardiac event. Patients that qualify for cardiac rehab include patients that have had a cardiac event within one year, so a heart attack, heart failure, or open heart surgery. Things like that is what we manage in cardiac rehab. When my baby was born, it was magical. And as she grew, having a hospital close to home with advanced healthcare and specialized physicians being there along the journey was important. And along that journey, many special doctors touched our lives.  Pikeville Medical Center caring for every moment in life. The goal of PMC's rehabilitation program is to start small and view progress over time. Their success in treating patients efficiently is the reason for receiving accreditation. In cardiac rehab, the patients come in and we sit them at a low, we start them slow, and then we want to see their progression. So that's what we do here in cardiac rehab. So that's what some of the skills and the standards that they expect from us. They want to see those patients progress. They want to see them get to the level that they were before their cardiac event. The accreditation is important because that shows that we are at that standard. We hope that standard of care for those patients and that it shows our commitment to provide excellent care to those patients after those cardiac events and promote that recovery. Reporting from Mountaintop News, I'm Nick Colum.


Again oh my god This is unfortunate My team can't play How's it going everybody?  Okay. You say we both have pink squares. Uh-huh. What if we what if one of us loses it? Do the okay? Hold on hold on. I the one of us loses our pink square.  I'm down. Well, I'm in left side.  Yeah Last time I don't what happened the CPU is in program to use a CSS like that. Well, we'll see about that Remember this is a shadow game. So whoever this is a shadow game. Yeah, and never gets to upload But yeah, most the adult dies. Yeah, anyway few zombies.  I taught him English Wait, yes Uploaded Yep, sorry sorry Raw level three Judgment don't sleep on my I got you looking at that. Oh, there you go. I got you. Why are you recovering so much? Oh That boy Let's get That was an aggressive spark that was an aggressive spark. No, you're about to I'm about to be the shadow game Here we go. I'm about to heal this. What are you talking about?  I'm going to tell them to level three back. So three I told you I was gonna Told you I was gonna zap them. I raised that boy. Yeah raw super again zombies. Yeah, keep them going Zamasu you got to work on that. He can't heal though. He can't double three You know why I brought in there you go getting you in why he's on a body swap.  He's that Yeah, I'm getting real tired of this You know you're talking about You are all going to the school yard Combo Please teach these guys how to play the video game. That's crazy how no one's gonna watch this video here in a second Y'all better clean it up in these next couple games you're only going to the scrappy Do you need to talk to your team before we hop into the next one? Yeah? I'm gonna do a little team huddle here.   He's not gonna listen to your assignment, especially when Three Don't take his body.  I'm only playing like an actual Broly player What is this? Yeah, what if they actually gather data? Level three milk you can't my they don't know how to get a good spark. It's for a good spark. I don't know how to play the game Level three man. Yeah, you don't know how to play the game. You don't know how to play the game Oh my god, please hit please hit please hit Get it again. You doesn't know how to play the game. You can tell get you get this guy Look at tell me this. Can you just bought the game? They might take to the right up one ultimate Come on, go on.  Let me press square That huge forehead for if he's not storing IQ points My team is just a roll of all three pose on this man and kill him. Yes, they're playing like you pretty much Block block block. That's unfortunate Hey, you know the best part is I'm gonna heal all that damage Yeah, you're not gonna heal all of it.  There we go. There we go. There we go. I'm still I'm still I'm Oh My god It can't play need to come mine. This is level one man. Please.  My team just fumbles the bag This is like 75% blue. Hell. This is going exactly how I told you it's gonna go.  He's not gonna heal either much We talk about how my team doesn't know how to play the game All right, the only hope now is I have to steal team gohans body. Come on. Do you think it's possible? I know I know you're probably the worst member of the team, but shot gun Shotgun oh, come on. Can you play neutral? Let's go get you. No, that's one.  I'm never playing again. Yeah, you better retire. I'm about to send you to another retirement Take his body, let's go, baby.   Can you's gonna save it?  Oh Oh my gosh, I know I am so unbothered right now. I'm sipping tea. I want you here ready for this Yeah, well, I hope you enjoyed it. Yeah, look at me still having my pink square. Okay a bit of an early spark on that one Man Why do why do I always start off so strong and then my botch just fumble the back They just fumble the bag and they just fumble the bag every time without wait a minute That's not true Yeah, yeah, it is No, he doesn't I wish we still had sparking there we go just switch out Calm down Zamasu.  Do I have an orange square? Maybe because we've gotten a good start every time and then we was honestly, please man There's got to be something else in the game that you know how to do I mean it That's all you know, that's fine, but do that kids block block block. All right I'm surprised we had defense To again you switch them out I hit stayin in please stop me. No, you're here. Stop it. Oh, there we go. There we go Take his body. Take his body. Take his body. Take his body. Take his body. Take his body. Take his body. Take his body.  This is perfect. Are we are we just not going to talk about my guinyu doesn't know half of his control Yeah Nice vanish. I think I think I lose a character here. I love good neutral. Oh Good I'm getting jumped. Oh, Broly.    Obviously he's got this he might It's not looking too good You getting jumped Let me know I I I don't have any well hold on. Oh, yeah, I just have to hope is almost who has this Dear God's I'm so you spark you spark.  There you go.  No, it's over. It's over. Yes. Now.  I got you Edited a real shredding. All right, that's the end of the video