00:00:06 ◼ ► Yeah, I think. And, you know, forgive me. This is something I wrote 10 minutes ago. So, you know.
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: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: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: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: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: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: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: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: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:03 ◼ ► Yeah. The beta thing is totally like trying to deflect blame. As we've said in the last episode,
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: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: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: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:11 ◼ ► All right, Marco, you have some follow-up for us from, uh, what is it? Last week's post
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: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: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: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: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: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: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: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: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: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: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:01 ◼ ► Well, for what it's worth, I thought the interview was worth your time. I hear what you're saying
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: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: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:11 ◼ ► John, take us through some hyperspace updates if you don't mind. I can prompt some of this. I had some
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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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:24 ◼ ► may be revisited in future versions if I can get the web kit thing to work, but probably not.
01:16:33 ◼ ► Journey for me, man. Yeah. You want to write, rewrite the most complicated screening you're out
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: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: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:40 ◼ ► 2024 or something like that. And you can do that pretty easily. So if that's what you're
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: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: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: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: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: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:40 ◼ ► It's a good thing. I didn't have the analytics on that because you were literally thrown off
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: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:43 ◼ ► I think that, uh, the word best in the sentence, uh, the best pricing structure for your app
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: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: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: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:13 ◼ ► like a decade old, uh, just, and, and, you know, you should probably have an electrician
01:33:23 ◼ ► Actually, that is true. I'd probably use it as an excuse to upgrade. So maybe I'll take
01:33:28 ◼ ► If you buy someone's house who was a smart home enthusiast, chances are what you're going
01:33:38 ◼ ► Yeah. Or it's going to be like an old, like, you know, broken, like old thing from, you
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: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: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: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: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: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: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: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: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: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: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: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: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: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: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:03 ◼ ► Yeah. It's all about location and fiber ISP access. All right. Thank you to our members
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: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: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: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: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: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: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: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: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: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:15 ◼ ► Sounds like kind of like you've replaced it with another Rube Goldberg machine. You just think
02:02:27 ◼ ► nothing. It just seems so old and janky by comparison. Old and janky. It's not any older
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: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: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:07 ◼ ► And in the spirit of your mailbox contraption, you should, you can get one of those switch
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: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:32 ◼ ► So the next person who buys this house someday is going to be like, why are there LEDs in the
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