PodSearch

ATP

623: It’s About Human Connection

 

00:00:00   I wanted to, I wanted a brief political statement to start this because, you know,

00:00:03   Oh, great. Yeah. There's nothing going on there these days.

00:00:06   Yeah, I think. And, you know, forgive me. This is something I wrote 10 minutes ago. So, you know.

00:00:11   Oh, it's that kind of Marco political statement. Oh, my.

00:00:13   Reading from a prepared statement.

00:00:15   Yeah. Very, very. It's still hot. Oh, I guess that's where hot takes come from. Is that the

00:00:22   phrase? Is that it? I actually never realized that.

00:00:25   Probably. Anyway, you know, a lot of people are, you know, very upset right now with what's going on

00:00:31   with, you know, the inauguration in the beginning and all the executive orders. And it's, you know,

00:00:36   it's, it's going to be rough for a while. And I think what we, what we have to try to keep in mind

00:00:42   is that the Republican agenda is wealth transfer to the top. That's the big thing. To accomplish and

00:00:52   conceal that, they gain votes and power by division, cruelty, and violence. But the goal is the wealth

00:00:59   transfer to the top. They, if you look at what they actually do, that's mainly it in different forms.

00:01:04   You know, they tax cuts to the corporations, tax cuts to the rich, straight up corruption, which is

00:01:09   now even more right in the open than anything. But also things like, you know, large scale deregulation,

00:01:14   regulatory capture and the politicization of the justice system. And I think the latter part there,

00:01:21   that is why it seems like we are seeing a very sharp and aggressive turn to the right by all the big tech

00:01:30   companies. They all are now explicitly supporting the Republican Party to, in my view, to selfishly benefit

00:01:38   from the wealth transfer and deregulatory aspects. And they, the price they paid to get those gains

00:01:46   is to completely sell their souls and their morals out by therefore also supporting the division,

00:01:53   cruelty, and violence that Republicans require as a smokescreen and a source of power.

00:01:58   This is going to be something we're going to be fighting and, you know, angered and hurt by

00:02:04   and possibly damaged by, if for any of us for, for a long time now. And I don't know how to fix it.

00:02:09   There is no quick and easy fix. We, we can't just, you know, turn all of our avatars blue or

00:02:13   put stickers on our cars and expect anything to change. What I suggest that we do is practice

00:02:20   the opposite of their playbook. So what's the opposite of division, cruelty, and violence?

00:02:28   Generosity, acceptance, love, and protection. And I think we need to embody those in what we preach,

00:02:35   what we do, and as tech people, what we build. You know, right now, women, anybody who's not white,

00:02:42   LGBTQ people, trans and non-binary people are all under attack by these monsters. Those of us who can

00:02:51   support and protect someone who needs support and protection really need to now. So generosity,

00:02:57   acceptance, love, and protection. That is the best thing we can do to get through this for now.

00:03:04   And that's how we can fight it. So we can turn this horrible, toxic mess around and we'll do our best

00:03:11   from, from our position here. We'll, we'll do our best. And all of you out there, I encourage you

00:03:15   to do the same and we'll do what we can to get through this and help people who need help.

00:03:19   Yeah, I, I concur. Um, Marco did not run this by us, not, not to say that we needed to like approve

00:03:25   it or anything, but he didn't tell us that this was going to happen until 10 seconds ago. We didn't

00:03:29   read it or anything beforehand. You don't have your statement ready? No, I don't. I don't. Um, but I,

00:03:34   I completely agree with you. The only problem I have with it is that, uh, what did you say?

00:03:37   Generosity, acceptance, love, and protection. GALP is not the best acronym. I think we need to

00:03:42   workshop it a little bit, but maybe more than 10 minutes of writing would get me a better one,

00:03:46   but in general, uh, no, I, I'm obviously snarking and joking around, but, um, all kidding inside,

00:03:52   this is a real crappy time for a lot of people. And, you know, the typical feedback we get when,

00:03:57   when we talk about political stuff is either a stay in your lane, which I'm sorry, we've been doing

00:04:01   this for 10 years. It's not going to happen. So if that's like, have you heard our show? We don't

00:04:05   have lanes. It's also true. Uh, so yeah, so the feedback is typically a stay in your lane or B ha ha you

00:04:10   liberal snowflakes. It's, it's not going to bother you. Who cares? And on the surface,

00:04:14   there's a little bit of truth to that because, you know, we're three cisgendered white dudes that

00:04:19   have a couple of shekels to, you know, to our names. And so I'm worried about people that I,

00:04:24   that I care about and love and people that I don't know, but I still care about like Marco was saying.

00:04:29   And, and, and I think that the announcements and proclamations and executive orders of the first 24

00:04:35   hours, um, make it clear what their priorities are. And that's hate and, and anger and, and division and

00:04:43   all the things that Marco was talking about. It's just, it's all awful. And so I completely agree that

00:04:47   what Marco was saying is true. Um, it remind me of generosity, acceptance, love, and what was the

00:04:53   last one? Protection. Thank you. There we go. Um, I, I couldn't agree more and we'll workshop a good

00:04:58   acronym for it or a good, a good twist of those four letters, but it could be glap. Glap. Glap is

00:05:04   not great either, but we'll work on it. Plag maybe. But truly, you know, it, you're exactly right.

00:05:09   And also like, you know, what we saw last time, um, this administration happened, uh, what we saw last

00:05:17   time was basically a bunch of fire and motion constantly that, you know, for those of you who

00:05:23   don't remember or have mercifully blocked it out of your memory, basically every day of that

00:05:27   administration was a scandal of some sort. There was something new every day. Can you believe what

00:05:34   he said, did whatever today we got all riled up and angry. And for most of that time, that was for

00:05:43   nothing. Like we got all riled up and angry and that amazing, that mainly just cost us happiness and

00:05:48   mental health. So if you are really involved in politics and love reading the news all the time

00:05:53   and hearing all this stuff day to day, that's up to you. Uh, I'm not that way. I found that it cost me

00:05:59   dearly in stress and mental health and everything. And, and I, I had to pull back from the news.

00:06:04   The scandal of the day is going to keep changing. So you can keep stacking up those blocks and staying

00:06:10   really like cranked up and mad and scared and just feeling powerless. Like you can feel that every

00:06:17   single day. If you want to pay attention to all this stuff, I suggest reconsidering that. Like if,

00:06:24   if you are not a politics wonk and if you are not a politics enthusiast and like reconsider how much

00:06:30   of your mental health you want to give these monsters, it is not your civic duty to follow

00:06:38   everything that they do to get mad at every single thing that they, you know, every single gaffe or

00:06:44   awful thing they do. It is not your job to yell about it and get mad at every single little thing

00:06:50   because they're going to just keep adding stuff every single day. It's not going to stop. That is how

00:06:54   these monsters govern. It is by distraction and smoke screens. And, you know, I heard the term flooding

00:07:01   the zone, which I think is a sports thing. That's how they govern. It's by just a, an endless barrage of

00:07:07   scandals because by the time anybody can think of anything to do with one scandal, three more have

00:07:13   piled on top of it and nobody can even keep up. You don't have to participate in that. You can choose

00:07:18   to focus on what gives you the life that you need and want. You can focus on your own mental health and

00:07:25   protection and focus more on the general themes of where we want to go and, you know, help people,

00:07:32   protect people. You can do all that without paying super attention to

00:07:37   every single daily scandal because that's, that's not a happy place for anybody.

00:07:41   I just want to clarify that. What I think Marco is not saying is that, boy, isn't it nice that we

00:07:46   don't have to worry about this because it's not going to affect us, right?

00:07:48   That's not what I'm saying, by the way. I think it will affect us just differently.

00:07:52   If you're, I know, but people are, people are going to hear what you said and they're going to think

00:07:55   that's what you were saying. So I just want to clarify. The idea is not to say, I'm going to bury my

00:07:58   head in the sand because none of this is going to affect me. Ha ha. No, that's not the issue.

00:08:02   The issue is that you should like market, like Galp says, I think it's a perfectly good

00:08:06   algorithm. Acronym. Uh, you should be doing everything you can to counter the things that

00:08:13   are happening, helping everybody that you can help fighting against these things that does not require

00:08:17   paying minute attention to every little thing. Every person says like, that's the difference.

00:08:23   It's not just pretend it's not happening. Go la la la. Lucky you. You're so privileged. It's not going

00:08:27   to affect you. That is not the message. The message is fight against it on your own with

00:08:32   your own efforts. And you know, like, you know, you know what the deal is. You know,

00:08:35   what needs to be done, right? Doing that does not require you obsessively tracking what every one of

00:08:41   the people in the administration says on a given day. Also special shout out to Jeff Atwood. Have

00:08:47   you seen the stuff he's been doing? Oh, that is true. We should call attention to that. He donated

00:08:52   something like 8 million bucks or something like that. Yeah, so far and is going to be donating

00:08:55   more. So Jeff Atwood, he's he's he blogged under the name Coding Horror for years. He was also one of

00:09:01   the co founders of Stack Overflow. And he is just a super nice guy. He's he's like a nerd's nerd. Like,

00:09:07   you know, even though I didn't always agree with his blog as he was more Microsofty,

00:09:10   he's still a really nice guy and a huge nerd like the rest of us. And he made a bunch of money off of

00:09:16   Stack Exchange and has been donating tons of it to lots of good causes and promoting, you know,

00:09:21   people doing what they can to help out. And so yeah, special shout out. He's doing some really

00:09:26   good stuff recently. So thanks to Jeff Atwood for being awesome. Like he's he seems like a genuinely

00:09:32   good person. I don't know. I don't know him. Well, I've only met him like twice, but he seemed like a

00:09:37   really good person. And and I really respect what he's doing. Yeah, couldn't agree more. And I had no

00:09:41   idea until I read the blog post that we'll link in the show notes that he is from right around here.

00:09:46   He's from another Richmond suburb and went to UVA, which is where Aaron went. So yeah, even even if

00:09:51   he, you know, wasn't doing amazing things, I would have a little bit of kinship with him for that. But

00:09:56   he is doing far more good things than I am, which is which should be celebrated. Yeah, more people like

00:10:01   Jeff Atwood should have a bunch of money because then they actually do good things with it.

00:10:05   All right, let's do some follow up. Apple has decided maybe these notification summaries aren't as

00:10:14   great as we thought. And so they're going to pause them for news and some other things in the latest

00:10:20   betas. Anyway, reading from nine to five Mac, Apple has temporarily stopped showing notification

00:10:25   summaries for news and entertainment apps as part of the iOS 18.3 developer beta released on the 16th.

00:10:31   Here are the changes. When you enable notification summaries, iOS 18.3 will make it clearer that the

00:10:36   feature like all Apple intelligence features is a beta. You can now disable lock screen, excuse me,

00:10:40   notification summaries for an app directly from the lock screen or notification center by swiping,

00:10:44   tapping options, and then choosing turn off summaries. On the lock screen, notification

00:10:49   summaries now use italicized text to better distinguish them from normal notifications. And

00:10:53   who boy, does that look ugly to me? But that's neither here nor there. In the settings app,

00:10:57   Apple now warns users that notification summaries may contain errors. Additionally, notification

00:11:01   summaries have been temporarily disabled entirely for news and entertainment category of apps.

00:11:05   Notification summaries will be re-enabled for this category with a feature software update

00:11:08   as Apple continues to refine the experience. All this is well and good, except I'm really

00:11:14   not in love with the fact that they're opting everyone into this beta software. Did you see

00:11:19   that as well? I don't have a link for that handy, but yeah. So someone's saying that even 15.2,

00:11:23   that Mac OS 15.2 turned it on by default. This is the question of like, when you use upgrade to

00:11:28   these new OSes, do you get asked, Hey, Apple intelligence exists. Do you want to turn it on? And I think

00:11:33   personally, I think that it is a little bit, it's a little bit extreme to say like, uh, that Apple

00:11:40   should ask you about this new feature. It's like saying Apple should ask me if they want me to be

00:11:44   able to have this new features of the photos app. What if I don't want face recognition? They just

00:11:48   turn it on without even asking me. Like I know when, when a feature has anything to do with like

00:11:52   privacy or is controversial in some way, people would like, I want to be asked, but that's not

00:11:56   a scalable way to release features. You can't make every single new feature you put in your

00:12:01   software be opt in and have to have an explicit thing that asks somebody, by the way, I had a new

00:12:05   feature to my program. Do you want me to turn it on or not? Like as if people can just like a la carte

00:12:09   accept your application as like, I'll only accept what shipped in 1.0. Everything else after that,

00:12:14   I don't want. And if you foist it on me, I'm going to be mad about it. That said, particular features

00:12:19   can get a bee in someone's bonnet. Let's say they use something controversial like AI. People don't like

00:12:24   various reasons, even something like face recognition, people can make its privacy invasive

00:12:28   despite what Apple tells them about it not being. So I do understand the idea that, and betas, you

00:12:33   know, quote unquote betas. I do understand people feeling like in certain cases, they'd rather not

00:12:39   have the thing turned on by default. But Apple intelligence is such a fundamental part of Apple's

00:12:45   software strategy. And it spans so many different features across so many different products. I don't

00:12:50   think it's reasonable to say it shouldn't be turned on for me by default when upgrading.

00:12:54   to the new operating system. If you don't like Apple intelligence that much, A, you can go turn

00:12:59   it off, which maybe you won't be able to do in the future or whatever. But B, don't use Apple products

00:13:03   because I have news for you. Apple intelligence is not going away. It's not like they're going to say,

00:13:07   oh, never mind. We're not doing that Apple intelligence thing anymore. You can think of

00:13:11   every other feature that Apple has added to macOS. Like, I don't like notifications. I liked it better

00:13:15   when there wasn't notifications or a notification center. Well, it didn't go away. It still exists.

00:13:20   Every app can do it. You turn it off and on off perhaps. And if you really hate notifications,

00:13:24   don't use iOS. Don't use macOS. They have notifications. It's part of the operating system.

00:13:29   So that's how I personally feel about the Apple intelligence stuff in terms of it being on versus

00:13:35   off. We'll get to the actual feature in a second. But, you know, people have different opinions.

00:13:39   And this is a point where you can decide, how much do you hate Apple intelligence? Is Apple

00:13:45   turning it on by default enough for you to change platforms? That's on you.

00:13:48   Yeah. I think the thing that bothers me about it is that they'll say in one breath,

00:13:53   it's a beta. It could screw up. It's a beta. It's a beta. It's a beta. And then in the next breath,

00:13:59   all their marketing is about it. And by the way, oh, everyone's going to use it now. You know,

00:14:02   like I feel like...

00:14:03   Yeah. The beta thing is totally like trying to deflect blame. As we've said in the last episode,

00:14:08   if you ship it to everybody, like in the released version of the operating system,

00:14:12   you can kind of say like, well, the whole operating system is not beta, but this one little corner of

00:14:15   it is. But like at a certain point, when does it stop being beta? Like wasn't... Haven't they done

00:14:19   this before? Wasn't Siri like beta for three and a half years or something like this?

00:14:22   Something like that.

00:14:23   I mean, Siri's still beta. It's been like over a decade.

00:14:25   Yeah. Well, like they've left... I believe Apple has left the beta marketing label on many

00:14:30   features for just ridiculous amount of time. So long that people... It's kind of like the interim

00:14:33   CEO. Remember when Steve Jobs is iCEO and people have forgotten like, oh yeah, is he technically

00:14:38   still the like temporary? It's like eventually they just got rid of the eye. Eventually they

00:14:43   got rid of the beta. But yeah, that labeling of the beta doesn't help anything. Disabling

00:14:47   it for news is damage control. BBC is mad at you. Can you make them unmad at you by saying

00:14:53   we won't do it for news? You know, like that's, that's, that's just, you know, put out a fire.

00:14:59   Like, can I make some big important companies not as mad at Apple? Sure. Turn it off for

00:15:03   news. And then they say, but we're going to turn it on again later when we've quote refined

00:15:07   the feature. Well, like when everyone's calmed down, maybe they'll turn it on again later.

00:15:10   The italicized text, like they got the little icon that nobody knows what it means except

00:15:15   for people listening to the show. Italicizing the text, does it make it seem like they're

00:15:19   thinking it? Like when you read a book and like the person's thoughts are in italic or

00:15:23   something like, I don't, there's, there's just no way that if you just showed somebody

00:15:28   who does is a casual user of a phone, a notification and one of them's italic, I don't

00:15:33   even know if they would notice one, especially when you don't see them compared. Like you

00:15:36   just see a notification and you look at it and you're like, Oh, this tech, I think they

00:15:39   changed the font is what people will say. I don't like the new font if they notice at

00:15:42   all. So that is just not a solution in any, like in some ways it makes it worse because

00:15:49   there's one more really subtle thing about these notifications rather than what it should

00:15:54   be is a totally unsubtle. This is Apple saying something. The BBC didn't say this. This is

00:16:00   Apple saying this based on what it heard from the BBC app or whatever. But anyway, I, this,

00:16:06   this just seems like a, something that is not going to make this problem go away.

00:16:11   All right, Marco, you have some follow-up for us from, uh, what is it? Last week's post

00:16:16   show, right? Uh, with regard to car play.

00:16:19   Yes. So I, uh, I said in last week's post show, cause there was a news item that BMW's

00:16:24   next version of their iDrive system and their cars was not going to support dual screen car

00:16:29   play. And I was like, huh, I thought my car had really advanced car play and it doesn't

00:16:35   support dual screen car play now. Uh, it turns out my car does support dual screen car play.

00:16:41   So thanks to an anonymous friend of the show who, uh, informed me of this and, uh, and,

00:16:47   uh, I, I went and tested it and sure enough, yes, I do have, I do have dual screen car play. What I

00:16:51   didn't realize is that you have to have the center like dial configuration showing like the, it's map

00:16:58   mode for it to work. Oh, interesting. When that's there, then the middle screen will show the dual

00:17:03   screen. But I also learned, and I think this is just true of dual screen car play in general,

00:17:06   that the, the second screen in the dial cluster will only show Apple maps and only during active

00:17:14   navigation within Apple maps. If you use any other map app like, um, uh, ways or Google maps

00:17:21   currently with their current versions, those do not show in the second screen. I have also learned that

00:17:27   apparently there is an API for them to do that, but that's been a fairly recent addition. I think in

00:17:33   the iOS 17 series sometime, but that the Google, Google maps and ways just have not yet used it. Um,

00:17:40   but so basically right now, if you have two screen car play, what that really just means is

00:17:44   Apple maps directions will show up on the second screen during navigation and that's it. For me

00:17:48   personally, that doesn't really help me that much because I don't usually use Apple maps for navigation

00:17:52   in the car. Uh, more of a way as person myself, but, uh, if you do, uh, maybe look into that if

00:17:58   that's relevant to you. And since we're in neutral corner, uh, John, apparently Honda has decided that

00:18:05   the two EVs they were going to sell or they they've talked about already are not their only offerings.

00:18:09   What else is on the, on the table here? So this is an article from the verge says Honda says the Acura

00:18:14   RSX will be its first original EV. Uh, reading from the verge, Honda announced that its first original

00:18:20   electric vehicle, that is an EV built on its own platform and not based on another automaker's tech,

00:18:24   like the Honda prologue will be the Acura RSX due out in 2026. The RSX is based on the performance

00:18:30   concept, which was introduced last year. That's with a capital P. Uh, it will be the first EV built on

00:18:35   Honda's new vehicle platform and will debut, uh, the proprietary in-house developed ASIMO operating

00:18:39   system that was announced at CES. Honda's two battery electric vehicles in the U S the Honda

00:18:44   prologue and the Acura ZDX. Those are both the same car under the covers are both based on, uh,

00:18:48   General Motors, Altium, General Motors, Altium vehicle platform. The prologue in particular has been an early

00:18:53   success for Honda outselling its sister vehicles, the Chevy Blazer and the Honda, uh, the Equinox EVs.

00:18:59   What is Equinox? It's the Chevy Equinox, right? Uh, the RSX will also be the first EV to be built

00:19:04   at Honda's new factory in Ohio where production is expected to kick off in late 2025. The $4.4 billion

00:19:09   plant is a joint venture between Honda and LG Chemical, the Korean battery company. So, uh, we'll put a link

00:19:15   to this in the show notes. You can see a spy shot of a lightly camouflaged Acura RSX. First thing to note,

00:19:20   the Acura RSX nameplate, you may recognize that from the past because that was the car that

00:19:25   Honda made a while ago back in the early 2000s to succeed the Integra. The Integra is a very famous,

00:19:33   uh, small sporty car. It came in two-seat and, uh, two-door and four-door varieties, but it was like a sporty

00:19:38   hatchback. Uh, the RSX looks very much like an Integra, just not as nice. It wasn't as popular. It wasn't as good,

00:19:44   but the point is it was a small, like, you know, usually two-door sports car. I don't know. I think

00:19:49   there was only two-door for the RSX. I don't think they made a four-door like they did with the, uh,

00:19:52   Integra. Anyway, uh, this is not that. This is another instance like the, uh, the, the Ford, uh,

00:19:58   Mustang Mach, quote unquote, Mustang Mach-E, where they've taken a name from a previous car that was

00:20:04   popular. I don't know. The RSX wasn't that popular, but the Integra was, uh, and said, we're going to use

00:20:08   that name, but what are we going to put it on? The only kind of car anybody buys, an SUV. So now there

00:20:15   will be a car called the Acura RSX that is a four-door sport utility vehicle like every other car on the

00:20:24   road. But the good thing is it looks like a four-door sport utility vehicle. It has a rear window. I bet it

00:20:32   has a steering wheel that's almost round. It has regular-ish doors. Like, it just looks like a

00:20:39   normal car. Oh, and by the way, on the, on the prologue thing, first of all, I saw the first one

00:20:43   that was on the road recently. It's very big. And second, I think it's hilarious that, uh, Honda

00:20:49   essentially licensed a, a car from GM, uh, and GM is selling it two times. They're showing it as the

00:20:55   Blazer and the Equinox. Uh, and Honda is outselling them with its, like, re-skinned, re-badged,

00:21:01   re-interiored version of their car. They must be saying, what's the, it's our car. How are we not

00:21:07   selling more of it than they are? And the answer is because people trust the Honda name and they don't

00:21:11   trust General Motors, uh, which is sad, but you know that you, uh, reap what you sow. Um, anyway,

00:21:17   I'm glad that Honda is going to make at least one non-extreme, let's say, uh, electric vehicle.

00:21:26   This looks like exactly the kind of car they would make. If you're going to make one car that most people

00:21:30   buy, like, make it this shape because that's what people want and I don't want it, but it's,

00:21:35   I'm glad that, you know, that they, their EV platform is not only good for super weird looking

00:21:40   cars with no, uh, rear windows and no steering wheels.

00:21:43   Well, I'm excited for you to buy one in the name of the show. Uh, Alison Sheridan pointed out to us

00:21:51   that there's another entry to the suddenly very robust, uh, you know, 27 inch 5k monitor market.

00:21:57   I am here for this. Yeah, finally. But, uh, you know, somebody pointed out to us, shoot, I don't

00:22:02   know if I can find that tweet recently. Oh, here we go. Uh, Tom Bullock writes, uh, regarding third

00:22:07   party Mac monitors from last week's show, it would have been wild to see all of our reactions in 2016 or so

00:22:13   to find out that the year when the, the dam would break on third party 5k displays would be 2024 and

00:22:19   2025. Someday. I hope there's a good story about what took them 10 years.

00:22:24   The best part of that would be, and during that time, Apple will ship one, which is better than

00:22:32   zero, but still, it's very good. Anyways, I got, I digress. So Alison writes in with regard to the

00:22:38   ViewSonic VP 2788-5k, such great names. Uh, this is a 27 inch 5k, uh, same resolution as the ones you're

00:22:46   used to. Uh, this has display HDR 400, which goes up to 500 nits, 99% DCI-P3. It has HDMI 2.1,

00:22:54   display port to Thunderbolt 4 at a hundred Watts, uh, two USB-A to SBC at 15 Watts, a height adjustable

00:23:00   stand internal speakers. It sounds decent, if not pretty good. The look of it is fine, but now Casey

00:23:10   is interested because gentlemen, $800 as per Dave Hamilton from the Mac geek, get geek, a gap YouTube

00:23:18   channel. Uh, if it's $800, that is phenomenal value for money. This thing could,

00:23:24   be a piece of crap and I'd still buy six of them because that's so cheap. I mean, ViewSonic

00:23:28   is a good brand and they, I mean, historically have made good monitors. I remember them from

00:23:31   the CRT days. Presumably they haven't gone entirely downhill since then. Uh, you can see

00:23:36   some video of it. Uh, I think it was at CES and Dave Hamilton's, uh, YouTube video will link

00:23:40   that $800 price is unconfirmed by ViewSonic, but that's what Dave Hamilton said in the video.

00:23:45   So fingers crossed. Again, this is another example of no mini LED, no HDR, but if you just

00:23:50   want basically like the studio display, a plain, hopefully good quality 5k monitor in a not ugly

00:23:58   case that is hopefully sturdy with, you know, a full compliment of ports, no built in camera

00:24:03   or anything, but still like good, you know, good compliment of ports. It's nice to see quote unquote

00:24:07   PC monitors with Thunderbolt on them. Right. Uh, they used to be like nothing you could know

00:24:13   equivalent. You'd have to use some weird, you know, you'd use like display port or some other

00:24:16   connector that is not common on the back of max, but this one looks like it will just plug right in.

00:24:20   So yeah, this, I don't quite know why they're all coming out. Maybe it's because like, uh,

00:24:25   PC gaming cards are finally getting to the point with like DLSS and stuff like that, where they can,

00:24:28   people want to run games at higher than 1440, right. Or higher than 1080, uh, and still get good frame

00:24:34   rates. So now suddenly there's a market for higher resolution, or maybe it's just the standard, like

00:24:38   five to eight year lag the PC market has behind, uh, the, uh, the nice stuff in the Apple market.

00:24:44   Uh, but I, I welcome their low prices. I do too. Uh, all right.

00:24:50   Apparently fast directory sizing does exist. Uh, remind me or jump in when you're ready,

00:24:56   but we had talked about how APFS has the ability to very, very quickly figure out the size of the

00:25:01   directory, but then there were a bunch of caveats. We thought that it wasn't actually implemented,

00:25:04   but maybe it is. Yeah. So the, the fast directory sizing is not about figuring out the size. It's

00:25:09   about constantly keeping the size on record up to date with all the changes that happen. So when you

00:25:15   ever ask for the size, it's like, I already have that size. I've been keeping track of it. I don't,

00:25:19   nothing happens in this director without me knowing about it. I'm the file system. And whenever

00:25:22   something happens, I write it down in my little book. And so when you ask me how, what is the total

00:25:26   size of all the stuff in this directory, I just read you the number that I've got written down right

00:25:30   here and it's instant. Um, and that is the feature. And it was advertised with APFS when it was introduced

00:25:35   in 2016. Uh, unfortunately the, uh, API to get that information, the durstat underscore NP, uh, uh,

00:25:43   uh, function has code in it that says, yeah, this is broken. We're not doing it. We're just going to,

00:25:48   if you ever call this, we're going to do it the old fashioned way by crawling over the whole directory

00:25:52   laboriously, uh, and taking a huge amount of time and then giving you your answer. Um, but

00:25:57   apparently this feature does in fact exist in APFS and can in fact be used by a regular user

00:26:05   if they want to use the APFS dot util command line binary that is buried in system library,

00:26:13   file systems, APFS dot FS, contents, resources, APFS dot util. You can run man space, APFS dot

00:26:20   util, all lowercase and read about this command. And what this command can do is turn on fast directory

00:26:25   resizing for a directory. And once it's on, you can run this command to ask the directory, Hey,

00:26:30   what's the size of the stuff inside you? That's pretty cool. That shows that the feature does exist

00:26:37   and does sort of kind of work. Does it work all the time? Is it reliable? Is there something broken

00:26:42   about it? We don't know. I tried the command line thing. I ran it on a directory that had a bunch of

00:26:46   files. It gave me an answer that seemed right. According to my verification, by doing it manually,

00:26:50   maybe it gets confused over time and can't keep up with the pace of changes. Maybe it's going to,

00:26:55   cause some, like, I don't, I don't know what, what the caveats are about this, but it seems clear

00:27:01   that the functionality that implements fast directory sizing does exist. This APFS dot util thing, I

00:27:07   believe is not open source. So I don't know what's inside of it. Presumably it's calling some proprietary

00:27:11   APIs that were you to try to put them in your app, you would get rejected from the Mac app store at the

00:27:15   very least. You could, I believe, run this command line utility from your Mac app in the Mac app store

00:27:22   and get it to get the answer. Um, but yeah, I'm glad to see that this stuff still exists. Uh, and there's

00:27:28   hope for it being resurrected. If it does actually work, I would love for them to actually provide APIs

00:27:35   for it and, or even if they don't provide APIs for it, integrate it into the finder, integrate it into

00:27:39   the iOS setting screen. Like we said before, when I go to see what, you know, which apps are taking up

00:27:43   space on my phone, that could be way faster if you use this, if only it worked. So I don't know what the

00:27:47   caveats are, but if you want to play with it, there's that command line utility. Hopefully it won't

00:27:51   destroy your system. Hopefully not. Oh, and as far, we'll get to this in the topics thing, but as for a

00:27:57   hyperspace, I'm not going to use this with hyperspace. It's not the type of thing that I can,

00:28:01   I don't feel confident that it works all the time or is reliable or, you know, like it's not,

00:28:05   it's a file buried in the system library file systems directory. It's clearly kind of, there's no public

00:28:11   APIs for it. I don't want to run the command line thing. The command line thing could go. So I'm just

00:28:14   ignoring this for now. Um, but it is interesting that it's there. David Ronquist writes, uh, with regard

00:28:20   to sample code in ATP episode 618, John talked about the, about accessing past versions of Apple sample

00:28:26   code. As John points out, the download is always the latest version of the code, but Apple also has a

00:28:31   history of past releases. So you can go back to match a WWDC video from two years ago or look at

00:28:36   the diff to see what's changed. Some sample code like backyard birds and the food truck apps are also

00:28:42   available in GitHub and have, have history there. So you can see this on GitHub. We'll link to those

00:28:46   repos. Yeah, that's much nicer than the, uh, bad old days when everything was like in a zip file that

00:28:51   you had to find somewhere on Apple site that would download from a CDN. Uh, Apple has been slowly but

00:28:56   surely embracing GitHub more, which is strategically maybe they're not, not the best move. Like instead

00:29:02   of having their own kind of Git thing, but like, it's just the nature of the world right now. It's

00:29:05   like GitHub will never go away. Just like Google reader. It'll be fine. Everyone can have everything

00:29:09   on GitHub. And that's kind of the situation we're all in. Um, hopefully that holds for a little longer,

00:29:14   but anyway, I'm glad that the point is, I'm glad Apple is doing more and more open source stuff,

00:29:18   like actually in the open. Um, and also the, like we talked about this, uh, many shows ago,

00:29:23   they've also moved some of their open source stuff out of like the Apple account at GitHub,

00:29:28   like github.com slash Apple's Apple's corporate GitHub account. There is also, I forget what the

00:29:32   name of it is, but there's another one that's like, this is not owned by Apple. It's Apple's open source

00:29:36   stuff, but it is not owned by the Apple corporation. Like, so Swift has been slowly moving

00:29:40   out of the Apple, uh, username on GitHub and into the, whatever the open source equivalent thing is that is

00:29:47   not owned and controlled entirely by Apple, even if most of the people working on it are paid by Apple.

00:29:51   So it's kind of de facto controlled by Apple, but anyway, um, uh, positive trends all around.

00:29:55   Uh, Joe Beninato writes, here's a pretty amazing video of an iPhone 16 pro upgrade from 128 gigs to

00:30:01   one terabyte. Uh, Joe had linked a threads post to tweet, whatever you want to call it skeet. I don't

00:30:08   know. What are we calling it these days? Um, but I also found what appears to be a YouTube version of

00:30:12   it as well. It might be a mirror. I don't know which one came first. Uh, but we'll put both of

00:30:17   them in the show notes. This was fascinating and a ton of work for something you could just

00:30:23   have Apple do on your behalf. And I understand that it's expensive as crap, but this was looked

00:30:28   like hours of work to do this upgrade, but still fascinating.

00:30:31   I mean, it was, it was pretty speedy, but like the reason it's in here is because like we talked

00:30:35   so much about, um, upgrading the SSDs, like in those little modules and soldering the little

00:30:40   things on the circuit boards made in France and like figure out how to essentially like,

00:30:45   can I make a cheaper version of the little thingies that are inside my Apple thingy so

00:30:48   that I can get more stuff for less money. And this, this video was like, shows the extremes

00:30:54   that people are willing to go to forget about like, you know, just soldering thing on a new

00:30:58   printed circuit board and plugging it into a connector. The technique they use on this one,

00:31:02   it's, it's the same type of thing. It's like a NAND chip. It's, it's got a bunch of, uh,

00:31:05   a big grid of metal contacts on the bottom of the chip. And that sits on top of the circuit

00:31:09   board that has corresponding contacts. And that's, that's how it works. Right.

00:31:12   But rather than trying to like desolder it and like get the NAND thing to, to all those

00:31:16   little balls to melt. And then for the thing to come off, they're not really solder balls,

00:31:19   but anyway, get to get it, to get it to like remove the chip from the thing and then put

00:31:22   a new one on rather than doing that, they take a, like a computer controlled milling machine

00:31:27   and they just mill the old NAND out. They just turn it to dust. They just go back and forth

00:31:33   and back and forth. And like they mill it to be, mill the surface to be flush with the printed

00:31:37   circuit board and your previous NAND, your previous like two, three, six gig NAND thing

00:31:42   turns into dust that hopefully you don't inhale. Cause it's probably terrible for you. And then

00:31:46   they clean the surface. Then they take a new chip, they drop it on their solder at epoxy around it or

00:31:50   whatever, and then reassemble the phone. It is an amazing video to watch. You know, it's kind of

00:31:55   like watching, you know, robotic surgery, such, so careful and such precision. I, it, and really like,

00:32:02   like surgery, it's something that you really want someone who is skilled at doing because

00:32:05   it is not easy. Like there's, and the video is zoomed way in. So you don't realize just

00:32:09   how small and how delicate everything is that's taking place in this video. I, I found it completely

00:32:16   amazing. And yeah, big upgrade from one 28 to one terabyte. Indeed. All right. And then finally,

00:32:22   I wanted to call attention to a podcast that I think aired a week, maybe two weeks ago. Uh, I'm going

00:32:29   to, or my, my American will be showing, and I apologize to everyone who's listening across the pond,

00:32:33   but, uh, apparently there exists a podcast called table manners with Jesse and Lenny. Where I haven't

00:32:39   a clue who these people are. My understanding is one of them, at least if not both are very famous in

00:32:43   the UK, my genuine apologies. I just don't, I'm, I'm an ignorant American. What do you want to do?

00:32:48   But, uh, Tim cook was on the show and I didn't, I'm not aware of a video version, although apparently

00:32:54   the whole shtick is they serve the person a meal and they talk over the meal and so on and so forth.

00:32:59   Um, this interview really ticked me off because this is the kind of interview that I think I would

00:33:05   want to do with Tim cook if possible, because they basically don't talk about barely anything

00:33:11   Apple related. And even though the better interview would be to get Tim cook to open up about all the

00:33:16   decisions he's made at Apple and why he made them and so on and so forth. As we've said many times in

00:33:20   the show, he'll never do that. That's never going to happen. So just take that off the table. It's

00:33:25   never going to happen. So knowing that that's never going to happen, what do you do? He's talked

00:33:29   to him about what it's like to grow up as Tim cook and what does he like to do and how does he work

00:33:32   and where does he, you know, go to relax and stuff like that. And it's, I don't know, it was like half

00:33:37   an hour, 45 minutes. I thought it was really, really good. And it showed Tim cook as a human,

00:33:41   which is great because right now I want to, I want him to go away.

00:33:45   He's a human that we're all mad at.

00:33:47   Exactly.

00:33:47   Yeah. I'm so glad Tim had this really hard hitting interview puff piece. I mean,

00:33:52   maybe this is worth it to somebody to, but like, would you right now watch the same interview of

00:33:58   say Mark Zuckerberg? I mean, I'm just saying like, I think this is, this is a puff, you know, BS thing.

00:34:05   And I'm, I'm glad for people who like it. Maybe it'll make you feel better. To me, this,

00:34:09   it just kind of angers me. Like why give him this kind of attention right now when he does not deserve

00:34:14   anything but very strict scrutiny over what he has done. Yeah. And I also think like, you know,

00:34:20   it is, I guess, not somewhat novel for someone to interview Tim cook and ask so little about Apple.

00:34:26   They didn't ask zero, but ask so little about Apple. But I do think that literally everything

00:34:30   he said was entirely controlled in Tim cookie. Like I've just, he is impossible to draw out.

00:34:36   I've never seen anyone do it like to get to the human that's inside there. I'm not saying what he

00:34:40   was saying was like insincere or dishonest. I think he was saying things that he really felt

00:34:46   and did or whatever, but in a very controlled Tim cook way, like in a, in a, in a media trained,

00:34:52   carefully avoiding anything. He's, he's so well trained and disciplined that they would ask him

00:34:57   things about like, which of these two different kinds of fruit do you prefer? And he would not

00:35:02   take a position because he's afraid that the people who like the kind of fruit that he said

00:35:06   he doesn't like will not like, like it's just, he just will not like, I swear to you,

00:35:10   like listen to it. I forget what the particular details are, but they tried to ask him to have,

00:35:14   take a position on food. Like this wasn't it, but like, because he, he did take a position

00:35:18   on dark chocolate versus milk and he said he liked dark. Right. So apparently he's okay with that one,

00:35:22   but another one, they're like, ah, it's not that I dislike it. He will not be drawn out to be like,

00:35:28   you know, unguarded or, uh, you know, he's always very careful in every single thing that he says.

00:35:35   And it must be tiring to be him. And sometimes I find it tiring to listen to him because he is so

00:35:40   controlled. I think, as we've said in past shows, I think the least controlled I've ever heard him

00:35:44   is when he was somewhat stern with, uh, an obnoxious question to ask her at a shareholder meeting,

00:35:50   uh, where they, uh, complained about the return on investment and some, uh, thing Apple is doing

00:35:56   related to the environment or whatever the heck it was. And, uh, Tim Cook said, if you're so concerned

00:36:00   about the ROI or whatever, get out of the stock, it's not, it's not about the bloody ROI, blah, blah,

00:36:04   blah. It's the closest I've ever seen to him show it, showing any real emotion. And it wasn't that

00:36:08   close because really it was just fairly straightforward articulation of Apple's corporate policy, but there

00:36:14   was a tinge with a hint of, of, uh, of sternness. And that was years ago. And apparently he's erased

00:36:19   that part of his brain that does that. So I'm sure he's, I'm sure he is not like this when he's in

00:36:24   meetings with other Apple executives, telling them what to do. We've heard stories about that. Like

00:36:28   there is a real Tim Cook in there, but you're not going to see him on a podcast about food.

00:36:33   Yeah. I mean, that's why like, I, I almost never actually watch or listen to or read his interviews

00:36:38   because there's almost nothing of value to it because he is, he's so guarded and careful and

00:36:44   on message. And so the things that you end up getting from him are just things that don't matter.

00:36:51   Like, and, and I, you know, we all had a cult of personality around Steve jobs because

00:36:56   he was a really interesting personality and, and he would like let out bits and pieces that were

00:37:02   entertaining and insightful and a little bold and a little risk taking. And Tim Cook is none of those

00:37:08   things. Like he is just bland, milquetoast corporate nothingness. And, and whatever, whatever he is behind

00:37:14   the scenes, like, as John said, like, we don't see that. What we see in the public is very controlled,

00:37:19   corporate, boring. And frankly, I don't know how much more of Tim Cook there is than that.

00:37:24   And I don't care because even before I hated him for his political BS that he's doing now,

00:37:30   he's just not interesting. I think Apple is very interesting and, you know, the moves of the company

00:37:36   and the products they create can be very interesting a lot of the times, but he personally, I don't know what

00:37:41   people get out of his interviews because whatever it is, I don't get it. Like, I can't even imagine

00:37:47   having to, like, sit down and talk with him about anything because, like, I don't know what the heck

00:37:51   I would say or what he would say back. It would be, it would be a waste of time for both of us.

00:37:55   If it was entirely off the record and there was no one recording it, he would be a lot more real,

00:38:00   but I don't know that.

00:38:00   I doubt it.

00:38:01   Well, for what it's worth, I thought the interview was worth your time. I hear what you're saying

00:38:06   that he is very buttoned up and I hear what you're saying that he's definitely on our

00:38:09   crap lists, but I thought it was worth it and your mileage may vary.

00:38:13   We are brought to you this episode by Squarespace, the all-in-one website platform for entrepreneurs

00:38:20   to stand out and succeed online. Whether you're just starting out or managing a growing brand,

00:38:25   Squarespace makes it easy to create a beautiful website, engage with your audience, and sell

00:38:29   anything from your products to your content to even your time, all in one place and all on

00:38:34   your terms. And Squarespace now offers design intelligence, combining two decades of industry-leading

00:38:41   design expertise with cutting-edge AI to unlock your strongest creative potential.

00:38:45   Design intelligence empowers anyone to build a beautiful, more personalized website tailored

00:38:50   to your unique needs so you can craft a bespoke digital identity to use across your entire online

00:38:56   presence. And no matter what your business is, Squarespace can probably support it.

00:39:00   physical goods, digital goods, newsletters, podcasts, electronic goods and services. If

00:39:07   you're a trainer, if you are a consultant, if you're a coach, all of that plus so much more

00:39:11   can be supported by Squarespace honestly very, very easily. Squarespace payments is also amazing

00:39:17   and better than ever. Onboarding is fast and simple. You can get started very quickly and

00:39:21   start receiving your payments. And customers have more ways to pay than ever with methods like

00:39:25   Klarma, ACX Direct Debit, Apple Pay, Afterpay, ClearPay, and so much more. You can see for yourself how

00:39:31   Squarespace works for you by going to squarespace.com and starting a free trial. You can build your site

00:39:37   totally in trial mode, see how well it works for you. When you're ready to launch, go to squarespace.com

00:39:42   slash ATP for 10% off your first purchase of a website or a domain. So once again, squarespace.com,

00:39:49   start that free trial, build your site in trial mode, see how it works for you. I bet you're going to

00:39:53   love it. I've used it. My friends have used it. My wife uses it. I recommend it very strongly.

00:39:58   Go to squarespace.com. Start that free trial. Build your site today. Go to squarespace.com

00:40:03   slash ATP when you're ready to purchase to save 10% off your first purchase of a website or domain.

00:40:07   Thank you so much to Squarespace for being awesome and for sponsoring our show.

00:40:11   John, take us through some hyperspace updates if you don't mind. I can prompt some of this. I had some

00:40:20   questions. It looked like you wanted to keep my question for the end, which is fine.

00:40:23   But tell me what's going on.

00:40:25   Yeah. So last episode, I announced the test flight. It went out to all the ATP members,

00:40:31   people who were interested, dutifully started installing it and using it and sending me feedbacks

00:40:36   through all the various channels. And it occurred to me about halfway through the week that I had

00:40:42   included my own little brown M&M in the test flight release notes. Are you too familiar with the brown

00:40:48   M&M thing?

00:40:49   Is this like a sex thing?

00:40:51   No, no, no. I think it's where you ask for like all green M&Ms or something like that on your rider just

00:40:56   to see if people are paying attention to you.

00:40:58   Yeah, kind of. Like the story is that the band Van Halen used to have this very long contract that

00:41:03   would have with the venues that they would play their concerts in. And one of the things they would

00:41:07   ask for is, and in our dressing room, we want to have a bowl of M&Ms, but there should be no

00:41:10   brown ones in the bowl. Right. And it was the story went around in the 80s. It was like, oh,

00:41:15   Van Halen, can you believe these like rock divas? And they got to have, you know, they're so they're

00:41:20   so full of themselves. They want every little thing that is mad with power and just abusing the people

00:41:24   who, you know, who run the concert halls that they run in. But then the the sort of later day sort of

00:41:31   internet era turns out story about that as well. Actually, they put that in there. There was a real

00:41:36   thing and it wasn't their contracts. And they put that in there because if they went into the

00:41:39   dressing room and they saw either no bowl of M&Ms or a bowl of M&Ms, but the brown ones were not

00:41:45   removed. They know that the concert venue did not really carefully read or take seriously

00:41:51   their instructions. And that was important because a lot of their instructions had to do with safety

00:41:57   about, you know, we're going to have this light rig that's going to weigh this much and the stage is

00:42:01   going to put this much pressure on these positions. And we have like to we have to have these kind of

00:42:05   electrical outlets and so on and so forth for it to be a safe show. But I mean,

00:42:08   it wasn't that big, but they had explosions going off and, you know, pyro flames, things and all that

00:42:13   stuff. They wanted the venue to actually read it and not just be like, yeah, yeah, yeah. Rock Band

00:42:18   will set your stuff up. You'll be fine. And so that was the supposed utility of the brown M&M clause

00:42:24   that it was just an easy way to tell. Are they paying attention to our contract or they do they just not

00:42:29   even read that closely and don't even care about the details. Right. I have nothing. I didn't intend to put

00:42:35   around M&M in my release notes, but I did. At the top of the release notes in all caps letters is the

00:42:40   thing that says it doesn't actually reclaim disk space because that was the most important thing

00:42:43   that people needed to know because I didn't want to have a week of telling me that there were people

00:42:46   running my program, but they weren't getting disk space back. So that's all caps. It's line number one.

00:42:50   I think pretty much everybody read that. So good job, everybody. Line number two of the release notes

00:42:56   was a link. It was a URL. And that's where everything fell apart, because I don't think people

00:43:02   followed that link or read anything else. They said, read the all caps line. They said, yep,

00:43:07   got it. Good. Doesn't reclaim disk space, which is fine. But the reason I know is because if you follow

00:43:11   that link, it goes to a bullet pointed list. It's got like five bullet points on the page here.

00:43:17   And the very bottom of the five bullet points says the following. The icon is a placeholder.

00:43:24   The final icon is still in the works. Every single person in there, a lot of you who sent me very long

00:43:31   critiques about the icon. I didn't think it was appropriate. And I should really think of something

00:43:38   else. You didn't read the part about the brown M&Ms. You read the all caps part about how it won't

00:43:43   actually reclaim disk space. So I thank you for that. But that brown M&M is in there. So I just

00:43:48   want to tell everybody, if you're listening to this podcast, the icon is temporary.

00:43:53   I actually think it's pretty good, to be honest with you. But that's neither here nor there.

00:43:56   Yeah, I just wanted people to know it's temporary. Because so maybe week two, a different thing.

00:44:01   All right. Next item, test flight purchases. This was probably the biggest purchase related piece

00:44:07   of feedback I got. And as usual, with anything related to in-app purchase, I have no idea what's

00:44:13   up. This is the first time I'm doing this. Here's the deal. People who are outside the US would tell

00:44:19   me, hey, I tried to do your test flight purchase. I dutifully read the release notes that I know it's

00:44:23   not going to charge me any real money. So I clicked the purchase button in test flight.

00:44:26   And it didn't work. It said, oh, this is not in the whatever, the German store or it's in the US

00:44:32   store. You have, do you want to change stores? And it would pop up a dialogue with a change store

00:44:36   button. And I would click the change store button. And it would change, it would have me sign in and I

00:44:39   would change to the German store. And then it would say cannot reach app store. And I just want to

00:44:45   clarify two things. One, all those dialogues, the whole thing about you can't do it in the store or

00:44:50   change store bubble. That's all Apple stuff. I, I'm not producing those dialogues. That's all Apple,

00:44:56   right? I don't know how they're supposed to work. All I know is that people are telling me

00:45:00   they don't work. All the things that I was able to check seem fine. My app is,

00:45:06   in theory available in every single country that, that Apple allows it to be available in all the

00:45:11   in-app purchases are available in every single country. Like I just double, triple, quadruple

00:45:15   checked. Like, yes, nothing is restricted. Everything is everywhere. But, uh, having never done this

00:45:20   before, I'm a little bit concerned about the fact that if you go to the app availability section in

00:45:26   app store connect, uh, it says for all the giant list of countries, a thing that says available on app

00:45:31   release. So, you know, Angola available on app release, Argentina available on app release. And

00:45:37   as we know, my app has not yet been released. So it could be that non-US people cannot make purchases

00:45:45   in the test light version because this app has literally never been released. And all of those

00:45:49   regions will be available on app release, which hasn't happened yet. So if that is the case,

00:45:56   I apologize for all the people trying to make purchases outside of the U S and having it not

00:46:00   work. I don't think there's anything I can do about that short of releasing my app, which I'm not ready

00:46:05   to do yet. Um, but yeah, that's my guess about the deal. Do either of you two have any clarification on

00:46:12   this? No. And I don't remember this being a problem for me and I definitely had users in other countries,

00:46:18   uh, it tests like beta testers in other countries. So maybe this is a Mac OS thing. I I'm not sure.

00:46:23   It wouldn't surprise me because a lot of stuff on Mac OS is way jankier. So here is a little tidbit

00:46:27   because a couple of people did say, uh, I'm outside the U S and it worked fine for me. So then I'm like,

00:46:32   well, I don't know what the heck to make of that. Right. Uh, one person did say this. They said earlier

00:46:37   today, I reported an issue with the purchase flow due to an incorrect country setting. Although I've

00:46:41   never encountered this problem with other test flight apps, I managed to resolve it here. I clicked

00:46:45   on restore purchases, which prompted a login window. I logged in using my normal Swiss account. And while

00:46:51   there was no feedback and no changes were apparent, the purchasing of the app now worked. So if you're

00:46:56   out there trying to purchase and it's not working, you can try clicking the restore purchases thing and

00:47:00   see if that solved the problem. I don't know if it will. I'm maybe 50% confident that when I

00:47:07   released the app, all these issues will go away and it will be fine. But I guess we'll find out.

00:47:11   I've asked around, I've tried to do research on this. I've tried to look at Apple's documentation.

00:47:15   Ha ha ha. Yeah. Good luck. Um, so I don't know what the deal is, but I will tell everybody if you're

00:47:21   outside the U S you may not be able to purchase it. You can try the restore purchases thing. Right.

00:47:25   Second thing on purchases, many, many people, uh, maybe people who are, uh, new to test flights.

00:47:31   It's a lot of, we've got a lot of test flight testers here wrote in to tell me that they thought

00:47:34   that, uh, my app should not prompt them for their Apple ID password and instead should use touch ID.

00:47:40   And by the way, the dialogue that appears asking for their Apple ID password is super janky and scary.

00:47:45   Look, I agree. Guess who makes that dialogue box? Apple, everything you see in the purchase flow,

00:47:52   all those dialogue boxes. That's not me. I'm using the standard Apple thing, which is like,

00:47:57   okay, go do purchase. And then Apple throws up a bunch of UI. And yes, for whatever insane reason,

00:48:04   as far as I know, this has always been the case, both on iOS and on Mac OS. When you try to make a

00:48:09   test flight purchase, does it let you use touch ID? Does it do password autofill? No, it makes you type

00:48:15   in your Apple ID password. Why does it do that? I don't know, but it does. And it makes you type it into

00:48:22   a terrible text box. It looks like it's totally fake. And Apple is producing that. It's one of the

00:48:28   reasons why I like, I end up uninstalling test flights. Like I'll go back and forth between the

00:48:32   call sheet test flight and the call sheet real one, because test flight purchases like expire on an

00:48:36   accelerated rate. I just never want to have to, Oh, the test flight is, yeah, I have to repurchase the

00:48:41   test flight. Oh, I got to type in my Apple ID. It's just, it's so painful. I, I, there's no way around

00:48:49   it. Like that's just the way that's why it is. It's part of the pain of being a beta tester. And

00:48:54   there is pain. There's, there is pain in being a beta test. I know, but I've got so many paid apps

00:48:58   on my phone. It's, it's annoying. I acknowledge it's annoying. How many years has it been like this

00:49:04   since the existence of the Mac app store? I think it's always, has it always been like this on iOS

00:49:07   too? Uh, it's, it's always been rough. I feel like test flight actually in a lot of ways was better

00:49:13   when it was an independent entity, but you're asking me to remember 10, 15 years ago.

00:49:18   But like, does it always, have you ever seen an iOS app that does not make you enter your password

00:49:22   like in text when you tried to do an app purchase in a test flight? No, no, not that I can think of.

00:49:27   Yeah. So, but then macOS is the same way and everything does look worse on macOS, but in both

00:49:33   cases, it's just like nothing else in the system ever asked you, like if you have like face ID or

00:49:37   touch ID or whatever, like nothing else ever asks you to type in your password. And then all of a sudden

00:49:42   here's this beta thing doing it. It looks so janky and I agree it's janky. I wish Apple would fix it,

00:49:47   just to let everybody know, welcome to test flight. It's not the same as real apps and it's bad.

00:49:54   Oh yeah. All right. What else? Uh, so the other major thing that I spent the week, uh, fighting with

00:50:03   is, uh, my review window. Uh, when I was first making this app, I was like, okay, you know,

00:50:09   pick where you want to scan your files, you scan them, uh, and then, you know, you want to reclaim

00:50:14   space from them. But in between there, it'd be nice if you saw, well, you just did the scan and you told

00:50:18   me you found a bunch of files. Can I just see what those files are? Cause maybe I don't want you to do

00:50:21   all of them. Like may I, or even I just want to see it like just for visibility. Like I want to review

00:50:26   what have you found before we continue to the part where you reclaim space or pretend to in the case

00:50:30   of my test flight app. Um, so thus was born the review window. Uh, it just, you know, here's all

00:50:36   the stuff I found. Uh, and you can remove things and you know, like that's the point of the window is

00:50:41   like for you to take a look at what I found and for you to maybe decide you do or don't want to

00:50:45   include certain things. I, I didn't think too much about it. I just kind of made that on a whim.

00:50:50   It's like, Oh, it seems like a nice thing to have, but pretty quickly, even before the test flight,

00:50:53   I realized, okay, well, if you scan like a big directory, like your documents directory or your

00:50:59   whole home directory or something, or people are scanning their whole drives, uh, it might find a

00:51:04   lot of duplicates, like a lot, a lot, not like 10, not like a hundred, but like thousands, many,

00:51:09   many thousands of duplicates. First of all, is it possible to quote unquote,

00:51:15   review thousands of things? Is someone going to look at a thousand things or are they just going

00:51:19   to be like, Oh, no, I don't know. This looks fine. Like you can't, at a certain point you can't

00:51:23   manually review it anymore. This came up and, uh, my old jobby job when we were talking about, um,

00:51:28   uh, reviewing dependencies for like license and security and stuff like that. Like, you know,

00:51:34   any new project you make, we want to make sure that anything, any third party software you're

00:51:37   depending on, we should review it. There should be a human review process to make sure that like

00:51:42   you're not using some software that you're not allowed to use because of its license or

00:51:46   that has some security problems or whatever. So we should have a process of human review for all

00:51:51   software dependencies, which sounds totally sane. And like a thing that a company would do as a policy,

00:51:55   but I know a lot of you right now are already thinking the same thing that I am. And maybe

00:51:59   Casey's thinking as well, node modules, guess how many third party dependencies,

00:52:07   any kind of non-trivial node JS application has thousands, a trillion, thousands, literally

00:52:15   thousands, right? There's no way to avoid it. Like, and so now are you going to have human review

00:52:22   of thousands of dependencies? And also each time all those dependencies are updated at a certain

00:52:29   point, human review breaks down, but nevertheless, I still wanted to have a review window. It was like,

00:52:34   look, if you want to look at them, they're there, put a search field in the review window. So if you're

00:52:39   looking for something, if you're like, I'd want to make sure it's not doing anything with my whatever

00:52:42   files, type this in some search query, narrow it down, find that thing, you know, uncheck the checkbox

00:52:47   next to it and say, yeah, I don't want to do these things or whatever. And yes, I'll probably add an excludes

00:52:51   feature at some point, but probably not in 1.0. Anyway, um, so I made a review window, I put a search field in it.

00:52:58   Uh, and then I, uh, ran into, you know, the, the brick wall that is, uh, Swift UI performance

00:53:04   because like everything, like everything else in my app, this was a Swift UI window.

00:53:09   And I was asking Swift UI to show potentially thousands of things. At the very least, it's going to be

00:53:15   thousands of checkboxes or some other control that says, yes, do this or don't do this. Right.

00:53:19   And also it's going to be thousands of file names and probably file paths to say, what am I checking or

00:53:26   unchecking? Where is this file? And maybe you want other stuff besides just the file name in a checkbox.

00:53:31   Maybe you want to know what size it is or how many duplicates there are or what the total savings is.

00:53:37   Like pretty quickly, you're, it's not that complicated, but it's like, okay, well, it's like for each item,

00:53:42   it's a checkbox and a string and maybe another string for the path. And then maybe a couple of numbers.

00:53:46   Right. But it shouldn't be that bad. Right. Well, you get the review window, you put a, uh, you know,

00:53:53   a naive Swift UI implementation and it just falls over on its face after a shockingly small number

00:54:00   of items. Uh, you can pull up the page usually with a small number of items, but even scrolling

00:54:07   through a hundred or two of them painfully slow. Right. So then you're like, so what can I do for

00:54:14   Swift UI performance? How can I enhance this? So, you know, uh, what if I use the lazy version of

00:54:19   everything? So it doesn't have to load the thing up front because if you use the non-lazy one,

00:54:22   it's just, you get a beach ball, like trying to load a few hundred things or whatever. So you use

00:54:25   lazy version, it loads fast. Scrolling performance is still not great. So you're moving the scroll

00:54:30   thumb up and down. You're like, Oh, I can see them like lazily loading and it's all jerky. And it's

00:54:36   just like, can I just, can I show less stuff? What can I do to make this better? And so I spent a while

00:54:43   fighting with that. Uh, one of the ideas I had was, uh, maybe I'll just like, maybe I'll just show

00:54:48   like, maybe I'll do like lazy loading on top of lazy loading. So I'll show you the first hundred.

00:54:52   And then when you get to the bottom of the hundred list, I'll have like a little load more button and

00:54:56   it will load more. Right. But of course, if I just let you keep loading more, uh, you'll, it'll just

00:55:01   get long again. So I have to pull off ones from the top. So if you hit load more two times, it'll pull

00:55:05   off a hundred from the top. You know, that didn't really help. I implemented that and I was like,

00:55:10   no, it's still like, even just with the hundred window, it's just the scrolling is not smooth.

00:55:16   Like, it's just not good. I was like, okay, well maybe I shouldn't use like lazy V stack. Maybe I

00:55:21   should use list because list is supposed to be for big lists of stuff. So I re implemented the window

00:55:26   and list instead of using lazy V stack. This is all tech terms or whatever. And it just, so I should

00:55:31   say, I'm, I'm rewriting this, this window in multiple different implementations. I try to list

00:55:36   that has a different set of trade-offs. It's supposedly also lazy. Uh, but it doesn't, it doesn't seem any

00:55:40   smoother than, than a lazy V stack. In fact, in some ways it's worse. You have less control over

00:55:45   the items that are in it. Maybe it's better on iOS. I don't know, but on Mac OS, it wasn't that great

00:55:50   all this time. I've been resisting the, you know, the give up and use app kit approach. Uh, but I also

00:55:56   decided, okay, well, let me see what an app kit approach to this would look like just using app kit

00:56:00   for the scaffolding and still having each individual item be a Swift UI view. So I did that,

00:56:05   uh, didn't really help. It was a little bit better, but because every individual view was a

00:56:10   Swift UI view, you're still in the end loading, you know, and Swift UI views or N items, even though

00:56:16   they're contained in an app kit collection view or whatever the thing you have, which is also lazy

00:56:21   loading. It is more efficient than the Swift UI things, but, uh, you know, not quite the same.

00:56:25   And I think, uh, you know, Marco was a Marco's first advice when I first mentioned, I saw the screen

00:56:29   was slow. I was like, you should just do this in app kit. I'm like, Oh, it's going to be a lot of work

00:56:32   to do in an app kit. But like, here I am on implementation number four, right? I've done

00:56:36   it. I've done it with, uh, well, you know, V stack, lazy V stack list, uh, uh, collection app

00:56:42   kit collection view with, uh, Swift UI views inside of it. Uh, and you know, I ended up, I ended up,

00:56:48   well, let's write it in app kit, which I was resisting because this is literally the most

00:56:53   complicated screen in my entire app. The stupid review window it is. I mean, not that my app is that

00:56:59   complicated, but of all the screens of my app, this is the most complicated. And now I am rewriting

00:57:03   it for a fifth time, uh, wrote it and just straight app kit and this table view, you know, the old ways

00:57:09   still in Swift, obviously, but yeah. Um, and the performance was better, a lot better. I still

00:57:15   kept a Swift UI view for the detail pain. That's one of the things I, one of the changes I made halfway

00:57:19   through is like, look, I got to get less stuff on the screen for multiple reasons, but not the least

00:57:23   of which is that it kills scrolling performance. So what if I have like sort of a, uh, a list of the

00:57:27   individual file groups and then a detail view that when you select one, you see more information

00:57:31   about it. So you only ever need to have one detail view. And then you have the big scrolly list,

00:57:35   which is supposedly simple. Um, that's the design I've stuck with. I re-implemented it all in app

00:57:39   kit, except for the detail view that I left in Swift UI. I bashed my head against that for a while.

00:57:44   Uh, and the performance is much improved as they say. Uh, that's like, you know, a glimpse into a week

00:57:52   of development, uh, on, uh, and a, on a pure Swift UI macOS app. I don't think what I was asking you to do

00:58:00   was that big a deal. Although some people like the testers out there, they're trying hard. I had one

00:58:04   person who, uh, had a review window with 150,000 items in it. Oh my. Uh, and, and, and that person tried,

00:58:12   I think most of the different versions of this screen that I made and would tell me when it was

00:58:18   not cutting. Right. And so I think the new one can handle that and it's okay. But some point during

00:58:24   this whole week of me banging my head against this screen, a thought occurred to me and it's going to

00:58:31   spawn a slight side discussion here. I want you guys to, uh, go to this URL. This is web-based.

00:58:38   Oh no. Can you, uh, scroll that webpage for me please? Yeah. It scrolls pretty fast. Are you

00:58:44   going to write it in web kit? Is it, is it smooth for you? Does it seem smooth? Oh no. Can you load

00:58:49   that? Can you load that on your phone? I presume I could. Oh my God. Are you asking me to do that?

00:58:54   Can you see how? Yeah. See how this works on your phone maybe. Oh my God. Hold on.

00:58:59   You're going to do this with web tech, aren't you? Wow. It's really fast.

00:59:05   Does it scroll okay? Does it seem smooth? Did it load fast? Sure did. Oh my God. You're going to do

00:59:10   this with web tech, aren't you? This is, I'm having them load a webpage because I'm, I'm banging my head

00:59:14   against, uh, you know, Swift UI, app kit, NS collection view, NS table view, lazy V stack list.

00:59:20   The performance is crap. I'm on a, on a Mac pro with 192 megs of Ram. I'm like, why can you not scroll

00:59:27   a list? I don't care if it has 10,000 items in it. Is it like it should, why can you not scroll this

00:59:31   list? What's the problem? It's just text. It's text and it's check boxes. And I'm like,

00:59:34   I could, and it's just, I'm like, I could do this in two seconds in the web tech and granted it's web

00:59:39   developer for 25 years. So I have a little bit of more of skill in that area, but I'm like, I could do

00:59:43   this. I know this would work fine in a webpage. Like this is, I'm not asking too much. Right. So I made a

00:59:50   webpage and I made one with a hundred items, 500 items, a thousand items, 10,000 items. And like,

00:59:56   I would load it and we'll just scroll like today, right now, this scrolls faster than the app kit,

01:00:02   the native Swift, pure app kit, NS table view on Mac OS 15.2 on a Mac pro with 192 megs of Ram.

01:00:14   This webpage loads instantly and scrolls perfectly smoothly with an equivalent number of items.

01:00:22   Right. We're talking about like, Oh, web, web apps always feel worse. You can always tell it's a web

01:00:27   app because it's not as good and it's not as smooth and snappy and this and that. And the other thing

01:00:31   web tech has had so much effort put into it that right now, HTML and CSS are an amazingly performant

01:00:43   engine for quickly and easily creating user interfaces that scroll like butter. This wasn't true in

01:00:51   2007 when the iPhone came out, right? Web kit views were not as fast as native views, right?

01:00:56   This is not recycling as far to my knowledge. It is not recycling cells in this table, right? It's,

01:01:01   it's just rendering them all, putting them into the giant image and just scrolling with the GP,

01:01:06   like just shake the thing up and down. It's unbelievably performant, right? I don't think

01:01:12   there is a way with any of Apple's native UI toolkits to make a scrolling list of items with some text in

01:01:22   them that is smooth as just doing it in stupid HTML. I believe this is an HTML table. I've already

01:01:28   forgotten. It's just, you slap this together and it takes two seconds, right? And you can change that 500

01:01:33   number in there to larger numbers to see different versions. But here's the thing. I was, I was real

01:01:38   close in the middle of the week. I'm like, screw it. I'm doing this in web kit. Like I'm, I'm sick

01:01:42   of, I'm sick of native development. I know I can do this in, in, in, uh, in HTML and CSS. Why am I

01:01:49   banging my head again? It's so much harder to like app kit, like doing the NS table view. It's such like

01:01:54   ancient technology. Like the, the number of classes you have to implement, the number of methods you

01:01:59   have to override, the number of things you have to do in them. It's like, what is going on here?

01:02:03   How many lines of code is this? And it's like an HTML. It's just, it's like a page of HTML and CSS,

01:02:09   like in two seconds. And it's just straightforward and obvious. And like the Swift UI one is also

01:02:15   pretty straightforward and obvious, but then the performance is terrible. So who cares that it's

01:02:19   straightforward and obvious, right? It's great if you have 10 items, a hundred items, right? But if

01:02:23   you have 150,000, they just, these things just throw up their hands. Uh, but I didn't implement it in

01:02:30   web kit because I think if you change that 500 number to 10,000 in your URL and then load that

01:02:37   page. Oh, it drops out. Yeah. It kind of gives up after a certain point and you just get blankness.

01:02:44   Now I can tell you that that will eventually load all of it. And then once it does load,

01:02:50   it'll, it'll be smooth. And even while it's blank, it'll be smooth. What we're saying is you,

01:02:54   if you scroll this list, all of a sudden the list disappears and then there's no more list.

01:02:59   there's just, then you're just scrolling. It's fine on my desk. You guys got to get better

01:03:02   computers. Oh, by the way, Chrome does it way better than, uh, than, uh, Safari. So if you load

01:03:08   that page in Chrome, much better job than Safari, but Safari on both the Mac and on iOS, when you load

01:03:15   the page with 10,000 or more items, it just stops drawing it very quickly. Now, like I said, eventually

01:03:23   it will all load in and God knows how much memory is thick. Uh, this is a consequence of it not being

01:03:29   lazy, but this made it a non-starter for me because as slow and janky as it is in Swift UI or an app kit

01:03:37   for 150,000 items, it does actually load. You can actually scroll. It is just jerky and slow, right?

01:03:46   Web kit at a certain point says, nope, check, please. Not going to do it. And then, like I said, if you

01:03:53   wait, if you wait, like, well, mine just, mine just came in finally. Now, if you wait, eventually,

01:03:58   especially have 192 megs of RAM or gigs of RAM, eventually it will load in, right? And eventually

01:04:04   you can scroll your list of 10,000 items and it will, you know, it's a little bit blinky and

01:04:09   stuttery, but it's still pretty smooth. John, have you tried this on Tina's computer? I'm not trolling

01:04:13   you right now because this, the performance problems you're describing on your computer,

01:04:16   I'm not having on mine. I tried it on my, you can see the same thing on the phone too.

01:04:20   Try it on the phone. Okay. You didn't see the blank. You didn't see the blanking. Like it,

01:04:23   it, it blanks for variable amount of time. It blanks for like a split second, like a blink of

01:04:29   an eye. No, I'm not on my phone. I'll send you, I had it a long enough time to screenshot it on my

01:04:32   phone. It is blank for a long enough time for me to stare at it and take a screenshot. Right. And my

01:04:36   phone was my measurement of like, look, this is, you know, this is a good baseline. Right. And like

01:04:41   I said, Chrome does way better than WebKit, but obviously if I'm doing it, uh, well, actually I could

01:04:46   use, I could embed like the blink engine in my app, but I'm not going to do that. So anyway, I didn't choose to use

01:04:53   WebKit for it, but had I chosen to use WebKit for it, this one aspect of it, how quickly it can draw

01:04:59   this and how smooth it can scroll it would be better. What would not be better? I think is say

01:05:05   sortable column headers, because if I did that naively in HTML, uh, in JavaScript, the performance

01:05:10   would be horrendous. What I would have to do is essentially re-implement NS table view in JavaScript,

01:05:14   which many people have done like where it's like, okay, well, I'm not actually going to redraw

01:05:18   everything. I'm just going to have a fixed number of cells. I'm going to recycle them and I'm going to

01:05:21   refill them with content. And when you tell me to sort, I'm going to sort the data store behind the

01:05:25   scenes and then redisplay the window of them that you're looking at, like all the stuff that NS table

01:05:29   view and lazy V stack are doing behind the scenes. You can also do that in HTML, but either I would

01:05:33   have to implement it all myself in HTML and JavaScript, or I have to find a third party framework that does

01:05:37   that of which there are a thousand, which is part of the problem. Cause I have to find one of those

01:05:41   thousands to embed in my app. And then finally I would be communicating a fairly, uh, large amount

01:05:48   of app state in and out of a web kit view through the, the slurping straw of JavaScript. Uh, uh, and I

01:05:57   did not relish that even doing it the way I did it, where I have app kit and Swift UI views communicating

01:06:02   and both trying to manipulate a fairly high volume of data, uh, in real time up to sync everywhere.

01:06:10   That was difficult enough to do between Swift UI and app kit throwing web kit into the mix would be

01:06:15   even more difficult, but I just, I, this is a good, interesting thing to note that the conventional

01:06:21   wisdom about quote unquote native apps and how much better they are and how much better the

01:06:26   performance is and how you can always tell when something is janky in a web kit. Now, you know,

01:06:31   with the caveats, I said, I am an expert web developer. I am not an expert Mac OS or iOS

01:06:37   developer. So maybe someone who was a better Mac OS developer than me could do a better job. Uh, I

01:06:43   think I did an okay job on the app kit table view. If you two have the latest, uh, test slide version

01:06:48   of the thing, you can run it against something and get a big review window and scroll it. It's all right.

01:06:52   You know, it's fine, but it's not as smooth as that web kit view, is it? It's not as smooth as that

01:06:59   web page. And that is disappointing. So for whatever it's worth it, native dev should be

01:07:06   faster. Now the, the most common trick that Apple's frameworks use, and I presume other platform

01:07:13   frameworks probably do similar things. It shouldn't matter really how many items are in a scrolling

01:07:19   list for the list performance with the trick they usually do is they, you know, if, if the list,

01:07:26   you know, suppose on screen, you can fit 10 cells. Well, as you scroll through a list of, of a hundred

01:07:32   thousand items, it only keeps like 12 cells alive in memory. It just recycles their content. And so

01:07:39   it has like, you know, the 10 cells that fit in the screen and it has like one above and one below.

01:07:43   So as you partially scroll, that's already loaded. And then as you scroll the list, all it's doing is

01:07:50   swapping in the content of those same 12 cells. So it isn't like allocating everything. It isn't

01:07:55   rendering the entire list. It's just rendering the part that you are looking at. So theoretically it

01:08:00   should be fairly linear. Like the performance of the list should be about the same no matter how many

01:08:06   items it has. Now, there are a few things that can break that assumption and require the frameworks to like

01:08:13   load all the items or to render all the cells. That can be things like if they are variable heights and you

01:08:19   want an accurate scroll indicator of where you are in the, in the list position, then the framework has to render

01:08:25   every cell to know, well, how tall are all the cells? So I know how tall is the total view. So I know where to put the

01:08:32   scroll indicator. And there's also things like, well, where, you know, where the cell, like cell

01:08:37   content is, does one cell's content depend on another cell's content or does something depend on the

01:08:42   content of all the cells in order to render it? And so there, there are little pitfalls you can fall

01:08:46   into that will require the framework to, to load or render everything rather than loading and rendering

01:08:53   only what is on screen and kind of paging in the data dynamically. And it can be very, very easy to

01:08:59   accidentally fall into one of those pitfalls. And this was true of both UI kit and swift UI app kit.

01:09:05   I never really used, so I don't really know, but definitely UI kit and swift UI both had the

01:09:10   potential for a UI table view or a list respectively, or a lazy V grade or whatever. They, they all had

01:09:18   the potential to make some small decision or some small mistake or not flag something correctly in the

01:09:25   code. And it would have to render the entire list every time. So I'm guessing that now, and

01:09:30   on iOS, I can tell you, I don't have this problem. Like using swift UI list on iOS, like I tested my

01:09:36   playlist screen with a hundred thousand items and it scrolls just as well and just as smoothly as it does

01:09:42   with 20 items. Um, so I'm pretty sure I don't have this problem with overcast and I, that's just,

01:09:48   let's literally, let's say swift UI list.

01:09:49   I don't think you would ever have a, uh, overcast playlist. It's 150,000 items either. So it's not

01:09:53   really something you need to worry about too much.

01:09:55   Well, you'd be surprised what people try to do, but that's why I have a test account that has a

01:10:01   hundred thousand podcasts in it. Like, trust me, people do some, some interesting stuff. Uh, anyway,

01:10:06   so I can tell you the swift UI, like this is not an inherent problem to swift UI in general as a

01:10:12   concept. It has that same optimization that UI table view has of only loading certain cells on screen

01:10:18   and buffering in like, you know, changing their content. Like it does that same thing,

01:10:21   or at least it can do that same thing on iOS where I've used it. Now, the problem is again,

01:10:27   there are all these different pitfalls. Like you could be inadvertently triggering it to do

01:10:32   a full render with some detail of how you've implemented it. Or it's also possible that that

01:10:38   optimization doesn't work or it doesn't work correctly on Mac OS because swift UI on Mac OS is a little bit

01:10:45   of, it's like they don't, it's not nearly as, as tested and mature as it is an iOS. So I can tell

01:10:52   you, this is probably not a problem with swift UI overall, but it might be a problem with swift UI,

01:10:57   the way you are using it, or it might be a problem with swift UI on the Mac.

01:11:00   Oh, I can tell you, I know all those things that you just said. And, uh, I'm pretty sure that is not

01:11:06   what I'm running into because you can very easily trigger it so that, you know, for example, use list,

01:11:11   use V stack instead of lazy V stack. If you want to see what it looks like when it loads all of them

01:11:15   up front, use just plain V stack without the lazy. And the difference is stark. You will just get a

01:11:21   blank screen and a beach ball for minutes. It's not subtle, right? The, the, and you know, even like on

01:11:28   the NS table view thing, like all these, obviously they're all the same height. They're all fixed.

01:11:33   They're all not doing computation. Like it's just, you know, all the optimizations I know about from

01:11:37   app kit stuff, applying them to swift UI. Like it's so clear that what the problem is, is not that it's

01:11:42   not doing the thing because it is, you can, you can literally see it doing it. Like you can see lazy

01:11:46   V stack recycling those cells. And like, you know, it's doing it. The reason you know it is because

01:11:51   you load a thousand, 10,000, a hundred thousand, they perform exactly the same. Like there's no

01:11:54   difference in the performance. The problem is the thousand performance is not good enough. Like the

01:12:00   hundred performance is not good enough. The hundred and fifty thousand performance is exactly the same

01:12:05   as a thousand performance. They're both not good enough. Like it's so clear that it is, it's doing

01:12:11   the thing you described just like NS table view is right. There's nothing that's happening that is

01:12:15   like subverting that optimization. Now there may be other things that are happening that are

01:12:20   making it like slower, but like the basic optimization of just show some, a small number

01:12:24   of cells and recycle the content is absolutely happening. And like, you know, I did, I did the

01:12:29   thing I didn't describe as part of the debugging process, but when it was first happening with my

01:12:32   50 UI view, I said, all right, start over a new test app, uh, list. All it is a list with the word

01:12:38   hello in it a hundred times, right? Strip it down to nothing. How fast can it be? And then like build up

01:12:43   from there a constant string in a hundred thousand, you know, a thousand, a hundred thousand or whatever,

01:12:48   just empty app, nothing in it. Like, just let's see what the performance is like. And I can tell you

01:12:52   having built up from zero, from like the simplest thing you can possibly have, right. Building up

01:12:58   slowly to be something approaching a UI, the performance gets crappy so fast. Like it's, it

01:13:04   doesn't, you know, it's not like it becomes like unusable, but like the smoothness, like, Oh, this is

01:13:08   with the word. Hello. It seems pretty smooth. This is great. Right. And then you add like, Oh, can I have

01:13:12   another word in there? Hmm. I'm starting to get a little bit like there's still constant. Can I have

01:13:17   a third one? Maybe right. Justified. Oh no, it's all like it. It's not like it's terrible, but it

01:13:24   doesn't feel like it should. It doesn't feel like that webpage. It doesn't feel totally smooth. And

01:13:30   like, that was the thing I was doing of like, is there something that was like, is there something I

01:13:34   can do with the content? Is it, is the problem? The content is a problem like the data model or where

01:13:38   it's coming from, or like, let me just eliminate. There's, you know, there's no data model. It's

01:13:42   literally constant strings, right? You know, can I get acceptable performance in like the best case

01:13:48   scenario? And as I slowly added things besides the word, hello, it just immediately started to feel

01:13:54   not that smooth. Even just the word, hello, by the way, if you compare just the word, hello to an

01:13:59   NS table view with the word, hello and a table view stomps all over it on the Mac, right? It's still,

01:14:03   it's a, it's a, it's a table that is recycling cells with the word, hello in every cell. That's all it is,

01:14:08   right? It's a fresh new app. There's no data model, right? And NS table view is just faster,

01:14:12   right? So that shows immediately that SwiftUI on macOS has a long way to go to catch up in the

01:14:19   naive case to the responsiveness of AppKit. But both of those things seem to have a real far way to go to

01:14:27   catch up with the stupid brute force implementation of HTML and CSS with no recycling of cells, no clever

01:14:37   anything, just render it all. Just render it all immediately now and scroll it as smooth as glass

01:14:45   on your phone or on like, and any computer, like web technology is amazing, right? Like I said, not in

01:14:54   every aspect because of, again, once I start sorting column view headers, it's like, guess what? You're

01:14:58   re-implementing NS table view. You're re-implementing UI table view. Like there's a reason those optimizations

01:15:03   exist. There's a reason they've been re-implemented in the web and things start to tumble downhill pretty

01:15:07   quickly once you're doing everything in JavaScript versus doing it in Objective-C or Swift. Like

01:15:10   I'm not saying web technology is better than native and it's not the case. I'm saying that on the Mac

01:15:17   specifically, this is definitely a functional gap where I would have been very disappointed by the

01:15:23   performance. And like, again, I'm not experienced on the platform. So obviously there may be some things

01:15:28   that I'm doing wrong, but I asked a lot of more experienced people and every single thing they

01:15:31   told me to check out, it's like already doing that, already doing that, already doing that. Like

01:15:35   I was able to eke out some more performance, you know, it was already acceptable in NS table view,

01:15:40   right? And I was able to make it a little bit better. It's fine. Like it's okay. It just bothers me that

01:15:48   any amount of effort should be required on the Mac with any of Apple's native, uh, platforms to try to

01:15:56   match the performance of a naive HTML page that someone could slap together on geo cities.

01:16:02   It wasn't, it wasn't fast back in the geo cities days, but anyone can learn HTML and type those

01:16:06   tags and they can be lowercase. They can be capital. You don't even have to close them. Right.

01:16:09   The thing will just scroll like butter. So anyway, that was my journey this week on that screen.

01:16:15   I re-implanted it at least five times, ended up at NS table view. Performance is now acceptable.

01:16:20   Uh, that's probably where I'm going to ship in 1.0, uh,

01:16:24   may be revisited in future versions if I can get the web kit thing to work, but probably not.

01:16:29   Wow.

01:16:30   That was a journey, John. That was a journey.

01:16:33   Journey for me, man. Yeah. You want to write, rewrite the most complicated screening you're out

01:16:36   five times in a week? Don't recommend.

01:16:38   Nope.

01:16:38   Do not recommend.

01:16:40   I do not.

01:16:41   I'll do the last two items quick.

01:16:43   One, I'm working on voiceover stuff.

01:16:44   I am lousy at it. If you two have any voiceover tips, please send it to me.

01:16:48   I find it so hard to figure out where and how to put the right, like, uh, modifiers on the right

01:16:53   elements to get it to say same things when I use voiceover.

01:16:56   Cause like, if I put it on like the parent element, it stops saying the things about the child elements,

01:17:00   but I want it to say that the parent element is this larger thing. And anyway, I'm no voiceover

01:17:04   expert, but I'm trying. So that is another thing I'm struggling with this week.

01:17:08   Well, so very, very quickly, very quickly, if you think about call sheet and the right

01:17:12   hand side of like a person or a movie or something like that, there'll be like a title and then

01:17:17   below that a runtime. And there are modifiers that you can use to tell voiceover treat these

01:17:25   two things as one thing. So instead of saying, well, and I forget exactly how it works with

01:17:30   something, it would say something like, you know, a release date title, October 24th, 2024.

01:17:36   Well, now it says like, you can have it say, you know, released on October 24th,

01:17:40   2024 or something like that. And you can do that pretty easily. So if that's what you're

01:17:44   talking about, you and I can talk after the show and I can show you how I did that.

01:17:47   Yes. Please tell me a lot of my problem is like the, I have a lot of things like laid out like

01:17:51   grid views and stuff. And so the label and the value are separated. So I can't even put one

01:17:55   modifier on both of them. So it's, it's a little true. Like, you know, anyway, I, I'm, I'm, I'm not,

01:18:00   I know it's not going to be the voiceover support is not going to be great, but I want it to

01:18:04   be okay. And so I'm trying to get to the level of like, I could use it in my eyes closed and

01:18:08   sell what the things are. I wanted to say reasonable things for every item and just figuring out

01:18:12   where I can get it to say the right things. It's a little bit tricky. Oh, and you'll be

01:18:16   shocked to learn the controlling focus in Swift UI and Mac is terrible.

01:18:20   Oh, it's terrible on iOS too. I was fighting that earlier today.

01:18:23   It's worse on the Mac. I believe it's so bad.

01:18:26   Yeah. There's the new, does the focus state stuff exist on Mac yet?

01:18:29   Yeah, it is.

01:18:30   Yeah. That's it's, it is, it's a little limited.

01:18:33   It's the way it interacts in the hierarchy is bananas. Like doing things on the, on the

01:18:38   parent view overrides things in the child viewing. Like, but I don't want it. Like the whole point

01:18:42   is if I override it in the child, like why is the parent taking over? Like, oh, it just makes

01:18:46   certain things like very difficult. So I'm struggling.

01:18:50   Final item, uh, analytics. I said in the last show, I didn't want to deal with it at all.

01:18:54   Uh, having all the feedback from the Tesla light testers on it, by the way, I want to thank all

01:18:57   the ATP members. Casey was totally right. Uh, you are all great testers. I have so much feedback,

01:19:02   so much of it. Great. Just appreciate all of it. Uh, it also quickly led me to learn that I need

01:19:09   analytics because trying to get a sense of what's going on. I was not able to do that by it. And I'll

01:19:18   tell you, I'm reading everybody's feedback. I cannot respond to all of it. If I responded a lot

01:19:22   of your feedback, all I would do all week is just respond to feedback. So I thank you for all your

01:19:25   test flight feedback, but I can't actually respond to you all. It doesn't mean I'm not reading it. I am.

01:19:30   But anyway, I need analytics. Unfortunately, um, a, uh, company that is apparently a friend of the

01:19:36   show offered me a free account for their analytics service, which I gladly accepted. I probably

01:19:41   wouldn't have done this if they had not given me a free account. So thank you to them. Uh, and I am

01:19:45   trying it out and collecting analytics and seeing what it can tell me. I'm fighting a little bit

01:19:51   with the analytics backend, but at the very least the front end, uh, is doing stuff. Um, what am I

01:19:56   collecting? Just numbers. How many items did you scan? How many files? How many folders? How many

01:20:00   errors did you encounter? How many bytes did you scan? How many bytes did you reclaim? How many bytes

01:20:03   could you have reclaimed? Um, you know, how many times did you launch the app? I think I just listed

01:20:08   everything that I'm collecting. It is completely anonymous. There is no, uh, you know, no personally

01:20:13   identifying information whatsoever. It's just a bunch of numbers. Uh, and yeah, that's it. And so

01:20:19   it's given me some insight at least into the, uh, the testers. And, and I was glad I liked this, uh,

01:20:24   analytics package package because incorporating to the app took like two seconds. It was straightforward

01:20:28   to do. I am not enjoying the backend where I get to analyze this data because it is beating me up with

01:20:34   a free language that I do not like. Uh, but you know, it is what it is. So I will probably ship with that

01:20:40   analytics in there. So, um, one, I, I, I, I'm sure he won't mind me sharing this. Um, one of the most

01:20:48   ingenious things I ever heard from underscore, uh, is that for one of his apps for analytics,

01:20:54   he was just having the app just make a URL request to his server and encode a bunch of stuff in the URL.

01:21:03   Now this URL was actually not a real page on his server. It would just 404, which would be logged

01:21:12   to the error log, which he could then parse. Yeah. I've done, I've done the exact same thing

01:21:17   my whole career in web dev. Yep. That is a common thing. So it actually is like a, like a, a reasonably

01:21:23   easy. Absolutely. Because you, because if you're at a big company, you already have some system that

01:21:27   is ingesting your logs and like you can use it to analyze them. Just make an HTTP request, put data

01:21:33   in, in the URL and then take your law, your thing you already paid for. It's analyzing your logs and it

01:21:40   can extract stuff from the query string and you can, you know, decode it and deparse it and decrypt it and,

01:21:44   you know, slice it and dice it. Yep. It is the world's jankiest analytics system. Yeah. And you can,

01:21:51   you know, and if you think about like, you know, what you need for privacy protection is basically

01:21:55   like don't associate anything with people's IP addresses. Like that at this context, like that's

01:22:01   basically all you need to do is like, don't have any kind of persistent customer identifier in those

01:22:05   requests and don't associate IP addresses with them. You can make a custom HTTP log that has just these

01:22:13   query strings for things of this format and logs it to a log that does not, that does not log IP

01:22:18   addresses with a fairly straightforward engine X or whatever configuration. Yeah. And that's all I want to

01:22:23   know is like, but I just wanted to say like, what is the average number of files scan per scan? So I

01:22:27   just, every, every entry is a number. I just add them all up and divide by the number of numbers.

01:22:31   There's my answer, right? That's it. Like I'm just, I'm literally just, uh, log numbers, but yeah,

01:22:35   trying to, trying to sort of get a feel for that from people's screenshots was surprisingly difficult

01:22:40   because not everyone sent one and just getting a sense of them. Like what happens is like,

01:22:45   I think like the, the outlier standout, like that person who had 150,000 files is kind of an

01:22:49   outlier, 150,000 duplicates, not 150,000 files, 150,000 duplicate files. I don't even forget how

01:22:55   many millions of files were scanned to get that result, but, uh, but yeah, uh, the number, having

01:23:00   the actual numbers is going to be coming in. So I will probably ship with that. Uh, like I said, I'm

01:23:03   pretty happy with the, um, the SDK side of it seems pretty lightweight. And, uh, the performance is

01:23:10   good. Cause obviously when you tell it to log, something doesn't actually do it. It just puts in a

01:23:13   queue and then flushes it later. It's all Swift six compliant, you know? So it's, it was a very,

01:23:18   uh, simple and straightforward, uh, thing to put in there. So yeah. Analytics, uh, they are a thing

01:23:24   and we'll see how it goes. Oh, and the other, the only other thing I put in there is I did put

01:23:27   analytics for like how many people click the help buttons. Like did someone click a help button and

01:23:33   I'll just count up, you know, the app was launched 10 times and the help button was clicked

01:23:37   zero times, stuff like that. Oh yeah. And, uh, test flight testers. Don't forget to pretend

01:23:43   reclaim. I, now that I know from the analytics, a lot of you are not pretend reclaiming. You're

01:23:48   doing the scan and you get to see the numbers and you're like done and done. Don't forget to click

01:23:52   the reclaim button. Even though it doesn't actually get you disk space back, it does everything else.

01:23:57   It does a whole bunch of work and then just throws the work away. Right. But I want, I want you to

01:24:02   make it do that work because in the course of doing that work, it will encounter errors and

01:24:06   then you'll send me those errors and then I'll fix them or try to fix them or whatever. So please

01:24:11   the ratio of the ratio of people scanning to hitting the reclaim button is very low. Please do the fake

01:24:18   reclaiming. I know it will not actually reclaim space. It seems like a waste of time, but it really

01:24:21   helps me because you could do that reclaim and then tell me it crashed the app. It did this like

01:24:26   that's beta testing. You know, it broke my computer. Hopefully it won't break your computer, but you

01:24:30   know, beta testing. If you don't want to use a beta, don't sign up for a test flight. Guess what?

01:24:35   Test flight apps. They have bugs. So to release apps, don't tell anybody. But anyway, test flight

01:24:41   apps definitely do. So if you are a brave tester and you want to be a brave tester, click that reclaim

01:24:46   space button and then cross your fingers and let me know what bad things happen. By the way, I think

01:24:52   for pricing, like we got a few, we got a bunch of feedback on how you should price. I've got a ton of

01:24:58   that through a test flight as well. Yes. Yeah. I, what I have come around to being the best price

01:25:03   is a consumable IAP price per reclaim. Isn't that what I said? Yes, I think it is.

01:25:10   Come on, man. I know. I'm just saying like, I, we like upon further thought and upon, you

01:25:15   know, replaying Casey's argument in my head over and over again, definitely. That's how I was

01:25:19   convinced. That's how I was convinced. Um, you know, upon further thought, I do think like

01:25:24   given all the trade-offs, given your desire for ongoing revenue, given how you want to be

01:25:28   able to fund future things and, and, uh, you know, make the app better to be able to reclaim

01:25:33   more space and everything. And because of the nature of it being like, most people are going

01:25:38   to have most of the value be like this one time upfront thing. You know, I think about,

01:25:42   you know, a, a kind of similar, but not quite a market is those, uh, like SD card data recovery

01:25:51   tools where those are, those are almost always like, you know, you don't get a free trial for

01:25:58   your SD card data recovery tool. Because chances are, if you have a need for that kind of app,

01:26:03   you need it right now, probably once, and then you'll never use it again. Uh, or maybe you'll

01:26:11   use it again, like five years from now where you're, you will again, like desperately need

01:26:14   it right now. So those apps are priced and, and are structured such that like, you know, all

01:26:20   their value is upfront. So they don't like give you a week free or anything. You just have

01:26:25   to pay for it. If you want to recover the data, maybe you can see the data before

01:26:28   paying, but then to actually get the data you have to pay. I think this app has, you

01:26:35   know, a similar, like customer value timing dynamic where like, you know, as, as mentioned

01:26:40   last time for most people, the, the most value they will get out of this app will be captured

01:26:46   the first time they run it. So I think having it be, you pay me, you know, whatever it is,

01:26:52   10 bucks, like whatever it is, you pay me 10 bucks to do the, the reclaim step. Like

01:26:58   I'll scan it. I'll show you how much you can reclaim for free. And if you want to actually

01:27:02   reclaim, reclaim this space, you pay me 10, 15, 20 bucks, whatever it is. I think that's

01:27:07   the right move. And then if you want to reclaim, if you want to run it again in two years and

01:27:12   get another 50 gigs, a hundred gigs back, it's another 10 bucks. I think that's best. You

01:27:17   could even then, if that is your model, you could even then also have tiered pricing by

01:27:23   how much data is being saved. So like if someone's only going to save 20 gigs, maybe they're going

01:27:28   to have that for like, you know, two bucks or five bucks. If someone's going to save, like

01:27:32   in my case, when I scanned my, my NAS drive, I could save 750 gigs.

01:27:40   It's a good thing. I didn't have the analytics on that because you were literally thrown off

01:27:44   the average.

01:27:45   Yeah. Right. Maybe that's 20 bucks. Like, you know, like I, I think you can, you can see that

01:27:50   scaling, like, you know, maybe a hundred gigs is 10 bucks. Maybe, you know, up to, up to a

01:27:57   hundred gigs to 500, you know, like what you could tier it like that. Um, and then, you know,

01:28:01   if I, if I run it there and that gets me that reclaim perfect. But if I all, if I have

01:28:07   two computers, I think it kind of makes sense to pay for two different reclaims since what

01:28:12   you're, what you're paying for is literally, I am paying to get that amount of space back.

01:28:18   So I really do think that that is probably, you know, there, there are ways in which it's

01:28:23   not perfect, but I think that is probably the best price structure. And I think that will

01:28:28   give you the most bang for your buck, so to speak. Like I think that'll give you the best

01:28:31   income. And I think it will be easier to do things like dynamic pricing to help align the

01:28:38   value that the app delivers to the customers with how much they are then willing to pay for

01:28:42   it.

01:28:43   I think that, uh, the word best in the sentence, uh, the best pricing structure for your app

01:28:47   is doing a lot of work there.

01:28:49   The least terrible pricing structure for your app.

01:28:53   It depends on what you value. I have to say that the, uh, the test flight feedback has

01:28:57   not been as enthusiastic about this approach as you are. But again, test flight is not necessarily

01:29:03   representative either because they're all like ATP members and you know, they're technical

01:29:07   people or whatever. But then again, they're also the people who are going to buy the app.

01:29:09   And anyway, uh, you know, I'm not really worrying too much about pricing this point, except for

01:29:14   dealing with bugs related to pricing, which I'm still trying to make sure I can make sure

01:29:18   everything works the way it's supposed to, uh, you know, be before I ship, I can obviously change

01:29:22   my mind about monetization and stuff. But for now I'm just working on the app.

01:29:26   I obviously agree with Marco, who's in turn agreeing with me that I really think consumables,

01:29:32   I, this is one of the very, very few places other than a game that I think consumable does

01:29:38   make sense. And, and, and I think it's worth considering and you likely will not end up going

01:29:44   that route, which I understand, but I really think you should think about it.

01:29:47   We are sponsored this episode by delete me. You ever wonder how much your personal data is out

01:29:54   there on the internet for anyone to see and easily find with a quick web search. It's so much more

01:29:59   than you think your name, your contact info, your phone number, social security number, getting a

01:30:04   little creepy, your home address, getting pretty creepy. Even that same information about your family

01:30:08   members, which to me is extra creepy. All of that is being compiled by data brokers and is easily

01:30:14   sold online to whoever wants it. And this means your data is just a commodity. Anybody can buy your

01:30:19   private information. You can even find it really easily with web searches for free. This can lead to

01:30:23   identity theft, phishing attempts, harassment, and spam and all sorts of problems. So you can protect your

01:30:29   privacy better with delete me. Here's what they do. They go to the data broker sites. They, you tell them what

01:30:35   information you want deleted and their experts will go and remove it from those data brokers. They send you

01:30:41   regular personalized privacy reports showing what they found, where they found it and what they were

01:30:45   able to remove. They're always working for you. It isn't just like a one time thing. They are constantly

01:30:50   monitoring and removing this information you don't want from these brokers databases. And this makes it

01:30:55   much harder to find your stuff. It shows up in way fewer places. So delete me does all the hard work

01:31:00   of wiping your and your family's personal info from these data brokers. So you can take control of your

01:31:06   data and keep your private life more private by signing up for delete me now at a special discount

01:31:10   for our listeners. Today, you get 20% off your delete me plan. When you go to join delete me.com

01:31:16   slash ATP, use promo code ATP at checkout. The only way to get 20% off is to go to join delete me.com

01:31:24   slash ATP and enter code ATP at checkout. That's join delete me.com slash ATP code ATP. Thank you so much

01:31:31   to delete me for sponsoring our show. All right, let's do some ask ATP. And we start with Jeremy

01:31:40   Kelleher, who wrote probably three years ago, knowing us, but I think it was actually fairly

01:31:44   recently. Wondering about your suggestions for a nerd who will be shopping for their first home soon.

01:31:50   While I'm touring homes, are there tech related questions I should ask? I'm thinking, is there

01:31:54   ethernet running throughout the house? Or is there power in the garage I can use for an EV charger?

01:31:59   I think those questions are great. You're also hitting me at a bad time or really a great time,

01:32:05   depending on how you look at it, because as we'll probably be talking about in the post show,

01:32:09   I'm turning into one of those. It's not CrossFit. No, it's the nerd equivalent. It's home assistant.

01:32:16   And so, um, I think it is not quite as healthy, not quite not nearly as healthy and probably quite a bit

01:32:23   more expensive. Um, it's worth thinking about if you want to do any sort of home automation, be that,

01:32:30   you know, home kit, be it a home assistant, be it whatever. Uh, what is the situation for the

01:32:36   switches in the house? Are there smart switches? And if so, will they convey, you know, will the owner

01:32:41   leave them? Are you talking about light switches? Yes. I'm sorry. Yes. Light switches.

01:32:44   I'm sorry. People don't think of the ethernet switches, but yeah, light switches. Yeah. Let's

01:32:47   say you see a bunch of Lutron Caseta stuff in the house. Are they going to take those with them?

01:32:51   Cause honestly I probably would. Um, and if you, you're going to rip out the light switches when

01:32:56   you move out of your house. Oh, hell yeah. And I'd put it in the regular dumb switches. I absolutely

01:33:00   would. Oh my God. It's like getting the fans off the ceiling. I wouldn't go that far, but,

01:33:04   um, so in this, hold on. So in this scenario, so, you know, Lutron Caseta switch is about 60 bucks.

01:33:09   So in this scenario, you're going to rip out a switch that is probably by that time,

01:33:13   like a decade old, uh, just, and, and, you know, you should probably have an electrician

01:33:18   do some of this types of things too. So it's like, that's never going to be worth it.

01:33:23   Actually, that is true. I'd probably use it as an excuse to upgrade. So maybe I'll take

01:33:26   it all back. Okay. Casey's never going to move. So it'll be fine.

01:33:28   That's also true.

01:33:28   If you buy someone's house who was a smart home enthusiast, chances are what you're going

01:33:34   to find in, if, if they do have like wall switches, it's all X10.

01:33:38   Yeah. Or it's going to be like an old, like, you know, broken, like old thing from, you

01:33:41   know, some standard from 15, 10, five years ago.

01:33:45   X10.

01:33:45   Well, right. Fair. Yeah. But like, you know, it's, it's going to be like, you know, Belkin

01:33:49   Wemo switches that no longer pair to the anything or like, it's going to be like old, broken,

01:33:54   crappy home gear. Like that's, you're not going to find somebody with, with a house full of

01:33:59   caseta switches. Like, you're not that lucky. Like that's, that's not, that's not what you're

01:34:03   going to find. You're going to find somebody with a bunch of cheapo Amazon knockoffs.

01:34:07   Yeah. But leaving that aside, like, I think it's worth identifying, you know, whatever smart

01:34:13   home stuff is there and figuring out what's going to happen with it. But on the assumption

01:34:16   that nothing is there, depending on the age of the house, you might want to maybe during

01:34:21   inspection or perhaps even before figure out, you know, what is it? The, the wire that I'm

01:34:27   thinking of, the common, is that what I'm thinking of? The, the wire that for the thermostats?

01:34:30   Well, for thermostats and I think for smart switches as well.

01:34:33   Oh, a neutral.

01:34:34   Neutral. Maybe that's what I'm thinking of.

01:34:36   How did you forget that word on this podcast?

01:34:38   Right? Seriously? I think I was conflating the two, but yes, a common wire for, as Marco

01:34:43   said, a thermostat or a neutral wire, uh, for light switches. Basically, if the house is old

01:34:47   enough, the switch may not have power unless it's switched on. And that's bad for a smart

01:34:55   switch, right? You want the smart switch to always have power. And then the device that

01:34:59   it's switching may or may not have power depending on whether the switch is on or not. Um, so

01:35:03   you might want to ask about that. Uh, another thing that I think is very important. And I

01:35:06   mean this genuinely is what is the, uh, what are your ISP options where you're living? You

01:35:10   know, I, all three of us now have been spoiled by Fios for 10 plus years. I genuinely think that

01:35:17   if I had the choice between a darned near perfect house in Comcast territory and a house that

01:35:23   wasn't quite as good, but in Fios territory, I'm buying the Fios house every day of the

01:35:27   week and twice on Sunday because it is that much, it truly makes my life as a nerd that

01:35:33   much better. And just the other day I was somewhere, I want to say it was a library or something

01:35:37   and the internet was a little spotty there and it was beyond infuriating. I, I, I don't have

01:35:44   patience at 40, almost 43 years old. I don't have patience for crappy internet. I cannot tell

01:35:50   you how amazing Fios has been for me. And I think I speak for all three of us. So I think

01:35:53   I would look into that.

01:35:54   And on the ISP front, by the way, I feel this pain, not personally because I like Casey, uh,

01:35:59   intentionally bought a house that could get Fios. Um, my relatives unfortunately live in places

01:36:04   where their ISP options are very limited and have been terrible. So every time we do FaceTime

01:36:09   calls with people, they look like potatoes because their upload is terrible. Also they have terrible

01:36:16   lighting in their house, but other than that, their upload is terrible. And they, we look clear to them

01:36:21   because it's like, you know, some crappy Comcast package where their download is perfectly adequate,

01:36:25   but their upload is like nothing. Right. And so a very exciting development. My sister recently said,

01:36:31   Hey, there's this company in the neighborhood there. They're say they're offering me, you know,

01:36:36   internet service for X amount, Y, Z or whatever. And I was like, do it, take it, do it. Like you

01:36:42   need to get off of Comcast. Right. It was, I don't know if I remember the name of the company is,

01:36:46   but it's one of those, like, you know, like, I don't know if it's municipal fiber, but some kind

01:36:50   of like one of those upstart fiber companies that's like, but I've never heard of this company.

01:36:54   I'm like, it's like, do it.

01:36:55   Names that sound like Skynet, but are not Skynet.

01:36:58   It's just like something I'd never heard of. I'm like, whatever it is, do it. How many years

01:37:04   have you been suffering under the yoke of Comcast, Xfinity, whatever the hell it's called now,

01:37:09   do it. And guess what? She did it. Uh, and her upload speed went from like 0.5 megabits per second

01:37:17   to 600. You have, and the other thing is she called me and she was like, uh, there's something,

01:37:23   you know, I can't, I'm not getting, I did a speed test and it's showing me these numbers

01:37:26   and they're not, you know, the speed test up here on the third floor is not as good as

01:37:29   it is in the basement or whatever. And it's like, um, well, first of all, that number is

01:37:34   like, you know, 200 at that point. And it used to be like 0.5 megabits. So like, congratulations,

01:37:40   that's way better than it was. But second of all, I debugged the situation and what they did,

01:37:43   they had installed, uh, the ISP router, like where, where her old, uh, you know, Xfinity router

01:37:49   was like, and it's like next to the TV and like the sort of downstairs, like split

01:37:53   level, like entertainment room or whatever. Uh, but she had an Eero system that I had given

01:37:57   her one of my old Eeros. I gave her an installed at her house to try to like mesh network the

01:38:02   wifi from what is essentially the basement up to like the third floor or like loft area where

01:38:06   she's got her iMac on wifi essentially. And she said that Eero system for ages. And so she's

01:38:12   like, I, I hooked up the Eero to try to get better signal to the Mac upstairs, but it's not

01:38:16   working. I looked at the way everything was configured and it was, she had two wifi networks,

01:38:21   both somehow with the same SSID, but they were like fighting with each other. Uh, in the end,

01:38:26   the solution was unplug all the Eeros, put them into a Ziploc bag, find someone else who wants them

01:38:31   and use the one router that this weird janky fly by night company that gives you fiber gave her

01:38:39   that's in the basement. And now she's at 400 megabits per second, up and down symmetrical from

01:38:44   a wireless iMac on the third floor. I'm like, welcome to civilization. ISPs make such a big

01:38:52   difference. You don't think of, Oh, you're such a premium. You need to have your fast speed for

01:38:55   your torrents. No, no. It's, it's about human connection. Do you do FaceTime calls with your

01:38:59   family or like Google video? Like this is how we see whenever this is, this is how we see our

01:39:04   relatives, people who aren't flying around from place to place, right? We see the other people in

01:39:08   our family and talk to them through two-way video. And if people have poor upload, you can't see

01:39:15   them. It's not a thing that you can control yourself, but you know, so this is the gift

01:39:19   you give to everyone else. Get a good ISP with good upload speed. Do not ignore the Xfinity thing that

01:39:24   say, Oh, look at this big number. You're going to get down. Who cares about down? You want symmetrical

01:39:28   and cable tend not tends not to be symmetrical for a lot of historical and technical reasons.

01:39:33   and fiber tends to be. So yeah, look for a house that has a choice of fiber ISPs, not just Verizon,

01:39:40   but there's all sorts of other ones that are around. Uh, and they, some of the, again, I don't

01:39:44   even remember the name of this company. Anything is better than massively asymmetrical and expensive

01:39:49   cable. Yeah. And, and, you know, there's a number of, you know, shortcomings for nerds that houses

01:39:55   might have that you could fix, you know, if you want to either yourself or maybe by applying small or

01:40:00   maybe large amounts of money, usually your availability of ISPs cannot be fixed with any

01:40:06   amount of money. Sometimes you can like pay somebody to run a cable to your house, but that's rare.

01:40:09   You're going to pay them huge amounts of money, like enough to buy five more houses.

01:40:12   Right. Yeah. Like for the most part, like whatever ISPs are available for your address,

01:40:16   you're stuck with that and it's very hard to ever change it. So my sister has been in the same town

01:40:21   for, I don't know, 15, 20 years. Finally, she has one ISP choice. It's not like RCN or Xfinity or

01:40:27   whatever. Yeah. And so like, you know, when you're thinking about like, you know, going back

01:40:30   to Jeremy's question here, like, is there power in the garage you can use for an EV charger? Well,

01:40:34   if there's not, usually the circuit breaker box is in the garage. So it's pretty easy for an

01:40:40   electrician to come out and add that without too much cost or hassle, because you're adding something

01:40:44   in a garage next to the circuit breaker. Like that's fine. That's one of the, but I already

01:40:48   actually answered Jeremy's email from who knows how long ago, because I didn't want to leave them

01:40:52   hanging about this, but that was the main piece of advice I had is when purchasing a home and when

01:40:56   you're looking at a home. And I was giving advice from the perspective of somebody who is, who did

01:41:02   the one amount of home shopping he has ever done in a very hot real estate market, where the idea of

01:41:08   picking a house based on what it has is laughable, let alone like demanding that you have things.

01:41:14   It's just like trying to find a house that will accept your bid and, you know, waiving the inspection

01:41:19   and just accepting that a family of rats lives there or whatever. Cause that's what it's like

01:41:23   in a hot real estate market. And you don't forget to ask to, to offer a 20% over asking. Anyway,

01:41:28   um, the, the way I'd framing it is questions is like finding out what you're going to have to do to

01:41:35   the house when you buy it, to factor that into your equations. Not like you should look for a house

01:41:40   that has this. Marco's right. The ISP thing is the one thing you have to do that because you can't fix

01:41:44   this, but almost everything else, especially if you're in a hot real estate market is like,

01:41:48   um, I'm giving you advice. So you know what you're in for, not so that will influence your choice.

01:41:53   You should not forego a house that doesn't have what I'm about to describe, but just be aware that

01:41:58   the house you're buying doesn't have this because you're going to have to pay for it yourself. And I

01:42:02   think the one thing I suggested was find out how many amps are supplied by the, the, the circuit breaker,

01:42:10   the panel, like how many amps of power are available in this house? I forget what they come in,

01:42:14   like a hundred, 150, 200, or whatever. You kind of have to know how much power is already in the

01:42:20   electrical system in the house and how close to the limit of that power of the house is. Very small

01:42:25   house might not need that much. Very big house might need more. Does it have air conditioners? How many,

01:42:28   you know, air conditioning uses it have? What is all, what is the heating and cooling like? And then you

01:42:33   have to add to that the loads that you think you're going to add with your nerd stuff. Do you have an EV?

01:42:37   Do you have a bunch of computers? Do you have a big TV and entertainment center? Do you have a big stereo?

01:42:41   Like that's going to add up. You should do some kind of back of the envelope math and figure out,

01:42:46   Hey, this is a 3000 square foot house with 100 amp service. Nope. I'm going to have to upgrade that.

01:42:52   That's why I'm telling you, look at, look at the panel, like find, especially old houses are way

01:42:57   under provision for modern standards. Yes. Despite the fact that they had incandescent lights,

01:43:01   they didn't have EVs. Right. So be aware that when you're looking at a house again, don't not buy it,

01:43:06   but fact, you know, go to electrician and say, Hey, if I want to upgrade the service and they can,

01:43:10   they just run another line from the street or like connect the lines already running from the street.

01:43:13   Like it's not, it's not like you can't do it, but you have to pay an electrician to do it because you

01:43:17   will die. Okay. Right. Um, and it's going to cost you a lot of money because it is dangerous work that

01:43:25   only electrician can do. You want to know that number. So that was my number one piece of advice

01:43:31   for any tech nerd buying a house, find out how much power is going to it. And if you will have to

01:43:36   on day zero, before you move in, upgrade the service to your house and pay an electrician to do that.

01:43:42   Yeah. Well, and also that, that typically involves the electric company as well. Like you have to get

01:43:46   approval from them to upgrade the service and you will then have to replace probably your entire

01:43:50   breaker box. Like it, it's, so it is, it's quite a job, but it can be done. But it's, you know,

01:43:55   it's probably like a few thousand bucks.

01:43:56   And sometimes it has to be done. Like if you want to live a sane life with like a lots of

01:44:02   electronic equipment and it's definitely an EV. Yeah. And you can do stuff like, you know,

01:44:06   smart breaker panel boxes that'll make better use of limited service, but usually upgrading your

01:44:10   service is actually pretty much the same price as a, as a smart breaker box. So you might as well

01:44:15   just upgrade the service. But, uh, sometimes if you don't have that option,

01:44:18   the smart breaker boxes terrify me. It's just like, yeah, we're just going to take power from this part

01:44:22   delivered over there. It's like, I just, I need like, let me do that. I'll turn lights off

01:44:26   and stuff. I just need, I need it to be possible to cook in the oven or on the microwave at the same

01:44:31   time. I need to be able to do that. Like without the lights going out. So yes, please check your

01:44:36   service. Yeah. And I think a corollary to that is how many open slots do you have in your box? I mean,

01:44:41   it very well, maybe that you were going to replace it anyway, but if you're bursting at the seams,

01:44:45   maybe, maybe you have 500 amp service. I'm being facetious, but you know, you have 500 amp service,

01:44:51   but you have one little itty bitty slot for a new circuit breaker. Well, guess what?

01:44:55   The whole kitchen's on one circuit breaker. That's the thing you want to know.

01:44:58   That's the other, yeah, right. That's the other thing. But, but you know, if you only have one

01:45:02   slot available, then you're either going to need to have a daughter, you know, box or what have you,

01:45:06   or you're probably going to need to replace the whole damn thing and rejigger it all. So

01:45:08   that's also worth looking at. Um, but in terms of nerd stuff, I mean, yeah, is there Ethernet running

01:45:14   throughout the house? I think that's a fair question. Um, if not Ethernet,

01:45:17   is coax running throughout the house. I have had extremely good luck with, as I've talked about

01:45:22   many times in the past, uh, Mocha bridges, which are basically things that go from Ethernet to coax

01:45:28   and then back again. So my house is sort of kind of wired for Ethernet nerds. Just let it go. It's

01:45:33   fine. Uh, my house is sort of kind of wired for Ethernet because I have these boxes in a couple of

01:45:38   places and I just ride on the coax and it's surprisingly fast. It's not as good as real Ethernet,

01:45:42   but it's close. It's certainly not as good as fiber. Am I right? Uh, but anyways, you know,

01:45:46   I would look at what is the in wall situation for Ethernet for coax and for anything really and see

01:45:53   what's available. But I think for me, that's most everything. Marco, I feel like you haven't had a

01:45:58   chance to offer any unique suggestions. I you've certainly had commentary about ours. Uh, anything

01:46:03   you can add? Yeah. Mainly that like, so yeah, Ethernet running through the walls would be amazing.

01:46:07   You're not that lucky. It's not going to happen. You're not going to find it. I've, I don't think

01:46:10   I've ever seen a house that had Ethernet already in the wall. Or if you did, it's not going to be

01:46:14   like cat six or cat seven. So it'll do one gigabit or whatever. Yeah. So for me, the, the, the question

01:46:20   there is not, is there Ethernet in the walls and is there an EV charger? Cause there won't be either

01:46:25   of those things. But although you'll, you're more likely to find an EV charger these days than

01:46:29   Ethernet. But the question is how hard is it to add it? And that depends on the house. Like one,

01:46:34   what would really help a lot is if the house has a basement or a crawl space under

01:46:40   it and an attic above it, then you can much more easily like run wires, you know, in and

01:46:46   out. Or like, if there's an attached garage, you can kind of go from the garage and go in

01:46:50   and out of stuff. Like basically like, does your house have like utility spaces above, below,

01:46:55   next to, or throughout, uh, any kind of utility clauses, anything like that, where you could run

01:47:00   wires through and access the interior walls of some of the other rooms, like by, by going in

01:47:07   from above or below. So you don't have to like tear up big sections of wall. So the question is not

01:47:11   like, will you find a house with Ethernet? No, you won't. But the question is how involved and

01:47:16   disruptive and expensive will it be to add Ethernet to this house? And you don't necessarily, like,

01:47:22   you know, if you're going, if you're going to have to do that to a house, you don't need

01:47:25   Ethernet in every single room. If you can get it in, in most rooms, that's great. But if, you know,

01:47:30   if you're trying to retrofit it to an existing house and, um, you know, and don't want to tear up

01:47:36   every room or don't want to spend quite that much money to do it, you can just kind of have like, you

01:47:40   know, the greatest hits, like, you know, have, have Ethernet go from like the garage, wherever your

01:47:46   computer will be, wherever your TVs will be, and wherever you think you might need a wireless

01:47:53   access point. Now, if you want to go even, you know, even further, you could, you know,

01:47:57   run Ethernet to anywhere. You might want a power over Ethernet device, like a camera. Um, but that's,

01:48:03   that's more kind of advanced mode. Uh, but yeah, most houses could be well wired for nerds sake for

01:48:10   Ethernet with between like two and four ports. Like if they're well placed throughout the house.

01:48:17   Yeah, I agree. That's all I've got. The only things that are connected to Ethernet and I wired them

01:48:21   myself through my large basement is my computer room. So every single computer that is not a laptop

01:48:26   is connected to Ethernet, uh, and the TV entertainment center. So all my streaming boxes and everything

01:48:31   like that. And my PlayStation is in here in the computer room. So every device that I care about

01:48:35   is on Ethernet, but there's literally only two rooms in the house that have Ethernet. And my security

01:48:40   cameras, those have power going to them through like a little USB-C thing that plugs into a plug that's,

01:48:44   you know, in the garage or whatever. Like, but they just use Wi-Fi because with a good mesh network,

01:48:50   you don't need that many access points to cover my not so big house. So yeah, if you're thinking like,

01:48:54   I got to have Ethernet in every room, you don't, unless you live in some like 50,000 square foot

01:49:00   giant mansion, right? Like just Ethernet in strategic places plus good mesh Wi-Fi will get you covered.

01:49:05   The only other thing I think about related to networking stuff is, I don't know if this is a thing you can

01:49:11   really check because the people you're buying the house from are never going to tell you this or whatever,

01:49:15   like, do your walls have lead in them? Isn't one of those old houses where for some reason,

01:49:21   Wi-Fi cannot penetrate from room A to room B, you know, you're only going to kind of find that out

01:49:26   when you're there. But like the things we're talking about here, this is another reason why if at all

01:49:31   possible, again, don't not buy a house because of these things, but just be aware of them and factor

01:49:35   it into both your budget. And considering like, can we afford this house given that we have to upgrade

01:49:39   service, given that we have to do X, given that we have to do Y. And also the time of like, before

01:49:45   you move in is the time to have somebody ripping apart walls and fishing things through attics and

01:49:50   basements before there's furniture, before you live there. I know that's a luxury that sometimes you

01:49:53   don't always have, but like before you settle in, do the, you know, obviously the, you know,

01:50:00   refinish the floor. It's like before you move your stuff in, right? But even just fishing things

01:50:04   through walls, uh, or, you know, trying to get something into a difficult place, it's a lot

01:50:10   easier to have some, to either do that yourself or have someone else do it when there's nothing else

01:50:13   in your house. And, and, you know, in worst case scenario, if you, if you want ethernet throughout

01:50:18   your house, uh, but it's difficult, you know, to, to get it through the walls or anything like

01:50:22   a lower tech solution might be fine depending on how much jank you can tolerate. Um, like when we were,

01:50:30   when we first bought this house and I, my ethernet wiring wasn't, uh, wasn't installed yet,

01:50:35   I ran the cable out the window and threw into the garage. Like I, cause ethernet is very tolerant

01:50:42   of running long distances through lots of different conditions. And we know Margo's kink, so

01:50:47   origin story. Yeah. So like, I just, I bought like 140 ethernet cable and plugged it into my computer

01:50:54   and ran it out the window and closed the window on top of it. So it wouldn't move and just ran,

01:51:00   you know, through the bushes across the, across like the front of the house. Yeah. It's like

01:51:04   running, it's like running Christmas light wire. You just got to tuck it in different places and

01:51:08   then, you know, under the garage door, like into the garage. It was, and I ran it that way for like

01:51:12   a couple of months and it was fine. Similarly, like, you know, if you like, you don't need necessarily

01:51:17   to have ethernet jacks in the wall. If you need to, you can just like, I mean, depending on again,

01:51:24   where you can kind of hide or get away with this, you could just like drill a hole in the floor and

01:51:29   run a cable from your basement up into the, like, like there's lots of different ways you can do it.

01:51:35   It's pretty tolerant and it doesn't have to be perfect.

01:51:38   That's how my internet gets to my rooms.

01:51:40   Yeah. Right. Like, cause it works. Like, like a lot of times, if you, especially if you have an old

01:51:45   house, like it can be pretty difficult to, to run like professional wiring in, in the walls,

01:51:51   into jacks in the walls, like that could be very disruptive. Unless you're willing to rip open the

01:51:55   entire walls and that's a much bigger project. Right. Exactly. It can be like, you could do it

01:51:59   the way every college nerd did it when we were in college, just like run the cable down the stairs

01:52:04   and tape it to the wall. There's, there's lots of options, but anyway, good, good luck with the

01:52:09   house hunt, uh, Jeremy, if you're still in it, uh, or if you, if you are, if you weren't to begin

01:52:15   with, but yeah, there, there, there are a lot of options, but the thing with most houses, it's,

01:52:18   it's not, will it have this already? Cause it won't. Uh, and if it does, it'll be some

01:52:23   ancient or bad version that you won't want to use. It's more, how easily can this be added

01:52:27   and how much will it cost me? Yeah. Pick your house based on the location. That's stupid.

01:52:31   You know, saying location, location, it's true. That's stupid, but it's true. Pick it based

01:52:35   on the location. All right. The, the, your people's commutes to you, to your jobs, uh, proximity

01:52:40   to public transportation, to, uh, you know, grocery store, all that is going to may have

01:52:46   such a bigger effect on your life. The only reason all these things we're talking about

01:52:49   come in is because you have to factor them into your time and money budget. And so that's

01:52:53   how you're selecting. You're not, you know, like I said, do not reject the house if it's

01:52:56   in the right location. If it doesn't have all these things, if you, if it fits within your

01:53:00   budget to fix all of them, the only one you can't fix is the ISP.

01:53:03   Yeah. It's all about location and fiber ISP access. All right. Thank you to our members

01:53:11   who support us this week. And thank you to our sponsors, Squarespace and DeleteMe. One

01:53:15   of the perks of membership is our weekly overtime, our bonus topic every week. This week in overtime,

01:53:21   we're going to be talking about the Nintendo Switch 2 that was announced. Uh, we don't know

01:53:25   much about it yet, but we know enough to talk about it. So this week overtime, Nintendo Switch

01:53:30   2 announcement, uh, you can join us at atp.fm slash join. If you want to listen to that overtime

01:53:35   and all the other member exclusive content that we do, including overtime every week and

01:53:39   a bunch of different specials, et cetera. So thank you very much for everybody for listening

01:53:43   and we'll talk to you next week.

01:53:52   And you can find the show notes at ATP dot FM. And if you're into Mastodon, you can follow them

01:54:18   at C A S E Y L I S S. So that's Casey Liss. M A R C O. A R M. And T Marco Armin. S I R A C.

01:54:32   U S A Syracuse. It's accidental. Accidental. They didn't mean to. Accidental. Accidental. Tech

01:54:44   So I alluded to a little bit of home automation talk earlier.

01:54:52   Oh, I can't wait. I can't wait. There's a, there's been a monumental, uh, occurrence in

01:54:57   the Liss household, uh, which literally nobody in the household is even aware of other than

01:55:01   me, but, uh, this is how it goes. Uh, so to recap, we talked, and I believe it was on episode

01:55:08   376, which we'll put a link in the show notes. We talked a couple of years ago, one of my

01:55:12   pandemic projects as especially nerds will want to do was to make the most cockamamie and ridiculous

01:55:20   Rube Goldberg scenario for alerting myself if the garage door was open. Um, we have a smart

01:55:27   garage door opener, like the physical machine that opens and closes the garage door. Uh, but

01:55:33   it doesn't work with home kit. It will never work with home kit. And I could get the like

01:55:39   my Q thing, but I had one and it was all right. And then it got better for a while. Then they

01:55:45   like took away home kit access or something like that. I forget the details. It doesn't really

01:55:48   matter, but I needed a project anyway. And so what I had done was I got a couple of raspberry

01:55:53   Raspberry Pi zeros, which at the time were the cheapest and most underpowered raspberry

01:55:59   pies that existed. Um, I think that they have, uh, things that are closer to an Arduino now,

01:56:05   but either way at the time in like 2020, they were the cheapest I could get. They were like

01:56:09   10 or 15 bucks. I think each, uh, I got zero WH is, which is to say zeros that had wifi capability.

01:56:15   There's a W and the H meant that they had the GPIO that basically the IO pin soldered on because

01:56:21   by default a Raspberry Pi zero doesn't have any of the pins to connect to other stuff.

01:56:26   And I had one, uh, literally sitting on top of the garage door opener with a contact switch,

01:56:32   uh, running on up to the top of the garage. And it would use that contact switch hooked to one of

01:56:39   these aforementioned GPIO pins to figure out whether or not the garage door was open. And when it was

01:56:44   opened or closed, either way, it would periodically broadcast a UDP packet on the network saying to

01:56:49   anyone who wanted to listen, the garage is open, the garage is open, the garage is open or whatever

01:56:54   the case may be. And then I had another PI zero WH up in the bedroom hooked up to an led. And when it

01:57:01   received one of those UDP packets saying the garage is open, then it would illuminate the led. And

01:57:06   although in the two or three years, I forget when we recorded that episode, it got, it might've been

01:57:10   five years at this point. Time is something else. Anyways, in the several years since this, uh, since,

01:57:16   since I started this whole project, it's been mostly bulletproof and there have been five or 10 times in

01:57:23   five years that I have had the garage door closed because I noticed the red illuminated LED by my bed. Uh,

01:57:30   so mission accomplished. Put all the, putting all that aside, uh, recently over the last several months,

01:57:36   I've started to, started to dabble again with home assistant. I had been running home bridge, which was my

01:57:42   preferred home automation thing of choice. And home bridge is pretty darn good at taking things that

01:57:50   don't have native home kit support and putting them into home kit. And that's done mostly via

01:57:57   JavaScript, uh, like add-ons and things like that, because Hey, why wouldn't you JavaScript's everywhere?

01:58:01   Um, and I did like it and use it for a long time, but let me tell you the home assistant people,

01:58:09   you think John's flying monkeys are bad. Oh, let me tell you the home assistant flying monkeys are worse.

01:58:14   Uh, they will not stop talking about home assistant. Everything relates to home assistant.

01:58:18   There's no problem that cannot be solved by home assistant. And it is the only thing is the only

01:58:24   software you should care about period. And I always found that so incredibly off-putting. And I did try

01:58:30   home assistant around the time I had trialed home bridge and I just couldn't wrap my head around it.

01:58:35   It was wildly different than what I wanted. And I didn't understand how it works.

01:58:40   Well, I am here to tell you, I now understand how it works. I am now one of the flying monkeys

01:58:45   and everything relates to home bridge or excuse me, home assistant. Now there is no problem gentlemen

01:58:49   that I cannot solve with home assistant. Um, but I, in my home assistant, uh, journey,

01:58:56   I became aware of something that I should have known about. It's existed for like 20 years or

01:59:02   something like that, but I'd never heard of before. And this is MQTT. It's an acronym who's, I already

01:59:09   forgotten what it stands for. It doesn't really matter, but what it basically is, uh, there you go. MQ

01:59:15   telemetry transport. That totally explains what it was, what it is, or at least that's what it originally

01:59:19   was called. I think it has a different definition now. Um, what this basically is, and the nerds will

01:59:25   come after me for this description, but what it basically is, is like a data bus. So it's a pub

01:59:29   sub sort of thing where you can say, I would like to know when such and such happens or Hey, such and

01:59:35   such happened. And so I'm running this as you would expect, uh, as a Docker image, as a, as I am home

01:59:41   assistant on my Synology, it is extremely lightweight and extremely fast. And I have realized now that

01:59:48   what I can do is I can put things into a, into an MQTT, uh, a message, if you will, and then in

01:59:58   somewhere, and then I can read them somewhere else. Now, what that means is since home assistant has

02:00:05   even more support for different devices than home bridge did and home bridge had a lot home assistant

02:00:12   actually has support for my cockamamie, uh, garage door opener. So it has native support for it, which

02:00:19   is great. And what I can do is I can have home assistant when it sees there's been a change in the

02:00:27   state of the garage door, it can publish a message on MQTT that says, Hey, the garage door is open.

02:00:34   Then I can have the Raspberry Pi that's upstairs in the bedroom, listen for those messages and it can

02:00:39   turn the led on or off, which means that now I don't need my garage Raspberry Pi. And so it has

02:00:47   been officially decommissioned as of earlier today. And at this point, Marco, if you would like to insert

02:00:52   taps, please feel free. Wow. Uh, I am down to only one Raspberry Pi and two Docker images.

02:01:00   It's my, you might want to run the Docker containers in the Raspberry Pi because maybe it has a better

02:01:06   CPU and memory than your Synology. Like you're running so much on the Synology.

02:01:09   Not the, not the Raspberry Pi W's or excuse me, the zero W's. Those are very weak. I'm sure. I bet

02:01:15   they could do it, especially for Mosquito, which is the particular.

02:01:18   I'm just saying like running, I always get nervous about you running all this stuff in your Synology

02:01:21   that like does actual computation stuff. You say it's lightweight, but like I'm, you know,

02:01:25   what does your Synology have? And is that like an Atom processor or something?

02:01:28   I think it does. I understand the question. I forget what it is. It's a 1621 plus. So it was,

02:01:34   it's not the original one that we had all gotten years ago. I'd gotten this a couple of years ago

02:01:38   now, maybe a year and a half ago. So it's, so it's, uh, you know, one 800th as fast as an Apple TV.

02:01:45   I don't know if I would go that far, but your point is fair. Uh, but I'm running a,

02:01:50   let's see right now I am running, uh, where is it? Uh, I don't know. 20, there are 22 Docker

02:01:56   containers that are on my Synology of which 20 are running at the moment and it's fine. Like

02:02:00   it really is fine. It's fine. Um, but, but in any case I, I have now thanks to, uh, MQTT and

02:02:07   I'm using mosquito, which is the particular implementation of MQTT. I have decommissioned

02:02:12   one of my Rube Goldberg, uh, raspberry pies.

02:02:15   Sounds like kind of like you've replaced it with another Rube Goldberg machine. You just think

02:02:18   it's cooler because it has an acronym. Yeah, pretty much. And it's not relying on UDP,

02:02:23   which I think is an improvement as well. Why is that? What's wrong with UDP? I mean,

02:02:27   nothing. It just seems so old and janky by comparison. Old and janky. It's not any older

02:02:31   than TCP IP. They're the same age roughly. It just feels jankier to me. And you want,

02:02:36   you want to do anyone want to do the joke? You want to do the joke? I don't know what joke

02:02:39   you're talking about. So no, I don't want to do the joke. I know a joke about UDP, but you

02:02:43   might not get it. Oh, there it is. Well done. Well done. Wow. Yeah. Well,

02:02:48   and MQTT does run on TCP. Um, in any case, uh, what this is now created though, other than

02:02:55   probably more problems and certainly a complete time suck is now I want to do something different.

02:03:03   And I know you two are going to make fun of me and I don't care, but I need help. And I was talking

02:03:07   to, uh, my good friend, Eric Wielander, who has a phenomenal YouTube channel about, uh, smart home

02:03:13   stuff, especially home kit, but not exclusively home kit. Um, and I was talking to him and I, he,

02:03:20   he came up with a couple of D a pretty good options, but I haven't come up with a perfect option. What I

02:03:25   think I want to do is I want to have a very low tech in-home status board. So what I want is like

02:03:32   three LEDs. Now I think the terminal that Marco has the, the little e-ink thing, I think it could

02:03:39   serve this purpose. I could write my own custom, um, thing for it. And to be honest, I might end up

02:03:44   going that route because, uh, I don't know if we spoke about it on the show, but terminal was kind

02:03:48   enough to offer John and I, uh, freebies, uh, basically because of Marco's hard work. So thanks

02:03:53   guys. Um, my hard work and buying one and talking about it. Well still, um, and I believe in to be, to

02:03:59   be fair, I believe they are sponsoring a future episode of the show, but, um, one way or another, I could

02:04:04   do this on the terminal. I think I'm pretty sure I could, but what I kind of want to do is I want to

02:04:09   take like a light or the space that a light switch would take up and I want to have three LEDs there.

02:04:17   This is such a 1970s slash 80s solution. It is. Forget about a screen with information. Can I get

02:04:23   three lights? Yeah, no, I know. And stick them in a switch plate? I know. So that only I will know. It's

02:04:28   like looking at the lights on your cable router in 1994. It's like, I know what those lights mean.

02:04:33   Why stop at lights? Why not go for like Nixie tubes or those like flip board things? Yeah, exactly.

02:04:39   Maybe I should go that route. No, I mean, I, again, I know you're making fun of me and truth

02:04:43   be told, if I was on the receiving end of this conversation, I would make fun of you as well.

02:04:47   But I think it would be neat to have like two or three LEDs that will show like the state of things

02:04:53   that I really, really care about. And the things you know how to read them, if you know how to read

02:04:57   them. So one of them is whether, whether or not, whether or not Aaron's car is actively charging,

02:05:02   uh, whether or not the garage door is open and whether or not the mail has been delivered.

02:05:07   Because I think we talked about in a past show, yeah, we did talk about with my ridiculous

02:05:10   setup out in my mailbox. Um, you know, I've got, I've also gone deep into the Yolink world.

02:05:15   And so, um, now that that's been integrated into home assistance, et cetera, et cetera.

02:05:19   But I think those three LEDs and I, what I want to do is like John described, I'm not literally

02:05:25   replacing a light switch, but in the same kind of setup, you know, like I can, I can envision

02:05:28   in my mind three of these LEDs in the spot where a light switch could be.

02:05:33   And they will illuminate based on presumably like an Arduino, or maybe if I had the physical

02:05:39   space to fit the PI zero in there, which I probably wouldn't. Uh, but I don't know, I can't figure

02:05:44   out a graceful way to do this because presumably if I were to literally replace a light switch,

02:05:50   which I don't plan to do, but for the sake of conversation, if I were to replace a light

02:05:54   switch, I would have power there, but not in the way I would want. You know, that's not like

02:06:00   an AC outlet is in a, you know, junction box behind the light switch. There's, there's,

02:06:04   you know, 120 volts back there or whatever, 110 volts back there.

02:06:07   And in the spirit of your mailbox contraption, you should, you can get one of those switch

02:06:11   plates that, uh, that has USB ports on it, USB A or C ports, and then you plug a cable

02:06:16   into the port and fish that cable back behind the switch plate.

02:06:19   And that'll match your mailbox first.

02:06:21   They would match my mailbox perfectly. But what I'm, what I'm driving at is, is there some

02:06:27   sort of, you know, LED, a controllable LED, preferably from either home assistant or like

02:06:33   an Arduino or something like that, wherein I could turn, you know, one to three LEDs on

02:06:37   or off as I see fit. And I don't think I want a single one because multiple things could be

02:06:43   happening at the same time. You know,

02:06:44   I'm pretty sure an Arduino, uh, can handle turning on LEDs. In fact, that may be the main

02:06:49   thing people do with them when they first get them, or you can just get yourself a breadboard.

02:06:53   That's also fair, but the problem is like, how do I power the Arduino? Where do I physically

02:06:57   put it? And so I think there's probably a more graceful solution to this, which probably is

02:07:02   the terminal, but a more graceful solution to this, um, that, that I'm not thinking of.

02:07:06   So Eric gave me a couple ideas. Like he had suggested, um, I think it's called nano leaf,

02:07:11   the, the like tiles you can stick on the wall, which he knew isn't exactly what I wanted, but

02:07:16   it's in the vicinity of what I want. Um, but I, I presume there's some other options that

02:07:22   I'm not thinking of. So if you have something like that, that you've done or, or that you,

02:07:26   that you're thinking of, uh, please reach out to me on either email or masked on, let me know.

02:07:31   Cause I would love to have some suggestions.

02:07:32   So the next person who buys this house someday is going to be like, why are there LEDs in the

02:07:36   wall? This must've been done in the sixties. Like, nope, 2025.

02:07:40   No, it's so true. It's so true. And I did not have computer screens. No, they have them.

02:07:45   This old fogey just didn't want to use them. That's what it boiled down to. Uh, no, I just

02:07:49   think it would be, it's one of those things. It's just a fun project. And, uh, so far I'm

02:07:53   failing miserably, but it's nevertheless, uh, I'd, I'd love to have some feedback if you have

02:07:59   any, so please feel free to reach out.