We're sunsetting PodQuest on 2025-07-28. Thank you for your support!
Export Podcast Subscriptions
cover of episode 623: It’s About Human Connection

623: It’s About Human Connection

2025/1/23
logo of podcast Accidental Tech Podcast

Accidental Tech Podcast

AI Deep Dive AI Chapters Transcript
People
C
Casey
一名专注于银行与金融实践的律师助理,擅长公私伙伴关系项目咨询。
J
John
一位专注于跨境资本市场、并购和公司治理的资深律师。
M
Marco
技术播客主持人和苹果产品专家
Topics
Marco: 我认为我们必须记住的是共和党的议程是将财富转移到顶层。他们通过分裂、残酷和暴力来获得选票和权力,以此来实现和掩盖财富向顶层的转移。大型科技公司之所以会出现急剧且积极地转向右翼,是因为他们都在明确地支持共和党,以自私地从财富转移和放松管制中获益。为了获得这些利益,他们完全出卖了自己的灵魂和道德,从而也支持了共和党所需的作为烟幕弹和权力来源的分裂、残酷和暴力。我认为我们应该实践与他们策略相反的做法:慷慨、接纳、爱和保护。现在,女性、非白人、LGBTQ人士、跨性别者和非二元性别者都受到了这些怪物的攻击,我们能够支持和保护需要支持和保护的人。慷慨、接纳、爱和保护是我们现在所能做的最好的事情,也是我们对抗这种糟糕局面、扭转乾坤的方式。 Casey: 我同意Marco的观点,但现在对很多人来说都是一段艰难的时期。我们谈论政治话题时收到的典型反馈要么是“不要越界”,要么是“你们这些自由派雪花”。我担心我关心和爱的人,以及我不认识但我仍然关心的人。前24小时的公告、声明和行政命令清楚地表明了他们的优先事项:仇恨、愤怒和分裂。我完全同意Marco关于慷慨、接纳、爱和保护的观点。上届政府几乎每天都有丑闻,我们被激怒和愤怒,但大部分时间都是徒劳的,这只会让我们付出代价。关注政治新闻会损害我们的心理健康,我们应该重新考虑关注的程度。如果你不是政治狂热者,请重新考虑你想要给予这些怪物多少你的心理健康。关注他们所做的每一件事,对他们所做的每一件事感到愤怒,这不是你的责任。他们通过干扰和烟幕弹来统治,通过无休止的丑闻来统治。你不必参与其中,你可以专注于你想要的生活,专注于你的心理健康和保护,专注于我们想要去的地方和帮助人们。我不是说我们不必担心这些事情,因为它们不会影响我们,而是说影响我们的方式不同。你应该尽你所能来对抗正在发生的事情,帮助你能帮助的每一个人,但这并不需要密切关注每个人每天所说的每一件小事。对抗这些事情并不需要你痴迷地追踪政府中每个人每天所说的每一件事。

Deep Dive

Chapters
The hosts discuss the current political climate and the Republican agenda, emphasizing the importance of generosity, acceptance, love, and protection as a counter to division, cruelty, and violence. They advise against obsessive tracking of daily scandals and encourage focusing on personal well-being and helping those in need.
  • Republican agenda focuses on wealth transfer to the top
  • Counteract division, cruelty, and violence with generosity, acceptance, love, and protection
  • Prioritize mental health and avoid obsessive news consumption

Shownotes Transcript

Translations:
中文

I wanted to, I wanted a brief political statement to start this because, you know. Oh, great. Yeah. There's nothing going on there these days. Yeah, I think, and, you know, forgive me. This is something I wrote 10 minutes ago. So, you know. Oh, it's that kind of Marco political statement. Oh, my. Reading from a prepared statement. Yeah. Very, very, it's still hot. I guess that's where hot takes come from. Is that the phrase? Is that it? I actually never realized that. Probably. Probably.

Oh, that's funny. Anyway, you know, a lot of people are very upset right now with what's going on with, you know, the inauguration, the beginning and all the executive orders. And it's, you know, it's going to be rough for a while. And I think what we have to try to keep in mind is that the Republican agenda is wealth transfer to the top. That's the big thing.

To accomplish and conceal that, they gain votes and power by division, cruelty, and violence.

But the goal is the wealth transfer to the top. If you look at what they actually do, that's mainly it in different forms. Tax cuts to the corporations, tax cuts to the rich, straight up corruption, which is now even more right in the open than anything. But also things like large scale deregulation, regulatory capture, and the politicization of the justice system. And I think the latter part there –

That is why it seems like we are seeing a very sharp and aggressive turn to the right by all the big tech companies. They all are now explicitly supporting the Republican Party to, in my view, to selfishly benefit from the wealth transfer and deregulatory aspects. And the price they paid to get those gains is...

is to completely sell their souls and their morals out by therefore also supporting the division, cruelty, and violence that Republicans require as a smokescreen and a source of power.

This is going to be something we're going to be fighting and angered and hurt by and possibly damaged by for many of us for a long time now. And I don't know how to fix it. There is no quick and easy fix. We can't just turn all of our avatars blue or put stickers on our cars and expect anything to change. What I suggest that we do is practice the opposite of their playbook. So what's the opposite of division, cruelty, and violence?

Generosity, acceptance, love, and protection. And I think we need to embody those in what we preach, what we do, and as tech people, what we build. You know, right now, women, anybody who's not white, LGBTQ people, trans and non-binary people are all under attack by these monsters.

Those of us who can support and protect someone who needs support and protection really need to now. So generosity, acceptance, love, and protection. That is the best thing we can do to get through this for now. And that's how we can fight it so we can turn this horrible, toxic mess around. And we'll do our best from our position here. We'll do our best. And all of you out there, I encourage you, do the same. And we'll do what we can to get through this and help people who need help.

Yeah, I concur. Marco did not run this by us, not to say that we needed to approve it or anything, but he didn't tell us that this was going to happen until 10 seconds ago. We didn't read it or anything beforehand. You don't have your statement ready? No, I don't. I don't. But I completely agree with you. The only problem I have with it is that, what did you say? Generosity, acceptance, love, and protection. GALP is not the best acronym. I think we need to workshop it a little bit, but

Maybe more than 10 minutes of writing would get me a better one. But in general, no, I'm obviously snarking and joking around, but all kidding aside, this is a real crappy time for a lot of people. And

You know, the typical feedback we get when we talk about political stuff is either a stay in your lane, which I'm sorry, we've been doing this for 10 years. It's not going to happen. So also, like, have you heard our show? We don't have lanes. It's also true. So, yeah. So the feedback is simply a stay in your lane or be how you liberal snowflakes. It's it's not going to bother you. Who cares?

And on the surface, there's a little bit of truth to that because, you know, we're three cisgendered white dudes that have a couple of shekels to, you know, to our names. And so I'm worried about people that I, that I care about and love and people that I don't know, but I still care about, like Marco was saying. And, and,

And I think that the announcements and proclamations and executive orders of the first 24 hours make it clear what their priorities are. And that's hate and anger and division and all the things that Marco was talking about. It's just, it's all awful. And so I completely agree that what Marco was saying is true. Yeah.

It reminded me of generosity, acceptance, love, and what was the last one? Protection. Thank you. There we go. I couldn't agree more. And we'll workshop a good acronym for it, or a good twist of those four letters. Could be GLAP. GLAP is not great either, but we'll work on it. Plag, maybe? But truly, you're exactly right. And also, what we saw last time this administration happened was,

What we saw last time was basically a bunch of fire in motion constantly. For those of you who don't remember or have mercifully blocked it out of your memory, basically every day of that administration was...

A scandal of some sort. There was something new every day. Can you believe what he said, did, whatever, today? We got all riled up and angry, and for most of that time, that was for nothing. Like, we got all riled up and angry, and that mainly just cost us something.

and mental health. So if you are really involved in politics and love reading the news all the time and hearing all this stuff day to day, that's up to you. I'm not that way. I found that it cost me dearly in stress and mental health and everything. And I had to pull back from the news. The scandal of the day is going to keep changing. So you can keep stacking up those blocks and staying really like cranked up and mad and scared and just...

feeling powerless like you can feel that every single day if you want to pay attention to all this stuff i suggest reconsidering that like if if you are not a politics wonk and if you are not a politics enthusiast and like reconsider how much of your mental health you want to give these monsters

It is not your civic duty to follow everything that they do, to get mad at every single thing that they, you know, every single gaffe or awful thing they do. It is not your job to yell about it and get mad at every single little thing because they're going to just keep adding stuff every single day. It's not going to stop. That is how these monsters govern.

It is by distraction and smoke screens. And, you know, I heard the term flooding the zone, which I think is a sports thing. That's how they govern. It's by just an endless barrage of scandals, because by the time anybody can think of anything to do with one scandal, three more have piled on top of it and nobody can even keep up.

You don't have to participate in that. You can choose to focus on what gives you the life that you need and want. You can focus on your own mental health and protection and focus more on the general themes of where we want to go and help people, protect people. You can do all that without paying super attention to every single daily scandal because that's not a happy place for anybody.

I just want to clarify that what I think Marco is not saying is that, boy, isn't it nice that we don't have to worry about this because it's not going to affect us, right? That's not what I'm saying, by the way. I think it will affect us just differently. I know, but people are going to hear what you said and they're going to think that's what you were saying, so I just want to clarify. The idea is not to say, I'm going to bury my head in the sand because none of this is going to affect me, ha-ha. No, that's not the issue. The issue is that you should, like Marco...

Like Gallup says, I think it's a perfectly good acronym. You should be doing everything you can to counter the things that are happening, helping everybody that you can't help. Fighting against these things, that does not require paying minute attention to every little thing every person says. Like, that's the difference. It's not just pretend it's not happening, go la la la, lucky you, you're so privileged it's not going to affect you. That is not the message.

The message is fight against it on your own with your own efforts. And, you know, like, you know, you know what the deal is. You know what needs to be done, right? Doing that does not require you obsessively tracking what every one of the people in the administration says on a given day.

Also, special shout out to Jeff Atwood. Have you seen the stuff he's been doing? Oh, that is true. We should call attention to that. He donated something like 8 million bucks or something like that? Yeah, so far. And is going to be donating more. So Jeff Atwood, he blogged under the name Coding Horror for years. He was also one of the co-founders of Stack Overflow. And he is just awesome.

A super nice guy. He's like a nerd's nerd. Like, you know, even though I didn't always agree with his blog as he was more Microsofty, 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 Stack Exchange and has been donating tons of it to lots of good causes and promoting, you know, people doing what they can to help out. And so, yeah, special shout out. He's doing some really good stuff recently. So thanks to Jeff Atwood for being awesome.

He seems like a genuinely good person. I don't know him well. I've only met him like twice, but he seems like a really good person, and I really respect what he's doing. Yeah, couldn't agree more. And I had no idea until I read the blog post that we'll link in the show notes that he is from right around here. He's from another Richmond suburb and went to UVA, which is where Aaron went. So yeah, even if he wasn't doing amazing things, I would have a little bit of kinship with him for that. But he is doing fantastic.

far more good things than I am, which should be celebrated. Yeah, more people like Jeff Atwood should have a bunch of money because they actually do good things with it.

All right. Let's do some follow-up. Apple has decided maybe these notification summaries aren't as great as we thought. And so they're going to pause them for news and some other things in the latest betas anyway. Reading from 9to5Mac, Apple has temporarily stopped showing notification summaries for news and entertainment apps as part of the iOS 18.3 developer beta released on the 16th.

Here are the changes. When you enable notification summaries, iOS 18.3 will make it clearer that the feature, like all Apple intelligence features, is a beta. You can now disable notification summaries for an app directly from the lock screen or notification center by swiping, tapping options, and then choosing turn off summaries.

On the lock screen, notification summaries now use italicized text to better distinguish them from normal notifications. And, oh boy, does that look ugly to me. But that's neither here nor there. In the settings app, Apple now warns users that notification summaries may contain errors. Additionally, notification summaries have been temporarily disabled entirely for news and entertainment category of apps. Notification summaries will be re-enabled for this category with a feature software update as Apple continues to refine the experience.

All this is well and good, except I'm really not in love with the fact that they're opting everyone into this beta software. Did you see that as well? I don't have a link for that handy. Yeah, so someone was saying that even 15.2, that macOS 15.2, turned it on by default. This is the question of when you upgrade to these new OSes, do you get asked, hey, Apple Intelligence exists, do you want to turn it on? And I think, personally, I think that it is a little bit...

it's a little bit extreme to say like, uh, that Apple should ask you about this new feature. It's like saying Apple should ask me if they want me to be able to have this new features of the photos app. What if I don't want face recognition? They just turn it on without even asking me. Like I know when, when a feature has anything to do with like privacy or is controversial in some way, people like I want to be asked, but that's not a scalable way to release features. Um,

You can't make every single new feature you put in your software be opt-in and have to have an explicit thing that asks somebody, by the way, I had a new feature in my program. Do you want me to turn it on or not? Like as if people can just like a la carte accept your application as like, I'll only accept what shipped in 1.0. Everything else after that, I don't want. And if you foisted on me, I'm going to be mad about it.

That said, particular features can be in someone's bonnet. Let's say they use something controversial like AI, people don't like for various reasons. Even something like face recognition, people can make its privacy invasive despite what Apple tells them about it not being. So I do understand the idea that, and betas, you know, quote unquote betas. I do understand people feeling like in certain cases, they'd rather not have the thing turned on by default. But Apple intelligence is such a

fundamental part of Apple's software strategy and it spans so many different features across so many different products. I don't think it's reasonable to say it shouldn't be turned on for me by default when upgrade to the new operating system. If you don't like Apple intelligence that much, a, you can go turn it off, uh, which maybe you won't be able to do in the future or whatever, but B don't use Apple products. Cause I have news for you. Apple intelligence is not going away. It's not like they're going to say, ah, nevermind. We're not doing that Apple intelligence thing anymore. Uh,

You can think of every other feature that Apple has added to macOS. Like, I don't like notifications. I liked it better when there wasn't notifications or a notification center. Well, it didn't go away. It still exists. Every app can do it. You turn it on and off perhaps. And if you really hate notifications, don't use iOS. Don't use macOS. They have notifications. It's part of the operating system. So that's how I personally feel about the Apple intelligent stuff.

in terms of it being on versus off. We'll get to the actual feature in a second. But, you know, people have different opinions. And this is a point where you can decide how much do you hate Apple intelligence? Is Apple turning it on by default enough for you to change platforms?

That's on you. Yeah, I think the thing that bothers me about it is that they'll say in one breath, 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, all their marketing is about it. And by the way, oh, everyone's going to use it now. You know, like, I feel like...

like in the released version of the operating system you can kind of say like well the whole operating system is not beta but this one little corner of it is but like at a certain point when does it stop being beta like wasn't hasn't anything done this before wasn't siri like beta for three and a half years or something like this something like that siri still beta it's been like over a decade well like like

They've left, I believe Apple has left the beta marketing label on many features for just ridiculous amount of time. So long, it's kind of like the interim CEO. Remember when Steve Jobs was I-CEO and people had forgotten like, oh yeah, is he technically still the like temporary? It's like eventually they just got rid of the I. Eventually they'll get rid of the beta. But yeah, that labeling of the beta doesn't help anything. Disabling it for news is damage control. BBC is mad at you. Can you make them un-mad at you by saying we won't do it for news? Meh.

That's just put out of fire. Can I make some big important companies not as mad at Apple? Sure, turn it off for news. And then they say, but we're going to turn it on again later when we've, quote, refined the feature. Like when everyone's calmed down, maybe they'll turn it on again later. The italicized text, like they got the little icon that nobody knows what it means except for people listening to the show.

the text? Does it make it seem like they're thinking it? Like when you read a book and like the person's thoughts are in italic or something like I don't there's there's just no way that if you just showed somebody who does is a casual user of a phone a notification and one of them is italic. I don't even know if they would notice one of the special when you don't see them compared like you just see a notification you look at it and you're like, oh this I think they change the font is what people will say. I don't like the new font if they notice at all. So that is just

not a solution in any, like in some ways it makes it worse because there's one more really subtle thing about these notifications rather than what it should be is a totally unsubtle. This is Apple saying something. The BBC didn't say this. This is Apple saying this based on what it heard from the BBC app or whatever. But anyway, this just seems like something that is not going to make this problem go away.

All right, Marco, you have some follow-up for us from, what is it, last week's post-show, right, with regard to CarPlay? Yes. So I said in last week's post-show, because there was a news item that BMW's next version of their iDrive system in their cars was not going to support dual-screen CarPlay. And I was like, huh, I thought my car had really advanced CarPlay, and it doesn't support dual-screen CarPlay now.

Uh, it turns out my car does support dual screen car play. So thanks to an anonymous friend of the show who, uh, informed me of this. And, uh,

And I went and tested it, and sure enough, yes, I do have dual-screen CarPlay. What I didn't realize is that you have to have the center dial configuration showing its map mode for it to work. Oh, interesting. When that's there, then the middle screen will show the dual screen. But I also learned, and I think this is just true of dual-screen CarPlay in general, that the second screen in the dial cluster will only show Apple Maps and only during active navigation within Apple Maps. Okay.

If you use any other map app like Waze or Google Maps, currently with their current versions, those do not show in the second screen. I have also learned that apparently there is an API for them to do that, but that's been a fairly recent addition, I think in the iOS 17 series sometime, but the Google Maps and Waze just have not yet used it.

So basically right now, if you have two-screen carplay, what that really just means is Apple Maps directions will show up on the second screen during navigation, and that's it. For me personally, that doesn't really help me that much because I don't usually use Apple Maps for navigation in the car. I'm more of a Waze person myself. But if you do, maybe look into that if that's relevant to you.

And since we're in neutral corner, John, apparently Honda has decided that the two EVs they were going to sell or they've talked about already are not their only offerings. What else is on the table here? So this is an article from The Verge. It says Honda says the Acura RSX will be its first original EV.

Reading from The Verge, Honda announced that its first original electric vehicle, that is an EV built on its own platform and not based on another automaker's tech like the Honda Prologue, will be the Acura RSX due out in 2026. The RSX is based on the Performance Concept, which was introduced last year. That's with a capital P. It will be the first EV built on Honda's new vehicle platform and will debut the proprietary in-house developed ASIMO operating system that was announced at CES.

Honda's two battery electric vehicles in the U.S., the Honda Prologue and the Acura ZDX, those are both the same car under the covers, are both based on General Motors' Ultium vehicle platform. The Prologue, in particular, has been an early success for Honda, outselling its sister vehicles, the Chevy Blazer and the Honda Equinox EVs. What is Equinox? It's the Chevy Equinox, right? The RSX will also be the first EV to be built at Honda's new factory in Ohio, where production is expected to kick off in late 2025.

The $4.4 billion plant is a joint venture between Honda and LG Chemical, the Korean battery company. So we'll put a link to this in the show notes. You can see a spy shot of a lightly camouflaged Acura RSX. First thing to note, the Acura RSX nameplate, you may recognize that from the past because that was the car that Honda made a while ago back in the early 2000s to succeed the Integra.

The Integra is a very famous small, sporty car. It came in two-door and four-door varieties, but it was like a sporty hatchback. The RSX looks very much like an Integra, just not as nice. It wasn't as popular. It wasn't as good. But the point is it was a small, usually two-door sports car. I think there was only two-door for the RSX. I don't think they made a four-door like they did with the Integra. Anyway, this is not that.

This is another instance, like the Ford Mustang Mach, quote unquote, Mustang Mach-E, where they've taken a name from a previous car that was popular. I don't know, the RSX wasn't that popular, but the Integra was. And said, we're going to use that name, but what are we going to put it on? The only kind of car anybody buys, an SUV. Yeah.

So now there will be a car called the Acura RSX that is a four-door sport utility vehicle like every other car on the road. But the good thing is it looks like a four-door sport utility vehicle. It has a rear window. I bet it has a steering wheel that's almost round.

It has regular-ish doors. Like, it just looks like a normal car. Oh, and by the way, on the Prologue thing, first of all, I saw the first one I was on the road recently. It's very big. And second, I think it's hilarious that, uh...

Honda essentially licensed a car from GM and GM is selling it two times. They're showing it as the Blazer and the Equinox. And Honda is outselling them with its like reskinned, rebadged, reinterior version of their car. They must be saying, what's the, it's our car. How are we not selling more of it than they are? And the answer is because people trust the Honda name and they don't trust General Motors, which is sad. But you know, you reap what you sow.

Anyway, I'm glad that Honda is going to make at least one non-extreme, let's say, electric vehicle. This looks like exactly the kind of car they would make. If you're going to make one car that most people buy, like make it this shape because that's what people want. And I don't want it, but I'm glad that their EV platform is not only good for super weird looking cars with no rear windows and no steering wheels. Well, I'm excited for you to buy one in the name of the show.

Allison Sheridan pointed out to us that there's another entry to the suddenly very robust 27-inch 5K monitor market. I am here for this. Yeah, finally. But somebody pointed out to us – shoot, I don't know if I can find that tweet recently –

Oh, here we go. Tom Bullock writes, regarding third-party Mac monitors from last week's show, it would have been wild to see all of our reactions in 2016 or so to find out that the year when the dam would break on third-party 5K displays would be 2024 and 2025. Someday I hope there's a good story about what took them 10 years. The best part of that would be, and during that time, Apple will ship one 5K monitor. Right.

Which is better than zero, but still. It's very good. Anyways, I digress. So, Allison writes in with regard to the ViewSonic VP2788-5K. Such great names.

This is a 27-inch 5K, same resolution as the ones you're used to. This has display HDR 400, which goes up to 500 nits. 99% DCI-P3. It has HDMI 2.1, DisplayPort 2, Thunderbolt 4 at 100 watts, 2 USB-A, 2 USB-C at 15 watts, a height-adjustable stand, internal speakers. It sounds decent, if not pretty good. The look of it is...

but now Casey is interested because gentlemen, $800 as per Dave Hamilton from the Mac geek, get geeky gab YouTube channel. Uh, if it's $800, that is phenomenal value for money. This thing could be a piece of crap and I'd still buy six because that's so cheap. I mean, if you Sonic is a good brand and they historically have made good monitors, I remember them from the CRT days. Presumably they haven't gone entirely downhill since then. Uh,

You can see some video of it. I think it was at CES and Dave Hamilton's YouTube video will link. That $800 price is unconfirmed by ViewSonic, but that's what Dave Hamilton said in the video. So fingers crossed. Again, this is another example of no mini LED, no HDR, but if you just want basically like the studio display, a plain, hopefully good quality 5K monitor in a not ugly case that is hopefully sturdy with

you know, a full complement of ports. No built-in camera or anything, but still, like, good, you know, a good complement of ports. It's nice to see, quote-unquote, PC monitors with Thunderbolt on them, right? There used to be, like, nothing you could... No equivalent. You'd have to use some weird, you know, you'd use, like, DisplayPort or some other connector that is not common on the back of Macs, but this one looks like it will just plug right in. So, yeah, I don't quite know why they're all coming out. Maybe it's because, like, PC gaming cards are finally getting to the point with, like, DLSS and stuff like that, where they can...

People want to run games at higher than 1440, right? Or higher than 1080 and still get good frame rates. So now suddenly there's a market for higher resolution or maybe it's just the standard like five to eight year lag the PC market has behind the nice stuff in the Apple market. But I welcome their low prices.

I do too. All right. Apparently fast directory sizing does exist. Remind me or jump in when you're ready. But we had talked about how APFS has the ability to very, very quickly figure out the size of a directory. But then there were a bunch of caveats. We thought that it wasn't actually implemented, but maybe it is.

Yeah, so the faster exercising is not about figuring out the size. It's about constantly keeping the size on record up to date with all the changes that happen. So when you ever ask for the size, it's like I already have that size. I've been keeping track of it. Nothing happens in this directory without me knowing about it. I'm the file system. And whenever something happens, I write it down in my little book. And so when you ask me what is the total size of all the stuff in this directory, I just read you the number that I've got written down right here, and it's instant.

And that is the feature, and it was advertised with APFS when it was introduced in 2016. Unfortunately, the API to get that information, the derstat underscore NP, uh...

function has code in it that says, yeah, this is broken. We're not doing it. We're just going to, if you ever call this, we're going to do it the old fashioned way by crawling over the whole directory laboriously, uh, taking a huge amount of time and then giving you your answer. Um, but apparently this feature does in fact exist in APFS and can in fact be used by a regular user. If they want to use the APFS dot util function,

command line binary that is buried in system library file systems apfs.fs contents resources apfs.util you can run man space apfs.util all lowercase and read about this command and what this command can do is turn on fast directory sizing for a directory and once it's on you can run this command to ask the directory hey what's the size of the stuff inside you

That's pretty cool. That shows that the feature does exist and does sort of kind of work. Does it work all the time? Is it reliable? Is there something broken about it? We don't know. I tried the command line thing. I ran it on a directory that had a bunch of files. It gave me an answer that seemed right according to my verification by doing it manually. Maybe it gets confused over time and can't keep up with the pace of changes. Maybe it's going to...

cause some like i don't i don't know what what the caveats are about this but it seems clear that the functionality that implements fast directory sizing does exist this apfs.util thing i believe is not open source so i don't know what's inside of it presumably it's calling some proprietary apis that were you to try to put them in your app you would get rejected from the mac app store at the very least you could i believe run this command line utility from your mac app in the

But yeah, I'm glad to see that this stuff still exists and there's hope for it being resurrected. If it does actually work, I would love for them to actually provide APIs for it. And or even if they don't provide APIs for it, integrate it into the Finder, integrate it into the iOS setting screen. Like we said before, when I go to see what, you know, which apps are taking up space on my phone, that could be way faster if you use this, if only it worked. So I don't know what the caveats are, but if you want to play with it, there's that command line utility. Hopefully it won't destroy your system.

Hopefully not. Oh, and as for, we'll get to this in the topics thing, but as for a hyperspace, I'm not going to use this with hyperspace. It's not the type of thing that I can, I don't feel confident that it works all the time or is reliable or, you know, like it's not, it's a file buried in the system library file systems directory. It's clearly kind of, there's no public APIs for it. I don't want to run the command line thing. The command line thing could go. So I'm just ignoring this for now. Um, but it is interesting that it's there.

David Ronquist writes with regard to sample code. In ATP episode 618, John talked about accessing past versions of Apple sample code. As John points out, the download is always the latest version of the code, but Apple also has a history of past releases. So you can go back to match a WWDC video from two years ago or look at the diff to see what's changed. Some sample code like Backyard Birds and the Food Truck apps are also available in GitHub and have history there. So you can see this on GitHub. We'll link to those repos.

Yeah, that's much nicer than the bad old days when everything was like in a zip file that you had to find somewhere on Apple's site that would download from a CDN. Apple has been slowly but surely embracing GitHub more, which is strategically maybe not the best move, like instead of having their own kind of Git thing, but like that's just the nature of the world right now. It's like GitHub will never go away, just like Google Reader. It'll be fine. Everyone can have everything on GitHub. And that's kind of the situation we're all in. Hopefully that holds for a little longer.

But anyway, I'm glad... The point is, I'm glad Apple is doing more and more open source stuff, like, actually in the open. And also, like, we talked about this many shows ago, video...

They've also moved some of their open source stuff out of like the Apple account at GitHub, like GitHub.com slash Apple is Apple's corporate GitHub account. There is also, I forget what the name of it is, but there's another one that's like, this is not owned by Apple. It's Apple's open source stuff, but it is not owned by the Apple corporation. Like so Swift has been slowly moving out of the Apple username on GitHub and into the

Whatever the open source equivalent thing is that is not owned and controlled entirely by Apple, even if most of the people working on it are paid by Apple. So it's kind of de facto controlled. But anyway, positive trends all around.

Joe Beninato writes, here's a pretty amazing video of an iPhone 16 pro upgrade from 128 gigs to one terabyte. Joe had linked a threads post to tweet, whatever you want to call it. Skeet. I don't know. What are we calling it these days? But I also found what appears to be a YouTube version of it as well. It might be a mirror. I don't know which one came first, but we'll put both of them in the show notes. This was fascinating and a ton of work for,

for something you could just have Apple do on your behalf. And I understand that it's expensive as crap, but this looked like hours of work to do this upgrade, but still fascinating. I mean, it was pretty speedy, but the reason it's in here is because we talked so much about upgrading the SSDs, like in those little modules and

soldering the little things on the circuit boards made in France and like figuring out how to essentially like can I make a cheaper version of the little thingies that are inside my Apple thingy so that I can get more stuff for less money and this this video was like

shows the extremes that people are willing to go to forget about like you know just soldering thing on a new printed circuit board and plugging it into a connector the technique they use on this one it's it's the same type of thing it's like a nan chip that's it's got a bunch of a big grid of metal contacts on the bottom of the chip and that sits on top of the circuit board that has corresponding contacts and that's that's how it works right

But rather than trying to like desolder it and like get the NAND thing to all those little balls to melt and then for the thing to come off, they're not really solder balls. But anyway, to get it to like remove the chip from the thing and then put a new one on, rather than doing that, they take like a computer-controlled milling machine

And they just mill the old NAND out. They just turn it to dust. They just go back and forth and back and forth. And like they mill it to be, mill the surface to be flush with the printed circuit board. And your previous NAND, your previous like 256 gig NAND thing turns into dust that hopefully you don't inhale because it's probably terrible for you. And then they clean the surface. Then they take a new chip. They drop it on their solder and epoxy around it or whatever, and then reassemble the phone. It is an amazing video to watch. You know, it's kind of like watching, you know,

robotic surgery such so careful and such precision I it and really like like surgery it's something that you really want someone who is skilled at doing because it is not easy like this and the video is zoomed way in so you don't realize just how small and how delicate everything is that's taking place in this video I I found it completely amazing and yeah big upgrade from 128 to 1 terabyte indeed

All right. And then finally, I wanted to call attention to a podcast that I think aired a week, maybe two weeks ago. I'm going to, or my American will be showing, and I apologize to everyone who's listening across the pond, but apparently there exists a podcast called Table Manners with Jesse and Lenny Ware. I haven't a clue who these people are. My understanding is one of them, at least, if not both, are very famous in the UK. My genuine apologies. I just don't, I'm an ignorant American. What do you want to do? But,

But Tim Cook was on the show, and I'm not aware of a video version, although apparently the whole shtick is they serve the person a meal and they talk over the meal and so on and so forth. This interview really ticked me off because this is the kind of interview that I think I would want to do with Tim Cook if possible because they basically don't talk about barely anything Apple-related.

and even though the better interview would be to get Tim Cook to open up about all the decisions he's made at Apple and why he made them and so on and so forth,

As we've said many times on the show, he'll never do that. That's never going to happen. So just take that off the table. It's never going to happen. So knowing that that's never going to happen, what do you do? You talk 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 and where does he, you know, go to relax and stuff like that. And it's, I don't know, it was like half an hour, 45 minutes. I thought it was really, really good. And it showed Tim Cook as a human, which is great because right now I want to, I want him to go away. He's a human that we're all mad at. Exactly. Exactly.

Yeah, I'm so glad Tim had this really hard-hitting interview puff piece. I mean, maybe this is worth it to somebody, but would you right now watch the same interview of, say, Mark Zuckerberg? Yeah.

I mean, I'm just saying, like, I think this is a puff, you know, BS thing. And I'm glad for people who like it. Maybe it'll make you feel better. To me, it just kind of angers me. Like, why give him this kind of attention right now when he does not deserve anything but very strict scrutiny over what he has done? Yeah, and I also think, like, you know, it is...

I guess somewhat novel for someone to interview Tim Cook and ask so little about Apple. They didn't ask zero, but ask so little about Apple. But I do think that literally everything he said was entirely controlled in Tim Cookie. Like I've just, he is,

impossible to draw out. I've never seen anyone do it. Like, to get to the human that's inside there. I'm not saying what he was saying was, like, insincere or dishonest. I think he was saying things that he really felt and did or whatever, but in a very controlled Tim Cook way. Like, in a media train, carefully avoiding anything. He's so...

well-trained and disciplined that they would ask him things about like, which of these two different kinds of fruit do you prefer? And he would not take a position because he's afraid that the people who like the kind of fruit that he said he doesn't like will not like, like, he just will not. Like, I swear to you, like, listen to it. I forget what the details are, but they tried to ask him to take a position on food. Like, this wasn't it, but like, because he did take a position on dark chocolate versus milk and he said he liked dark.

right? So apparently he's okay with that one, but another one, they're like, oh, it's not that I dislike it. He will not be drawn out to be like, you know, unguarded or, uh,

you know, he's always very careful in every single thing that he says, and it must be tiring to be him. And sometimes I find it tiring to listen to him because he is so controlled. I think as we've said in past shows, I think the least controlled I've ever heard him is when he was somewhat stern with, uh, an obnoxious question to ask her at a shareholder meeting, uh, where they, uh, complained about the return on investment in some, uh, thing Apple's doing related to the environment or whatever the heck it was. And, uh,

Tim Cook said, if you're so concerned about the ROI, whatever, get out of the stock. It's not about the bloody ROI, blah, blah, blah. It's the closest I've ever seen to him showing any real emotion. And it wasn't that close because really it was just fairly straightforward articulation of Apple's corporate policy, but it was tinged with a hint of

Yeah, I mean, that's why I almost never actually watch or listen to or read his interviews because...

there's almost nothing of value to it because he is he's so guarded and careful and on message and so the things that you end up getting from him are just things that don't matter like and you know we all had a cult of personality around Steve Jobs because

He was a really interesting personality, and he would let out bits and pieces that were entertaining and insightful and a little bold and a little risk-taking. And Tim Cook is none of those things. He is just bland, milquetoast, corporate nothingness. And whatever he is behind the scenes, as John said, we don't see that. What we see in the public is...

Very controlled, corporate, boring. And frankly, I don't know how much more of Tim Cook there is than that. And I don't care because even before I hated him for his political BS that he's doing now, he's just not interesting. I think Apple is very interesting. And the moves of the company and the products they create can be very interesting a lot of the times. But he personally...

I don't know what people get out of his interviews because whatever it is, I don't get it. Like, I can't even imagine having to like sit down and talk with him about anything because I don't know what the heck I would say or what he would say back. It would be it would be a waste of time for both of us. If it was entirely off the record and there was no one recording it, he would be a lot more real. But I don't know that. I doubt it.

Well, for what it's worth, I thought the interview was worth your time. I hear what you're saying that he is very buttoned up and I hear what you're saying that he's definitely on our crap lists, but I thought it was worth it. Your mileage may vary.

We are brought to you this episode by Squarespace, the all-in-one website platform for entrepreneurs to stand out and succeed online. Whether you're just starting out or managing a growing brand, Squarespace makes it easy to create a beautiful website, engage with your audience, and sell anything from your products to your content to even your time, all in one place and all on your terms.

And Squarespace now offers design intelligence, combining two decades of industry-leading design expertise with cutting-edge AI to unlock your strongest creative potential. Design intelligence empowers anyone to build a beautiful, more personalized website tailored to your unique needs so you can craft a bespoke digital identity to use across your entire online platform.

presence. And no matter what your business is, Squarespace can probably support it. Physical goods, digital goods, newsletters, podcasts, electronic goods and services. If you're a trainer, if you are a consultant, if you're a coach, all of that plus so much more can be supported by Squarespace honestly very, very easily. Squarespace Payments is out...

Also amazing and better than ever. Onboarding is fast and simple. You can get started very quickly and start receiving your payments. And customers have more ways to pay than ever with methods like Klarma, ACX Direct Debit, Apple Pay, Afterpay, Clearpay, and so much more. You can see for yourself how Squarespace works for you by going to squarespace.com and starting a free trial.

trial. You can build your site totally in trial mode. See how well it works for you. When you're ready to launch, go to squarespace.com slash ATP for 10% off your first purchase of a website or a domain. So,

Once again, squarespace.com. Start that free trial. Build your site in trial mode. See how it works for you. I bet you're going to love it. I've used it. My friends have used it. My wife uses it. I recommend it very strongly. Go to squarespace.com. Start that free trial. Build your site today. Go to squarespace.com slash ATP when you're ready to purchase to save 10% off your first purchase of a website or domain. Thank you so much to Squarespace for being awesome and for sponsoring our show.

John, take us through some hyperspace updates, if you don't mind. I can prompt some of this. I had some questions. It looked like you wanted to keep my question for the end, which is fine. But tell me what's going on. Yeah. So last episode, I announced a test flight. It went out to all the ATP members. People who were interested dutifully started installing it and using it and sending me feedbacks through all the various channels. And it occurred to me about halfway through the week that

No.

Is this like a sex thing? No, no, no. I think it's where you ask for like all green M&Ms or something like that on your rider just to see if people are paying attention to you. Kind of. The story is that the band Van Halen used to have this very long contract they would have with the venues that they would play their concerts in. And one of the things they would ask for is, and in our dressing room we want to have a bowl of M&Ms, but there should be no brown ones in the bowl.

right and it was the story went around in the 80s and was like oh van halen can you believe these like rock divas and they gotta have you know they're so uh they're so full of themselves they want every little thing they're just mad with power and just abusing the people who uh

you know, who run the concert halls that they run in. But then the sort of later days or internet era turns out story about that as well. Actually, they put that in there. That was a real thing and it wasn't their contracts. And they put that in there because if they went into the dressing room and they saw either no bowl of M&Ms or bowl of M&Ms, but the brown ones were not removed, they know that the concert venue did not really carefully read or take seriously their instructions.

And that was important because a lot of their instructions had to do with safety about, you know, we're going to have this light rig that's going to weigh this much and the stage is going to put this much pressure on these positions. And we have like we have to have these kind of electrical outlets and so on and so forth for it to be a safe show. But it wasn't that big. But they had explosions going off and, you know, pyro flames, things and all that stuff. They wanted the venue to actually read it and not just be like, yeah, yeah, yeah. Rock band will set your stuff up. You'll be fine. And.

And so that was the supposed utility of the Brown M&M clause, that it was just an easy way to tell, are they paying attention to our contract or did they just not even read it that closely and don't even care about the details, right?

Uh, I have nothing. I didn't intend to put around M&M in my release notes, but I did. Uh, at the top of the release notes and all caps letters is the thing that says it doesn't actually reclaim disk space. Cause that was the most important thing that people needed to know. Cause I didn't want to have a week of telling me that there were people running my program, but they weren't getting disk space back. So that's all caps. It's line number one. I think pretty much everybody read that. So good job, everybody. Um, line number two of the release notes was a link. It was a URL.

And that's where everything fell apart because I don't think people followed that link or read anything else. They said, read the all caps line. They said, yep, got it. Good. Doesn't reclaim disk space, which is fine. But the reason I know is because if you follow that link, it goes to a bullet pointed list. It's got like five bullet points on the page here. And the very bottom of the five bullet points says the following. The icon is a placeholder. The final icon is still in the works.

So every single person in there, a lot of you, who sent me very long critiques about the Icon. They didn't think it was appropriate and I should really think of something else. You didn't read the part about the brown M&Ms. You read the all caps part about how it won't actually reclaim disk space. So I thank you for that. But that brown M&M is in there. So I just want to tell everybody, if you're listening to this podcast, the Icon.

is temporary i actually think it's pretty good to be honest with you but that's neither here nor there yeah i just wanted people to know it's temporary uh because so maybe week two we'll have a different thing all right um next item test flight purchases this was probably the biggest purchase related piece of feedback i got and as usual with anything related to in-app purchase i have no idea what's up this is the first time i'm doing this here's the deal

People who are outside the U.S. would tell me, hey, I tried to do your test flight purchase. I dutifully read the release notes and I know it's not going to charge me any real money. So I clicked the purchase button in test flight and it didn't work. It said, oh, this is not in the whatever the German store or it's in the U.S. store. You have do you want to change stores? And it would pop up a dialog with a change store button. And I would click the change store button and it would change. It would have me sign in. I would change to the German store and then it would say cannot reach App Store.

And I just want to clarify two things. One, all those dialogues, the whole thing about you can't do it in the store or change store bubble. That's all Apple stuff. I I'm not producing those dialogues. That's all Apple. Right. I don't know how they're supposed to work. All I know is that people are telling me they don't work.

All the things that I was able to check seemed fine. My app is, in theory, available in every single country that Apple allows it to be available in. All the in-app purchases are available in every single country. Like, I just double, triple, quadruple checked. Like, yes, nothing is restricted. Everything is everywhere. But having never done this before, I'm a little bit concerned about the fact that if you go to the app availability section in App Store Connect...

It says for all the giant list of countries a thing that says available on app release So, you know Angola available on app release Argentina available on app release and as we know my app has not yet been released so it could be that Non us people cannot make purchases in the test light version because this app has literally never been released and all those regions Will be available on app release which hasn't happened yet. So I

If that is the case, I apologize for all the people trying to make purchases outside the US and having it not work. I don't think there's anything I can do about that short of releasing my app, which I'm not ready to do yet. But yeah, that's my guess about the deal. Do either of you two have any clarification on this?

No, and I don't remember this being a problem for me. And I definitely had users in other countries, beta testers in other countries. So maybe this is a macOS thing. I'm not sure. It wouldn't surprise me because a lot of stuff on macOS is way jankier. So here is a little tidbit because a couple people did say, I'm outside the U.S. and it worked fine for me. So then I'm like, well, I don't know what the heck to make of that, right? One person did say this. They said, earlier today, I reported an issue with the purchase flow due to an incorrect country setting.

Although I've never encountered this problem with other TestFlight apps, I managed to resolve it here. I clicked on Restore Purchases, which prompted a login window. I logged in using my normal Swiss account, and while there was no feedback and no changes were apparent, the purchasing of the app now worked. So if you're out there trying to purchase and it's not working, you can try clicking the Restore Purchases thing and see if that solved the problem. I don't know if it will. I'm maybe 50% confident that when I release the app, all these issues will go away and it will be fine.

but I guess we'll find out. I've asked around. I've tried to do research on this. I've tried to look at Apple's documentation. Ha ha ha. Yeah, good luck with it. So I don't know what the deal is, but I will tell everybody if you're outside the US, you may not be able to purchase it. You can try the restore purchases thing, right? Second thing on purchases, many, many people, maybe people who are new to test flights since a lot of, we've got a lot of test flight testers here, wrote in to tell me that they thought that my app should not prompt them for their Apple ID password.

and instead should use Touch ID. And by the way, the dialogue that appears asking for their Apple ID password is super janky and scary looking. I agree. Guess who makes that dialogue box? Apple. Everything you see in the purchase flow, all those dialogue boxes, that's not me. I'm using the standard Apple thing, which is like, okay, go do purchase. And then Apple throws up a bunch of UI. And yes, for whatever reason,

Insane reason. As far as I know, this has always been the case, both on iOS and on macOS. When you try to make a test flight purchase, does it let you use Touch ID? Does it do password autofill? No, it makes you type in your Apple ID password.

Why does it do that? I don't know, but it does. And it makes you type it into a terrible text box. It looks like it's totally fake. And Apple is producing that. It's one of the reasons why I like I end up uninstalling test flights. Like I'll go back and forth between the call sheet test flight and the call sheet real one because test flight purchases like expire on an accelerated rate. I just never want to have to tell the test. I have to repurchase the test. I got to type in my Apple ID. It's just it's so painful.

I, I, there's no way around it. Like that's just the way that's why it is. It's part of the pain of being a beta tester. And there is pain. There's, there is pain in being a beta. I know, but I've got so many paid apps on my phone. It's, it's annoying. I acknowledge it's annoying. How many years has it been like this since the existence of the Mac apps? So I think it's always, has it always been like this on iOS too?

It's always been rough. I feel like TestFlight actually, in a lot of ways, was better when it was an independent entity. But you're asking me to remember 10, 15 years ago. Have you ever seen an iOS app that does not make you enter your password in text when you tried to do an app purchase in a TestFlight? No, not that I can think of. Yeah. And Mac OS is the same way.

And everything does look worse on macOS, but in both cases, it's just like nothing else in the system ever asks you, like if you have like Face ID or Touch ID or whatever, like nothing else ever asks you to type in your password. And then all of a sudden, here's this beta thing doing it. It looks so janky. And I agree, it's janky. I wish Apple would fix it. But just to let everybody know, welcome to TestFlight. It's not the same as real apps. And it's bad. Yeah.

All right. What else? So the other major thing that I spent the week fighting with is my review window. When I was first making this app, I was like, OK, you know, pick where you want to scan your files. You scan them.

and then you want to reclaim space from them. But in between there, it would be nice if you saw, well, you just did the scan and you told me you found a bunch of files. Can I just see what those files are? Because maybe I don't want you to do all of them. Or even I just want to see it, just for visibility. Like, I want to review. What have you found before we continue to the part where you reclaim space, or pretend to in the case of my TestFlight app? Yeah.

So thus was born the review window. It just, you know, here's all the stuff I found. And you can remove things and, you know, like that's the point of the window. It's like for you to take a look at what I found and for you to maybe decide you do or don't want to include certain things. I didn't think too much about it. I just kind of made that on a whim. It's like, oh, it seems like a nice thing to have. But pretty quickly, even before the test flight, I realized, okay, well...

if you scan like a big directory, like your documents directory, your whole home directory or something, or people are scanning their whole drives, it might find a lot of duplicates, like a lot, a lot, not like 10, not like 100, but like thousands, many, many thousands of duplicates. First of all, is it possible to quote unquote, review thousands of things? Is someone going to look at 1000 things? Or are they just going to be like, No, I don't know, this looks fine. Like you can't at a certain point, you can't

manually reviewed anymore. This came up in my old jobby job when we were talking about reviewing dependencies for like license and security and stuff like that. Like, you know, any new project you make, we want to make sure that anything, any third party software you're depending on, we should review it. There should be a human review process.

to make sure that like you're not using some software that you're not allowed to use because of its license or that has some security problems or whatever. So we should have a process of human review for all software dependencies, which sounds totally sane and like a thing that a company would do as a policy. But I know a lot of you right now are already thinking the same thing that I am. And maybe Casey's thinking as well, node modules. Guess how many third party dependencies, uh,

Any kind of non-trivial Node.js application has. Thousands. A trillion. Thousands. Literally thousands. Right? There's no way to avoid it. And so now, are you going to have human review of thousands of dependencies? And also each time all those dependencies are updated? At a certain point, human review breaks down.

But nevertheless, I still wanted to have a review window. It was like, look, if you want to look at them, they're there. Put a search field in the review window. So if you're looking for something, if you're like, I want to make sure it's not doing anything with my whatever files, type this in some search query, narrow it down, find that thing, you know, uncheck the checkbox next to it and say, yeah, I don't want to do these things or whatever. And yes, I'll probably add an excludes feature at some point, but probably not in 1.0. Anyway, so I made a review window. I put a search field in it.

And then I ran into, you know, the brick wall that is SwiftUI performance. Because like everything else in my app, this was a SwiftUI window. And I was asking SwiftUI to show potentially thousands of things. At the very least, it's going to be thousands of checkboxes or some other control that says, yes, do this or don't do this, right? Yeah.

And also it's going to be thousands of file names and probably file paths to say, what am I checking or unchecking? Where is this file? And maybe you want other stuff besides just the file name in a checkbox. Maybe you want to know what size it is or how many duplicates there are or what the total savings is. Like pretty quickly, you're, it's not that complicated, but it's like, okay, well, it's like for each item, it's a checkbox and a string and maybe another string for the path. And then maybe a couple of numbers. All right. But it shouldn't be that bad, right?

Well, you get the review window, you put a naive SwiftUI implementation, and it just falls over on its face after a shockingly small number of items. You can pull up the page, usually with a small number of items, but even scrolling through 100 or two of them, painfully slow, right? So then you're like, so what can I do for SwiftUI performance? How can I enhance this? You know,

What if I use the lazy version of everything so it doesn't have to load the thing up front? Because if you use the non-lazy one, it's just you get a beach ball, like trying to load a few hundred things or whatever. So you use the lazy version, it loads fast. Scrolling performance is still not great. So you're moving the scroll thumb up and down. You're like, oh, I can see them like lazily loading and it's all jerky. And it's just like, can I just, can I show less stuff? What can I do to make this better?

And so I spent a while fighting with that. Uh, one of the ideas I had was, uh, maybe I'll just like, maybe I'll just show like, maybe I'll do like lazy loading on top of lazy loading. So I'll show you the first hundred. And then when you get to the bottom of the hundred list, I'll have like a little load more button and it will load more. Right. But of course, if I just let you keep loading more, uh, it'll just get long again. So I have to pull off ones from the top. So if you hit load more two times, it'll pull off a hundred from the top, you know?

That didn't really help. I implemented that and I was like, no, it's still like, even just with the hundred window, it's just, the scrolling is not smooth. Like it's just not good. Yeah.

Okay, well, maybe I shouldn't use like lazy VStack. Maybe I should use list because list is supposed to be for big lists of stuff. So I re-implanted the window in list instead of using lazy VStack. This is all tech terms or whatever. So I should say I'm rewriting this window in multiple different implementations. I try list that has a different set of trade-offs. It's supposedly also lazy, but it doesn't seem any smoother than lazy VStack. In fact, in some ways it's worse. You have less control over 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. All this time, I've been resisting the give up and use AppKit approach. But I also decided, okay, well, let me see what an AppKit approach to this would look like. Just using AppKit for the scaffolding and still having each individual item be a SwiftUI view. So I did that.

Uh, didn't really help. It was a little bit better, but because every individual view was a Swift UI view, you're still in the end loading, you know, and Swift UI views for N items, even though they're contained in an app kit collection view or whatever the thing you have, which is also lazy loading. It is more efficient than the Swift UI things, but yeah,

you know, not quite the same. And I think, you know, Marco was, Marco's first advice when I first mentioned, saw the screen was slow. He's like, you should just do this in AppKit. I'm like, oh, it's going to be a lot of work to do in AppKit. But like, here I am on implementation number four, right? I've done it with, well, you know, VStack, lazy VStack, list, collection, AppKit collection view with SwiftUI views inside of it.

and you know where i ended up i ended up well let's write it in app kit which i was resisting because this is literally the most complicated screen in my entire app the stupid review window it is i mean not that my app is that complicated but of all the screens in my app this is the most complicated and now i am rewriting it for a fifth time uh wrote it in just straight app kit ns table view you know the old ways still in swift obviously but yeah um

And the performance was better. A lot better. I still kept a SwiftUI view for the detail pane. That's one of the things I... One of the changes I made halfway through is like, look, I gotta get less stuff on this screen for multiple reasons, but not the least of which is that it kills scrolling performance. So what if I have like sort of a...

a list of the individual file groups, and then a detail view that when you select one, you see more information about it. So you only ever need to have one detail view, and then you have the big scrolly list, which is supposedly simple. And that's the design I've stuck with. I re-implemented it all in AppKit, except for the detail view that I left in SwiftUI. I bashed my head against that for a while, and the performance is much improved, as they say. That's like, you know, a glimpse into a week of development progress.

on a pure SwiftUI macOS app

I don't think what I was asking to do was that big a deal. Although some people like the testers out there, they're trying hard. I had one person who had a review window with 150,000 items in it. Oh my. And, and that person tried, I think most of the different versions of this screen that I made and would tell me when it was not cutting. Right. And so I think the new one can handle that and it's okay. But some point during this whole week of me banging my head against the screen, I,

a thought occurred to me and it's gonna spawn a slight side discussion here i want you guys to uh go to this url this is web-based oh no can you uh scroll that web page for me please yeah it's pretty fast are you gonna write it in webkit is it is it smooth for you does it seem smooth no can you load that can you load that on your phone i presume i could on your phone oh my god are you asking me to do that can you see how yeah

See how this works on your phone, maybe. Oh, my God. Hold on. You're going to do this with web tech, aren't you? Wow, it's really fast. Did it scroll okay? Did it seem smooth? Did it load fast? Sure did. Oh, my God. You're going to do this with web tech, aren't you? I'm having them load a web page because I'm banging my head against SwiftUI, AppKit, NSCollectionView, NSTableView, LazyVStack, List, everything.

the performance is crap. I'm on a Mac Pro with 192 megs of RAM. I'm like, why can you not scroll a list? I don't care if it has 10,000 items in it. Why can you not scroll this list? What's the problem? It's just text. It's text and it's checkboxes. And I'm like, I could do this in two seconds in web tech. Now granted, it's web development for 25 years. So I have a little bit more of skill in that area. But I know this would work fine in a web page. I'm not asking too much. Right?

So I made a webpage and I made one with a hundred items, 500 items, a thousand items, 10,000 items. And like I load it and it's just, and it's scrolled like today, right now, this scrolls faster than the app kit, the native Swift, pure app kit app.

ns table view on mac os 15.2 on a mac pro with 192 megs of ram this web page loads instantly and scrolls perfectly smoothly with an equivalent number of items right now we're talking about like oh web web apps always feel worse you can always tell it's a web app because it's not as good and it's not as smooth and snappy and this and that and the other thing

Web tech has had so much effort put into it that right now, HTML and CSS are an amazingly performant engine for quickly and easily creating user interfaces that scroll like butter.

This wasn't true in 2007 when the iPhone came out, right? WebKit views were not as fast as native views, right? This is not recycling, to my knowledge. It is not recycling cells in this table, right? It's just rendering them all, putting them into a giant image, and just scrolling with the GPU. Like, just shake the thing up and down. It's unbelievably performant, right?

I don't think there is a way with any of Apple's native UI toolkits to make a scrolling list of items with some text in them that is smooth as just doing it in stupid HTML. I believe this is an HTML table I've already forgotten. It's just you slap this together and it takes two seconds, right? And you can change that 500 number in there to larger numbers to see different versions. But here's the thing.

I was real close in the middle of the week. I'm like, screw it. I'm doing this in WebKit. Like, I'm sick of native development. I know I can do this in HTML and CSS. Why am I banging my head against it? It's so much harder to, like, AppKit, like doing with NS TableView, it's such like...

ancient technology like the number of classes you have to implement the number of methods you have to override the number of things you have to do in them it's like what is going on here 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 like in two seconds it's just straightforward and obvious and like the swift ui one is also pretty straightforward and obvious but then the performance is terrible so who cares that it's straightforward obvious right it's great if you have 10 items 100 items right but

But if you have 150,000, these things just throw up their hands. But I didn't implement it in WebKit because I think if you change that 500 number to 10,000 in your URL and then load that page... Oh, it drops out. Yeah, it kind of gives up after a certain point and you just get blankness. Now, I can tell you that that will eventually load.

all of it. And then once it does load, it'll, it'll be smooth. And even while it's blank, it'll be smooth. What we're saying is you, if you scroll this list, all of a sudden the list disappears and then there's no more list. Like there's just, then you're just scrolling. It's fine on my desk. You guys got to get better computers. Oh, by the way, Chrome does it way better than, uh, than, uh, Safari. So if you load that page in Chrome, much better job than Safari, but Safari on both the Mac and on iOS, when you load the page with 10,000 or more items, it's,

it just stops drawing it very quickly. Now, like I said, eventually it will all load in. And God knows how much memory is taken. This is a consequence of it not being lazy. But this made it a non-starter for me because as slow and janky as it is in SwiftUI or in AppKit for 150,000 items, it does actually load. You can actually scroll. It is just jerky and slow, right? WebKit at a certain point says, nope,

Check, please.

Not going to do it. And then, like I said, if you wait, if you wait, like, wow, mine just came in finally now. If you wait, eventually, especially if you have 192 gigs of RAM, eventually it will load in, right? And eventually you can scroll your list of 10,000 items and it will, you know, it's a little bit blinky and stuttery, but it's still pretty smooth. John, have you tried this on Tina's computer? I'm not trolling you right now because this, the performance problems you're describing on your computer, I'm not having on mine. I tried it on my, you can see the same thing on the phone too.

try it okay you didn't see the blank you didn't see the blanking like it it blanks for variable amount of time it blanks for like a split second like a blink of an eye no on my phone i'll send you i had a long enough time to screenshot on my phone it is blank for a long enough time for me to stare at and take a screenshot right and my phone was my measurement of like look this is you know this is a good baseline right and i guess chrome does way better than webkit but obviously if i'm doing it

Well, actually, I could embed the Blink Engine in my app, but I'm not going to do that. So anyway...

I didn't choose to use WebKit for it, but had I chosen to use WebKit for it, this one aspect of it, how quickly it can draw this and how smooth it can scroll it would be better. What would not be better, I think, is, say, sortable column headers, because if I did that naively in HTML and JavaScript, the performance would be horrendous. What I would have to do is essentially reimplement NSTableView in JavaScript, which many people have done.

like where it's like okay well i'm not actually gonna redraw everything i'm just gonna have a fixed number of cells i'm gonna recycle them and i'm gonna refill them with content and when you tell me to sort i'm gonna sort the data store behind the scenes and then redisplay the window of them that you're looking at like all the stuff that ns table view and lazy vstack are doing behind the scenes you can also do that in html but either i would have to implement it all myself in html and javascript or i have to find a third-party framework that does that of which there are a thousand which is part of the problem

Because I had to find one of those thousands who embedded my app. And then finally, I would be communicating a fairly large amount of AppState data

In and out of a WebKit view through the slurping straw of JavaScript, and I did not relish that. Even doing it the way I did it, where I have AppKit and SwiftUI views communicating and both trying to manipulate a fairly high volume of data in real time, up to sync everywhere, that was difficult enough to do between SwiftUI and AppKit. Throwing WebKit into the mix would be even more difficult. But I just... This is a good, interesting...

Thing to note that the conventional wisdom about quote-unquote native apps and how much better they are and how much better the performance is and how you can always tell when something is janky in a web kit...

Now, you know, with the caveats I said, I am an expert web developer. I am not an expert macOS or iOS developer. So maybe someone who is a better macOS developer than me could do a better job. I think I did an okay job on the AppKit table view. If you two have the latest test lite version of the thing, you can run it against something and get a big review window and scroll it. It's all right. You know, it's fine. But it's not as smooth as that WebKit view is. It's not as smooth as that web page is.

And that is disappointing. So for whatever it's worth, native dev should be faster. Now, the most common trick that Apple's frameworks use, and I presume other platform frameworks probably do similar things, it shouldn't matter really how many items are in a scrolling list

for the list performance. The trick they usually do is they, you know, if the list, you know, suppose on screen you can fit 10 cells. Well, as you scroll through a list of 100,000 items, it only keeps like 12 cells alive in memory. It just recycles their content. And so it has like, you know, the 10 cells that fit in the screen and it has like one above and one below. So as you partially scroll, that's already loaded. And then as you scroll the list, all of the cells

All it's doing is swapping in the content of those same 12 cells. So it isn't like allocating everything. It isn't rendering the entire list. It's just rendering the part that you are looking at. So theoretically, it should be fairly linear. Like the performance of the list should be about the same no matter how many items it has. Now, there are a few things that can break that assumption.

and require the frameworks to load all the items or to render all the cells. That can be things like if they are variable heights and you want an accurate scroll indicator of where you are in the list position, then the framework has to render 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 scroll indicator. And there's also things like

Well, where, you know, where the cell like cell content is, does one cell's content depend on another cell's content or does something depend on the content of all the cells in order to render it? And so there there are little pitfalls you can fall into that will require the framework to to load or render everything rather than loading and rendering only what is on screen and kind of paging in the data dynamically.

And it can be very, very easy to accidentally fall into one of those pitfalls. And this was true of both UIKit and SwiftUI. AppKit I never really used, so I don't really know, but definitely UIKit and SwiftUI both had the potential for a UI table view or a list, respectively, or a lazy vGrid or whatever. They...

all had the potential to make some small decision or some small mistake or not flag something correctly in the code, and it would have to render the entire list every time. So I'm guessing that now...

On iOS, I can tell you I don't have this problem. Like using SwiftUI list on iOS, like I tested my playlist screen with 100,000 items and it scrolls just as well and just as smoothly as it does with 20 items. So I'm pretty sure I don't have this problem with Overcast. And that's just, let's say SwiftUI list. I don't think you would ever have an Overcast playlist that's 150,000 items either. So it's not really something you need to worry about too much.

Well, you'd be surprised what people try to do. But that's why I have a test account that has 100,000 podcasts in it. Like, trust me, people do some interesting stuff. Anyway, so...

I can tell you that SwiftUI... Like, this is not an inherent problem to SwiftUI in general as a concept. It has that same optimization that UITableView has of only loading certain cells on screen and buffering in, like, you know, changing their content. Like, it does that same thing. Or at least it can do that same thing on iOS where I've used it. Now, the problem is...

Again, there are all these different pitfalls. Like you could be inadvertently triggering it to do a full render with some detail of how you've implemented it. Or it's also possible that that optimization doesn't work or doesn't work correctly on Mac OS. Because SwiftUI on Mac OS is a little bit of... It's like they don't...

It's not nearly as tested and mature as it is on iOS. So I can tell you this is probably not a problem with SwiftUI overall, but it might be a problem with SwiftUI the way you are using it, or it might be a problem with SwiftUI on the Mac.

So I can tell you, I know all those things that you just said. And I'm pretty sure that is not what I'm running into because you can very easily trigger it so that, you know, for example, use list, use VStack instead of lazy VStack. If you want to see what it looks like when it loads all of them up front, use just plain VStack without the lazy. And the difference is stark. You will just get a blank screen at a beach ball for minutes. It's not subtle, right? The, the, and you know, even like on the NS table view thing, like,

All these, obviously they're all the same height. They're all fixed. They're all not doing computation. Like it's just, you know, all the optimizations I know about from app kit stuff, applying them to Swift UI. Like it's so clear that what the problem is, is not that it's not doing the thing because it is, you can, you can literally see it doing it. Like you can see lazy V stack recycling those cells and like, you know, it's doing it. The reason you know it is because you load a thousand, 10,000, a hundred thousand, they perform exactly the same. Like there's no difference in the performance. The problem is, uh,

The thousand performance is not good enough. Like the hundred performance is not good enough. The 150,000 performance is exactly the same as a thousand performance. They're both not good enough. Like it's so clear that it is, it's doing the thing you described just like NS table view is right. There's nothing that's happening that is like,

subverting that optimization. Now, there may be other things that are happening that are making it like slower, but like the basic optimization of just show a small number of cells and recycle the content is absolutely happening. And like, you know, I did I did the thing I didn't describe as part of the debugging process, but it was the first happening with my 50 view. I said, all right, start over a new test app list. All it is a list with the word hello in it 100 times, right? Strip it down to nothing.

How fast can it be? And then like build up from there, a constant string in a hundred thousand, you know, a thousand, a hundred thousand or whatever, just empty app, nothing in it. Like just let's see what the performance is like. And I can tell you having built up from zero from like the simplest thing you can possibly have, right. Building up slowly to be something approaching a UI, uh,

The performance gets crappy so fast. It's not like it becomes unusable, but the smoothness. With the word hello, it seems pretty smooth. This is great. And then you add, can I have another word in there? I'm starting to get a little bit... Can I have a third one? Maybe right justified? Oh no, it's all over. It's not like it's terrible, but it doesn't feel like it should. It doesn't feel like that web page. It doesn't feel...

totally smooth and like that was the thing i was doing of like is there something that was like is there something i can do with the content is the problem the content is the problem like the data model or where it's coming from or like let me just eliminate there's you know there's no data model it's literally constant strings right you know can i get acceptable performance in like the best case scenario and as i slowly edit things besides the word hello

it just immediately started to feel not that smooth even just the word hello by the way if you compare just the word hello to an ns table view with the word hello and a table you stomps all over it on the mac right it's still 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 right it's a fresh new app there's no data model right and ns table view is just faster right so that shows immediately that swift ui on mac os is

has a long way to go to catch up in the naive case to the responsiveness of AppKit.

But both of those things seem to have a real far way to go to catch up with the stupid brute force implementation of HTML and CSS with no recycling of cells, no clever anything. Just render it all. Just render it all immediately now and scroll it as smooth as glass on your phone.

And any computer. Web technology is amazing.

Like I said, not in every aspect because, again, once I start sorting column view headers, it's like, guess what? You're re-implementing NSTableView. You're re-implementing UITableView. Like, there's a reason those optimizations exist. There's a reason they've been re-implemented in the web and things start to tumble downhill pretty quickly once you're doing everything in JavaScript versus doing it in Objective-C or Swift. Like, I'm not saying web technology is better than native. That's not the case. I'm saying that on the Mac specifically, this is definitely a functional gap where I would have been very disappointed by...

the performance and like again i'm not experienced on the platform so obviously this may be some things that i'm doing wrong but i asked a lot of more experienced people every single thing they told me to check out it's like already doing that already doing that already doing that like i was able to eke out some more performance you know it was already acceptable in ns table view right and i was able to make it a little bit better it's fine like it's okay it just bothers me that

Any amount of effort should be required on the Mac with any of Apple's native platforms to try to match the performance of a naive HTML page that someone could slap together in GeoCities. It wasn't fast back in the GeoCities days, but anyone can learn HTML and type those tags and they can be lowercase, they can be capital. You don't even have to close them right. The thing will just scroll like butter.

So anyway, that was my journey this week on that screen. I re-implemented it at least five times, ended up at NS TableView. Performance is now acceptable. That's probably where I'm going to ship in 1.0. May be revisited in future versions if I can get the WebKit thing to work, but probably not. Wow. That was a journey, John. That was a journey. Journey for me, man. You want to rewrite the most complicated screen in your app five times in a week? Don't recommend. Nope. Do not recommend. I do not.

the last two items quick one I'm working on voiceover stuff I am lousy at it if you two have any voiceover tips please send it to me I find it so hard to figure out where and how to put the right like modifiers on the right elements to get it to say sane things when I use voiceover and

Because like if I put it on like the parent element, it stops saying things about the child elements. But I wanted to say that the parent element is this larger thing. And anyway, I'm no voiceover expert, but I'm trying. So that is another thing I'm struggling with this week. Well, so very, very quickly, very quickly. If you think about Call Sheet and the right hand side of like a person or a movie or something like that, there'll be like a title and then below that a runtime and a

There are modifiers you can use to tell voiceover, treat these two things as one thing. So instead of saying, and I forget exactly how it works, but something like it will say something like, you know, release date, title.

October 24th, 2024. Well, now it says, like, you can have it say, you know, released on October 24th, 2024, or something like that. And you can do that pretty easily. So if that's what you're talking about, you and I can talk after the show, and I can show you how I did that. Yes, please tell me. A lot of my problem is, like, I have a lot of things laid out in, like, grid views and stuff, and so the label and the value are separated, so I can't even put one modifier on both of them. So it's a little tricky. Anyway, I'm not... I know it's not going to be...

The voiceover support is not going to be great, but I want it to be okay. And so I'm trying to get to the level of like,

i could use it in my eyes closed and sell what the things are i wanted to say reasonable things for every item and just figuring out where i can get it to say the right things it's a little bit tricky oh you'll be shocked to learn the controlling focus in swift ui and mac is terrible oh it's terrible on ios too i was fighting that earlier today worse on the mac i believe it's so bad yeah there's the new does the focus state stuff exist on mac yet yeah it is yeah that's it's it is it's

It's a little limited. The way it interacts in the hierarchy is bananas. Like doing things on the parent view overrides things in the child view. And you're like, but I don't want it. Like the whole point is if I override it in the child, like why is the parent taking over? Like it just makes certain things like very difficult. So I'm struggling.

uh final item uh analytics i said in the last show i didn't want to deal with it at all uh having all the feedback from the tesla testers on it by the way i want to thank all the atp members casey was totally right uh you are all great testers i have so much feedback so much of it great just appreciate all of it uh it also quickly led me to learn that i need analytics because trying to get a sense of what's going on

I was not able to do that by it. And I'll tell you, I'm reading everybody's feedback. I cannot respond to all of it. If I responded to all your feedback, all I would do all week is just respond to feedback. So I thank you for all your test flight feedback, but I can't actually respond to you all. It doesn't mean I'm not reading it. I am. But anyway, I need analytics. Unfortunately, um, a, uh,

Company that is apparently a friend of the show offered me a free account for their analytic service, which I gladly accepted I probably wouldn't have done this if they had not given me a free account. So thank you to them and I am trying it out and Collecting analytics and seeing what it can tell me I'm fighting a little bit with the analytics back-end but at the very least the front end is doing stuff What am I collecting just numbers?

How many items did you scan? How many files? How many folders? How many errors did you encounter? How many bytes did you scan? How many bytes did you reclaim? How many bytes could you have reclaimed? How many times did you launch the app? I think I just listed everything that I'm collecting. It is completely anonymous. There is no personally identifying information whatsoever. It's just a bunch of numbers. And yeah, that's it. And so it's given me some insight, at least, into the testers. And I was glad I liked this application.

analytics package because incorporating into the app took like two seconds. It was straightforward to do. I am not enjoying the back end where I get to analyze this data because it is beating me up with a query language that I do not like. But you know, it is what it is.

So I will probably ship with that analytics in there. So I'm sure he won't mind me sharing this. One of the most ingenious things I ever heard from Underscore is that for one of his apps for analytics, he was just –

Having the app just make a URL request to his server and encode a bunch of stuff in the URL. Now, this URL was actually not a real page on his server. It would just 404, which would be logged to the error log, which he could then parse. I've done the exact same thing my whole career in web dev. Yeah.

That is a common thing. So it actually is like a reasonably easy... Absolutely, because if you're at a big company, you already have some system that is ingesting your logs, and you can use it to analyze them. Just make an HTTP request, put data in the URL, and then take your thing you already paid for that's analyzing your logs, and it can extract stuff from the query string, and you can decode it and deparse it and decrypt it and slice it and dice it. Yep, it is...

The world's jankiest analytics system. Yeah, and if you think about what you need for privacy protection is basically like

don't associate anything with people's IP addresses. At this context, that's basically all you need to do is don't have any kind of persistent customer identifier in those requests and don't associate IP addresses with them. You can make a custom HTTP log that has just these query strings for things of this format and logs it to a log that does not log IP addresses with a fairly straightforward NGINX or whatever configuration. Yeah.

Yeah. And that's all I want to know is like, I just wanted to say like, what is the average number of files scan per scan? So I just, every, every entry is a number. I just add them all up and divide by the number of numbers. There's my answer, right? That's it. Like I'm just, I'm literally just a lot of numbers, but yeah, trying to, trying to sort of get a feel for that from people's screenshots was,

surprisingly difficult because not everyone sent one and just getting a sense of them like what happens is like i think like the outlier standout like that person who had 150 000 files is kind of an outlier 150 000 duplicates not 150 000 files 150 000 duplicate files i don't even forget how many millions of files were scanned to get that result but uh but yeah uh the number having the actual numbers is going to be convenient so i will probably ship with that uh like i said i'm pretty happy with the um

The SDK side of it seems pretty lightweight and the performance is good because obviously when you tell it to log something doesn't actually do it. It just puts in a queue and then flushes it later. It's all Swift 6 compliant, you know, so it was a very simple and straightforward thing to put in there. So yeah, analytics, they are a thing and we'll see how it goes. Oh, and the only other thing I put in there is I did put analytics for like how many people click the help buttons.

like did someone click a help button and i'll just count up you know the app was launched 10 times and the help button was clicked zero times stuff like that you know oh yeah and uh test flight testers

Don't forget to pretend reclaim. Now that I know from analytics, a lot of you are not pretend reclaiming. You're doing the scan and you get to see the numbers and you're like, done and done. Don't forget to click the reclaim button. Even though it doesn't actually get you disk space back, it does everything else. It does a whole bunch of work and then just throws the work away. But I want you to make it do that work because in the course of doing that work, it will encounter errors and then you'll send me those errors and then I'll fix them. Yeah.

or try to fix them or whatever. So please, the ratio of people scanning to hitting the reclaim button is very low. Please do the fake reclaiming. I know it will not actually reclaim space. It seems like a waste of time, but it really helps me because you could do that reclaim and then tell me it crashed the app. It did this, like that's beta testing. You know, it broke my computer. Hopefully it won't break your computer, but you know, beta testing. If you don't want to use a beta, don't sign up for a test flight. Guess what? Test flight apps, they have bugs.

It's a release app, so don't tell anybody. But anyway, test flight apps definitely do. So if you are a brave tester and you want to be a brave tester, click that Reclaim Space button and then cross your fingers and let me know what bad things happen. By the way, I think for pricing, we got a bunch of feedback on how you should price. I've got a ton of that through Test Flight as well, yes. What I have come around to being the best price is

a consumable IAP price per reclaim. Isn't that what I said? Yes, I think it is.

Come on, man. I know. I'm just saying, like, upon further thought and upon, you know, replaying Casey's argument in my head over and over again, definitely, that's how I was convinced. You know, upon further thought, I do think, like, given all the tradeoffs, given your desire for ongoing revenue, given how you want to be able to fund future things and, you know, make the app better to be able to reclaim more space and everything,

And because of the nature of it being like most people are going to have most of the value be like this one-time upfront thing, I think about a kind of similar but not quite market is those SD card data recovery tools where –

Those are almost always like, you know, you don't get a free trial for your SD card data recovery tool because chances are if you have a need for that kind of app, you need it right now, probably once, and then you'll never use it again. Or maybe you'll use it again like five years from now where you will again like desperately need it right now. So those apps are priced and are structured such that like, you know, all their value is up front.

So they don't give you a week free or anything. You just have to pay for it if you want to recover the data. Maybe you can see the data before paying, but then to actually get the data, you have to pay. I think this app has a similar customer value timing dynamic where, as mentioned last time,

For most people, the most value they will get out of this app will be captured the first time they run it. So I think having it be you pay me, you know, whatever it is, 10 bucks, like whatever it is, you pay me 10 bucks to do the reclaim step. Like, you know, I'll scan it. I'll show you how much you can reclaim for free. And if you want to actually reclaim this space, you pay me 10, 15, 20 bucks, whatever it is.

I think that's the right move. And then if you want to reclaim, if you want to run it again in two years and get another 50 gigs, 100 gigs back, it's another $10.

I think that's best. You could even then, if that is your model, you could even then also have tiered pricing by how much data is being saved. So like if someone's only going to save 20 gigs, maybe they can have that for like, you know, two bucks or five bucks. If someone's going to save, like in my case, when I scanned my NAS drive, I could save 750 gigs. Yeah.

It's a good thing I didn't have the analytics on that because you were literally thrown off the average. Yeah, right. Maybe that's $20. I think you can see that scaling. Maybe 100 gigs is $10. Maybe up to 100 gigs to 500. You could tier it like that. And then if I run it there and that gets me that reclaim, perfect. But if I have two computers...

I think it kind of makes sense to pay for two different reclaims since what you're paying for is literally I am paying to get that amount of space back.

So I really do think that that is probably – there are ways in which it is not perfect, but I think that is probably the best price structure. And I think that will give you the most bang for your buck, so to speak. I think that will give you the best income, and I think it will be easier to do things like dynamic pricing to help align –

the value that the app delivers to the customers with how much they are then willing to pay for it. I think that the word best in this sentence, the best pricing structure for your app is doing a lot of work there. The least terrible pricing structure for your app. It depends on what you value. I have to say that the test flight feedback has not been as enthusiastic about this approach as you are.

But again, test flight is not necessarily representative either because they're all like ATP members and, you know, they're technical people or whatever. But then again, they're also the people who are going to buy the app. And anyway, you know, I'm not really worrying too much about pricing this point, except for dealing with bugs related to pricing, which I'm still trying to make sure I can make sure everything works the way it's supposed to. You know, before I ship, I can obviously change my mind about monetization stuff. But for now, I'm just working on the app.

I obviously agree with Marco, who's in turn agreeing with me that I really think consumables, this is one of the very, very few places other than a game that I think consumable does make sense. And I think it's worth considering. And you likely will not end up going that route, which I understand, but I really think you should think about it.

We are sponsored this episode by Delete Me. You ever wonder how much your personal data is out there on the internet for anyone to see and easily find with a quick web search? It's so much more than you think. Your name, your contact info, your phone number, social security number, getting a little creepy, your home address getting pretty creepy, even that same information about your family members, which to me is extra creepy. All of that is being compiled by data brokers and is easily sold online to whoever wants it.

And this means your data is just a commodity. Anybody can buy your private information. You can even find it really easily with web searches for free. This can lead to identity theft, phishing attempts, harassment, and spam, and all sorts of problems. So you can protect your privacy better with Delete.me. Here's what they do. They go to the data broker sites.

You tell them what information you want deleted, and their experts will go and remove it from those data brokers. They send you regular personalized privacy reports showing what they found, where they found it, and what they were able to remove. They're always working for you. It isn't just like a one-time thing. They are constantly monitoring and removing this information you don't want from these brokers' databases.

And this makes it much harder to find your stuff. It shows up in way fewer places. So Delete.me does all the hard work of wiping your and your family's personal info from these data brokers. So you can take control of your data and keep your private life more private by signing up for Delete.me. Now at a special discount for our listeners. Today you get 20% off your Delete.me plan when you go to joindeleteme.com slash ATP.

Use promo code ATP at checkout. The only way to get 20% off is to go to joindeleteeme.com slash ATP and enter code ATP at checkout. That's joindeleteeme.com slash ATP, code ATP. Thank you so much to Delete Me for sponsoring our show.

Let's do some Ask ATP, and we start with Jeremy Kelleher, who wrote probably three years ago, knowing us, but I think it was actually fairly recently. Wondering about your suggestions for a nerd who will be shopping for their first home soon. While I'm touring homes, are there tech-related questions I should ask? I'm thinking, is there Ethernet running throughout the house, or is there power in the garage I can use for an EV charger? I think those questions are great questions.

you're also hitting me at a bad time or really a great time, depending on how you look at it, because as we'll probably be talking about in the post show, I'm turning into one of those. Uh,

It's not CrossFit. No, it's the nerd equivalent. It's Home Assistant. And so I think it is worth it. Not quite as healthy. Not nearly as healthy and probably quite a bit more expensive. It's worth thinking about if you want to do any sort of home automation, be that, you know, HomeKit, be it Home Assistant, be it whatever.

So what is the situation for the switches in the house? Are there smart switches? And if so, will they convey? You know, will the owner leave them? Are you talking about light switches? Yes. I'm sorry. Yes. Light switches. Just to clarify, people don't think of the Ethernet switches. But yeah, light switches. You know, let's say you see a bunch of Lutron Caseta stuff in the house.

are they going to take those with them? Because honestly, I probably would. You're going to rip out the light switches when you move out of your house? Oh, hell yeah. And I'd put in the regular dump switches. I absolutely would. Oh my God. Taking the fans off the ceiling. I wouldn't go that far. So in this scenario, a Lutro Caseta switch is about $60. So in this scenario, you're going to rip out a switch that is probably by that time like a decade old.

And, you know, you should probably have an electrician do some of those types of things, too. So it's like that's never going to be worth it. Actually, that is true. I'd probably use it as an excuse to upgrade. So maybe I take it all back. Okay. Casey's never going to move, so it'll be fine. That's also true. If you buy someone's house who was a smart home enthusiast, chances are what you're going to find in if they do have like wall switches. It's all X10. Yeah.

Yeah, or it's going to be like an old, like, you know, broken, like, old thing from, you know, some standard from 15, 10, 5 years ago. X10. Well, right. Fair. Yeah. But, like, you know, it's going to be like, you know, Belkin Wemo switches that no longer pair to the anything or, like, it's going to be like old, broken, crappy home gear. Like, that's...

you're not going to find somebody with a house full of Casitas switches. Like, you're not that lucky. Like, that's not what you're going to find. You're going to find somebody with a bunch of cheapo Amazon knockoffs. Yeah. But leaving that aside, like, I think it's worth identifying, you know, whatever smart home stuff is there and figuring out what's going to happen with it. But on the assumption that nothing is there,

Depending on the age of the house, you might want to, maybe during inspection or perhaps even before, figure out, you know, what is it, the wire that I'm thinking, the common? Is that what I'm thinking of? The wire that... For the thermostats? Well, for thermostats and for smart switches as well. Oh, a neutral. Neutral. Maybe that's what I'm thinking of. How did you forget that word?

on this podcast. Right, seriously. I think I was conflating the two, but yes, a common wire for, as Marco said, a thermostat or a neutral wire for light switches. Basically, if the house is old enough, the switch may not have power unless it's switched on, and that's bad for a smart switch, right? You want the smart switch to always have power, and then the device that it's switching may or may not have power, depending on whether the switch is on or not. So you might want to ask about that.

Another thing that I think is very important, and I mean this genuinely, is what are your ISP options where you're living? All three of us now have been spoiled by Fios for 10 plus years.

I genuinely think that if I had the choice between a darned near perfect house in Comcast territory and a house that wasn't quite as good, but in Fios territory, I'm buying the Fios house every day of the week and twice on Sunday because it is that much. It truly makes my life as a nerd that much better. And just the other day I was somewhere, I want to say it was a library or something, and the internet was a little spotty there and it

It was beyond infuriating. I don't have patience at almost 43 years old. I don't have patience for crappy internet. I cannot tell you how amazing Fios has been for me, and I think I speak for all three of us. So I think I would look into that. On the ISP front, by the way, I feel this pain not personally because I, like Casey, intentionally bought a house that could get Fios. Yeah.

My relatives, unfortunately, live in places where their ISP options are very limited and have been terrible. So every time we do FaceTime calls with people, they look like potatoes because their upload is terrible. Also, they have terrible lighting in their house. But other than that, their upload is terrible. And we look clear to them because it's like some crappy Comcast package where their download is perfectly adequate, but their upload is like nothing, right? And so a very exciting development.

My sister recently said, hey, there's this company in the neighborhood. They say they're offering me, you know, internet service for X amount, Y, Z, or whatever. And I was like, do it. Take it. Do it. Like, you need to get off of Comcast, right? It was, I don't remember what the name of the company is, but it's one of those, like,

I don't know if it's municipal fiber, but some kind of one of those upstart fiber companies that's like, but I've never heard of this company. It's like names that sound like Skynet but are not Skynet. It's just like something I've never heard of. I'm like, whatever it is, do it. How many years have you been suffering under the yoke of Comcast, Xfinity, whatever the hell it's called now? Do it. And guess what? She did it, and her upload speed went from like,

0.5 megabits per second to 600. That's amazing. You have, and the other thing is she called me and she was like, uh, there's something, you know, I can't, I'm not getting, I did a speed test and it's showing these numbers and they're not, you know, the speed test up here on the third floor is not as good as it is in the basement or whatever. And it's like, uh,

Well, first of all, that number is like, you know, 200 at that point. And it used to be like 0.5 megabits. So like, congratulations, that's way better than it was. But second of all, I debugged the situation and what they did, they had installed the ISP router, like where, where her old, you know, Xfinity router was like, and it's like next to the TV and like this sort of downstairs, like split level, like entertainment room or whatever.

But she had an Eero system that I'd given her one of my old Eero's I gave her and installed at her house to try to like mesh network the Wi-Fi from us What is essentially the basement up to like the third floor or like loft area where she's got her iMac? On Wi-Fi essentially and she said that Eero system for ages And so she's like I I hooked up the Eero to try to get better signal to the Mac upstairs, but it's not working I looked at the way everything was configured and it was she had two Wi-Fi networks, but

both somehow with the same SSID, but they were like fighting with each other. In the end, the solution was unplug all the arrows, put them into a Ziploc bag, find someone else who wants them and use the one router that this weird janky fly-by-night company that gives you fiber gave her that's in the basement.

And now she's at 400 megabits per second up and down, symmetrical from a wireless iMac on the third floor. I'm like, welcome to civilization. ISPs make such a big difference. You don't think, oh, you're such a pre-modern, you need to have your fast speed for your torrents. No, no. It's about human connection. Do you do FaceTime calls with your family? Or like Google video? Like this is how we see, this is how we see our relatives. People who aren't flying around from place to place, right? We see the other people in our family and talk to them

through two-way video and if people have poor upload you can't see them it's not a thing that you can control yourself but you know so this is the gift you give to everyone else get a good isp with good upload speed do not ignore the xfinity thing that say look at this big number you're going to get down who cares about down you want symmetrical and cable tend not tends not to be symmetrical for a lot of historical and technical reasons and fiber tends to be so yeah

Yeah. Look for a house that has a choice of fiber ISPs, not just Verizon, but there's all sorts of other ones that are around. And they some of the again, I don't even remember the name of this company. Anything is better than massively asymmetrical and expensive cable. Yeah. And, you know, there's a number of, you know, shortcomings for nerds that houses might have that you could fix, you know, if you want to either yourself or maybe by applying small or maybe large amounts of money.

usually your availability of ISPs cannot be fixed with any amount of money. Sometimes you can like pay somebody to run a cable to your house, but that's rare. You're going to pay them huge amounts of money, like enough to buy five more houses. Right. Yeah. Like for the most part, like whatever ISPs are available for your address, you're stuck with that. And it's very hard to ever change it. So my sister has been in the same town for, I don't know, 15, 20 years. Finally, she has one ISP choice. It's not like RCN or Xfinity or whatever.

Yeah. And so like, you know, when you're thinking about like, you know, going back to Jeremy's question here, like, is there power in the garage you can use for an EV charger? Well, if there's not, usually the circuit breaker box is in the garage. So it's pretty easy for an electrician to come out and add that without too much cost or hassle because you're adding something in a garage next to the circuit breaker. Like, that's fine.

I already actually answered Jeremy's email from who knows how long ago because I didn't want to leave them hanging about this. But that was the main piece of advice I had is when purchasing a home and when you're looking at a home. And I was giving advice from the perspective of somebody who did the one amount of home shopping he's ever done in a very hot real estate market where the idea of picking a house based on what it has is laughable, let alone demanding that you have things. It's just like,

trying to find a house that will accept your bid and, you know, waving the inspection and just accepting that a family of rats lives there or whatever, because that's what it's like in the hot real estate market. And you don't forget to ask to offer a 20% over asking. Anyway, the way I'm framing it as questions is like,

Finding out what you're going to have to do to the house when you buy it to factor that into your equations Not like you should look for a house that has this marco's right The isp thing is the one thing you have to do that because you can't fix this but almost everything else especially if you're in a hot real estate market is like I'm giving you advice. So, you know what you're in for not so that will influence your choice You should not forego a house that doesn't have what i'm about to describe but

But just be aware that the house you're buying doesn't have this because you're going to have to pay for it yourself. And I think the one thing I suggested was find out how many amps are supplied by the circuit breaker, the panel, like how many amps of power are available in this house. I forget what they come in, like 100, 150, 200 or whatever. You kind of have to know how much power is already in the electrical system in the house and

and how close to the limit of that power the house is. Very small house might not need that much. Very big house might need more. Does it have air conditioners? How many air conditioning units does it have? What is the heating and cooling like? And then you have to add to that the loads that you think you're going to add with your nerd stuff. Do you have an EV? Do you have a bunch of computers? Do you have a big TV in the entertainment center? Do you have a big stereo like...

That's going to add up. You should do some kind of back-of-the-envelope math and figure out, hey, this is a 3,000-square-foot house with 100-amp service. Nope. I'm going to have to upgrade that. That's why I'm telling you, look at the panel. Especially old houses are...

way under provision for modern standards yes despite the fact they can't had incandescent lights they didn't have evs right so be aware that when you're looking at a house again don't not buy it but fact you know go to an electrician and say hey if i wanted to upgrade this service and they can they just run another line from the street or like connect the lines already running from the street 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 will die okay pay an electrician to do this please right um

And it's going to cost you a lot of money because it is dangerous work that only electrician can do. You want to know that number. So that was my number one piece of advice for any tech nerd buying a house. Find out how much power is going to it. And if you have to on day zero before you move in, upgrade the service to your house and pay an electrician to do that.

Yeah. Well, and also that typically involves the electric company as well. You have to get approval from them to upgrade the service and you will then have to replace probably your entire breaker box. So it's quite a job, but it can be done. But it's probably like a few thousand bucks. And sometimes it has to be done. Yes. Like if you want to live a sane life with like lots of electronic equipment and definitely an EV. Right.

Yeah, and you can do stuff like, you know, smart breaker panel boxes. It'll make better use of limited service, but usually upgrading your service is actually pretty much the same price as a smart breaker box. So you might as well just upgrade the service, but sometimes if you don't have that option. The smart breaker box is terrifying me. It's just like, yeah, we're just going to take power from this part to deliver it over there. It's like, I just, I need, like, let me do that. I'll turn lights off and stuff. I just need, I need it to be possible to cook in the oven or on the microwave at the same time.

I need to be able to do that, like without the lights going out. So yes, please check your service. Yeah. And I think a corollary to that is how many open slots do you have in your box? I mean, it very well may be that you're going to replace it anyway, but if you're bursting at the seams, maybe, maybe you have 500 amp service. I'm being facetious, but you know, you have 500 amp service, but you have one little itty bitty slot for a new circuit breaker. Well, guess what? The whole kitchen's on one circuit breaker. That's the thing. That's the thing you want

thing you want to know. That's the other thing. But if you only have one slot available, then you're either going to need to have a daughter box or what have you, or you're probably going to need to replace the whole damn thing and rejigger it all. So that's also worth looking at. But in terms of nerd stuff, I mean, yeah, is there Ethernet running throughout the house? I think that's a fair question. If not Ethernet, is Coax running throughout the house? I have had extremely good luck with, as I've talked about,

many times in the past, Mocha Bridges, which are basically things that go from Ethernet to coax and then back again. So my house is sort of kind of wired for Ethernet. Nerds, just let it go. It's fine. My house is sort of kind of wired for Ethernet because I have these boxes in a couple of places and I just ride on the coax and it's surprisingly fast. It's not as good as real Ethernet, but it's close. It's certainly not as good as fiber, am I right? But anyways, you know, I would look at

what is the in-wall situation for Ethernet, for coax, for anything really, and see what's available. But I think for me, that's most everything. Marco, I feel like you haven't had a chance to offer any unique suggestions. You've certainly had commentary about ours. Anything you can add?

Yeah, mainly that, like, so, yeah, Ethernet running through the walls would be amazing. You're not that lucky. It's not going to happen. You're not going to find it. I don't think I've ever seen a house that had Ethernet already in the walls. Or if you did, it's not going to be, like, Cat 6 or Cat 7, so it won't do one gigabit or whatever. Yeah. So, for me, the question there is not, is there Ethernet in the walls, and is there an EV charger, because there won't be either of those things. But...

although you're more likely to find an EV charger these days than Ethernet. But the question is, how hard is it to add it? And that depends on the house. Like what would really help a lot is...

is if the house has a basement or a crawl space under it and an attic above it, then you can much more easily run wires in and out. Or if there's an attached garage, you can kind of go from the garage and go in and out of stuff. Basically, does your house have utility spaces above, below, next to, or throughout? Any kind of utility closets, anything like that, where you could run wires through and access the interior walls of some of the other rooms easily

Like by going in from above or below, so you don't have to like tear up big sections of wall. So the question is not like, will you find a house with Ethernet? No, you won't. But the question is, how involved and disruptive and expensive will it be to add Ethernet to this house?

And you don't necessarily, if you're going to have to do that to a house, you don't need Ethernet in every single room. If you can get it in most rooms, that's great. But if you're trying to retrofit it to an existing house and don't want to tear up every room or don't want to spend quite that much money to do it,

You can just kind of have like, you know, the greatest hits like, you know, have have Ethernet go from like the garage wherever your computer will be, wherever your TVs will be and wherever you think you might need a wireless access point. Now, if you want to go even, you know, even further, you could, you know, run Ethernet to anywhere. You might want a power over Ethernet device like a camera.

But that's more kind of advanced mode. But yeah, most houses could be well-wired for nerd's sake for Ethernet with between like two and four ports, like if they're well-placed throughout the house. Yeah, I agree. That's all I've got. The only things that are connected to Ethernet, and I wired them myself through my large basement, is my computer room. So every single computer that is not a laptop is connected to Ethernet.

and the TV entertainment center. So all my streaming boxes and everything like that. And my PlayStation is in here in the computer room. So every device that I care about is on ethernet, but there's literally only two rooms in the house that have ethernet and my security cameras, those have power going to them through like a little USB-C thing that plugs into a plug that's, you know, in the garage or whatever. Like, but they just use wifi because with a good mesh network, uh,

you don't need that many access points to cover my not so big house. So yeah, if you're thinking like, I got to have either in every room, you don't, unless you live in some like 50,000 square foot giant mansion, right? Like just ethernet and strategic places plus good mesh wifi will get you covered. The only other thing I think about related to networking stuff is like

I don't know if this is a thing you can really check because the people you're buying the house from are never going to tell you this or whatever, but like, do your walls have lead in them? Is it one of those old houses where for some reason, wifi cannot penetrate from room a to room B, you know, you're only going to kind of find that out when you're there. But like the, the things we're talking about here, this is another reason why, if at all possible, again, don't not buy a house because of these things, but just be aware of them and factor it into both your budget and,

And considering like, can we afford this house given that we have to upgrade the service given we have to do X given they have to do Y. And also the time of like, before you move in is the time to have somebody ripping apart walls and fishing things through attics and basements before there's furniture before you live there. I know it's a luxury that sometimes you don't always have, but like before you settle in,

do the you know obviously the you know refinish the floor it's like before you move your stuff in right but even just fishing things through walls uh or you know trying to get something into a difficult place it's a lot easier to have something to either do that yourself or have someone else do it when there's nothing else in your house and and you know in worst case scenario if you if you want ethernet throughout your house uh but it's difficult you know to to get it through the walls or anything like

A lower tech solution might be fine, depending on how much jank you can tolerate. Like when we first bought this house and my Ethernet wiring wasn't installed yet.

I ran the cable out the window and threw it into the garage. Because Ethernet is very tolerant of running long distances through lots of different conditions. And we know Margo's kink, so... Origin story. Yeah. So I bought a 140 Ethernet cable and plugged it into my computer and...

ran it out the window and closed the window on top of it so it wouldn't move and just ran it you know through the bushes across the across like the front of the house yeah it's like running it's like running christmas light wire you just kind of tuck it in different places and then you know under the garage door like into the garage it was and i ran it that way for like a couple of months and it was fine similarly like you know if you like you don't need necessarily to have ethernet jacks in the wall if you need to you can just like

I mean, depending on, again, where you can kind of hide or get away with this, you could just like drill a hole in the floor and run a cable from your basement up into the, like, there's lots of different ways you can do it. It's pretty tolerant and it doesn't have to be perfect. That's how my internet gets to my rooms. Yeah, right. Like,

Because it works. A lot of times, especially if you have an old house, it can be pretty difficult to run professional wiring in the walls, into jacks in the walls. That could be very disruptive. Unless you're willing to rip open the entire walls, then that's a much bigger project. Right, exactly. You could do it the way every college nerd did it when we were in college. Just run the cable down the stairs and tape it to the wall. There's lots of options. Yeah.

But anyway, good luck with the house hunt, Jeremy, if you're still in it or if you are in it to begin with. But yeah, there are a lot of options. But the thing with most houses, it's not will it have this already because it won't. And if it does, it'll be some ancient or bad version that you won't want to use. It's more how easily can this be added and how much will it cost me?

Pick your house based on the location. That's stupid, you know, saying location, location. It's stupid, but it's true. Pick it based on the location. All right. People's commutes to your jobs, proximity to public transportation, to, you know, grocery store. All that is going to have such a bigger effect on your life. The only reason all these things we're talking about come in is because you have to factor them into your time and money budget.

And so that's how you're selecting. You're not, you know, like I said, do not reject the house if it's in the right location, if it doesn't have all these things, if you, if it fits within your budget to fix all of them. The only one you can't fix is the ISP. Yeah. It's all about location and fiber ISP access. All right. Thank you to our members who support us this weekend. Thank you to our sponsors, Squarespace and Delete Me.

One of the perks of membership is our weekly overtime, our bonus topic every week. This week in overtime, we're going to be talking about the Nintendo Switch 2 that was announced. We don't know much about it yet, but we know enough to talk about it. So this week in overtime, Nintendo Switch 2 announcement. You can join us at atp.fm slash join if you want to listen to that overtime and all the other member exclusive content that we do, including overtime every week and a bunch of different specials.

etc. So thank you very much for everybody for listening and we'll talk to you next week.

Now the show is over. They didn't even mean to begin. Because it was accidental. Oh, it was accidental. John didn't do any research. Marco and Casey wouldn't let him. Because it was accidental. Oh, it was accidental. And you can find the show notes at ATP.FM.

And if you're into Mastodon, you can follow them.

So long.

So I alluded to a little bit of home automation talk earlier. Oh, I can't wait. I can't wait. There's been a monumental occurrence in Liz's household, which literally nobody in the household is even aware of other than me, but this is how it goes. So to recap, we talked, and I believe it was on episode 376, which we'll put a link in the show notes.

We talked a couple of years ago, one of my pandemic projects as especially nerds were want to do was to make the most cockamamie and ridiculous Rube Goldberg scenario for alerting myself. If the garage door was open, we have a smart garage door opener, like the physical machine that opens and closes the garage door. But it doesn't work with home kit. It will never work with home kit. And again,

I could get the like my queue thing, but I had one and it was all right. And then it got better for a while. Then they like took away home kit access or something like that. I forget the details. It doesn't really matter, but I needed a project anyway. And so what I had done was I got a couple of Raspberry Pi zeros, which at the

time were the cheapest and most underpowered Raspberry Pis that existed. I think they have things that are closer to an Arduino now, but either way, at the time in like 2020, they were the cheapest I could get. They were like 10 or 15 bucks, I think, each.

I got zero WHs, which is to say zeros that had Wi-Fi capability. There's a W and the H meant that they had the GPIO, basically the IO pin soldered on because by default, a Raspberry Pi Zero doesn't have any of the pins to connect to other stuff. And I had one literally sitting on top of the garage door opener

with a contact switch running up to the top of the garage, and it would use that contact switch hooked to one of these aforementioned GPIO pins to figure out whether or not the garage door was open. And when it was opened or closed, either way, it would periodically broadcast a UDP packet on the network saying to anyone who wanted to listen, the garage is open. The garage is open. The

The garage is open, or whatever the case may be. And then I had another Pi Zero WH up in the bedroom, hooked up to an LED, and when it received one of those UDP packets saying, the garage is open, then it would illuminate the LED. And although in the two or three years, I forget when we recorded that episode. God, it might have been five years at this point. Time is something else. Anyways, in the several years since this, since I started this whole project, it's been mostly bulletproof, and there have been...

five or ten times in five years that I have had the garage door closed because I noticed the red illuminated LED by my bed. So, mission accomplished. Putting all that aside, recently, over the last several months, I've started to dabble again with Home Assistant. I had been running Homebridge, which was my preferred home automation thing of choice. And

And Homebridge is pretty darn good at taking things that don't have native HomeKit support and putting them into HomeKit. And that's done mostly via JavaScript, like add-ons and things like that. Because, hey, why wouldn't you? JavaScript's everywhere. And I did like it and use it for a long time. But...

Let me tell you, the Home Assistant people, you think John's flying monkeys are bad? Oh, let me tell you, the Home Assistant flying monkeys are worse. They will not stop talking about Home Assistant. Everything relates to Home Assistant. There's no problem that cannot be solved by Home Assistant. And it is the only thing, it is the only software you should care about, period.

And I always found that so incredibly off-putting. And I did try Home Assistant around the time I had trialed Homebridge, and I just couldn't wrap my head around it. It was wildly different than what I wanted, and I didn't understand how it worked.

Well, I am here to tell you I now understand how it works. I am now one of the flying monkeys and everything relates to home bridge. Or excuse me, home assistant now. There is no problem, gentlemen, that I cannot solve with home assistant. But in my home assistant journey, I became aware of something that I should have known about. It's existed for like 20 years or something like that, but I'd never heard of before. And this is MQTT.

It's an acronym who's, I already forgotten what it stands for. It doesn't really matter. But what it basically is, there you go. MQ telemetry transport. That totally explains what it was, what it is, or at least that's what it originally was called. I think it has a different definition now. What this basically is, and the nerds will come after me for this description, but what it basically is, is like a data bus. So it's a pub sub sort of thing where you can say, I would like to know when such and such happens or, Hey, such and such happened.

And so I'm running this, as you would expect, as a Docker image, as I am home assistant on my Synology. It is extremely lightweight and extremely fast. And I have realized now that what I can do is I can put things into an MQTT message, if you will, somewhere, and then I can read them somewhere else.

Now, what that means is since Home Assistant has even more support for different devices than HomeBridge did, and HomeBridge had a lot, Home Assistant actually has support for my Kakamani garage door opener. So it has native support for it, which is great. And what I can do is I can have Home Assistant, when it sees there's been a change in the state of the garage door, and

It can publish a message on MQTT that says, hey, the garage door is open. Then I can have the Raspberry Pi that's upstairs in the bedroom listen for those messages, and it can turn the LED on or off, which means that now I don't need my garage Raspberry Pi. And so it has been officially decommissioned as of earlier today. And at this point, Marco, if you would like to insert taps, please feel free. Wow. Right.

I am down to only one Raspberry Pi and two Docker images. You might want to run the Docker containers on the Raspberry Pi because maybe it has a better CPU and memory than your Synology. Like you're running so much on the Synology.

Not the Raspberry Pi Ws. Excuse me, the Zero Ws. Those are very weak. I bet they could do it, especially for Mosquito, which is the particular... I always get nervous about you running all this stuff in your Synology that does actual computations. You say it's lightweight, but I'm...

What is your Synology having? Is that like an Atom processor or something? I think it does. I understand the question. I forget what it is. It's a 1621 Plus. So it's not the original one that we had all gotten years ago. I'd gotten this a couple of years ago now, maybe a year and a half ago. So it's, you know, one 800th as fast as an Apple TV. I don't know if I would go that far, but your point is fair. But I'm running, let's see, right now I am running, where is it? I don't know.

I don't know. 20, there are 22 Docker containers that are on my sonology of which 20 are running at the moment. And it's fine. Like it really is fine. It's fine. Um, but, but in any case, I, I have now, thanks to, uh, MQTT and I'm using mosquito, which is the particular implementation of MQTT. I have decommissioned one of my Rube Goldberg, uh,

Raspberry Pi. Sounds kind of like you've replaced it with another Rube Goldberg machine. You just think it's cooler because it has an acronym. Yeah, pretty much. And it's not relying on UDP, which I think is an improvement as well. What's wrong with UDP? I mean, nothing. It just seems so old and janky by comparison. Old and janky? It's not any older than TCP IP. They're the same age, roughly. It just feels jankier to me. Anyone want to do the joke? You want to do the joke? I don't know what joke you're talking about, so no, I don't want to do the joke.

I know a joke about UDP, but you might not get it. Oh, there it is. Well done. Well done. Wow. Yeah, well, and MQTT does run on TCP. In any case, what this has now created, though, other than probably more problems and certainly a complete time suck is

is now I want to do something different. 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 to my good friend, Eric Wielander, who has a phenomenal YouTube channel about smart home stuff, especially HomeKit, but not exclusively HomeKit. And I was talking to him, and he came up with a couple of pretty good options, but I haven't come up with a perfect option. What I think I want to do

is I want to have a very low-tech system

in-home status board. So what I want is like three LEDs. Now, I think the terminal that Marco has, the little e-ink thing, I think it could serve this purpose. I could write my own custom thing for it. And to be honest, I might end up going that route because I don't know if we spoke about it on the show, but Terminal was kind enough to offer John and I freebies basically because of Marco's hard work. So thanks, guys. My hard work in buying one and talking about it.

Well, still, and I believe, and to be fair, I believe they are sponsoring a future episode of the show. But one way or another, I could 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 take like a light or the space that a light switch would take up.

And I want to have three LEDs there. This is such a 1970s slash 80s solution. It is. Forget about a screen with information. Can I get three lights? Yeah. No, I know. And stick them in a switch plate? I know. So that only I will know. It's like looking at the lights on your cable router in 1994. It's like, I know what those lights mean. Why stop at lights? Why not go for like Nixie tubes or those like flip board things? Yeah, exactly.

Maybe I should go that route. No, I mean, I, again, I know you're making fun of me and truth be told, if I was on the receiving end of this conversation, I would make fun of you as well. But I think it would be neat to have like two or three LEDs that will show like the state of things that I really, really care about. And the thing, you know how to read them. If you know how to read them. One of them is whether, whether or not it, whether or not Aaron's car is actively charging, uh,

whether or not the garage door is open and whether or not the mail has been delivered, because I think we talked about in a past show. Yeah, we did talk about with my ridiculous setup out in my mailbox. Um, you know, I've got, I've also gone deep into the Yolink world. And so, um, now that that's been integrated into home assistant, et cetera, et cetera.

but I think those three LEDs and what I want to do is like John described not literally replacing a light switch but in the same kind of setup you know like I can envision in my mind three of these LEDs in the spot where a light switch could be and they will illuminate based on presumably like an Arduino or maybe if I had the physical space to fit the Pi Zero in there which I probably wouldn't but I don't know I can't

figure out a graceful way to do this because presumably if I were to literally replace a light switch, which I don't plan to do, but for the sake of conversation, if I were to replace a light switch, I

I would have power there, but not in the way I would want. You know, that's not like an AC outlet is in a, you know, junction box behind the light switch. There's, you know, 120 volts back there or whatever, 110 volts back there. In the spirit of your mailbox contraption, you can get one of those switch plates that has USB ports on it, USB A or C ports, and then you plug a cable into the port and fish that cable back behind the switch plate. And that'll match your mailbox first.

It would match my mailbox perfectly. But what I'm driving at is, is there some sort of, you know, LED, a controllable LED, preferably from either Home Assistant or like an Arduino or something like that, wherein I could turn, you know, one to three LEDs on or off as I see fit. And I don't think I want a single one because multiple things could be happening at the same time.

I'm pretty sure an Arduino can handle turning on LEDs. In fact, that may be the main thing people do with them when they first get them. Or you can just get yourself a breadboard.

That's also fair. But the problem is like, how do I power the Arduino? Where do I physically put it? And so I think there's probably a more graceful solution to this, which probably is the terminal, but a more graceful solution to this, um, that, that I'm not thinking of. So Eric gave me a couple ideas. Like he had suggested, um, I think it's called nano leaf, the, the like tiles you can stick on the wall, which he knew isn't exactly what I wanted, but it's in the vicinity of what I want. Um,

But I presume there's some other options that I'm not thinking of. So if you have something like that that you've done or that you're thinking of, please reach out to me on either email or Mastodon. Let me know because I would love to have some suggestions. The next person who buys this house someday is going to be like, why are there LEDs in the wall?

This must have been done in the 60s. Like, nope, 2025. No, it's so true. It's so true. Do they not have computer screens? No, they have them. This old fogey just didn't want to use them. That's what it boiled down to. No, I just think it would be, it's one of those things, it's just a fun project. And so far I'm failing miserably, but nevertheless, I'd love to have some feedback if you have any. So please feel free to reach out.