I've been working at Squarespace for about three years So I've seen our entire transition from a model of application to microservices and onto Kubernetes Just some background for those of you who may not be familiar Squarespace was founded in 2003 and we provide a platform for people to host their websites their commerce platform And we host domains for them as well and we have over a million customers and Going back to that founded in 2003 means that we run out of data centers. We predate AWS publicly so we have three data centers over 5,000 hosts in these data centers and for scale Comparisons we have about 40 million metrics that we generate every minute. So there's a lot that's going on in these data centers all the time back in 2013 we were less than 50 engineers and we had a traditional Stack where we had a model of the application And you know there are some background jobs and they communicated to a database a lot of the world looked like this back then and These these engineers, you know, they they needed their goal was to introduce new features to build the product and to grow fast And really what ended up happening was, you know, whatever works was was what we went with You know, we grew a little bit then in 2014, you know, we had about 75 engineers and We realized that whatever works wasn't really working for us anymore You know engineers wanted to introduce new features But there ended up being too much firefighting, you know, people were unsure of The reliability and stability of the code they were introducing because there was so much going on in these model of the applications So like a lot of companies at that time, you know, we started down that microservices route and it was great We introduced a few services and we formed a very stable definition of service at Squarespace However, you know 2016 we have a hundred plus engineers, you know The platform was scalable and reliable and developers could move faster and Squarespace could move faster because of that You know, we had all these services that were communicating with each other and Taking traffic from from the internet And all of these services Wasn't really working for operations So this is our typical workflow for provisioning new machines in in our data centers and whether it's iron or virtualized It started with a very manual process of finding resources, you know, CPU RAM disk wherever we could create this virtual machine We'd have to assign make sure we could assign networking. We'd have to make sure the networking worked We had to add all of these hosts to our Ansible inventory and then we could kick off an automated process where you know We would update DNS and and pixie boot the VM and install the OS and configure the OS with all of these Dependencies that we've built up we'd have to configure monitoring for them and install all the application Dependencies as well and finally we could install the application This took this process at best took about 30 minutes because of all of the manual operations and in the pixie booting Oftentimes it would take a lot more because you know, sometimes it would be painful to find these resources or painful to You know run into firewall issues and whatnot. So there had to be a better way The big takeaway from this was static infrastructure and microservices do not mix It was always difficult to find all these resources. It was very slow to provision in scale and Because we're running our data centers We do have you know pets in this in this environment every machine has is a special Case right and we were trying to shoehorn this microservice cattle mentality into all of these these pets these physical pets that we we love And also this system was way too complex for any new engineers that came on board whether they were developer Development focused or operations focused. So we had to come up with a better solution in 2017 we have about 200 engineers a little over that and We started down this this path of self-service infrastructure Finally with it with the help of self-service compute networking metrics and storage We're able operations is finally able to move as fast as our developers and squarespace can actually move as fast as we want it to So for self-service compute we use Kubernetes. You know, we all love containers. That's why we're here And it's very simple, you know, you just say keep control apply and in some Description of what service you want applied and it just works However, there's there's a lot of pain points that we ran into that we weren't aware of at the time To take a step back our our service definitions that we deploy into Kubernetes closely match what we deploy is a service on a VM We have a Java spring boot based service model which relies on a lot of the Netflix utilities for service discovery and In routing of requests we use console for service discovery and key values We use fluent D for logging to ship all of these service to ship all of our logs to a centralized Elk stack and We also assigned resources to these Java services very similarly to how we assign them to our VM So each Java services On is typically given two cores or four gigs of and four gigs of RAM We do we do adjust this per for certain services as well But this is the default that we provision for all of them However, we were running into problems with the Java microservice and to really understand what was going on We needed to understand how all these pods are deployed to Kubernetes. So In Kubernetes each each container maps to a C group and these C groups are assigned to to each of these containers and there's they're given the resources based off of the Kubernetes requests and limits and We assign requests equals to limits for all of our services just to make things easier for us And once once this is done We were running into issues where we weren't seeing the the performance that we saw in the pods as the VMs and To really understand how this works. We needed to understand how the scheduler schedules these so We map so Kubernetes in Linux maps the CPU Requests to CPU shares and it's able to throttle the the resources of Based of the service based off of the CPU quota limits this is implemented in Kubernetes in Linux by Calculating the number of shares that are assigned to this based off of the CPU request times 1024 and Kubernetes is aware of all of the Available shares based off of the total number of cores on a system on all of our Kubernetes nodes. We run 64 core boxes So this would be assigned to about 65,000 shares for the entire box Now each service would then be throttled based off of the limit So it's given an allotment of the CPU limit times 100 milliseconds and that's calculated over 100 milliseconds So if you wanted to assign a container roughly two cores it would turn into a CPU limit of two of 200 milliseconds over 100 milliseconds. So you could have two concurrent threads operating at the same time So as an example on our 64 core machine boxes Our Java process would be given 2048 shares over 65,000 so it's guaranteed at least that amount of resources to operate and It's able to run for up to two threads during that period However, we were running into painful scenarios where The world would just stop when we were doing our stress testing and the reason for this was because the the JVM Garbage collector threads were using up all of the CPU quota. So we had to figure out why this was happening So the the JVM we when we Adalized this we saw that there were 64 garbage collector threads 128 jetty threads for doing HTTP Traffic and then there were 64 JVM for coin threads for parallel operations These numbers seem strange. They seem to match the number of cores. So we had to figure out what was going on So all of the libraries in in Java are a lot of them are Configured by based on the number of available processors Teddy does this the JVM does this and configures the for drawing boys pulls in the GC thread pulls and then there could be various other libraries that would access this to automatically tune and scale the number of of threads for a given operation and The JVM is able to detect this by running a Assist control call to get the number of online processors. We found that this wasn't being restricted by C groups So we had to figure out what to do there so we came up with a solution of providing a base Java container that would was able to calculate all of these resources and Thankfully because the C groups is mounted inside of every container and provides the values of all of these we're able to Pretty much reverse engineer the number of cores that are assigned to this by just looking at the the number of quota microseconds available and dividing that by the by the period and Then we're a automatic able to automatically tune the JVM by passing in JVM flags where we're explicitly setting this However, this doesn't solve all the problems we were we still needed a way to Override the available processors call and we did this by basically relying on a C shared library where we pretty much override the JVM active processor count, which is ultimately what the JVM cause and and we shim this in with a Linux preload hook Inside of the container So then when the JVM cause available processors We would return the number of cores that we've assigned to this via an environment variable that the base container calculated So now we're able to actually have self-service compute where the developer doesn't really need to know What the what the underlying mechanism is all they need to say is I want a Java service with two cores And they're able to get this now going back to how we configure our How our Java services look like I said we use spring boot for the core container and we use all the Netflix utilities For doing, you know, we use net Netflix ribbon for doing automatic retries, or we could do client-side load balancing Directly in the application. So every Java service is shipped with all this logic and then we can do circuit breaking with his tricks and service discovery with console However, we were in a world where we wanted to have our VM Infrastructure still communicate with our with our pods that we're deploying into Kubernetes and You know each of the the console agents need to communicate with each other for discovery The Java services will ultimately need to communicate with each other directly. So we leveraged Calico for this Kubernetes provides a pluggable container network interface and There are many options. There's flannel Calico weave cube net VX LAN probably a lot more than I'm aware of on this list We ended up going with Calico because it gave us a few benefits for running in our data center Calico provides software to find networking we can use that to configure net network policy IP tables access Rules and it gives us the the benefit of not needing network overlays In our data centers So that means we don't have any performance impact from doing encapsulation It eliminates any MTU overhead that we may have And it also gives us the ability to have seamless ingress and egress Because of our network setup So in our data center, we've deployed what we what's referred to as a layer three Clost apology. So this is a spine and leaf architecture and all of these Leafs are are are layer three networking so each each of those each rack Only communicates with each other rack over layer three and this makes it very simple to to understand because The spines aren't doing any any processing and all of the Leafs are their own layer two domain so any any MAC addresses don't really aren't seen by any other racks and this makes it really easy to scale out and predictable and Consistent for any network communication because anything communicating in one rack is going to have at most two hops to get to another rack And this also gives us the ability of having any cast support as well so all the all the work is performed at the leaf switches and and each of these these Racks are assigned their own BGP domain, which Calculator relies upon and this also gives us the added benefit of not having to worry about any Any issues like spanning tree protocol issues? There's no convergence time or loops that could be accidentally caused by this so Like I said, each of these has their own BGP domain, which means they have their own layer three network Slice so we can assign networking slash 24 subnet to each of these and We can also any cast the same IP across all of these so this makes it a lot easier to to To have services Communicate with just any any service IP and it will be routed to any healthy instance that can respond to that So we use Calculator to do BGP peering directly with these leaf switches and We as we pair that with all of our Kubernetes nodes as well And this allows us to seamlessly communicate whether it's VM running on on a rack in a different leaf switch It can communicate with any pod that's running in Kubernetes So this is a the typical Kubernetes architecture where we have some masters and some nodes running some pod workers Using Calico we're able to announce directly the pod IPs and these are represented as slash 26 subnets that Calico assigns directly to these and The Calico agent would then pick these up and announce them to the to the top of rack switch Likewise, we're able to announce directly the service IP range So all we have to do is add these to the loopback interface and tell Calico to announce these and all of a sudden we have the ability to for anything Whether it's inside of Kubernetes or outside of Kubernetes to communicate directly with this service IP range Which makes it a lot easier to For outside services or developers to access and likewise we can announce the We can we can assign an anycast Address for the API server that we then bind to the API server to so we don't need any any middleman For communicating with the API server We just bind each API server that we want to this IP address and we can communicate with that IP Which makes it a lot easier in case one of the master nodes goes down. We don't lose any traffic to the API servers so this allows a developer from their laptop to communicate directly with a pod IP to any any of these Pods that are running in Kubernetes. They can communicate with the master IP, which is then an anycast and Likewise, they can talk to a service IP as well so this gives us a really powerful way for our developers to have self-service networking without any Interaction with us and then we can leverage the network policies as well to automatically assign Firewall rules for instance If we want for these services as well We the other benefit of this is that we can also Rely on this for federating as well because we have two data, you know multiple data centers we can Seamlessly communicate from the the pod network from one data center to another data center and using the Federation API We can then control both of them at the same time so the other the other self-service tool that we decided to to use was Prometheus Historically we use graphite for all of our VM based metrics This had some problems Unfortunately, the application and collectee is are sending metrics Either from the application or from the from the system and there's forwarding this to graphite Unfortunately, we can easily run into scenarios where the application developer just added a new endpoint to generate metrics and we have this Exponential explosion of metrics as we deploy them to all of our services and All of these are aggregated all these metrics are aggregated in graphite where each metric ends up becoming its own file so which is slow to create on all on in this cluster and also really slow expensive to To clean up so when we have all of these ephemeral pods We can't really rely on this because we end up overloading the graphite cluster and bringing it down Graphite also has some other problems as well like there's loss of precision when it does Aggregation aggregated roll-ups of all these metrics as well And it's it's kind of inefficient to do aggregated calculations across all of these We then use sense to to actually do alerting based off of off of the sensory client that runs on the host and We can also trigger we can also have that query graphite as well However, we were running into some problems with this the the application and in the system are very tightly coupled It then becomes really difficult for us to route alerts to it What happens when the application goes down? Who do we route the alert to the application dev? What happens when the system goes when when the whole host goes down? Do we route that to the application developer? Do we route that to? The team that's in charge of running that host and what happens if the whole hypervisor goes down? Who do we alert so we really want these? Our application level alerts to be service level based However, when we pair sensor with graphite it becomes really confusing to create Because we had this centralized this other repository where devs would have to have to go into and add all of these checks and The checks were actually really expensive because doing all of these aggregated checks on graphite is painful so Incomes Prometheus Prometheus Ties in really well with our Kubernetes infrastructure. It gives us the ability to do automatic discovery of all of our Containers whether it's using the Kubernetes API to communicate with pods or it could communicate with console and discover any VM based Application as well There's no loss of precision because it just keeps appending metrics and it's really great at Storing tag data so we can store Metrics based with tags of whatever the service are running what pod they're running on Which endpoint we're using to collect these metrics from and so forth And it's really really great for these efficient For these ephemeral instances, so when a new pod comes up all it is doing is is modifying the tags that are For that are being generated for that for that metric So all of those would be aggregated in in ultimately the same Prometheus file So we use the Prometheus operator for this so we assign each Team that wants to deploy services to Kubernetes their own name space. We also give them their own Prometheus instance as well So this gives us a few benefits because we are able to then Separate out each each teams names each teams Prometheus metric collector And that that gives us the ability for you know when one of these Prometheus goes down We don't lose metrics for everything. We just would lose that those metrics temporarily for that one team so the Prometheus operator controls all of these Prometheus instances and they'll look at they'll collect metrics from all of those team services and We provide a centralized alert manager, which is also configured through the Prometheus operator that would then Route the alerts to pager duty So at that point all the service owners have to do is to find their own alerts for all these services And those alerts are the the Prometheus alert manager specification that look like this all we have to do all they have to do is provide Service-level style check where for instance if we wanted to look at the error rates for a given service All you have to do is look at the response the check for response codes of 500 and if that is You know high for five minutes Then we would just send an alert to whatever team that is with a page that says this is critical. Please look at this so the final the final tool that we provide for our Developers is self-service storage Historically we have a centralized NFS cluster for all of our five files and We were running into a lot of problems where it was very difficult to Spin up a new VM based service that would have access to this all of the access controls were were manual manually configured in the NFS cluster and we could also often run into issues Depending on the application with you know things like file locking issues Where you know some service would be locking a file it would die and wouldn't be able to Come up again because that the file is locked on NFS We also would leverage ESX local storage as well However, this had some problems of you know slow migrations if we needed to spin up a if we needed to move the VM elsewhere We would have to transfer all the data from one host to another and there was no replication So in order to really provide self-service storage infrastructure, we needed something else That's where Seth comes in Seth gives us the ability to Deploy on commodity hardware. So all we have so we don't need these expensive NFS machines and all we have to do is Scale out the system whenever we need More storage Seth provides automatic replication and it provides multiple access patterns as well So we can access either block storage directly We can access, you know, CFFS which is very similar to NFS and we could also access An object store it provides a an s3 compatible API so again we to Rely on this we We in Kubernetes. We have Automatic provisioners that are based off of the storage class concept All we have to do is define a default storage class for the block device and provide a provisioner That has the ability to access Seth and create all of these All of these blocks storage devices as they're requested So all a developer would have to do is say, you know, I need a stateful set and here's the the persistent volume claim that goes along with that and Then Kubernetes and the automatic provisioner take care of the rest The RBD provisioner would then detect the creation of this of this pod of this Persistent volume claim and then create the block device and then allow the stateful set to then mount this This persistent volume which is then mapped directly to the to that block device and it'll manage the the lifecycle of that as well so when you get rid of the stateful set the The block storage is cleaned up as well So we rely on this for some tools so we have Prometheus all of the Prometheus instances are relying on these purpose persistent volume claims to To store all of their metric data for some amount of time We also have some deployments of MongoDB and Postgres relying on this as well and they've been running They've been running great for us so far Likewise we can rely on this CFFS shared storage for this this gives us the ability of having multiple services access the same NFS pull by creating just a single PVC that any service instance is able to access and then The CFFS provisioner would create a shared mount that all of these are able to access and share data across The final way for accessing of course would be for the service to directly communicate with the S3 like API so all all that has to do is You know create a bucket and then access anything in there and then this would be completely separate of any of the Kubernetes automatic provisioners So with the help of Kubernetes Calico Prometheus and Seth We're able to provide self-service infrastructure for all of our developers and we've seen a lot of benefits from this Our existing services are migrated very quickly all it takes is a couple hours of work to to migrate a service verify That it's healthy and create the appropriate Prometheus dashboards for it We're also seeing a lot more adoption from developers we're seeing about 20 new services that I'm aware of that are being planned for q1 which is a lot larger than what we've seen before for one quarter and We're really seeing true microservice adoption So we're seeing a lot of developers who want to spin up, you know small experiments That they otherwise wouldn't have been able to do in our infrastructure because of the long process for creating all of these VMs So So finally Squarespace is able to move as quickly as we want it to Well, thank you for listening to me. Are there any questions? Yeah, so we we run the databases in Kubernetes So we have some stateful sets for Mongo and We've got some stateful sets for Postgres and like I said earlier All they have to do is to find that PVC and then they have shared storage it So then when the pod goes down, it's just migrated to another host and comes back online with the same data So we run all of the Prometheus instances in the same cluster We then federate up all of the metric data to an external system as well That has a lot more capacity for storage so We don't abstract that we are right now the service developers are Writing the the YAML the Kubernetes YAML descriptions, but we do have a generator tool for the new services that will generate an entire Spring boot application and along with that we generate all of the The prescribed deployment and and alerts for all those services. I'm sorry. I didn't with the network policies. You mean Yeah, so so it's connected to yeah Yeah, so so so we use So there's redundancy at the at the network connection layer and then there's redundancy with with Each of the each of the Leafs communicating with with two spines Yeah, so sorry Yeah, so so so spring boot. We're not relying on console for the configuration itself so we're using so so when they're deployed as VMs we just use a Just a regular config YAML file that we've deployed to each of those hosts along with that code We can also use environment variables as well, which is what we use in the Kubernetes environment if there's any any Information that the service wants itself It would communicate with the key value stored directly With console. Yeah, so we haven't We haven't had the need yet to really like squeeze performance out of it So we haven't gone down that path yet We just wanted to make sure that there was no performance loss moving to Kubernetes So I think that's something we're going to be exploring later on like really how small can we can we get all these services? and and and what's the trade-off between Instance size and number of instances Because you know we're dealing with the JVM, which isn't the friendliest of beasts No, the the memory size seemed fine because we were Well, I mean we pass we pass in very similarly in that base container we calculate the the number of the the amount of RAM that's assigned to that and then we scale the heap appropriately, so I think It's it's tunable, but I think by default we give the heap 50% and allow 50% of non-heap But that's tunable per service as well cool No, we didn't go down that path. We did use mesos for a little bit our data team was using that as kind of an internal test and That was right around the same time that kubernetes really really was becoming popular So we saw a lot of benefit in switching to that early on No, we didn't what's up. Thank you


The Mac Observers, MacGeekGab, episode 739 from Monday, December 10th, 2018. Welcome to the Mac Observers, MacGeekGab, the show where we take your questions, your tips, your cool stuff found that you send in to us here at feedback at macgeekgab.com. And we share them. We answer the questions, we share your tips, we share your cool stuff found. The goal being, each and every one of us learns at least five new things every single time we get together. Sponsors for this episode include BBEdit at barebones.com, OpsGenie now from Atlassian at opsgenie.com, JamfNOW at jamf.com slash mgg, and 100 bucks off of an ERO system with a base unit two beacons and a year of ERO plus at ERO.com slash mgg. We'll talk more about all of that shortly here, here in Durham, New Hampshire. I'm Dave Hamilton. And here in fearful Connecticut. This is, yet again, John F. Braun. How you doing, Mr. John F. Braun? Staying warm. Just warm, huh? Yeah, not hot. Not like red fishbone. No, not like red fishbone. So, huh. All right. Well. Nobody knows what we're talking about. No one knows. We don't know what we're talking about when we talk about red fishbone is hot. That was a thing somebody said at Apple Fest, like, I don't know, 100 years ago, in the middle of the night. It was Glenn. Wasn't he? Was he climbing on like cars? Yeah, Glenn, the sysop from the spectrum was drunk and climbing cars in Boston and ranting that. Red fishbone is hot. That's exactly what was happening. I don't, to this day, I knew in the moment I wouldn't ever understand it. And that has proven true. So, there you go. I think it was a modification of, it was one of the, somebody on a Budweiser commercial, I think. Right? Yeah, that's what you've said. I found nothing to corroborate that over the years. So. Okay. Yeah. Okay. Shall we, shall we get to our first question here, John? We have all kinds of stuff today. Sweetly. All right. The first question is from Mike, who says, lately, on my iPhone, I've had these things popping up where it says, sign in required, enter the password for, and it lists, he says, his Gmail address. What is it that's requiring the password because he says, that is the email that I use for my Apple ID, but it's also used anywhere that an email address was requested. This is, as far as I know, I'm logged in to my Apple ID. I clearly don't want to provide a password to anything that I don't understand. There are no apps that aren't working as far as I know. And the two screenshots he sent are interesting. One is inside messages, it looks like. He's getting this thing popping up saying, sign in required. And the other is on his lock screen. And the context of these messages is important. We've talked about this on the show before because it is possible for a web page to make it seem like it is, to generate something that seems like a legitimate Apple, you know, generated request, like the one that iOS would actually generate. But if you're not on a website, so if you're on a website and you see this, it's good to be suspect of it, right? Because it's possible that the website generated it. So if you're inside Safari and iOS, that could be, probably isn't, but could be something nefarious. However, if it's showing up inside messages and especially showing up on your lock screen, looking like an iOS thing, it's an iOS thing. Your lock screen will always make it clear what app is asking for stuff unless it's simply not an app. So in your case, Mike, I think there's something in the background on iOS that is requesting this, an iOS service. It could very well be messages, right? Because it popped up while you were in messages. Maybe it needs it for iMessage for some reason. Or it could be FaceTime or one of the iTunes Store or the App Store could be any one of those things. So thoughts on this, John? Every now and then, I'll get a prompt to enter my password for one of my emails. And usually I just ignore it. Sometimes that's different. Yeah, right. Yeah, at least, you know, like my non-Apple email accounts, every once in a blue moon, it'll come up and say, hey, give me the password for this account. And I'm like, well, no. And I just miss it. And then things settle down. So sometimes to hiccup with, you know, a hiccup with something. That's true. You know, and his being that it just says sign in required, enter the password for and then list his Gmail address, which I'm not going to share. That might be exactly what he's seeing here, is that it's having trouble logging into Gmail and is asking for that password.  So it could be that, too. I've seen it. I've seen both of these things, to be honest. So yeah, but if it's happening, if it's happening on the home screen or the lock screen, it is definitely iOS asking you for this, not some third party app. I mean, the other thing you could do is go to the, what screen is it here? Hold on. So I mean, yeah, on iOS, if you go to settings, I think it's settings. Is it settings and mail or passwords and accounts? Yep, that would make sense. So if you do get this prompt, you may want to go to passwords and accounts under settings and manually. And from that screen, because you know that's a legit screen, enter, reenter the password there. I'll buy that. Yeah. Yeah. And I've done that sometimes. Yeah. Sometimes some cache gets corrupted or the server gets cranky. And I would enter it from there rather than just kind of a suspect. Yeah. If you, yeah, I don't know where that's fair. Yeah, if you're suspect of the dialogue, just go go enter it here. Yeah. Yeah, cool. All right. Another iOS mystery. Sandy writes in with, she says, I think it's she. I don't know, actually could. Oh, no, it definitely is. Yeah, my contacts sync between my iPhone 10S and my iPad 4, but will not sync with iCloud and my 2017 iMac running Mojave. I've looked in the discussions, but I've found no answer online. I haven't checked relevant knowledge based articles or I have checked. Sorry. Relevant knowledge based articles and followed instructions to no avail. I have no idea why iCloud won't sync my iPhone or iPad contacts with itself and or my iMac. I have closed the contacts on all devices and unchecked and rechecked the contacts box and preferences on Mac and the iPhone. I'm assuming that's iCloud preferences. That didn't work. I have refreshed all the contacts on the iPhone. I couldn't find out how to do it on iCloud or on the iMac. That also didn't work. And then she says, if I change contact in iCloud, then the contacts on the iMac get changed and so will the iPhone and iPad. However, now I have two copies of the item and the iPhone on the iPhone and iPad, but only one on iCloud and the iMac. If I delete the copy iCloud put on the phone, then it is deleted on all devices. I can't seem to put a change on the iPhone and have it go to all places. So this gets really interesting because what there's a couple of ways this can go. We'll talk about the way that it has gone with Sandy. But but it can go other directions as well. With Sandy, she has now wound up with if you go a great place to sort of get a feel for what what might be happening is launch contacts on your iPhone or your iPad. And in the upper left kind of go back out to the main view. And then the upper left will change to say groups. Tap on that. You will see separate groups for each account that is configured to have contacts on your phone. And this can really kind of give you a bird's eye view of what's going on here. The first thing it could show you is that you might have multiple accounts configured for contacts. In addition to iCloud, you might have a Gmail account for contacts. You might have an exchange account. You might have multiple Gmail accounts and any of these scenarios could cause duplicate contacts to appear. So definitely worth checking that. Now, in Sandy's case, she looked and saw that she had only one account configured on iCloud account. And all the groups in there were duplicated. So if she had a group name family, it said family twice. If she had a group name work, it said work twice. So this explains why she was seeing duplicate contacts on there. But based on all the other symptoms, it sounds like only one of those was syncing with iCloud. So my thoughts on this, John, are as follows. I would, at the very first, I would go to the iMac because she says that things are working well there and it's a Mac, which is a good combination because you can go into contacts on the Mac and go to the file menu and choose Export Contacts Archive. That, my friends, is a very easy to use backup for your contacts. Certainly, Time Machine keeps a backup of these things.  But exporting that contacts archive gives you a very portable, importable backup that can be used to recover if any of the next steps screw you up. So bear that part in mind. It really makes life way easier than relying on other backups. So go shoot one of those manually, save it to your desktop or wherever you like. Now that you know things are safe, what I would do is I would log completely out of iCloud on the phone and restart the phone and then log back into iCloud on the phone and see if that then only slurps down one of each thing inside iCloud. It seems like the phone got kind of out of sync and then back in sync with iCloud, but kept its duplicate groups, which happens. Really, it's that a cache on the phone needs to be cleaned. But since we can't clean caches on the iPhone, we kind of have to take a sledgehammer to it instead of a scalpel. And that's sign out and sign back in. So what do you think, Mr. Braun? I was looking at my contacts and I saw some duplicates. Okay. And the thing is in contacts on the Mac, there is something you may want to do every now and then. So what you can do is you can highlight. So there's an all contacts group. Okay, what you may want to do is go to all contacts, select all of them. And then if you go to the card menu within contacts, there's a couple of handy dandy choices here, which you may want to run every now and then and I have it for a while and maybe I should. Sure. But there's something it says, look for duplicates. For example, I'm going to run it right now. And it's like, oh, 22 duplicate cards and 17 duplicated entries were found, duplicate cards that have the same name, contain different information, so on and so forth. You want to merge them. So that may help clean up your act. Well, wouldn't help Sandy, right? Because her Mac isn't showing any of these problems, right? Her problems are on both of her iOS devices. But that is good, that is good advice for someone who's having duplicate contact issues related. Yeah, yeah. Yeah. And there's another one also, then there's another selection there. It says merge and link selected cards. So that can be the handy one when you've got a Google contact record and an iCloud contact record for the same person, where you can, if you merge them together, then contacts will sync them separately, but treat them as the same. And that's pretty good. Yeah. That's right. That's right. Um, Kiwi Graham in our chat room at mackeykev.com slash stream says, uh, any chance that she has the same iCloud account logged in twice on her iPhone. And I think that is entirely possible. I think you can, I know you can have a second iCloud account. And I think that second iCloud account can sync contacts. I'm nine, in fact, I'm 99% certain of that. Yeah. So yeah, that's also possible. But I think if that were the case, it would show up as a second iCloud account when you launch the contacts app and go to groups, and that she was not seeing that. Usually those groups are organized by account, which is why I didn't think she had a second account, but it's possible, certainly. Yeah. So and Kiwi says, be careful with merge. And I will reiterate, you know, rewind and listen to how to back up contacts. Uh, he says, I had one client who merged all his contacts into a single card. That sounds like a mess. That's a pretty big contract record, man. Wonder which name it picked. Wow. Not good. Not good. Any more thoughts on this one, John? We're good. Cool. And yeah, Dave Ginsburg confirms in the chat room again, signed in with two accounts and used contacts on both of them. So thank you, Dave, for confirming that. Much appreciated. Chuck has a question. Um, Chuck says, uh, if I decide to hold on to high Sierra on my Mac, is there a way to turn off the daily reminders that an upgrade to Mojave is available? That popup popup is a minor issue to deal with, but a daily annoyance to close. So the answer I have for you is probably it doesn't work for everyone, but if you open the Mac App Store app on your Mac, go into the updates tab from the list of, uh, app store page options and in the banner for Mac OS Mojave control, click anywhere inside that banner and select hide update. According to others bingo, no more notification. So there, uh, that that's, have you know, you've updated Mojave everywhere. So, um, if anybody has tried that and it hasn't worked, um, but you've found another solution, let us know. As I said in the intro, our email address is feedback at mackeekab.com. Can I hear you right, Dave? Did you say feedback at mackeekab.com? That is what I said, unless you're a premium subscriber, in which case premium at mackeekab.com is where you can go with these things. So very good stuff. Hey, I want to take a minute and thank our first sponsor, John, which is Ops Genie from Atlassian. You know, incidents happen, my friend. And they're inevitable, right? I mean, it's why we do this show because incidents happen. Really, what it comes down to is how you deal with them. And if an incident happens at work, it comes down to how your company responds, right? You've got to be able to coordinate everything between operations teams and software development teams. All the unsung heroes that are putting out fires every day, they need to be alerted properly and they need to be kept in sync. Getting those alerts immediately to the right people is critical when an incident occurs. And that's why Ops Genie from Atlassian. Is what you need because Ops Genie empowers your dev and ops teams to plan for any disruptions and stay in control. It's the coolest thing, right? We've used it here too. It knows because you tell it what your, you know, your fallback tree is, right? So who's the first person that should be contacted? If that person can't be reached or isn't available, you know, who's the next person, who's the next person? So if one person's sleeping because that person, Dave, is on Eastern Time, but another person is likely to be awake because that other person, Adam, is on Pacific Time, then guess what happens? Ops Genie knows to fall back if it's like, you know, 2 a.m. Eastern, but 11 p.m. Pacific. It's like, oh, yeah, these guys are night owls, but Dave might not be awake. So also alert Adam, make sure he knows Ops Genie does this. It helps you respond quickly to unplanned issues because it notifies the right people at the right time. It understands time zones and holidays and all that stuff. And because it's linked with everything now because it's part of Atlassian, you get all these integrations. Of course, you get the Atlassian ones like Jira, right? But also Amazon CloudWatch, Datadog, New Relic, all kinds of great stuff. And Ops Genie tracks all your activity and provides useful insights to improve future responses to future incidents. So you got to check it out. Visit OpsGenie.com to sign up and get a free company account. And you can add up to five team members to this free account. No credit card, no nothing. Go now. OpsGenie, O-P-S-G-E-N-I-E dot com. Never miss a critical alert again with Ops Genie because with Ops Genie, your next incident doesn't stand a chance. Our second sponsor is BBEdit from Bare Bones. You might have seen recently BBEdit now and Bare Bones in general now has a merch store open again. So you can go there and check that out and you can even buy fun stuff and you can get a t-shirt that people will have to think about to understand because it's pictures in the pictogram kind of thing, which I really like. I've been wearing my t-shirt quite a bit since I got it. And I like it. I'm talking about the Rebus Black Tea and you got to go. I'm not going to tell you what it is. You got to go to BareBones.com and look at it to figure out what the t-shirt is telling you. And then once you realize what it's telling you, you're going to want to have one, too. So check it out at BareBones.com. And while you're at BareBones.com ordering your t-shirt, download a free copy of BBEdit. If you're not yet using BBEdit, go get it. You've got a full 30-day free trial on this. But after 30 days, the core features remain free, free. You can just keep using them so you can do things like word counts, comparing documents. Even most of the programming languages that it understands are still available in the free version, HTML stuff. You can FTP files back and forth. You've got to check this out. So go to BareBones.com. Figure out what the heck Dave is talking about with the Rebus t-shirt, right? You want to check that out. And then download your free copy of BBEdit while you're there. BareBones.com are thanks to BareBones for sponsoring this episode. Yeah. What was the occasion for this merch store, Dave? Twenty-fifth anniversary of BBEdit, man. It's pretty crazy, right? It's pretty crazy. Yeah, it's good stuff. Yeah, man. Cool. All right. Shall we go to Andrew here, John? Might as well. OK. All right. Andrew takes us into Routerland, a place that we know and love. Well, at the very least, we love it. He says, I just purchased a Netgear Nighthawk AC2400 router to replace a much older one. I have a potpourri of devices in the house going back to an iPad 2 and would like to be able to serve Wi-Fi to all of them, of course. Since we have cable visions, 200 megabit per second service, we also have a Netgear N300 Wi-Fi range extender that's working well for another floor of the home, which we may slash are hoping to be able to retire. But I can test that once I get your feedback. The only other question is what security option to choose when setting it up so that the device is a relatively easy to set up when entering Wi-Fi passwords. And with all that said, is it a good idea to keep this Nighthawk AC2400? It's still in the box. Or would you recommend I look elsewhere if my budget is in the $100 to $150 range? OK, so that AC2400, and we'll put a link to this in the show notes, is actually a pretty good router, especially for the price. It is a dual band four by four router, meaning there are four radios or four antennas, which means four streams per radio. So you got a 2.4 gigahertz radio with four streams and a five gigahertz radio with four streams. The more streams in theory allows more bandwidth, that's not actually how it works because most of your devices don't support more than two streams at a time. But what those four streams means on your router is that it can tune and pick the best ones, the best antennas to get to your device. And you do wind up, in my experience, with four by four routers where you get a much faster connection and therefore much longer range than you do with a two by two or a three by three. So this is a pretty good one. The really the other four by four router that I recommend is the Synology. But that's a little bit more. It's about 75 bucks more than this one. I think is about 125 and the Synology is 199. So if you don't need the inbound VPN and cloud station and intrusion protection and all that stuff that the Synology offers, then then the the AC 2400 from Nick Gear is a great router. I highly recommend it in the scenario where, you know, mesh doesn't apply. And it sounds like perhaps in Andrew's house mesh doesn't apply, but it might, especially if he was previously using a range extender. I I'm not sure I would recommend keeping that particular range extender. That end 300 will seem mighty slow compared to your new router. So so there you go. Yes. And as far as security, I would do WPA to I would not. Oh, absolutely. Yeah. You know, like the new Synology firmware has WPA three available in it. And it's got a mixed mode where you can do two and three. Honestly, my experience with that is don't not yet, not until you have devices that support WPA three. I do. There was some wonkiness in the the mixed mode implementation with some devices. So yeah, just haven't even heard of that. Well, WPA two is basically proven to be not all that safe anymore. Right. I mean, there's there's there's a I think a pretty major security hole in it, if I'm not mistaken, right. So so we need to move on.  I think in general, the things you want to look at is so you're going to see a lot of products that have a see something some number in them. Yeah, the higher the number. The faster you're the faster the potential. The faster you can possibly go. And then the other thing, as you pointed out, is the number of antennas typically indicates the number of radios on the more antennas. The better. So and generally your speed numbers are a factor of the antennas, right? Because on on 2.4, they count each antenna as being worth 150 megabits. So on this router, that would be 600, right? Because, you know, 600 times four on the 2.4 gigahertz is or sorry, four times one. Sorry. On 2.4 gigahertz, each antenna is worth 150 megabits per second. So four of them gets you 600. That's a much easier way to say it and also accurate on five gigahertz. It is 433 per antenna, right? So 433 times four is 1733. 1733 plus 600 is 2300. 2333 comes out to 2400. Sometimes it gets rounded up and and you'll see routers showing, you know, the 2600 for these. It's not actually correct. None of these numbers are correct, but that's how they get these numbers. So there you go. Yeah, do the math. Math is fun. Math is good. All right, John. Shall we go on to James, my friend? Or should we stay with Andrew? Was there more with Andrew here? No, no, no, I think we're good. OK. And you're right. Math is fun. You know, music is fun, too. Actually, that's how I got into for people that don't know I play the sax. And one of the things that I liked about music is that music is really kind of about math, or at least that's the way I saw it. It's a lot. Yeah, I often joke on another podcast that I do called GigGab for working musicians at giggabpodcast.com to throw it out there for anybody that would like to listen, is that some of these theater gigs that I do, the ones that I'm actually shying away from doing in the future because they're not as much fun are, you know, when I'm not on stage and not able to see the actors, I refer to those as Dave solving math problems on the drums in a closet. And and it's true, right? Because, you know, everything works. Not only is their math in the way rhythms are played, right? But there's also math in the in the harmonics of the notes, right? And the things that make the music sound the way it sounds. It's all harmonics and harmonics can be scales explained with math. Yeah. Yeah. Yeah.  It's all fractions. It is all fractions. I had a fun conversation with with my friend Ivan Drucker at Mac Tech. Ivan's a fantastic consultant in in Manhattan, who, by the way, has one of the best Apple II collections I've ever seen in my life. I had so much fun hanging out in his in his office a couple of weeks ago. But we had a really fun conversation about metric modulation where you make things sound different. The rhythms sound different just by changing the way you write them and make it sound like you're in four time when you're in six time or the opposite. Yeah, it's very interesting, fun stuff. But yeah, there you go. Shall we go on to James? Sure. OK. That's an interesting detour. Didn't expect that today. James writes, as with many in your audience, I'm sure the Mac Mini as a home server is tempting. I could use it for Plex. I could use it as an additional back of location, an SSH endpoint, runner of garbage software clients. I always need running, but don't want to see IE scan snap software and more. But could I get many of these benefits from my existing I Mac by using a hidden user that's always logged in in the background? What benefits of a separate Mac mini server would I be giving up by using the I Mac for many of these tasks? So as soon as I saw this question, I knew we needed to talk about this in the show, because it's not only is a great question, but I think it's going to be fun to dive in here. So I'll kind of start with the basics. Right, John, if the I Mac can be on all the time, then that's one concern avoided, right? If for whatever reason you feel like the I Mac needs to be turned off or slept or whatever, then you don't want it running as your server. But if you were going to do that with your Mac mini anyway, fine. And then there's the resources, right? The big three are RAM, CPU and disk. So RAM is an easy one to suss out in that you want to make sure you've got enough RAM to have a second user logged in and running all those background processes, whatever they are, without impacting your day to day stuff. And, you know, Mac OS isn't fantastic at managing memory. It's OK. But if you're interacting with the computer, you probably are going to want to reboot it once a week or so just to get it to kind of clean stuff up. I seem to find on all my Macs that when they get wonky, my uptime is in the double digits in terms of the number of days. So just bear that in mind and make sure you have enough RAM, you know, 16 at a minimum for the scenario you're sort of describing. Thirty two might be better, but RAM is relatively cheap. So that probably check the box. CPU, same thing, pretty obvious.  And then the weird one is disk access. This one's not necessarily as easy to suss out, but you want to make sure that you are not running something that impedes upon your access to the disk, because if two things are trying to get to the disk simultaneously all the time, your computer will feel much slower than it actually is. For example, you wouldn't want to have, you wouldn't want to be running a time machine backup server where you've got four Macs backing up time machine to to your computer and having it save those backups on the boot drive of that Mac while you're also trying to use that Mac, right? This would just slow you down immensely. But you could hang an external drive off of it and have them save there. And as long as you've got, you know, again, enough CPU and RAM, then that disk is not in the way of the, you know, the main disk on it. So so I would I would definitely consider, you know, that as part of it. If you're running, you know, fairly low disk usage server apps, fine. But even your media library server like Plex is going to want to index the library pretty routinely and stuff. You might just want to compartmentalize that off on a separate separate drive. And maybe you're good to go. What do you think, John? Those are that's my initial thoughts here. One thing that I think, Dave. Is I just saw on my Twitter stream, somebody was shaking their fist at Apple's latest offering, saying, I don't know if I'm really happy with the performance of the latest Mac mini for for what they charge. OK, I'm like, hmm, how do you? And I think the question is being brought up here as well is how do you know how much horsepower the various machines have? You know what I'm saying? Yes. And I'll tell you, I just stumbled across this and I haven't looked at it for a while. But but I think it's a it's a it's a good reference point to determine the relative oomph of each machine. Sure. So we got our friend Mac tracker. And if you run Mac tracker, I don't know if I've ever saw this before. But so if you run Mac tracker and you double click on a machine here, like the Mac mini in the general tab, it'll show you. A bunch of statistics about the machine, the processor, the RAM, the price. But then it also has processor speed listed. And if you click on that link, so it's a it's a it's a link. And if you click on it, Dave, it shows you the benchmark scores for that particular machine for each. For each clock speed, which I don't think I've ever seen that before. So that can help. Look at that. Oh, yeah, yeah, yeah, yeah, yeah. So it shows single core, multi core and the various clock speeds for that particular offering. So that's nice that so it's using Geekbench for sure, which, you know, is a general purpose benchmarking thing. But that that's another thing you may want to look at to help you make a decision about, you know, what machine would be more appropriate for doing this. Sort of thing. Huh. That's interesting. Why is my Mac tracker not updated? This is weird. I don't have the 2018 air or Mac mini Mac tracker. Yeah. Yeah. Oh, I got I got the 2018. They just pushed out an update. Maybe you did maybe. Yeah, maybe I haven't grabbed it in your app store. Yeah, yeah, yeah. Interesting. That's actually that's fantastic. I like that. That's and it also shows the model number of the CPU, which can be a really handy thing. As I recently found out, John, but but I'll come back to that. I'll circle back to that. So any any other thoughts on the running a dedicated Mac for server tasks versus but, you know, just doing it as a background user? I've never done that background user thing. So no, no, not really. Yeah, I mean, but think about like I hadn't thought about it either. But it actually makes a lot of sense. I mean, that way you can compartmentalize stuff off and, you know, you're not stuck with these windows kind of open and in the way while you're while you're doing whatever it is you need to do with your Mac. But but, you know, why dedicate an extra machine? I mean, this right. It for for the things he describes, I think this might be a good solution. You know, the only one I would worry about is Plex. And it depends on if you're doing transcoding, if you're letting your Mac do transcoding for movies that are going to then play on, you know, on your TV. Now, it might be a scenario where you're if you're running Plex on your Apple TV, you're not sitting at your computer. So that's actually a great simultaneous or not simultaneous, but shared use of that resource. But it's possible that a Plex transcode, especially for one that it's trying to do on the fly, might use more CPU than you would like to give up, you know, during your daytime hours. And also bear in mind that if you say, you know, I know when I'm planning a trip or something, if I'm going to if I were going to leave tomorrow for a trip, at some point today, I would grab my iPad and gone into the Plex app and said, OK, I want to download these four movies or whatever. And I would tell it, yeah, shrink them down to medium. I don't need like the full res of the movie. I'm just going to watch it on my iPad. And I've learned for me that on an airplane, medium is Plex's medium is fine. So I tell it medium. What it does is it tells the Plex server that I run here to crunch the movie down, shrink it a little bit and then send it off to my iPad. Well, that crunching and shrinking uses a lot of CPU and it does it during the day in my scenario. So just bear those things in mind. That would be in terms of CPU. That would be the big one that I think. So I don't know. I kind of like this idea, John. It's pretty cool. I mean, my other thought, if you have the coin, is that when I hear media server and at least in my set up here, Dave, my media server is my sonology. Right. My tunes and I got my movies on the sonology. Well, yeah, but that's a separate box. I mean, that's what he's saying. Yeah, yeah, yeah, yeah. So yeah, it's an interesting idea. I am I am not I kind of like it. I kind of like it, especially, you know, there's no harm in trying it this way, too, right?  I need to use my I need to get a Mac mini for this. Well, guess what? You can migration assistant just that one user over to your new Mac mini and you save a bunch of configuration time.  So I kind of like this idea. It's good. It's good. While we're on the subject, John, I, you know, I recently ordered a couple of MacBook Airs, twenty eighteen MacBook Airs, one for me and one for Lucas. Now, for Lucas, it is most definitely a Christmas present. He knows what he's getting. What he doesn't know is what color because we decided to get two different colors so that we could easily tell them apart around the house. So I'm not going to say in the show here what the color is. I'm also hoping Lucas doesn't listen to the show to this particular episode, which he probably won't. But because he, too, is going to be excited about something that I noticed in setting mine up. I was going to wait until Christmas to set mine up, too, and then realize, know, that's stupid, because if this thing's too slow for me or I don't like it for some reason, I want to know that while I'm still in the return window and an easy to deal with way. Right. The shortcut to the end, I'm keeping it. I like this thing. My biggest concern about this, and I talked about this when we discussed all the new Macs, is that it's an i5 chip in the new MacBook Airs, right, John? And i5 is the chip that sometimes with an asterisk doesn't have hyperthreading. It's a dual core chip. And so I was thinking, man, you know, I'm going from the the the worst I have right now is a dual core chip with hyperthreading and I'm going to a dual core chip without it. How am I going to feel about this? So I fired up the new air. I migrated all my stuff over for whatever reason. Migration Assistant failed the first time from my existing air. So I cloned my air to I keep a clone of my air. So I just migrated from the clone the second time and it went great. I side note, John, I think it's possible that the drive in my old air is beginning to fail. So timing is everything. But, you know, iSTAP menus came up and I see four entries in the CPU dialog or CPU thing in the menu. And I'm like, oh, that's wrong. Like this is an i5. It doesn't have hyperthreading. So maybe it's just inherited that from the other one. Look, and I'm like, no, like the way things are showing up up there. It's definitely seeing four distinct entries. And so I dug. Now, had I had the latest version of Mac Tracker, which solved my problem here, John, I would have seen that we have since I did I did some research because when we first talked about this, we didn't know what processor it was. Well, now we do. And it is Intel Core i5. It's an Amber Lake chip, which is the current twenty eighteen build of of Intel's processors. And it is an eighty to ten Y chip. Now, the interesting thing about the core i5s, I believe, since last year's model, the KB Lakes of the twenty seventeen and later is that the dual core i5s are hyperthreaded. So you get four threads on any of the dual core i5s. The quad core i5s, no, those just have four threads. That's it. Quad core i7s have eight threads. The six core i5s, just six threads. But the two core i5s, four threads, which means you get the hyperthreading. It's almost it's kind of for some operations. It's like having extra two extra cores, not all, but some. So I was very excited about that. And that sort of explained why this machine felt as fast as it did. And with 16 gigs of RAM, man, am I glad that I got the 16 in these. Even just kind of messing around on it yesterday. I did some of our show prep with it, John. And already I was in active RAM of, you know, 12 gigs or something. So it's like, yeah, I did the right thing. So. So. Which I thought was pretty cool. And of course, the MacBook Pro, which is has last year's processor. The dual core i5 is also hyperthreaded. So very similar CPUs between the dual core i5 in the MacBook Pro and the dual core i5 in the MacBook Air. I'll put a link in the show notes that compares them on Intel site. But they are not much different at all. The base frequency of the MacBook Pro is a little higher, but the turbo frequency of them both is three point six. So it's the same. Same amount of cash. The I'm trying to think what the only difference is memory bandwidth is a little faster. You can oh, and the MacBook Pro can handle 32 gigs of RAM, which the MacBook Air can only do 16. But everything else is pretty much the same. There was like one thing that it that it had a yes to the others. No, oh, Intel V Pro platform eligibility. The MacBook Air's chip says no on that. So other than that, pretty much the same, but you can take a look for yourself. So there you go. Thoughts on this, John? Anything? Yeah, I think I don't know. I think Intel is making it. It's kind of confusing, to tell you the truth. Yes, I agree. No, first, you got the i3, the i5, the i7.  And then, you know, as you pointed out, I mean, they have a comparison chart, but it's like, I don't know if I really want that many choices. You know, yeah, yeah. Yeah, I yes, it's confusing. I mean, it's nice that you can have these two different processors that can do slightly different things and use different amounts of power to do these different things, right? You know, so. But it is confusing, for sure. You know, and it's tough to suss out. Like, you know, because I was trying to decide between the 13 inch MacBook Air and the 13 inch MacBook Pro, I don't run my my machines at full brightness. So the additional brightness of the MacBook Pro didn't matter to me. It's got the same two Thunderbolt three ports, right? You know, that none of that's different. And the air has the touch ID sensor, which I'm finding to be very handy. It's going to be tough to put the put this thing back in the box for two weeks tomorrow and so I can open it under the tree with Lucas. But yeah. Yeah. Yeah. So fun stuff. But I'm pretty stoked about this air. So I figured I'd I'd share that here. Anything more on this, John, before we move on? No, I'm a I don't know if and when. Probably when they die. I'll get a new machine. But right now what I got? What I got, I'm pretty happy with. Your MacBook Pro is a quad core machine. Is that right? Let's look here. I do believe it's an I seven. Let's look here. OK. Yeah. So I got four I got four bars in. Yeah. So it's a two point three gigahertz Intel core I seven. But that still could be with four bars in activity or in well, in activity monitor or I step menus that's likely possibly just a dual core machine with hyperthreading. It depends on how how you have it. This one is quite all right. Well, let's use Mac tracker to check which which model is it? It's a MacBook Pro. What year? Mid 2012. OK, so we are going down to MacBook Pro retina 13. No, it's four. It's four cores. I'm looking in the. So I looked in the system report. OK. So it's MacBook Pro nine comma one Intel core I seven. And it says number of processors one. Yes. Of course, four. Great. OK.  The Mac mini, I think is I five and that only has two cores. So. Oh, and I wonder if that one's hyper. But it does have a hyper threading because the thing is I step menus does give me a choice to show either two or four bars. And I decided to have it just show two just. So we had some parity with the way I have it set up on the other machine. Yeah, I thought I was kind of misleading showing four when it's like, well, no, it really has to. It's actually really handy to see, I mean, handy. It's it feeds my curiosity because it's interesting to see when it's engaged. Yes. Yeah. Because not everything engages those those hyper threaded those hyper threads. It's interesting watching that happen. But like handbrake will handbrake will max them all out. It's pretty cool. Yeah. So. Oh, yeah. When I when I rip things on the. Yeah. Yeah. I typically rip them on the on the on the MacBook. And yeah, it it saturates all the bars are at maximum. Right. Right. It takes full advantage of of the all the course. Yeah, it's pretty cool. I have some more things to say from you folks to share, actually, about our our new machines and things like that. But I wanted to take a minute and talk about our next two sponsors. If that works for you, my friend, Mr. Braun. Yeah. Absolutely. Cool. Our next sponsor is Eero. We're at Eero dot com slash MGG. You can use coupon code MGG to get 100 bucks off the Eero base unit and the two beacons package and one year of Eero plus. So this is a cool thing. We've talked about Eero many times on the show, both as part of sponsor spots and, of course, just as part of our regular content, because so many of us use it. And really, they were the first to make consumer Wi-Fi mesh a usable thing and a functional thing. And it's more than that. They've made it an enjoyable thing. That's fantastic. You know, you can get kits in different ways, as I mentioned, you know, the deal we have is you get the Eero base unit plus two beacons. The beacons just plug directly into outlets. So they're kind of out of the way and right where you'd want them, which is not in the way. And yet still getting Wi-Fi all over the house makes life easy. But you can get all kinds of different configurations based on what you need. And then you have, you know, mesh Wi-Fi throughout your home, which is awesome. It just blanks it's your home and Wi-Fi coverage. You don't have to worry about dead spots and all of that. Eero plus, which you get a free year of at Eero dot com slash MGG. That's Eero dot com slash MGG coupon code MGG. Check out Eero plus adds a whole new layer of stuff.  John and I have both seen this in our setups with Eero. It's got advanced security, so it checks the sites you visit against a database of millions of known threats and prevents you from accidentally visiting any of those malicious sites. It offers different content blocking for things that you might want to block. Violent content, illegal content, adult content. So you can choose what your kids and anybody in your house has access to. John, really, when I'm at his house, man, I'm locked down. I can't access anything but like the most pure stuff. And that's just how it should be at Casa Braun. And then you get VPN protection from encrypt.me. You get a one password subscription as part of this. You get a malware byte subscription as part of this. That's part of Eero plus. You just get that. And again, if you go to Eero, E-E-R-O dot com slash MGG with coupon code MGG at checkout, you get that Eero plus one year part of the deal. Eero base unit and two beacons package. And you get 100 bucks off the whole deal. So you got to check it out. Go to again, one last time, Eero dot com slash MGG. Use coupon code MGG at checkout. And our thanks to Eero for sponsoring this episode. Our next sponsor is Jamf. Now we're at jamf.com slash MGG. You yes, you get an account that allows you to use up to three devices. It's a free account and you can have up to three devices on there for free. And more than three costs you starts at just two bucks a month per device. And it's pretty awesome because the way Jamf works is it allows you to keep track of any Mac or iOS devices that you have to manage and you get to keep track of them remotely. So be it for your business. Maybe you've got staff or employees that you have to manage. Maybe you're a consultant and you need to manage all kinds of iOS and Mac devices for people that maybe aren't quite as tech savvy as you are. This can make your life way easier because it lets you do things like distributing Wi-Fi and email settings, deploying apps, enforcing pass codes, protecting data. You can even remote lock or wipe a device if you need to. And you can do this from anywhere. Jamf now helps you manage your devices so you can focus on what you need to do for your business and your life. No IT experience needed. And like I said, MackeyCab listeners get a special deal. You can manage, you get a free account. Again, no credit card required. And you get your first three or up to three devices. It doesn't just have to be your first three. If you take, if you have three, you take one off, you can put another one on. And it's still free after those three devices. If you have more than three devices on the account at any one time. Prices start at just two bucks a month per device. Go create your free account today. jamf.com slash mgg. That's jamf.com slash mgg. Our thanks to Jamf for sponsoring this episode. All right, John. Let's go to Steve here because Steve has a question on new computers that I think is relevant to our topics of discussion today. And Steve writes somewhere, Steve writes, there it is. Do you have a recommendation for a monitor for my late 2013 Mac Pro that would be close to the quality of the new 4K and 5K iMac displays? We recently upgraded my wife's eight year old iMac and now my 24 inch LED Apple Cinnamon display is not looking so good. And he says, my other thought is to upgrade my Mac Pro to an iMac Pro or 27 inch iMac. Do you think I would take much of a hit in performance, say for handbrake encoding, going from a six core Mac Pro down to a four core 27 inch iMac? The iMac Pro is much more the machine that I need. But so is the Mac Pro when I bought it. That's the way I roll. OK, so let's start with the second half of this since that sort of flows from our previous conversation here. This is the four core 27 inch iMac. If it's the i5, then as we just discussed, this is not a hyperthreaded thing. So you get four threads on the four core i5 on this 27 inch iMac. Is that going to be a big hit? It's going to be a hit from coming from a six core Mac Pro with hyperthreading down to a four core. So you're you're going from 12 to four. Yes, it's a, you know, what, five year newer CPU? You know, so like, yeah, what is it? A last it's last year's four core. So, I mean, if you if you go to a four core i7 on the iMac, which I think can you do that? I mean, can you do a four core i5 or the only i7? See, this is why it's good that we have a Mac tracker launched here, John. Let's take a look at this here. So the iMac is where are we here? There we are. It is a four core. Oh, it's only an i. Oh, no, no, no, no, it's either an i5 or an i7. So if you get the i7, then I think that would probably be faster than your old Mac Pro, to be perfectly honest, in terms of CPU, given given everything else being equal. But we could check that out, right, John? Because you can look at the processor speeds and the benchmarks and the benchmarks. Yeah, yeah. So on multi core, the 3.8 gigahertz chip is are we here maximum? Oh, that's maximums. OK, 3.8 is a 15,000. Let's look at the Mac Pro. Maybe I'll prove myself wrong here. Yes. Oh, yeah. The Mac Pro actually on multi core gets up to 20,000 on that on that model. So, yeah, there you go. You'll take a 25 percent hit if you do that one. So there you go. Mac Mac tracker for the for the win there, John, I like it. Answers the question. Is it going to is it going to really matter? Maybe depends on how quickly you need your handbrake conversions to finish. What do you think, John? Yeah, I mean, yeah, when I do my ripping, I'll start it and then, you know, go out and do my chores. And when I get back home, it's all set. Yeah, exactly. Yeah, exactly. I mean, sometimes, you know, for most discs, well, at least the standard DVDs, which don't tell my library. But sometimes when I get new titles that are on DVD, I may rip them. Oh, I didn't watch them. And then once you watch them, you delete them, of course, right? Of course, yeah. OK. So I think it's just extending my rental period. Interesting. Interesting. DVDs usually take sometimes an hour. Yeah. Blu-rays, I'm trying to think, because I've also ripped blue rays. Well, I got a blu-ray external blu-ray drive because, of course, Apple, I don't think is ever going to offer blu-ray, right? No, they aren't going to offer anything anymore. Right? So, yeah. Yeah. As far as CD or DVD or blu-ray, yeah, right. Optical disc drives. Really? Nothing? No, I don't think so. Not anymore? No, no, you're right. You're right. Well, yeah, of course. You know, it's a lot more data. I mean, it's prettier. Right. Right. Yeah, yeah, blu-ray takes up. Go ahead. Well, no, I'm testing something out right now. No, no, I'm on the fence about it. It was a, I don't know if you saw it in your mailbox, but it's somebody who offers a HDMI cable that allegedly upscales your content. And really trying to figure out. I'm trying to do a comparison between my old, between regular, my regular HDMI cable and one of these. And just, I'll get back to you on that. Well, but there are people that offer products that claim to upscale your content and make it look HD-ish or 4K-ish. I mean, that's one of the things this does. Huh. Yeah, my TV, TVs will do that too. Check your Timo box. Yeah, well.  You want one? And I'm like, yeah, sure, you know. Interesting. Always nice to get, you know, higher resolution content, right? Yeah, yeah. Yeah, that's weird. I mean, I guess we're TVs do that too, right? Where they'll do the upsampling and all that stuff so you can have it, you know, display at 1080p, even if you've got 720p content or, you know, whatever. So. And I've seen it some shows I've gone to that they offer players that also claim to drops. Yeah. Is this, well, you know what, test this thing out. I have all kinds of questions, but they're irrelevant if they don't, if it doesn't actually look any better. So test it out. Let us know if it's worthwhile or not. And then I have all kinds of questions. Yeah, I'll have to do a side-by-side comparison. But the one thing I did notice is that it does certain shows that I watch, things will get pixelated because the action is very quick because I think I only have a 60 Hertz, I guess, TV. And I did notice that it did make that better is that things were less pixelated. So it's still in some point. Yeah, right. Yeah. Yeah. All right. Well, circling back to... We'll see you at a CES, definitely. OK. I'm sure you'll be a lot of that. Sure. I'm sure you're right. Yeah. As far as monitors for Steve's first question, I totally understand having a non-quote-unquote retina display alongside or even in the same realm as a retina display. It makes a big difference. The rest of the world doesn't call it retina. They call it UHD, right? And so what you're looking for is a third-party UHD display. And I've got one that I love that I use in the office and here in the studio at times. It's a mono-price one. It retails for $400 right now. It's $289, but it's out of stock until early January. So it's possible that they are replacing it with something, right? Or it's just possible it's out of stock. But I will put a link to it in the show notes and in the chat room here for anybody that cares. But it's a 27-inch UHD display. They call it a 4K display. But I really like this thing. It's very well done. And for those of you that remembered my issues with it and the issues many of you had with other UHD displays, this one does not suffer from the doesn't wake up when you wake up your Mac problem. So I think that was a 10-bit versus an 8-bit bus on the data path on the DisplayPort cable or something. But anyway, it's all good. It's good stuff. So yeah, there you go. So yeah, any questions, John, on that? Any thoughts to add on the screens and all that? So wait, is UHD 4K? Is that the same thing? Well, yeah, yes, sort of. Yes, what's the resolution of 4K? Is that? I think it's about 4K in one direction. Yeah, right. Oh, wait, I just googled it. Is UHD the same as 4K? Well, Google it and you can find out yourself. What's the answer? Well, it says I'm doing a show. So 4096 by 2160 is 4K. So a UHD says it's a little less. A little less. 40 by 2160. 3840 by 2160 is what this screen is yet. So there you go. Yeah. Cool. Cool, cool. All right. Yeah, let's so moving on. Good stuff. Hopefully, hopefully that helps, Steve. While we're here, sure, why not? Chuck wrote and said back in Mackieke of 735, Dave, you discussed the new iPhones face recognition and you said you were experimenting with the new iPhone XR and promised you would circle back. He says, but I hadn't heard you circle back. So he shares a bunch of stuff here, which I will actually, I'm just going to read Chuck's email because his thoughts on this are certainly a good foundation for me to sort of wrap up my thoughts with the XR and I like the XR. I'm going to I'm keeping it. It's it's a great phone, by the way. So Chuck says, you didn't have anything positive to say about facial recognition, but I must have missed a discussion in a later MGG because I don't know what problems you're referring to. He says, I upgraded from a two year old iPhone 7 to the 10R. So this is my first experience with Face ID. He says, I find it is an improvement over Touch ID. He says, if you remember, we exchanged emails a few years ago about the fingerprint scan not working consistently for those of you that use our hands a lot, e.g. potters and drummers. So on my seven, I'd been using an eight digit passcode to sign in completely skipping Touch ID, giving up on the fingerprint option for the last several years. Says, I find Face ID fast and accurate. It can tell the difference between my brother and I who are nearly twins or so I'm told. One quibble, he says, if I grab my iPhone, the wrong end up, I have to turn it around. So he seems to like Face ID. You know, my thoughts on Face ID haven't really changed. They are, it's fine, but it sort of drives me crazy when I, like the kicker is in the car.  It's like, yeah. So I don't want to look at the screen though, because I'm driving, you know, that kind of, like, you know, that's where it's the most frustrating.  I mean, whatever, it's the future of it, right? So we just live with it. Back to Chuck, he says, regarding the 10R, generally he says, I'm very happy with this change. Me too. He says, the positives are that the battery life is much better. He says, if that's battery management software, a more efficient processor or more battery size, I don't know. It's all of those things, I believe. Chuck says, but I can go two days on a charge now if I want, whereas with my old phone, same apps and usage pattern, I would make it barely through one day and I'd bought a battery pack just to avoid running out. Says with the 10R, the only time I've come close to a one day cycle was on tour constantly using cell data for maps, info searches and translation apps. And the battery seems to charge faster too, which makes sense, it's a little larger, so it will charge faster. Says the screen size and clarity is noticeably better than the iPhone 7 and it makes me wonder how I got on with the smaller form factor for all those years. And he says, the processor is clearly faster and because of that, AI feels faster as a result, which would be true. They did a lot in the 10, especially the 10S and 10R series for all of that AI stuff. Scrolling through here, he says, and the one last thing he says he likes about the 10R is that the memory option or storage option price points are better, the 7 required to jump from 32 to 128 with no option in between and a steep cost increase as a result says the price for the 10R memory option to boost from 64 to 128 is reasonable and the capacity with no apps in the cloud is much more comfortable. So there you go. Yeah, I've been very, very happy with the 10R as well. It took me a day to get used to not looking at an OLED screen because I came from a 10 to the 10R. So in that sense, I stepped down on the screen alone. Everything else was a step up, but on the screen alone, it was definitely a step down. But this screen on here, whatever they call the liquid LCD or whatever it's called, liquid retina, I guess they call it, is fantastic. And once I got used to it, I got used to it and I don't even think about it anymore. So I've been really happy with the 10R and the battery life is just killer. It's so good. It's nice that Apple finally made a phone that has a decent battery in it. It's been a long time. So I'm pretty happy with it. It's a little bigger than I would like in my pocket at times. A little bit. I liked the size of the 10. That was a perfect size for me. The 10R is a little bit bigger, which is nice at times, but also just a little funky in the pocket. So there you go. I know several of you had emailed asking what my verdict was on the 10R and it is thumbs up for sure. I've traveled with it a few times. I've been using it constantly and it's outstanding. It is the iPhone that I would say most people should get. It's nice that there's a phone now that I can, when somebody says, oh, which iPhone should I get? The 10R. If you don't think you need a 10S or the 10S Max, then great, just get the 10R you're done. Good to go. Save a little money, get all the, other than the OLED screen and get all the bells and whistles. That's good. So, thoughts on that, John? I like my eight. Yeah, sure. At first I didn't think it was, I think the biggest motivation to upgrade from my seven, other than just to be one of the cool kids was, I think they call it True Tone, but the display is much nicer because yeah, it does some sort of adaptive stuff and so I, other than that, you know, there wasn't a heck of a lot difference between the eight and the seven. I mean, the thing I liked also was that, you know, I could still use my cases and stuff because it's the same form factor. Yeah, it's not just True Tone. I mean, that's a much nicer display on the eight than the seven had. It's just tech-wise, it's a big step up. And I agree with you, like the eight, I don't think there's that much of a difference on the display between the eight and the 10R. I think there's a little bit of, you know, incremental improvement, but for the most part, yeah, I agree that eight display is also spectacular, yeah. Yeah, I'm hoping they bring back Touch ID, but I think I'm gonna be disappointed. Yeah, you will be disappointed if, I mean, look at what they've done with the iPad, right? It's like clearly Touch ID is gone. So there you go. And, you know, I have to say, like, you get used to it.  We have a little bit of time left and we've got a stockpile of cool stuff found here, so I'd like to try and get through at least all of these. I think there's actually only six of them that we've got. What do you think, John? Do you think we can do this? Blast off. Blast off. All right, first is from Taren. I was trying to order photo books for Christmas and, of course, I found out that Apple was not doing that anymore. It's true. You can no longer do this as of September 30th. That is it. He says I'm on a 2011 MacBook Pro running El Capitan, so upgrading to the newest photos would have been a big time sink. I called Apple Support and got this tip. Mimeo Photos is the service that Apple used to use for printing some of their book products and they have an app extension available in the App Store for photos, right? But for those people that aren't running photos, that are still running iPhoto, they also have an online service for uploading a PDF of your project from Legacy OSes. And he says, I tried it and it was super simple. Finish your project as normal in photos, but instead of clicking buy, press control buy and you will get a menu option for exporting a printing PDF. Save this to your Mac, then go to the Mimeo Photos homepage or import.mimeophotos.com, follow the instructions for uploading and verifying the document. You'll get a payment page and of course shipping information and Terrence's in Bermuda. It worked great because Apple will arrange for Apple, sorry, Mimeo Photos lets you arrange for shipping to basically anywhere you want, not just your Apple ID's country. So great service and I will put that in there for anybody that's looking to do that. That's pretty cool. I like that they've, I actually like that they've abstracted it out and they're no longer trying to manage that process.  I think it's good. Okay. Well, I'm gonna throw something on the pile here, Dave. Go. You may have noticed, I just put this in our document here. Apple has a handy dandy article titled, create and order print products in photos with project extensions. Yep. And guess what? They mentioned what we just mentioned along with all the other project extensions. So there's like one, two, three, four, five, six, seven, eight. Nice. That they list explicitly and you can get them in the app store. They tell you how to do all this. So check that article. Well, and what's cool is you can do it with Shutterfly now, right? So, you know, like Shutterfly was how we had been doing books for a long time because it's way cheaper than doing it the Apple way. That's one on the list. Yeah, I know. It's great. So yeah, it's pretty cool. It's pretty cool. Yeah. Sweet. Thanks for finding that link, man. That's awesome. So, cool, cool, cool. All right. Right. We're moving because we want to get there. Andrew says, Dave, I recall you mentioning, actually Dave and John, he says, I recall you mentioning that you didn't like dark mode because of the mail and web browsing lack of controls. So as I came across this and it may resolve the web browsing issue, darkreader.org. It's a plugin for Safari, Firefox, and Chrome. And it allows you to take the white background of web pages and make it dark mode. I do have to say in my short time messing with this new MacBook Air, I immediately wanted dark mode on the whole thing. I can't stand it on my desktop, on my iMac, but on the Air, it was the best thing. So I don't know if it'll last for me on the Air, but very interesting and very cool. Thank you for sharing, darkreader. That's a good one. That solves that. It's just so jarring moving from something with mostly black background with white text and then, or not black, but dark background and white text to this, oh, there's all this stuff. It looks cluttered. It's weird. I don't know. So anyway, there you go. Thank you, Andrew. Good stuff. Good, good stuff. Any thoughts on that, John? Have you messed with dark mode? I like to live in the light. Okay. Fair. That's fair. I'm not tempted by the dark side. Okay. All right. Well, that's fair. That's fair. When I tried it, I'm like, yeah, for some people, yeah, I mean, if you can't handle the contrast of regular mode, then yeah, maybe dark mode's for you. Did you try dark mode on your laptop or just on your larger screen on the Mac mini? I mean, yeah, I tried it briefly on the Mac. I mean, I do have a change the background based on the time of day, which isn't really dark mode, but it sure looks like after screen saver. And that's kind of, that I'll go for it, but. Yeah. And I just, maybe I'll give it another world, but it's just, just isn't for me, but for some people. Yeah. Yeah, I was shocked with how much I wanted it on the air. Like, it gave me the choice and I was like, oh, no, I like, I want, I want the dark mode. I was flipped back and forth. I was like, no, no, no, this is, this is what I prefer, which surprised me. So, all right. Moving on to Mike. He says, you guys were talking about iPad keyboards in a recent episode. If you don't mind a Bluetooth keyboard that is separate from the iPad case, check out the iClever folding keyboard. I've had it since the summer. It's a tri-fold Bluetooth USB full-size keyboard that works with Mac, Windows, iOS, and androids because it's just a Bluetooth keyboard. Now he says the keys light up in three changeable colors and brightnesses. I like the feel of it and the fact that it is a full-size keyboard that fits in my iPad case. It has a shortcut. It has shortcut keys at the top in the function key area and it works really well and the battery lasts a very long time. I just wanted to add another keyboard to the mix. Very cool. Thank you so much, Mike. That's great. And yeah, cool. I like that. I've seen, I haven't used one, but I've seen pictures of that folding keyboard and it's pretty cool how it just folds up. It's pretty good. I like it. Thoughts on that, John, before we move on? I clever. Why do they sound familiar? I think I have an I clever rechargeable battery pack. Yeah, they make the pile of things. Huh, cool. All right, Seth says in a recent episode, you discussed function keys and how they can be used to control specific actions depending on whether you hold the FN key in what settings you have enabled in your preferences. I use a couple of applications regularly for work that are heavily dependent on function keys being used in their function mode. I'm on a MacBook Air and when I'm in most applications in the Finder, I prefer the keys to act in non-function mode, but in certain apps, I want the reverse. A while back, I found a utility on GitHub called Fluor, F-L-U-O-R. It installs a menu item which allows you to set a general default behavior and then default behaviors by application. So when I switch to the requisite app, I can use the function keys in their function format without having to press the function key and without resetting the general system level preference setting. That's pretty cool, Seth. Thanks for sending that along. That's awesome. Cool, I like it. Makes life easier. That's why we do the stuff that we do. Thoughts on that, John, before we move on? Moving on. Moving on. All right, Brian has one to share. He says, you recently mentioned that you had an old HP scanner slash printer and you didn't know if the scanner software would work in future Mac OS releases. Heck, I don't know if it'll work in the current release. I'm just lucky that it does. I think if I tried to install it fresh, it wouldn't install. Think it only works on my one iMac in the office because I've upgraded it from an OS that did work. It's a LaserJet 3055, by the way. But Brian continues, you might check out ViewScan, V-U-E-S-C-A-N, from hamrick, H-A-M-R-I-C-K dot com. I've had really good luck with very old scanners and their software. Also, you find the list of scanners they can support on their homepage. I did check, and sadly, my LaserJet 3055 is not supported on Mac OS, only on Windows with ViewScan. So there you go. I mean, I guess I could run a VM either. I could run a VM and run an old version of Mac OS that did it. It's very infrequent that I need to scan with this thing, but it's super handy, and I'm not gonna replace it until the printer part dies, or some part of it dies that matters, so. But very cool, thank you. Thank you for sending that in. That's good, hopefully it helps somebody out there. I like third-party stuff that takes over where first-party stuff kinda gives up, so pretty good. Any thoughts on that, John, before we move on to the last one here? My GCC laser printer still works. Is it really? That thing's older than my kids, man. That's pretty good, wow. It has a 10-base-T Ethernet, not even 100, but 10-base-T, which was fine, but it's a 1200 DPI. Sure. But it supports both PostScript and PCL, so. Yeah, okay, that makes sense. So having a standard PDF page description, the page description language is a benefit versus. It's funny, though, what do you have again? It's a laser. It's an all-in-one, it's a laserjet 3055. It's a scanner, a printer, and a copier, if you want it to be your fax machine or whatever, because it's got the scanner. So the issue that you had was you're unable to access the scanning feature? Correct, it's a network device. All right, so it's some proprietary thing. Yes, printing works natively from macOS, no problem. Right, both PCL. Either PCL or PostScript, it's a laser printer. So it's probably both, yeah. But the scanning part is the one where it's very tenuously still working, so. Yeah. All right, last one is actually in the MacGeek app forums and is probably not for everyone, but we were talking in the forums about finding things on your network now that Safari hides or no longer offers the opportunity to display Bungior devices, printers, other computers, or whatever you want to see that advertises itself via Bungior. TildaSoft, T-I-L-D-E-S-O-F-T.com was recommended by Data for Nothing and Bits for Free in the forums because they have a piece of software called Bungior Browser. It does work, but I believe it's only 32-bit, so it may not work for a long time, but it still works in Mojave. So certainly usable for now and maybe somebody will take over at some point. Good stuff. We didn't get through half the stuff that I wanted to get through today, John, but that's how it goes when we get together. Oddly enough, it's running on one of my machine, not the other, but another Bungior or ZeroConf, I think is another name for it. Client is called Flame. Ah. Now it's funny because I just tried to launch it. When I tried to launch it on my MacBook Pro, it crashes and doesn't run, but I just launched it on my Mini. So that's another... And there's also a version on iOS as well. Interesting. Huh. Yeah, I like running the... Yeah, and it shows you... Yeah, so I'm looking here and basically pretty much displays all your devices. Yeah, yeah. Cool. Talk Bungior. Yeah, yeah, yeah, yeah. And you say it'll work on the Mac too, right? There's a... Yes, so I'm running it right now on my Mac Mini and then it's showing me all my... Most of my network devices, not all of them, because I guess not everything talks Bungior, because... Well, right. Yeah. Right. But it's showing my computers, it shows all my NAS devices, it shows my Tivo, it shows my Denon speaker. Yeah, so most stuff it's displaying here. My Apple TV, my AirPlay, look at that. Yeah. I think it does an iStumbler show Bungior stuff too. It used to... I don't know. Just, you know, throwing it out there. I don't... Do I have iStumbler on this computer? I do. I don't know if I have the latest version on this iMac up here in the studio because I don't use it all that regularly and hopefully I don't break anything. Yeah, it's got a Bungior browser. There you go. So... Yeah. Yeah. Yep, iStumbler's a handy piece of software, man. Pretty good stuff. All right, folks, we told you how to find us, at least via the emails, but if you wanna call us, you can call 224-888-GEEK, which John is... Four, three, three, five. We casually mentioned our MacGeek Hub forums. It is rocking over there. Come and join us, macgeekhub.com slash forums. Great little home for us all to hang out in. It's luscious. We're really, really liking it and thanks to everybody that's really participating and hanging out. Thanks to Cashfly for providing all the bandwidth to get the show from us to you. Thanks to all of our sponsors. Of course, Eero at Eero.com slash MGG. Opsgenie at Opsgenie.com. Of course from Atlassian. Ring at Ring.com slash MGG. Barebones Software at Barebones.com. Jamf now at Jamf.com slash MGG. Otherworld computing at... Oh, MacSales.com. I got ahead of myself. And smile at smilesoftware.com slash podcast. And thanks to you for listening. Truly. John, you got us into this mess today. How can you get us out? How can I get us out? I could give you the key. We need the key. I could give you a combination. Yes. I could give you the secret password. Oh. Boris has the microfilm. Is that it? Boris and Natasha. Yes. Yeah, yeah, there's a lot happening with Russia these days. But anyways, to close things out here, no matter what form of identification or authentication you use, you want to make sure that you don't get caught. Made on a map.