00:00:00 ◼ ► I would like to tell you that I'm upset at the two of you. And the reason I'm upset at the two of you is because I am finally getting around to reading Project Hail Mary. And I can't put it down. It's so freaking good. No spoilers, please, anyone.
00:00:13 ◼ ► No. So this was the impetus was that Erin decided that she would like to read the book before we watched the movie. And then I was like, no, she's probably got the right answer there. So I started to read the book a little bit behind her. And she's a much faster reader than I am. So I am reading it.
00:00:29 ◼ ► I'm a little bit less than halfway through, I'd say. And this book is a sniper attack complimentary on my wife because it is all like biology and science. I'm not going to get any more specific than that. But she is freaking riveted. I am also riveted. And so I'm a little upset at you two that I'm having to spend my time with some of my best friends instead of reading my book.
00:00:51 ◼ ► I'm sorry. I will say, I did see the movie. And without spoiling anything, I thought it was excellent. I really enjoyed it.
00:01:01 ◼ ► I saw the movie too. It was rare. Marco and I both went to see a movie in a theater. That's wild, but it happened.
00:01:10 ◼ ► The last movie I saw in a theater was F1, to give you an idea of how little I got in a theater these days.
00:01:14 ◼ ► Oh, wow. I'm really slacking. Man, I have problems over at my household. Goodness. Well, that's right.
00:01:20 ◼ ► The other pre-show I wanted to do is I asked John to do a little bit of homework. And in Marco's
00:01:27 ◼ ► defense, I did not explicitly say to Marco one way or the other whether or not he was expected to do the
00:01:31 ◼ ► same homework. And so he didn't, which is fine. But I can barely do the homework that is assigned to
00:01:37 ◼ ► me, let alone homework that is not. By the way, before I continue, sorry. John and Merlin on the last
00:01:44 ◼ ► episode of Reconcilable Differences did in the in the member exclusive bonus content did an incredible
00:01:51 ◼ ► segment on homework. And that's true. And I can like I found it incredibly therapeutic and incredibly
00:02:00 ◼ ► good because homework when I was going through school was just the the largest source of profound
00:02:08 ◼ ► emotional damage that I like most of what I talk about in therapy today is related to that.
00:02:14 ◼ ► And so to hear this discussion of homework and how kind of, you know, the downsides of our homework
00:02:22 ◼ ► culture and how ineffective it can be and how damaging it can be, I found quite therapeutic and
00:02:28 ◼ ► quite interesting. So thank you, John and Merlin remotely from from talking about for talking about
00:02:38 ◼ ► Yeah, well, I mean, you're going through it with your kids. So like you see, you can see how it has
00:02:45 ◼ ► Yeah, it's not actually it's not as bad as it was, like when we were in school, like it's it there's
00:02:49 ◼ ► less of it now. And, you know, my biggest problem was always that, like, as soon as I was not in school,
00:02:56 ◼ ► I would just never think about it. And or I, you know, things would be assigned to me in class by the
00:03:01 ◼ ► teacher just like saying something once or writing something in the corner of the board. And as soon as I'm out of
00:03:06 ◼ ► that classroom, it's gone. And so if I didn't see it or write it down, I would never know about it.
00:03:11 ◼ ► You know, now they can just log into their Chromebooks and log into their whatever classroom
00:03:15 ◼ ► and see all the assignments that that they need to do. So there is no such thing as like, I don't know
00:03:22 ◼ ► Yeah, you find that to be the case, because I heard that from my kids a lot, even though, yes,
00:03:26 ◼ ► you're right, they could have just logged on and checked. But I mean, it's didn't go away. It just
00:03:31 ◼ ► Yeah, it isn't a perfect system. But and there is certainly some faint surprise. But it is way better
00:03:38 ◼ ► now than it was when we were in school. Like, it's way more forgiving. And now most of like most of my
00:03:43 ◼ ► kids teachers now, not all, but most of them will accept late made up homework before the end of the
00:03:49 ◼ ► quarter, which that was not like, you know, when I was in school, if you if you didn't have it when
00:03:55 ◼ ► it was due zero, that's it just a zero. And like John was saying in that episode, like no matter how
00:04:01 ◼ ► well I did on the on the tests or anything, the homework homework was like half of my grade. So I
00:04:06 ◼ ► would I would like get 100% on all the tests and get 0% on all the homework or get C's. It was it was
00:04:19 ◼ ► homework stank. It still stinks. And I wish we didn't have it. So I asked john to do a little
00:04:24 ◼ ► bit of homework, which, again, my memory is garbage. And I guess maybe I had sent you this homework as
00:04:30 ◼ ► like a not as homework, but as a hey, check this out. Ha ha. Or maybe somebody else did. I don't
00:04:35 ◼ ► know. But one way or another, I sent you an audio file that I wanted you to listen to. And perhaps you
00:04:40 ◼ ► could describe for us not only what it is, john, but also what you thought of it, which is really what I
00:04:45 ◼ ► was after. Yeah, I couldn't find I'm pretty sure I saw it in masks on or something. But somebody did
00:04:49 ◼ ► link me to the video thing. And the video thing is the only thing that would have given me the
00:04:53 ◼ ► information about who is actually performing. It's goose, right? It is. Yes. Okay, so it's goose doing a
00:04:58 ◼ ► Billy Joel cover. And I can see why you sent it to me because I'm a big Billy Joel fan. And I'm not a
00:05:02 ◼ ► big goose fan. It covers are tricky, because there's two ways you can go with the cover. One
00:05:10 ◼ ► is, and a lot of bands do this, you want to play it so that the people who like the original song will
00:05:16 ◼ ► also like your cover. And the other way is the way you're familiar with from video game trailers,
00:05:21 ◼ ► if you're a youngster, which is, oh, now I'm going to do a different version of that song. So there's the
00:05:26 ◼ ► the sad, somber, slowed down version of a pop song, or in going the other direction, you can do like
00:05:32 ◼ ► the dance remix version of a song that wasn't originally like an electronic dance song, but now
00:05:36 ◼ ► the your cover of it is. So I feel like those are the two ways you can go. And the middle ground
00:05:42 ◼ ► between them, where it doesn't sound like the original, but also is not a fresh take on on the
00:05:47 ◼ ► song is rough. I kind of feel like goose was in that middle ground there. That's fair. Yes,
00:05:54 ◼ ► because like, they certainly weren't playing it like Billy Joel plays it like to down to them not
00:05:59 ◼ ► even doing the vocal harmonies on like the the pre chorus or whatever, like that's a big part of the
00:06:03 ◼ ► song. And you have a million people on stage, right? Just have somebody do the harmonies, but they didn't
00:06:07 ◼ ► do it. And obviously, the arrangement instrumentation, everything was all, you know, different than it is
00:06:11 ◼ ► in the original. But also, it was not like, here is like, you know, genre transfer, or like a really
00:06:18 ◼ ► different version of it, where like different instrumentation entirely, like, you know, because it was the
00:06:23 ◼ ► same instruments, like keyboard, guitar, drums, bass, like all that stuff. It was like, it's not that far
00:06:27 ◼ ► from the Billy Joel original, but it sounded far from it. And I feel like, first of all, I didn't realize
00:06:35 ◼ ► this when I was watching the YouTube video, because it's just you're just watching on your phone or
00:06:37 ◼ ► whatever. But when you sent me the audio link, it showed the duration. I was like, this is not a nine
00:06:42 ◼ ► minute and 30 second song. It's just, all right, well, you know, jam band. So there's obviously parts
00:06:50 ◼ ► of the song where they do the jam band thing where they go off and start noodling on the instruments
00:06:54 ◼ ► for a while. And honestly, those sounded the most like it was like, oh, finally, the band could just
00:06:59 ◼ ► be who they are. Like, oh, yeah, we were doing a cover. And then they go back to it. It's like,
00:07:03 ◼ ► uh, so not, not a, not my favorite cover. Uh, I think they should have either done it more like
00:07:10 ◼ ► Billy Joel or less like Billy Joel. And the only time that I found it, the only time I found it not
00:07:14 ◼ ► off-putting was in the middle parts where they just like extended the bridge out to this big noodley
00:07:19 ◼ ► jam band segment, because then I could forget they were trying to do a Billy Joel cover and just out.
00:07:22 ◼ ► here's, here's goose doing goose things. Yeah. I feel like John, I feel like I would not expect
00:07:28 ◼ ► you to appreciate any cover of a song that you like made by a different band. Like that doesn't
00:07:36 ◼ ► seem like your style. Not true at all. I've got some, I got some covers that I love of songs that I
00:07:41 ◼ ► love. Not true that I'm surprised to hear that. Luca Bloom's cover of bad, incredibly different than
00:07:46 ◼ ► the original. Love it. I think I listened to it more than the original now. Um, what is it?
00:07:50 ◼ ► Which band? The Michael Jackson song? No, the U2 song. So is it more, so like the, you know,
00:07:55 ◼ ► when, when goose or fish cover other songs, which is somewhat frequent, um, they, I wouldn't say
00:08:02 ◼ ► they're necessarily changing the arrangement of the song. Whereas like if you, like if you,
00:08:08 ◼ ► if a band covers a song, but like dramatically slows it down or changes certain rhythms or, you
00:08:14 ◼ ► know, like there's things that would qualify as like a different arrangement. You can just do
00:08:18 ◼ ► different playing different notes on the instruments. Like I don't, I don't know what the word
00:08:21 ◼ ► arrangement means tech from a technical music perspective, but like, for example, the, uh,
00:08:26 ◼ ► the like guitar and keyboard parts in that goose cover are not the same. They're not playing the
00:08:31 ◼ ► same notes as the guitar and keyboard cards in the original, because I have the original like in my DNA
00:08:36 ◼ ► and I know like, Oh, they should be playing these notes here. And they're not, they're playing a
00:08:45 ◼ ► your reaction seems kind of tepid and I consider that a personal victory, but I, I don't see this
00:08:51 ◼ ► on YouTube. If I sent it, if I sent you a video, I am unclear how or where I sent that. And what I've
00:08:57 ◼ ► done is for the listeners, I've put a link to, uh, kind of the set list repository where this is
00:09:02 ◼ ► mentioned. This was actually the 8th of May that this was performed. And also, uh, not to be that guy
00:09:06 ◼ ► that's saying, look at my band camp, but look at goose's band camp, where I think you can at least
00:09:10 ◼ ► listen to a preview of it, if not the whole song without actually purchasing it. Uh, and so we'll
00:09:14 ◼ ► put that link in the show notes. I thought it was a good cover. I don't really disagree with anything
00:09:19 ◼ ► you said though. I think covers generally speaking are best when they're relatively by the book, but
00:09:25 ◼ ► well, I shouldn't say they're best then they're most palatable when they're by the book, like you were
00:09:29 ◼ ► saying, but I think they're the best when they're a complete left turn from what you're used to,
00:09:33 ◼ ► as you were saying earlier. Uh, I think the canonical example for me, because I'm me is all
00:09:38 ◼ ► along the watchtower, which was a Dylan song, I believe. And then Hendrix famously covered it,
00:09:43 ◼ ► which is almost nothing like the Dylan version. And then Dave Matthews band covered it many,
00:09:48 ◼ ► many, many times, which is nothing like the Hendrix version. So, um, yeah, I'm sure they bettered the
00:09:53 ◼ ► Hendrix version. Oh, I wouldn't say better. It is a very different take on it. Jimi Hendrix,
00:09:59 ◼ ► Dave Matthews, they're right up there, right? Oh, right. Just peers, peers in the rock world.
00:10:04 ◼ ► I thought we, I thought we were not at an impasse. That's negative. I thought we were at an
00:10:08 ◼ ► understanding and here you are trying to ruin it. I don't dislike Dave Matthews, but I'm not going to
00:10:12 ◼ ► let you say Jimi Hendrix along the watchtower and also Dave Matthews. I'm like, no, same thing.
00:10:17 ◼ ► No, my point was just that they're all very, the point I'm trying to bring up is not the relative
00:10:21 ◼ ► qualities, but just that they're each very different than the other. That's all. Anyways,
00:10:28 ◼ ► I just looked it up. It's a DHT. I have no idea who this banana band is. It's D period,
00:10:33 ◼ ► H period, T period. Did a cover of listen to your heart from rock set. Uh, I like the original rock
00:10:38 ◼ ► set song, which is just a garbagey pop song from my childhood and extremely popular, but garbagey
00:10:44 ◼ ► pops. Yes. And the, uh, the DHT cover is a slowed down moody one, uh, that hasn't been used in a
00:10:50 ◼ ► video game trailer. So it's another cover that I like. I have many covers that I like. They have to be,
00:10:54 ◼ ► they have to be really good though. All right, let's do some follow-up. Let's talk about CapEx
00:10:59 ◼ ► versus OpEx as capital expenditure versus operative. No, I should plan. Thank you. Operating. Um,
00:11:12 ◼ ► you're mostly right that the lawyers in the building were deciding whether what you were doing qualified
00:11:16 ◼ ► as one or the other, but the lawyers were themselves reacting to section one 74 changes. Here's some more
00:11:21 ◼ ► info if you aren't already asleep. And then Andrew linked to Bloomberg, which we will put in the show
00:11:26 ◼ ► notes, uh, from September 26th of 2023, uh, in, in there Bloomberg writes the IRS is September notice
00:11:33 ◼ ► 2023 hyphen 63 clarifies the definition of software development for purposes of current year expensing
00:11:39 ◼ ► encompassing nearly every aspect of the software development process. In doing so it's requiring
00:11:43 ◼ ► most related expenses be amortized. I did almost fall asleep there. Yeah. The reason I put this in
00:11:48 ◼ ► here is because I said it over my career that it has changed. And I do remember around this time
00:11:52 ◼ ► there was a big change or it was like, there was always like debate over who's doing it. Maybe
00:11:57 ◼ ► companies would change their mind over when this thing happened at whatever this section one 74 change
00:12:01 ◼ ► was, it was like company wide. Like there's, you know, there's a big new decision and we're doing a hard
00:12:06 ◼ ► right turn. And it pretty much everything is going to be a capital expense for software development.
00:12:11 ◼ ► And I'm not sure if it changed again after that, but yeah, the landscape has changed several times
00:12:15 ◼ ► causing a confusion as an delay, as they say. All right. With regard to hot lots, uh, with Apple
00:12:22 ◼ ► in the 18 pros from TSMC, uh, we got a couple of pieces of feedback. The first from anonymous who
00:12:27 ◼ ► writes in regular chip manufacturing, a wafer goes through several dozen manufacturing steps inside a
00:12:31 ◼ ► fab different customers, wafers, and the processing steps are carefully sequenced and scheduled to keep
00:12:36 ◼ ► production line at close to a hundred percent utilization. A hot lot is kind of like the fast pass in
00:12:41 ◼ ► Disneyland. You pay extra in the wave and the wafers or individual chips get priority at each
00:12:46 ◼ ► manufacturing step. It can give you wafers and chips two to three times faster. Matt Jones writes
00:12:52 ◼ ► a hot lot, which demands a stiff pre a stiff price premium for its reduced cycle time. TSMC specifically
00:12:58 ◼ ► offers two classes of expedited surface hot lot and super hot lot with the latter being even more
00:13:03 ◼ ► expensive and faster. The premium and improvement in cycle time vary by the tightness of the line and the
00:13:09 ◼ ► demand, including who's in line since cutting the line can push back other lots or they renamed the
00:13:14 ◼ ► super hot lot. It used to be performance hot lot. Wow. That took me a second, but well done, John.
00:13:20 ◼ ► Well done. Anyway. Yeah. So hot lot, it's a term of art. There you go. Um, and it's basically pay money
00:13:24 ◼ ► to cut the line. Uh, and, uh, I guess annoy everyone else whose stuff is getting delayed, but you know,
00:13:29 ◼ ► money can solve a lot of problems, I guess. All right. With regard to altering and neoing all the
00:13:35 ◼ ► things, Jan Ojanimi writes, maybe iPhone ultra is the 20th anniversary iPhone question mark.
00:13:40 ◼ ► Yeah. We didn't talk about that. Uh, as you know, I did mention that iPhone ultra had been
00:13:45 ◼ ► rumored as a name for a phone that is more expensive than the current top of the line phones before
00:13:50 ◼ ► the folding phone rumors had started. It was just like, Apple's going to Apple's going to make a new
00:13:54 ◼ ► phone. It's going to be more expensive than a pro max. And it's maybe it's going to be bigger and blah,
00:13:57 ◼ ► blah, blah. That was, that was the, I think the original iPhone ultra rumor, um, as we are
00:14:02 ◼ ► approaching the rumored 20th anniversary phone with the waterfall edge screen that goes off curves on
00:14:09 ◼ ► all four sides and you know, all screen and everything is underneath the screen. There's
00:14:13 ◼ ► either a tiny hole punch or no hole punch at all. Like anyway, the rumors of that device continue to
00:14:17 ◼ ► swirl. We've talked about it in past shows. The question is assuming they don't call the folding
00:14:27 ◼ ► As opposed to, I guess, iPhone X, X, whatever that phone is, is that an ongoing product line or is
00:14:34 ◼ ► it kind of a one-off special thing? It sounds kind of like something it's, it's almost sounds like a
00:14:40 ◼ ► concept car. Like it sounds like a product that Apple would be really excited about much more than
00:14:47 ◼ ► the public would see. Also the iPhone air. I feel like the iPhone 10 though, you could say the same
00:14:55 ◼ ► But the, the iPhone 10 was like, okay, this is obviously the, the form factor that all iPhones
00:15:01 ◼ ► will be. They just needed a few transition years. I don't think it was obvious. I don't think it was
00:15:05 ◼ ► obvious to Apple at all. I think they were going to try a thing. They called it the iPhone 10. They
00:15:09 ◼ ► hedged their bets. They released it and they were hoping it would be the future of all iPhones. But what
00:15:13 ◼ ► if the public had rejected it? I mean, look, they can always change their minds, but I disagree that that
00:15:17 ◼ ► that was ever their plan. I think they, they knew this would like all iPhones will be this, but we can't
00:15:22 ◼ ► or shouldn't make them all this yet. So they had like a transition period of a few years. Whereas what
00:15:27 ◼ ► we're hearing about the 20th anniversary iPhone being this, like, you know, all screen curved around the
00:15:32 ◼ ► edges kind of thing. Like, honestly, I, I'm not super excited about that. I think from an ergonomic
00:15:38 ◼ ► perspective, it sounds awful. And it, I think it ignores the reality that almost everyone uses cases on their
00:15:42 ◼ ► phone. Uh, and there's a reason why all the Android manufacturers tried that years ago and
00:15:47 ◼ ► currently mostly don't do that. I think you're, uh, you're, you're thinking of the curve is more like
00:15:51 ◼ ► the old Android phones. The latest rumors of the curve is that it's like barely curved, like a, like a one
00:15:56 ◼ ► or two millimeter little thing. Like it's not actually like, so you can view it from the side. It's just
00:16:00 ◼ ► like, it goes over the top and then curves a tiny little bit. Yeah, I get that. Yeah. That's,
00:16:05 ◼ ► that's the latest rumors for it. And the other thing about it is I've always said since the day zero of
00:16:10 ◼ ► the iPhone, that the obvious evolution of this product is to have the screen cover the entire
00:16:14 ◼ ► thing. And then they made the phone with a notch. And I said, yeah, they have a notch because they
00:16:17 ◼ ► have to, but as soon as they can get rid of the notch, they will. And they didn't get rid of it.
00:16:21 ◼ ► They turned into dynamic Island, but it got smaller and the dynamic Island keeps getting smaller.
00:16:29 ◼ ► but they can't yet, even for the 20th anniversary for it. I think they can't, but I still believe that
00:16:33 ◼ ► the natural evolution of the iPhone is to continue having the screen go edge to edge, top to bottom,
00:16:39 ◼ ► broken, no notches, no dynamic islands, no hole punch cameras. And maybe they won't get there
00:16:43 ◼ ► by the 20th anniversary phone. But when I hear them talk about it, I'm like, oh, well, they're going to
00:16:47 ◼ ► put even more screen on it. And I agree with you that the curving around the edge is the sort of wild
00:16:51 ◼ ► card, because even with the rumors of it being barely curved around the edge, it's like, okay,
00:16:56 ◼ ► but then doesn't that still make it kind of, you know, slightly more difficult to deal with cases,
00:17:01 ◼ ► maybe slightly more breakable. What is the advantage of those extra one or two millimeters
00:17:05 ◼ ► around the edge, you know, having a zero bezel, uh, as opposed to having a, not only is there no bezel,
00:17:11 ◼ ► but the screen continues for a millimeter down the side. I'm not sure if there's an advantage,
00:17:16 ◼ ► but I do think just like the iPhone 10, the iPhone, the 20th anniversary phone, the iPhone
00:17:21 ◼ ► iPhone X, X, or whatever, or 20 is effectively, uh, we can make this phone now for a premium price.
00:17:29 ◼ ► We would like all future phones to be like this, but if public rejects it, we'll change our plans
00:17:34 ◼ ► because we know how to make the other kind of phone too. Yeah. And I think like for them, you know,
00:17:38 ◼ ► going back to the original question, like if the, if they're going to use a name like iPhone Ultra,
00:17:43 ◼ ► I would expect them to use that name for a product that Apple expected the line to continue
00:17:50 ◼ ► indefinitely into the future. I don't know that we can necessarily say that about this,
00:17:55 ◼ ► this 20th anniversary product that, that is rumored like it, because it, it still sounds kind
00:18:00 ◼ ► of like an experiment or a one-off. Uh, and you know, so again, like I, I just don't see them using
00:18:06 ◼ ► the term Ultra because then, you know, that term, suppose this product doesn't succeed and it's named
00:18:10 ◼ ► Ultra, then they're, they either can never use that name again, which is a waste of a, of a pretty good
00:18:17 ◼ ► kind of generic name, or they would just call something else, you know, iPhone Ultra in the
00:18:23 ◼ ► future. That would be totally unrelated. And that would be kind of a weird marketing thing to deal
00:18:26 ◼ ► with as well. I just don't see that happening. I see this just, this sounds like a product that
00:18:31 ◼ ► first of all, may not even launch. Honestly. Um, it still sounds kind of concept car-y and it doesn't
00:18:37 ◼ ► sound like the rumors are super firm around it yet. Uh, but I think if they launch it, I think it's a
00:18:43 ◼ ► one-off. I think a 20th anniversary phone, there will be a 20th anniversary phone. And I
00:18:47 ◼ ► think they're going to make this, the questions about this one have been, can they actually get
00:18:51 ◼ ► it to be all screen? And basically the answer in the past several months has been, it looks like
00:18:55 ◼ ► there's going to be a hole punch because they just can't get the camera under the screen because the
00:18:58 ◼ ► quality is too crappy, but Oh, well, like I think, I think they will ship something even if it has a
00:19:03 ◼ ► hole punch camera in it, even if it even has a tiny dynamic on just to get it out the door.
00:19:08 ◼ ► And I think they want the reason I think they won't use the ultra name is because I think
00:19:12 ◼ ► their hope is that the top of the line phones will look like this. Now the wild card here is what I
00:19:18 ◼ ► said before, which is like, but if the idea is that Apple wants to add a new, uh, ultra tier to all of
00:19:25 ◼ ► its product lines for even more expensive products, if they put this one in the ultra tier, that would
00:19:30 ◼ ► mean that like the year after there'd be another ultra, another ultra. And it's like, okay, well then
00:19:35 ◼ ► there's that delay the trickle down. Like anything that's in an ultra, well, it's hard to say, but
00:19:40 ◼ ► like, I feel like the features you put in an ultra, you can't keep them there forever. Like the, the
00:19:44 ◼ ► MacBook ultra swimming again, assuming that's true. Are you going to keep the OLED in the ultra line
00:19:49 ◼ ► forever? 20 years from now is the MacBook air not going to have an OLED because sorry, that's ultra
00:19:54 ◼ ► exclusive. I don't think that's tenable. So, you know, I just feel like ultra as a placeholder for the
00:19:59 ◼ ► more expensive top of the line one, the features do have to trickle down. And in the case of the
00:20:02 ◼ ► iPhone ultra with the little screen edge thing, assuming people don't hate that, which is an
00:20:06 ◼ ► open question. Um, I just feel like that will, that will eventually trickle down to the pro and pro max
00:20:11 ◼ ► and eventually trickle down to the no suffix iPhone someday, because if it's a successful feature like
00:20:16 ◼ ► face ID, eventually it goes down the line, but it's all, this is all an open question. Like this is,
00:20:21 ◼ ► I think about last episode, my main concern about ultra or my main question about it is,
00:20:26 ◼ ► is this an opportunity to add a new high end segment and product lines that didn't previously
00:20:31 ◼ ► have one, or is this a name they just hack on for marketing reasons for one generation and then just
00:20:36 ◼ ► nevermind and, you know, continue on. And, and I'm trying to think of what they would call a 20 anniversary
00:20:42 ◼ ► phone or they don't call it ultra. They could call it XX. I don't know how they pronounce it.
00:20:54 ◼ ► What if they call it iPhone nine? What? Cause there never was one. Cause they never made one.
00:21:00 ◼ ► Oh right. Yes. It teleported from the future when they made the iPhone eight and the iPhone capital
00:21:05 ◼ ► letter X for Roman numeral 10. All right. Uh, Karan J writes, what about studio? Given that the Mac
00:21:12 ◼ ► studio and studio display are now the top of their respective lines and the new OLED Macs could be the
00:21:17 ◼ ► Mac book studio, iMac studio, et cetera. See also creator studio. Yeah. Studio is in the mix as a name
00:21:23 ◼ ► suffix, but the rumors aren't about studio. The rumors are all about ultra. Uh, and the, the watch is not
00:21:28 ◼ ► called the Apple watch studio. I, you know, I don't, I don't know. I do feel like studio is not as good.
00:21:33 ◼ ► A high end name, despite the fact that as he says that like their most expensive monitor is called studio,
00:21:38 ◼ ► their previous most expensive monitor was pro display XDR. XDR seems to be the ultra of the monitor world.
00:21:45 ◼ ► The Mac studio is the current top end Mac. They're not going to make a Mac ultra. I don't know. Uh,
00:21:51 ◼ ► I just, I just don't feel like studio studio seems to me to not be as high end as ultra.
00:21:58 ◼ ► And then Zoran Neshik writes, uh, regarding an iMac Neo, if you swap out the M series for an A series
00:22:05 ◼ ► SOC, isn't that just the studio display? And, and Karan actually also from earlier adds, uh,
00:22:11 ◼ ► studio display would be an easy iMac Neo with a smaller, cheaper display panel. Of course.
00:22:16 ◼ ► That's the problem. The studio display is so much more expensive than a regular iMac, let alone an
00:22:21 ◼ ► iMac Neo. So yeah, it does already have an A class SOC and it costs like what three times as much as a
00:22:28 ◼ ► regular iMac. So really kind of hard to Neo that particular one. And by the way, the, uh, the A series
00:22:33 ◼ ► SOC it has in it just like, I forget how much RAM it has. We looked it up, but like, uh, it, it's,
00:22:39 ◼ ► it's on the ragged edge of what you would want in a Mac. So it would be wild to have an A series SOC
00:22:44 ◼ ► and like a, you know, it's super expensive, uh, machined aluminum case from the studio display.
00:22:50 ◼ ► Uh, even the regular studio display. Um, yeah, that's, that shows how tricky it is. Like it does
00:22:56 ◼ ► have an A series SOC, but the screen and the case and the stand dominate the price and make it
00:23:01 ◼ ► more expensive than an iMac. We are sponsored this episode by Squarespace, the on one website
00:23:09 ◼ ► platform designed to help you stand out and succeed online. Whether you're just starting out or scaling
00:23:14 ◼ ► your business, Squarespace gives you everything you need to claim your domain, showcase your offerings
00:23:19 ◼ ► with a professional website, grow your brand and get paid all in one place. So no matter what your
00:23:24 ◼ ► business needs, whether it's selling physical goods, selling digital goods, maybe like an ebook or a PDF
00:23:29 ◼ ► for a guide or selling things like subscriptions, membership areas, paid newsletters, paid podcasts,
00:23:35 ◼ ► maybe you're a consultant and you sell time slots or appointments or things like that. You can have
00:23:40 ◼ ► all of that and so much more with Squarespace. And it's so easy. You don't have to be a nerd and you
00:23:46 ◼ ► don't have to really spend a lot of time, honestly, running your website. You can just do it. So if you
00:23:51 ◼ ► aren't a nerd or if somebody comes to you who isn't a nerd and wants you to make a website for them,
00:23:55 ◼ ► you can just send them to Squarespace and then they don't have to go through you. You don't have
00:23:58 ◼ ► to gatekeep it. They can be empowered. It's an amazing system. So they support everything that
00:24:03 ◼ ► your business might need from things like analytics and email campaigns all the way up to getting paid,
00:24:08 ◼ ► having all the most advanced checkout options, payment methods, etc. all supported. If you have
00:24:12 ◼ ► physical goods, they have things like sales tax integration and shipping integrations and things
00:24:16 ◼ ► like that. It's amazing. You can start with the domain there with Squarespace domain. So really,
00:24:21 ◼ ► from start to finish, they have you covered. The design is super easy to use. Everything
00:24:25 ◼ ► is visual. They have AI integrated where it helps, but it's still your voice at the end of the day.
00:24:33 ◼ ► Now, you can see for yourself by doing their free trial. Go to Squarespace.com slash ATP and you can
00:24:41 ◼ ► start a free trial there and build the entire site before you give them a credit card at all. See
00:24:45 ◼ ► how well it works for you. When you're ready to launch, use offer code ATP to save 10% off your
00:24:51 ◼ ► first purchase of a website or domain. So once again, Squarespace.com slash ATP for that free
00:24:56 ◼ ► trial. Go back there, Squarespace.com slash ATP and use code ATP when you're ready to purchase to save
00:25:01 ◼ ► 10% off your first purchase of a website or domain. Thank you so much to Squarespace for sponsoring our
00:25:06 ◼ ► All right, let's talk time machine. We had a one-off comment from John last week about how you have
00:25:17 ◼ ► a ton of small files in your time machine backup, mostly because of node stuff. And John Wilson writes,
00:25:23 ◼ ► John's comments about node modules directories and so on making time machine backups hard. Raise an eyebrow
00:25:28 ◼ ► with me. Why on earth did you not or would you not exclude folders like that? The same goes for the .git
00:25:35 ◼ ► Yeah. So it's pretty easy to exclude things from time machine. I've got a command line alias to do
00:25:39 ◼ ► it. I think the TM util thing will do it. You just add an extended attribute to it. You don't have to
00:25:43 ◼ ► like open the time machine settings and drag it into the thing or whatever. Um, but what I found is
00:25:49 ◼ ► doing that manually just, it just doesn't happen. Like I, I guess I check out too many repos,
00:25:55 ◼ ► casually clone too many things. Just, you know, I, I have a bunch of them and they are excluded. If you
00:26:01 ◼ ► have, if you have like a fixed setup where I'm like, I'm only working on these two projects and
00:26:04 ◼ ► they have two node modules directories and they're excluded. So everything's fine, fine. But that's
00:26:08 ◼ ► just not the way I tend to work. Um, nevermind these days, what all like the coding agents are
00:26:12 ◼ ► doing behind the scenes and cloning things to God knows where or whatever, even just my own use before
00:26:17 ◼ ► the age of coding, uh, uh, models and stuff like that. I just found myself making lots of these
00:26:22 ◼ ► one-off directories, cloning, get repos, playing around with them, you know, doing NPM install and
00:26:27 ◼ ► directories, but like it was just, you know, I needed it to be automated into that. And we got
00:26:31 ◼ ► some more feedback. And then Andrew Hathaway writes, I use Asimov to prevent node modules directories
00:26:37 ◼ ► from being included in time machine backups. This is an open source thing and it self-describes as
00:26:41 ◼ ► Asimov scans your file system for known dependency directories, for example, node modules and excludes
00:26:46 ◼ ► them from time machine backups. Yeah. I think you have to write manually, but yeah, an automated system
00:26:50 ◼ ► that would just like, it's tricky because it would have to drink from like the FS events fire hose and
00:26:54 ◼ ► like see every time something happens and see if there's a node modules in there. Like that's,
00:26:58 ◼ ► that's why it's tricky because these are especially like dot get directors for cloning things and node
00:27:02 ◼ ► modules. Like it just to stay on top of it requires a discipline. And even if you do try to stay on top
00:27:10 ◼ ► of it, if you're trying to do it like manually, or even if you have a scan running every once in a while,
00:27:13 ◼ ► if a time machine backup starts and it notices your node modules directory and it's like, now I have to
00:27:17 ◼ ► back that up, but then, Oh, the, the automated excluding thing goes and excludes it too late.
00:27:21 ◼ ► Time machines already got its claws into it and now it's grinding away at 2 million additional files.
00:27:26 ◼ ► And then I wish I could do this in Dropbox too. I don't think there's a way, at least not in the,
00:27:30 ◼ ► in the non-file provider version of Dropbox. I would love Dropbox to ignore my node modules directories,
00:27:35 ◼ ► but I don't know if there's a way to tell Dropbox to not sync an individual subdirectory other than
00:27:41 ◼ ► selective sync, which is telling it, Oh, this exists in Dropbox, but don't put it here. It's like, no,
00:27:45 ◼ ► that's not what I want. I want it to be here, but I want you to ignore it Dropbox. So I'm not quite
00:27:49 ◼ ► sure how to do that. Not that I keep stuff, uh, node module stuff in Dropbox, but I do have some
00:27:53 ◼ ► .git directories in there. Anyway, it's tricky. Uh, and the number of things that create a bunch
00:27:58 ◼ ► of small files very quickly and change them rapidly, uh, and remove them when I'm done,
00:28:04 ◼ ► uh, is, uh, increasing over time, not decreasing. Uh, with regard to time machine on spinning discs,
00:28:09 ◼ ► Ben Madison writes, I used a spinning disc for time machine until fairly recently. I was backing up a
00:28:14 ◼ ► MacBook pro, which I needed to unplug and take to meetings fairly regularly. If the backup happened
00:28:18 ◼ ► to be running at the wrong moment, it took forever for the backup to end in the drive to eject. And I
00:28:22 ◼ ► was frequently late to meetings as a result. I assume this was just the nature of time machine until I
00:28:26 ◼ ► got an SSD and was thrilled to discover that I no longer needed to budget extra time for disconnecting
00:28:30 ◼ ► my laptop. This is a reasonable complaint, but why wouldn't you just like plug it in overnight or
00:28:35 ◼ ► something rather than having it plugged in all time, all the time? Yeah. You gotta remember to do it or
00:28:39 ◼ ► do the thing where you tape it to the back of your laptop lid, right? You get a 2.5 inch spinning disc
00:28:44 ◼ ► that's bus powered and you just tape it to your laptop. Yeah. It's just with portable stuff. It is
00:28:48 ◼ ► tricky because you know, time machine, even with SSDs, time machine takes it sweet time. When you say
00:28:53 ◼ ► cancel this backup, you know, you could just yank the machine and unmount it and you think, oh, it'll handle it.
00:29:01 ◼ ► circumstances, I wouldn't want to test that. Then Carlos Pereira writes, when using time machine
00:29:06 ◼ ► to backup my MacBook Air's 512 gig SSD to a two terabyte spinning discs, backups were taking more
00:29:12 ◼ ► than 12 hours. And at some point something got corrupted and backups just vanished from the
00:29:15 ◼ ► external drive. Backing up my MacBook Pro's one terabyte SSD to a four terabyte external SSD
00:29:20 ◼ ► takes 10 minutes with no issues. Additionally, David Fockema writes, since macOS 26 Tahoe,
00:29:27 ◼ ► surprise, my time machine drive that's the same size as my source volume has failed to complete a
00:29:32 ◼ ► backup twice in a single month. I now have a new drive that's twice the size of my source volume
00:29:37 ◼ ► and I have needed to reformat it and start a new time machine backup five or six times since last fall.
00:29:41 ◼ ► My current oldest backup is April 28th. And again, time machine is misbehaving. It's doing a backup
00:29:46 ◼ ► right now and progress is at 30% with 250 gigs copied so far. I fear the result will be again that the
00:29:51 ◼ ► entire backup drive fills up with all previous backups except the last one from last Friday will
00:29:55 ◼ ► be removed to free up space and still the new backup cannot be completed. Again, I will have to reformat
00:30:01 ◼ ► how can this even happen with a 2x drive? I don't know. I don't see a lot of people experiencing this
00:30:07 ◼ ► exact issue, but it's driving me batty. I'm not sure what triggers it. And then updates. I had to nuke my
00:30:12 ◼ ► drive again and start over. No space left on device. I have not personally seen this, but I mean, that stinks.
00:30:17 ◼ ► I've seen it. Uh, and the basic issue is that Apple's maintenance of time machine has been
00:30:23 ◼ ► mediocre at best. Uh, it's the type of feature that when it was introduced, it was amazing. And they,
00:30:30 ◼ ► it's not like they haven't updated it. If you look in the underpinnings, they've changed it a lot over
00:30:34 ◼ ► the years to try to improve it, but it just has never really like to give an example, um, visibility.
00:30:43 ◼ ► I mean, this is a complaint we have about a lot of Apple stuff, but like visibility into what is going
00:30:47 ◼ ► on. Right. And many people are, you'll see online, they're saying, Hey, uh, a time machine backup
00:30:53 ◼ ► completed. I sat down on my computer. I, I wrote an email. Uh, and then I noticed time machine had
00:30:58 ◼ ► started again because an hour had passed. I'd read it. I'd spent an hour writing an email and browsing
00:31:02 ◼ ► the web. And then I see a time machine started again and it's taking forever. What happened on my Mac
00:31:08 ◼ ► in that last hour? That's taking so long to back up. It's from your perspective as a user. It's like,
00:31:14 ◼ ► I sent one email and I browsed the web. What, what, you know, what, how many files is it backing up?
00:31:19 ◼ ► What is it doing? Why is it taking so long? That's the type of thing where more visibility into the
00:31:24 ◼ ► system would be beneficial. So you could see time machines taking a long time because it's backing up
00:31:31 ◼ ► 7 million new files in this particular directory. You know, like what is it doing? Why is it taking a long
00:31:35 ◼ ► time? What is it backing up? Maybe I should exclude that directory because I don't care about those
00:31:38 ◼ ► files. Maybe that's a cache directory that somehow a time machine isn't backing up. And the second part
00:31:42 ◼ ► is setting aside visibility is for simple tasks, especially with SSDs and so on. Shouldn't it be
00:31:48 ◼ ► getting faster over time to do an incremental backup of the same amount of data? Shouldn't it be getting
00:31:52 ◼ ► more reliable over time? Shouldn't it be, you know, shouldn't we be polishing this so that it is
00:31:56 ◼ ► efficient, faster, better, like, and they have added, uh, you know, more efficient things where you will
00:32:02 ◼ ► use the API snapshots and tries to use the features of the file system to, you know, has different
00:32:07 ◼ ► strategies for figuring out what has changed since the last time, which is the tricky bit here.
00:32:10 ◼ ► Like, I'm not saying it hasn't improved, but it hasn't improved enough. It doesn't have any better
00:32:16 ◼ ► visibility than it did before. And these type of bugs where you're like, I don't understand what's
00:32:20 ◼ ► going on. I have a time machine drive. It's huge. It tells me there's not enough space. It deletes
00:32:24 ◼ ► everything else or gets stuck on a file. And I don't know what file it's stuck on. Like you'll find so
00:32:28 ◼ ► much stuff in web searches of like use LSOF, uh, you know, to figure out what files are open and
00:32:33 ◼ ► figure out whether you see this with MDLS with the spotlight. The next thing as well, just everyone
00:32:38 ◼ ► trying to diagnose, look at the logs, look at these lines. If this happens, do this, erase your disc
00:32:43 ◼ ► and format it in this way, do this thing. It shouldn't be this fraught. The whole point of time
00:32:47 ◼ ► machine, the promise of it is that it's for backup for people who don't know how to deal with backup.
00:32:51 ◼ ► So it's just simple plug in a drive. You want to back up to it. Okay. I'll take care of everything
00:32:54 ◼ ► for you. But instead it becomes this babysitting nightmare where, and again, this is not on
00:32:58 ◼ ► spinning discs. This is not lots of small files. This is just regular use of time machine. And,
00:33:03 ◼ ► you know, I would file this under another aspect of macOS that has been allowed to, I don't know if
00:33:10 ◼ ► it's been allowed to deteriorate, but it certainly hasn't improved. You know, you would think features
00:33:14 ◼ ► that exist for many, many years that are used frequently, wouldn't just get the bare minimum
00:33:17 ◼ ► of maintenance and slowly accumulate new bugs. Instead, they would be, you know, knocking down every
00:33:22 ◼ ► one of the bugs and getting better and better. Like I would want to see every few years at WWDC say,
00:33:25 ◼ ► oh, and the new version of macOS, we made time machine better. It backs up 20% faster. And we
00:33:32 ◼ ► did this and we did that. And like, they just don't say that anymore. Even the improvements they do make,
00:33:35 ◼ ► they don't tout. And it's like frustrating to me because time machine is one of my favorite
00:33:47 ◼ ► We are sponsored this episode by Zapier. Zapier is how you actually deliver on your AI strategy,
00:33:53 ◼ ► not just talk about it. So AI is everywhere these days. We all know that. And honestly,
00:33:57 ◼ ► I find a lot of great uses for AI, but sometimes it can be hard to figure out how to harness that power
00:34:03 ◼ ► with actual tasks I need to do or integrating it with the tools or the services that I already use
00:34:09 ◼ ► or that I needed to access. This is where Zapier really comes in. Zapier is this amazing orchestration
00:34:15 ◼ ► and automation platform that actually predates AI by, they've been around for many, many years.
00:34:19 ◼ ► They already have so many integrations and automations built into their platform. They've
00:34:23 ◼ ► been doing it forever. They're the experts. When AI has come around now, Zapier made things even
00:34:28 ◼ ► better. It's like pouring gasoline on the fire. They have amazingly ramped up their capabilities with AI.
00:34:33 ◼ ► You can now bring the power of AI to any workflow using Zapier's AI orchestration platform.
00:34:43 ◼ ► like 30 seconds. It was amazing because you can have AI now help you construct the Zapier workflows
00:34:49 ◼ ► and automations and everything. So you just kind of ask it in plain language what you want.
00:34:53 ◼ ► It offers you options, it guides you through it, it creates the whole thing. You can then go and edit
00:34:57 ◼ ► it or you can have the AI edit it. It's amazing and it saves so much time. You can accomplish so much.
00:35:03 ◼ ► You can tie it into so many tools. Zapier is how you bring the power of AI to any workflow.
00:35:13 ◼ ► chat GPT, Claude, whatever you want to use. It's all integrated. You can orchestrate it all
00:35:18 ◼ ► with Zapier. Whether you're a tech expert or not, doesn't matter. So many people have used Zapier.
00:35:23 ◼ ► Teams have already automated over 300 million AI tasks with them. So join the millions of businesses
00:35:29 ◼ ► transforming how they work with Zapier and AI. Get started for free by visiting zapier.com
00:35:35 ◼ ► slash ATP. That's Z-A-P-I-E-R dot com slash ATP. Thank you to Zapier for sponsoring our show.
00:35:47 ◼ ► Uh, Emma Roth at the Verge writes, Apple has agreed to pay $250 million to settle a class
00:35:53 ◼ ► action lawsuit that accused it of misleading customers about the availability of its Apple
00:35:57 ◼ ► intelligence features. The proposed settlement would apply to people in the U.S. who purchased
00:36:00 ◼ ► all models of the iPhone 16 and iPhone 15 Pro between June 10th, 2024, March 29th, 2025.
00:36:07 ◼ ► People who submit qualifying claims can receive $25 for each eligible device, which may increase or
00:36:12 ◼ ► decrease up to $95 per device depending on claim volume and other factors, according to Clarkson
00:36:17 ◼ ► law firm, the legal team behind the class action lawsuit. Apple denied any wrongdoing. Here's
00:36:22 ◼ ► Apple's full statement. Since the launch of Apple intelligence, we've introduced dozens of features
00:36:26 ◼ ► across many languages that are integrated across Apple's platforms relevant to what users do every
00:36:31 ◼ ► day and built with privacy protections at every step. These include visual intelligence, live
00:36:35 ◼ ► translation, writing tools, Genmoji, cleanup, and many, many more. Apple has reached a settlement to
00:36:40 ◼ ► resolve claims related to the availability of two additional features. We resolve this matter to
00:36:44 ◼ ► stay focused on what we do best, delivering the most innovative products and services to our users.
00:36:48 ◼ ► I love the legal system where they can claim no wrongdoing, but it's like, but you didn't ship
00:36:52 ◼ ► those things in the ad, right? Right. We're going to claim no wrongdoing for this thing that was
00:36:57 ◼ ► obviously the case and also is we're going to pay $250 million. Right. I mean, the no wrongdoing
00:37:04 ◼ ► and paying sometimes you do just make a lawsuit go away, but even in their own statement, they basically said,
00:37:07 ◼ ► well, we did a bunch of other stuff, right? It's kind of vaguely related and we're resolving this thing
00:37:13 ◼ ► with, you know, claims related to the availability of two additional features. Like, yeah, those are the
00:37:18 ◼ ► ones you didn't ship. That's what they're suing you about. They put ads on TV about those things and people
00:37:23 ◼ ► would see the ads on TV and say, I'm going to get a new iPhone because it's going to have those things.
00:37:27 ◼ ► And you know, you literally today they're not shipping. They're still not shipping. So I feel
00:37:32 ◼ ► like this is a slam dunk case. And for them to say, we admit no wrongdoing, but we obviously, I mean,
00:37:37 ◼ ► they advertise things that they didn't ship. Uh, so yeah. And I, I bought, I have a 16 pro, so I will
00:37:43 ◼ ► be getting my 25 to $95 for that. And I'm excited about that. Did you, have you actually signed up for
00:37:49 ◼ ► it yet? They don't have, I don't think there's a way to sign up for it yet. Okay. That's what I
00:37:52 ◼ ► thought, but I'm assuming they'll send me an email or, you know, we'll cover it in the show or
00:37:55 ◼ ► whatever, but I always sign up for these things. I always take the money from the, usually it's,
00:37:59 ◼ ► you get a piddling amount, but Hey, sometimes it's like a multiple devices in the family. So,
00:38:03 ◼ ► you know, both my kids get 30 bucks. I get 30 bucks, you know, sure. I'll take the money,
00:38:07 ◼ ► but I just, this is a, this is probably the least bad ending that Apple could have hoped for that
00:38:12 ◼ ► they'll, they were allowed to settle and admit no wrongdoing and pay to what to them is like,
00:38:18 ◼ ► you know, pocket change, nothing, uh, in exchange for probably one of the biggest screw-ups in the
00:38:24 ◼ ► past couple of decades, biggest public screw-ups in the past couple of decades, which is at WWDC
00:38:28 ◼ ► 2024, showing a bunch of features and then putting ads on TV with a famous star from the last of us
00:38:34 ◼ ► slash the game of Thrones, advertising those features, and then to just literally never ship
00:38:39 ◼ ► them up till the day we're recording this. Presumably in all the 27 OSs, the features they
00:38:44 ◼ ► advertise or something similar like them, um, we'll ship, but they still haven't done it. And if we had
00:38:49 ◼ ► back at WWDC 2024, it said, hey, we're going to be recording, uh, right before WWDC 2026, and none of
00:38:55 ◼ ► those features in the ad will have shipped, that would be a pretty grim, uh, pessimistic view, but
00:39:01 ◼ ► that's the reality we're in right now. Although, to be honest, like, would you have been surprised to
00:39:05 ◼ ► hear that at the time? Like, I don't know that I necessarily, because even at the time, it seemed
00:39:10 ◼ ► pretty ambitious and pretty, like, concept-y, and we had not yet seen AI do pretty much any of those
00:39:19 ◼ ► things with any level of reliability. Normally, look, Apple has a big target on its back because
00:39:25 ◼ ► they're big and famous and rich, and so they get all sorts of things levied at them, people attempting
00:39:32 ◼ ► to sue them or shake them down, and most of them are BS, and most of them are undeserved.
00:39:38 ◼ ► This particular one, I think it's not BS, and is exactly what Apple deserved for what it actually
00:39:44 ◼ ► did. I still, to this day, am surprised that they were so brazen and careless with the way that they
00:39:52 ◼ ► advertised those features, both at WWDC and then in the TV commercials. Like, that, that was
00:39:58 ◼ ► incredibly negligent and reckless of them to do that. So, they deserve what happened here.
00:40:06 ◼ ► And in hindsight, like, it really does, I mean, I'm sure the story will tell it someday, but it
00:40:10 ◼ ► really does seem like, given that two years, two whole years have passed, they were just, like,
00:40:18 ◼ ► there's no way that they would have aired an average, I mean, when they showed WWDC, fine,
00:40:28 ◼ ► Well, I mean, it's not, it's not fine, but at least it's not, like, here's the thing. They show
00:40:32 ◼ ► stuff in WWDC, and sometimes things don't ship or change before shipping, because it's the nature
00:40:36 ◼ ► of a thing. You're seeing a pre-release product, you're a developer, like, you get it. But once
00:40:39 ◼ ► you put things on television for the public to see, that shows me that they really thought that they
00:40:46 ◼ ► would eventually get to these things. Like, I mean, the only other worst case thing I can think of is,
00:40:50 ◼ ► like, the, um, the white iPhone, which they also advertise in television, and I believe they
00:40:54 ◼ ► really thought, well, we're having trouble with the white one, the iPhone, white iPhone 4. We're
00:40:58 ◼ ► having trouble with the white one, but, you know, we'll get it out eventually. And they did get it
00:41:01 ◼ ► out eventually, but it was, I forget what it was. Gruber was just posting about it again. It was,
00:41:06 ◼ ► Right? So, the usual Apple thing is, like, okay, even if it's not ready, we all believe that it will
00:41:12 ◼ ► be ready in a reasonable time frame. We're, like, oh, yeah, sure. No, it'll totally be ready. Like,
00:41:18 ◼ ► we're going to run the ads. Because I, I, I think if they, if Apple actually internally
00:41:22 ◼ ► believed that they weren't going to have these features for two years, they would not have aired
00:41:26 ◼ ► the ad. What they thought was, we don't have them now, but everyone says that we'll probably get them
00:41:31 ◼ ► eventually. So, chip the ad. It's important to strike while the iron's hot. The, the, the features
00:41:37 ◼ ► will come a little bit later than we wanted, but it's fine. But they, they, they, what it comes down to
00:41:41 ◼ ► is, they did not realize yet that they were not going to be able to do this. Not that year, not the
00:41:48 ◼ ► next year. Like, they, and they're just mistaken about what they're, you know, and I hope there was a
00:41:53 ◼ ► big, uh, I mean, obviously there was, but there's a big shake-up, a leadership changes, all sorts of stuff.
00:41:57 ◼ ► Uh, and now they got a new CEO, so hopefully the company will not make that mistake. And it's basically
00:42:02 ◼ ► not knowing yourself. Like, be honest with yourself. Are we going to ship this, or are we not? And
00:42:07 ◼ ► if internally you have a culture where you're essentially all lying to yourselves about what you're going
00:42:11 ◼ ► to do? And like, I think that has served Apple well for years. They've always said, you know,
00:42:16 ◼ ► we'll set these aggressive targets. We'll tell the team to do the impossible. And even if they're a
00:42:21 ◼ ► little bit late, they'll eventually do it. But as I think I complained about at the time, it's like,
00:42:24 ◼ ► this one is different in that there's nothing they can really do to make this happen. And that turned
00:42:29 ◼ ► out to be the case. Like, it's not like, it's just a simple matter of finding the bugs and fixing
00:42:33 ◼ ► them or whatever. It's a, it's of a different nature. And it was especially of a different nature
00:42:37 ◼ ► because as it turns out, their, you know, their LLMs that they were working on internally
00:42:42 ◼ ► weren't even up to the, their competitor standards. And as Marco just said, even their competitors
00:42:46 ◼ ► weren't doing this at the time. So to believe that they were going to do something that no
00:42:50 ◼ ► one else had ever done, even though their internal technology to do that was worse than everybody
00:42:54 ◼ ► else's. And they were going to ship it in a timeframe that justified airing the ad just
00:42:58 ◼ ► shows a complete breakdown of accurate self-assessment in a very public way. We've seen,
00:43:05 ◼ ► we've complained about their inaccurate self-assessment in terms of developer sentiment
00:43:09 ◼ ► or all sorts of other things. But this was like the most public display of self-delusion. It's
00:43:18 ◼ ► Yeah. I mean, I generally, I think it was Marco that said this a minute ago. I generally think
00:43:23 ◼ ► the class action lawsuits are kind of silly, but it, like John said, you might as well sign up for
00:43:28 ◼ ► them. I think I've told the story briefly on the show before, but, uh, long after I got rid of my
00:43:32 ◼ ► BMW, there was a water pump related class action lawsuit where if you could prove that you paid for
00:43:38 ◼ ► a repair to your water pump in your N55, then you could get, I think it was like a thousand bucks
00:43:44 ◼ ► from BMW. And because I'm me and I keep copious notes on these sorts of things, I was able to produce
00:43:50 ◼ ► the receipt from several years prior when I paid Richmond BMW a thousand plus dollars in order to
00:43:55 ◼ ► replace my water pump. And I got a check from BMW for a thousand bucks. It was incredible. Um, but I,
00:44:00 ◼ ► yeah, I think that with regard to the advertising, I do think it's like you were saying that they thought
00:44:05 ◼ ► they were going to ship. They really did. Like, yes, it was a bit of hubris. I almost said hubris,
00:44:09 ◼ ► a bit of hubris to, um, to, to think that, Oh, we'll definitely ship this. No question. And then
00:44:15 ◼ ► not, but I don't think it was ill intentioned. I really do think and get the vibe that they
00:44:21 ◼ ► believed that they were going to ship. And then it turns out they very much didn't. And I think
00:44:24 ◼ ► they hopefully have learned a lesson. It sure seems like they have that they shouldn't be advertising
00:44:28 ◼ ► these things unless they are really truly about to launch or already launched. All right. We have
00:44:33 ◼ ► a couple of stories with regard to Apple and Intel and Samsung. So starting on May 4, Mark Gurman writes,
00:44:41 ◼ ► Apple Inc has held exploratory discussions about using Intel Corp and Samsung Electronics Co to
00:44:47 ◼ ► produce the main processors for its device in the U S. Apple has had early stage talks with Intel
00:44:51 ◼ ► about enlisting the company's chip making services. Apple executives have made visits to a Samsung plant
00:44:56 ◼ ► under development in Texas that will also make advanced chips. Discussions with both companies
00:45:01 ◼ ► started before the latest shortest shortages took hold. Samsung is already working on building more
00:45:07 ◼ ► peripheral components for the iPhone and other products, including ones for managing device
00:45:11 ◼ ► power, said Apple or Apple had said earlier. Additionally, we will point you to a link in
00:45:16 ◼ ► Apple's newsroom wherein they are increased there. They announced they were increasing their U S
00:45:21 ◼ ► commitment to $600 billion. That's where they said that they were, you know, when, and when
00:45:26 ◼ ► Gurman said, Apple said earlier, I'm like, wait a second, is this an officially confirmed Apple thing?
00:45:30 ◼ ► But it was the press release. Like that's, that's where they said that their Samsung is building
00:45:34 ◼ ► stuff for Apple phones, not the main SOCs, but I forget what it is peripheral components as
00:45:40 ◼ ► Gurman describes it. That is apparently in this press release. Uh, continuing from Gurman, Apple
00:45:44 ◼ ► prefers to have at least two suppliers for any major component, giving it leverage in pricing negotiations
00:45:48 ◼ ► and protection from supplier disruptions. As far back as 2022, Cook told employees in an all hands
00:45:53 ◼ ► meeting that, and I, um, hi, this is Casey. I didn't remember hearing this particular quote anywhere.
00:45:59 ◼ ► So this was new to me. And certainly I think it was John that bolded it in our internal show notes.
00:46:03 ◼ ► Let me read this quote from Cook from 2022, regardless of what you may feel and think 60%
00:46:08 ◼ ► coming out of anywhere is probably not a strategic position referring to chip production concentrated
00:46:14 ◼ ► in Taiwan. Yeah. So this is, I, yeah, I also had not heard this quote or if I did hear it back then,
00:46:19 ◼ ► I had forgotten about it again. This is back in 2022 and this is Tim Cook talking to employees.
00:46:24 ◼ ► And if you think he's more candid with employees than he is with the public, I don't think he is.
00:46:29 ◼ ► Because A, he knows everything's going to leak and B, I don't think he's candid with anybody like that.
00:46:34 ◼ ► Um, but here he is stating plainly, uh, we don't like that. We get so much stuff from TSMC.
00:46:42 ◼ ► And his thing was like 60%, you know, 60%. If we're getting 60% of anything from a single place,
00:46:49 ◼ ► That's like TSMC is making all your chips for the phones. Uh, it is just, you know, so it shows that
00:46:57 ◼ ► it's not as if Cook was unaware, uh, and, and, you know, repeat for China and other things,
00:47:02 ◼ ► not as a cook was unaware that a non-diversified supply chain is bad. It just seems like the process
00:47:09 ◼ ► of trying to, you know, turn that ship and, you know, whatever it was like a half of new iPhones
00:47:15 ◼ ► were created in India in the recent batch or something like that. Like to, how long does it
00:47:19 ◼ ► take to start to diversify your manufacturing to the extent that you can? And the answer is many,
00:47:24 ◼ ► many years. Here we are in 2026 and they're still working on it. And TSMC is still a massive
00:47:30 ◼ ► bottleneck, but just what the story is about is like the Apple looking to Intel and Samsung to
00:47:34 ◼ ► help them out here. And, you know, Samsung is already making whatever peripheral components for
00:47:39 ◼ ► the iPhone and other products are, but Hey, you know, something is better than nothing. Same thing
00:47:43 ◼ ► with diversifying manufacturing and doing more manufacturing in the U S and the various TSMC,
00:47:53 ◼ ► So baby steps towards diversification, but I like this quote because it really, if you're looking
00:47:57 ◼ ► for proof that, you know, Tim Cook understands that this is a bad situation, it's at least as far back
00:48:02 ◼ ► as 2022. He knew that it's not a good place to be. It's just that in the, in the subsequent four
00:48:08 ◼ ► years, he was not able to change that appreciably. Continuing from German, since then, Apple has worked
00:48:14 ◼ ► closely with TSMC to help expand operations in Arizona, where the supplier now produces a limited
00:48:18 ◼ ► number of chips for Apple from a single plant. It's ramping up work quickly for Apple, which
00:48:22 ◼ ► said, which said it will get a hundred million chips from Arizona in 2026. Apple also is contending
00:48:28 ◼ ► with shortages of memory chips, but Cook said that finding enough main processors, the SOCs or systems
00:48:33 ◼ ► on a chip is a bigger challenge right now. Quote, the primary constraint is the availability of the
00:48:38 ◼ ► advanced nodes. Our SOCs are produced on not memory. Cook said during the earnings call, that's making it
00:48:44 ◼ ► harder for Apple to satisfy demand for products like the Mac mini and Mac studio. He said, quote,
00:48:52 ◼ ► So that's interesting. This was on the earnings call, I think him basically confirming it's like,
00:48:56 ◼ ► uh, Ram is not our main problem. Ram is a problem, but it's not our main problem. And that makes some
00:49:01 ◼ ► sense because, you know, instead of there being one company in the world that can make the best
00:49:09 ◼ ► isn't it? Micron, um, uh, high next Samsung. Yeah. Yeah. Anyway, that's better than one. Right. Uh,
00:49:17 ◼ ► but like what this is arguing for is that like, you know, the, the Mac studio with the big Ram configs,
00:49:23 ◼ ► the fact that you can't get that, the SOCs are more of a problem in the Ram. Like that's weird,
00:49:27 ◼ ► but you know, it's plausible because, uh, the Ram is all being used by, you know, AI data centers,
00:49:32 ◼ ► but you know, it's also being used by identity, AI data centers, NVIDIA fabbing their GPU things to run
00:49:38 ◼ ► all the inference and training, uh, that whatever the story was that went by recently that like
00:49:43 ◼ ► essentially NVIDIA is now TSMC's biggest customer ousting Apple. Apple used to be TSMC's biggest
00:49:49 ◼ ► customer and now it's NVIDIA. So yeah, I guess when they asked for that hot lot of, of A18 pros,
00:49:54 ◼ ► maybe they bumped some NVIDIA GPUs off the line and paid some money to get the fast pass in there.
00:50:00 ◼ ► Um, but yeah, this is the most recent earning calls. I believe it will take several months to reach
00:50:05 ◼ ► supply and demand balance. This is also a more bad news for me waiting for a Mac studio. If Tim
00:50:10 ◼ ► Cook is saying we can't get the SOCs and that's really bad for products like the Mac mini and the
00:50:15 ◼ ► Well, so all of that was May 4th, fast forward four days to May 8th, Apple and Intel are perhaps
00:50:24 ◼ ► together again. So Robbie Whelan and Rolf Winkler write in the wall street journal, Apple and Intel have
00:50:29 ◼ ► reached a preliminary agreement for Intel to manufacture some of the chips that power Apple
00:50:33 ◼ ► devices. According to people familiar with the matter, the wall street journal says that it's
00:50:41 ◼ ► Yeah. I don't think there's any, any more detail on this, but like the right before the hundred
00:50:45 ◼ ► million chips from Arizona, like the TSMC, Arizona plants are not on the cutting edge, like a two
00:50:50 ◼ ► nanometer that are also not three nanometer. I think they're five or maybe seven. I forget,
00:50:55 ◼ ► but like the whole idea is like we can't, you know, the best chips still come from TSMC
00:51:01 ◼ ► in Taiwan. Um, but if we can take some chips off of that line and manufacture like the mouse
00:51:07 ◼ ► were like the older chips, the, the eight chips with lower numbers, the chips that we're still
00:51:11 ◼ ► putting in some devices, maybe we put them in our Apple TVs or whatever. Those aren't three
00:51:15 ◼ ► nanometer. Can we make them somewhere else to free up some capacity in TSMC in Taiwan? And
00:51:21 ◼ ► then we can get them to fab the M5 ultra for us there, you know, whatever, like whatever SOC that
00:51:25 ◼ ► can only be done in Taiwan. Let's not clog them up with like, if they could have asked for that hot
00:51:31 ◼ ► lot of A18 pros from somewhere other than Taiwan, maybe they did for all we know, uh, that would be
00:51:36 ◼ ► great because you don't want to bottleneck that. And yeah. So I would love to know what Intel is making
00:51:42 ◼ ► for them. Maybe they're making just peripheral like support chips or something, but this is all part of
00:51:48 ◼ ► the diversification effort. And I guess it's kind of, I mean, I don't know how much to read
00:51:53 ◼ ► into this, but like, you know, the Apple in China book talks so much about how Apple just dumped buckets
00:51:58 ◼ ► and buckets and buckets of money into China to help turn them into the, uh, manufacturing, you know, uh,
00:52:06 ◼ ► colossus that they are today. It was a symbiotic relationship. We will dump in lots of money and you will
00:52:12 ◼ ► make the things for us and we will pay for them. And we'll just, you know, as, as we succeed, you'll succeed.
00:52:21 ◼ ► Oh yeah, we're investing more in us manufacturing or whatever. And going to Samsung and Intel is
00:52:26 ◼ ► essentially Apple investing in competitors to TSMC because Hey, you're not going to be able to
00:52:32 ◼ ► compete with TSMC unless people buy stuff from you. We want there to be healthy competition for TSMC.
00:52:38 ◼ ► So it behooves us to give you money to whatever, what can you do until like, it's like, it's kind
00:52:44 ◼ ► of like a, like we know you can't make the good chips, but what can you do? Cause we want to give
00:52:48 ◼ ► you money. We want you to succeed because we need TSMC to have competition. It's not good. Even setting
00:52:54 ◼ ► aside the whole that one and you know, geopolitical thing, just even if they were regardless of where
00:52:59 ◼ ► they are in the world, having one source, you know, is not great. As he said, 60% coming out of it.
00:53:04 ◼ ► One place is not great. And I think they're way over 60% for like the iPhone chips at least.
00:53:08 ◼ ► So I think they're going to Intel, Samsung, and anyone else who has any chance of manufacturing
00:53:14 ◼ ► anything that could be used in any Apple product and saying, saying to them, what can you give us?
00:53:19 ◼ ► We will pay you if you can give us anything. You know, we have a bunch of things that need to be
00:53:25 ◼ ► fab. We've got some old chips and small products. We want you to not go out of business. In fact,
00:53:30 ◼ ► we want you to do well. So take this money. I just, but I don't, but I don't know if we're reading this
00:53:34 ◼ ► is this just like a piddling amount of money to satisfy us political BS things or whatever,
00:53:38 ◼ ► or is this the beginning of a China style investment where Apple's going to start funneling more and more
00:53:44 ◼ ► of its cash to other companies to try to balance out the lopsided arrangement of a silicon manufacturing.
00:53:57 ◼ ► if you're anything like me, and if you're listening to the accidental tech podcast, you probably are.
00:54:03 ◼ ► You maybe could stand to have a little bit of help with your wardrobe. I know I certainly can.
00:54:07 ◼ ► And especially now that we're entering warmer weather in spring and summer here in the Northern
00:54:10 ◼ ► hemisphere, my wardrobe for the warm weather 13 years into recording ATP is basically an ATP t-shirt
00:54:18 ◼ ► and shorts. That's the whole summer for me. And it doesn't have to be that way. It doesn't have to be
00:54:23 ◼ ► that way. And Quince can help make it better. And not just for me, but for Aaron and for our kids,
00:54:30 ◼ ► because Quince does a little bit of everything, but their bread and butter is clothing. And that's not all
00:54:36 ◼ ► they do, of course, but that's their bread and butter. And Quince has all the wardrobe staples
00:54:39 ◼ ► for spring. Think 100% European linen shorts and shirts from 34 bucks, lightweight, breathable,
00:54:45 ◼ ► and comfortable, but still look put together and clean. 100% prima cotton tees with a softness that
00:54:50 ◼ ► has to be felt. Their pants also hit that same balance, relaxed and comfortable, but still polished
00:54:54 ◼ ► enough to wear pretty much anywhere. I got a set of linen pants from Quince a while back and they're
00:54:58 ◼ ► really great. And now I'm getting into the season where I can wear them again. So here's the thing.
00:55:06 ◼ ► or your spouse, you should go to Quince and check it out. Now for us, Quince was kind enough to send
00:55:12 ◼ ► us a little bit of money to use. And I got Declan, a flown at performance jogger, which is basically a
00:55:17 ◼ ► sweatpants and a hundred percent cotton poplin printed long sleeve button down, which is a plaid
00:55:22 ◼ ► button down. And he really likes them both. And again, they have stuff for Aaron, for Michaela,
00:55:27 ◼ ► for Declan, for me, they have stuff for him for the house, stuff for everything. So refresh your
00:55:31 ◼ ► everyday with luxury. You'll actually use head to quince.com slash ATP for free shipping on your
00:55:35 ◼ ► order and 365 day returns. Now available in Canada too. That's quince.com slash ATP for free shipping
00:55:42 ◼ ► and 365 day returns. Quince.com slash ATP. Thank you to Quince for sponsoring the show.
00:55:48 ◼ ► Brandon Wichard writes, how do you actually move and copy files on your Mac? There are plenty of ways,
00:55:57 ◼ ► drag and drop, keyboard shortcuts, command line. I'm curious which approach each of you defaults to and
00:56:01 ◼ ► why. Do you switch depending on the situation? The thing that's always bugged me, why can't you move
00:56:05 ◼ ► a file with command C and command V? You can use command C and what is that option? Command V, I believe,
00:56:10 ◼ ► to actually move it rather than copy it. That feels like an intentional design decision, but I've never
00:56:15 ◼ ► heard a good explanation for it. So let me start with how do I move stuff? It depends on the context. I will
00:56:20 ◼ ► do it with command line. I mostly do it with Finder. I wouldn't say that's all the time, probably most of the
00:56:25 ◼ ► the time. I found that, and I've talked about this a long, long time ago, but there's an app called
00:56:31 ◼ ► Yoink, Y-O-I-N-K. I don't think they ever sponsored us, but if they did, it was literally like 10 years
00:56:36 ◼ ► ago. This is an app, I think it's by an individual person, that what it does is as you drag like a file
00:56:42 ◼ ► around your screen, it will put up like a little sidecar, for lack of a better word. It's like a little
00:56:48 ◼ ► floating window on the side of your screen. You can specify where this floating window goes and you can put
00:56:53 ◼ ► things in that window. And so that window holds these items as like a little drawer sort of kind
00:56:59 ◼ ► or shelf, as Sage says in the chat, that's a better word for it. But anyways, it'll hold those items for
00:57:05 ◼ ► a little bit, and then you can go click around and find the destination of whatever it is you want to
00:57:08 ◼ ► move or copy or what have you, and then drag them out of Yoink and into your destination. And that makes
00:57:12 ◼ ► these sorts of things much easier to do with the mouse. And so I would say, generally speaking,
00:57:17 ◼ ► Finder with Yoink, occasionally command line. Let's start with Marco and finish up with
00:57:28 ◼ ► the source and destination, and dragging them. And that's it. Like, you know, if I'm intending to,
00:57:51 ◼ ► Yeah. Anyway, so yeah, thanks. And then as for like why you can't move a file basically with cut
00:57:59 ◼ ► and paste, I think the answer is like, well, where do the cut files live? Where are they
00:58:05 ◼ ► when they are cut? What if you cut and never paste? Are they gone? Do they cut into the trash
00:58:12 ◼ ► first? What if you like it creates a weird concept? Because files are like can be, you know, real
00:58:19 ◼ ► solid lots of data. Whereas like when you're dealing with the clipboard conceptually, the
00:58:30 ◼ ► Okay. Well, anyway, the you know, that is considered by most people to be like temporary
00:58:34 ◼ ► ephemeral data, especially people who don't have clipboard history apps or now the built in
00:58:39 ◼ ► whatever it is in Tahoe. That was always considered like throwaway data. So if you cut something
00:58:44 ◼ ► you it was just like, okay, well, that text is gone or whatever. And maybe I'll paste it
00:58:48 ◼ ► later. Maybe maybe not. Files conceptually don't work that way. And, you know, so files, files
00:58:53 ◼ ► have to live somewhere. And I think if you like cut files and then forgot to ever paste them
00:58:59 ◼ ► anywhere, that might be that like that might cause problems for people or unexpected results
00:59:08 ◼ ► So moving copy files. Um, I mostly use the Finder for stuff like that. Um, if I am at the command
00:59:16 ◼ ► line doing things like I'm, you know, working on a coding project, um, I will use the command
00:59:22 ◼ ► line to move and copy files there. Um, I'll use the command line when I want to have a little
00:59:28 ◼ ► bit more control over the stuff like my various app Mac applications that deal with file systems
00:59:33 ◼ ► I guess it's just hyperspace, but, um, there are some other, you know, making test files
00:59:38 ◼ ► for my other apps or whatever. I'll do that from the command line. Cause I feel like I have
00:59:42 ◼ ► more granular control over the files, especially since like I'm creating like test files or temporary
00:59:48 ◼ ► files. I can use the X adder command to mess with the extended attributes. I can, uh, you know,
00:59:54 ◼ ► CH mod and CH own and just do, you know, I can mess with the metadata with a variety of command
01:00:01 ◼ ► like a quote unquote Mac file, like it's not a file that's part of a programming project or
01:00:05 ◼ ► something, but it's just like a document created by one of my Mac apps, my one of my GUI Mac apps.
01:00:10 ◼ ► I tend to want to use the finder just because I just want to, whatever the default metadata
01:00:14 ◼ ► handling that the finder does. I'm like, I'm assuming that's the right thing to do. And that's
01:00:19 ◼ ► what apps expect. So I would prefer to move and copy files in the finder to do that. The command line,
01:00:25 ◼ ► like the CP command line tool on Mac OS has at various times been updated to try to stay in sync
01:00:32 ◼ ► with something close to the default finder behavior when it comes to copying metadata and ACLs and all
01:00:38 ◼ ► that like this, there's tons. You don't have no idea how much weird metadata there was in Mac files
01:00:42 ◼ ► and the Mac OS CP command can deal with a lot of it, but I'm never sure if it's exactly the same
01:00:49 ◼ ► behavior as finder copies. And if it even is capable of having exactly the same, and there's
01:00:54 ◼ ► other commands like the ditto command and there's the clone file API, like there's lots of things you
01:00:58 ◼ ► can do from the command line, but like for GUI Mac files, and because I'm an old school Mac user who
01:01:03 ◼ ► was using a Mac for a decade and a half before there was a command line, I just do it in the finder using
01:01:07 ◼ ► the GUI and related to that copy and paste of files. Uh, that is a windowsism. So from windows did that
01:01:16 ◼ ► first and my reaction to it when I learned that windows did it way back in the day was this is a
01:01:22 ◼ ► terrible idea for all the things that Marco just mentioned. Okay. So you want to use copy and paste
01:01:26 ◼ ► files. It doesn't make any sense, but if you want to do it, okay, but then what do you do about cut
01:01:30 ◼ ► hand wavy hand wavy? Well, we'll put a little dotted outline around the file. So it won't really be gone.
01:01:35 ◼ ► It'll still be there. We'll just change the appearance of it in windows Explorer. And if you never paste it,
01:01:39 ◼ ► or if you copy something else, we will remove the little dotted outline from around the file and then you
01:01:43 ◼ ► don't have to worry about it. And you know, it all makes sense ever, you know, like there are ways
01:01:48 ◼ ► around it. Mac OS 10, I believe essentially copied the windows implementation of this when it first
01:01:53 ◼ ► implemented this. Um, and you could cut, copy and paste files and it would do something similar to
01:02:00 ◼ ► windows or when you cut it, it wouldn't really remove the file. It would still be there, but the
01:02:04 ◼ ► finder would either hide it or dim it or do some other crap like that. I use this feature so little as
01:02:09 ◼ ► and never, except when I was writing my Mac OS 10 reviews to like test it, that I, I don't actually
01:02:16 ◼ ► know if it still exists. My guess before you started talking about it, my guess would be that you can
01:02:19 ◼ ► currently in the finder, cut a file and then paste it somewhere. I don't know that for a fact because I
01:02:25 ◼ ► would never ever do this both out of habit. And I think it's a mismatch with the, uh, like the semantics
01:02:30 ◼ ► of cut, copy and paste are so well established. They're not a good match for what people expect from
01:02:34 ◼ ► doing file stuff that I would never try. Can one of you try that out right now? Find a file you don't
01:02:39 ◼ ► care about and cut it and then paste it somewhere. I bet it will work. No, there is no like command
01:02:44 ◼ ► X doesn't do anything. You sure? Let's try it. Yeah. Let's see. Oh, you're right. It's, it's disabled.
01:02:50 ◼ ► Yeah. Well, I'm pretty sure if my memory is correct, I'm pretty sure it used to, and it used to behave
01:02:55 ◼ ► as I described and as it does in windows where it would like, it's not really gone. Maybe they changed
01:03:00 ◼ ► their mind about that. But honestly, once I stopped writing Mac OS 10 reviews, I didn't have a reason
01:03:03 ◼ ► to explore every feature that I don't use. But all this to say is I never, ever, ever, ever use cut,
01:03:09 ◼ ► copy and paste for files in the finder because I think that is a bad interface and a bad metaphor for
01:03:15 ◼ ► those functions. And I was saying to Marco, don't command drag to another volume to move it because
01:03:20 ◼ ► there have been finder bugs in the past where, oh, by the way, that move failed. And also the file
01:03:26 ◼ ► is now gone from the source. And you should think that would never happen. But let me tell you,
01:03:30 ◼ ► the finder sometimes has bugs. So I never hold down command to move. I always allow it to be
01:03:35 ◼ ► default copy, which it is when you cross volumes or explicitly make a copy. And only when I'm sure
01:03:40 ◼ ► it has landed for real, completely successfully on the target volume, do I then command delete the,
01:03:47 ◼ ► you know, the source one. So, uh, yeah, just it's like defensive driving, defensive findering,
01:03:52 ◼ ► like, you know, don't yes, you can hold down command to turn what would be a copy into a move,
01:03:57 ◼ ► but don't do that. You know, one thing I will say is that it is not infrequent, particularly when I'm
01:04:02 ◼ ► moving things to or from the Synology that I will do an MD five of the file on my Mac and the file on
01:04:09 ◼ ► the Synology just to make sure they match. Why do I do this? I don't know. Has it ever not matched?
01:04:14 ◼ ► I don't think so. I think it's always matched every time, but for whatever reason, I get a little
01:04:21 ◼ ► What you need is a file system that guarantees integrity with some kind of checksumming.
01:04:25 ◼ ► Yeah. Speaking of that, I got a feature request for hyperspace the other day. It was like when,
01:04:30 ◼ ► when you're doing like reviewing the files that it found that have like, they put some of these
01:04:34 ◼ ► groups of identical files and you're reviewing them. There's a little like, uh, whatever SF symbol
01:04:39 ◼ ► for the eyeball, like the quick look eyeball thing where you're going to hit space bar and get like a
01:04:42 ◼ ► quick look preview of the file. So you, you know, can glance at it in the app instead of having to
01:04:47 ◼ ► open it in the finder or whatever, to see what's in it, to see whether you want to merge it. Anyway.
01:04:54 ◼ ► you've just got the one little eyeball icon, but you do show the list of all the files in the group.
01:05:03 ◼ ► I'm like, well, the point of the program is those files are identical. So they would all do the same
01:05:11 ◼ ► thing. And he's like, yeah, but I just want to make sure. I'm like, listen, if you want to make
01:05:16 ◼ ► sure, don't use my app. The whole app is premised on, Oh, I'm going to make sure. Right. If you don't
01:05:25 ◼ ► think the app is doing that, why would you trust my eyeball icons to show you the thing? So I'm
01:05:28 ◼ ► debating adding that feature. It's like the paranoia feature. Like, like, are you going to eyeball a text
01:05:33 ◼ ► file or a giant like image file and say, Oh yeah, I know these are identical. It's like,
01:05:36 ◼ ► it's like Casey MD five thing. It's like, well, it says it copied it, but can I check? And I'm like,
01:05:40 ◼ ► well, I could let you visually inspect the files, but like, like they're there. The whole point is
01:05:46 ◼ ► they're the same file. And if they're not, I'm not going to, anyway, I'm still debating what to do
01:05:50 ◼ ► with that one. Like, I know why people will want to check, but it's like, man, if my program doesn't
01:05:54 ◼ ► get that right, it's going to be destroying everybody's day. It's going to be real bad. As I, as I replace
01:06:00 ◼ ► files with different files that have different contents, that would be really, really bad,
01:06:04 ◼ ► which to be clear could theoretically happen, but I have so far knock on wood, zero, literally zero
01:06:12 ◼ ► reports of that ever happened to anyone. I hope it never happens to anyone. I try my best, but as I
01:06:17 ◼ ► say in the, the help documentation for hyperspace, could it happen? Yes, it absolutely positively could
01:06:22 ◼ ► because of the magic of race conditions and the inability in Mac OS to get an exclusive lock on a
01:06:27 ◼ ► file. Cause that's just not how it works. All right. Chris Harper writes, do you use a profile
01:06:32 ◼ ► or theme for your terminal windows or just the default Mac OS profile? Uh, for me, I was a terminal
01:06:37 ◼ ► user always until just a few months ago. And I'll get to that in a second, but while I'm using the
01:06:42 ◼ ► terminal, I don't know why, but I need to have a black background with white text on top. And so what
01:06:48 ◼ ► I do is I set the, in the out of the box, um, theme called pro as my default. And that gives me the look
01:06:56 ◼ ► that I prefer. Try ultra. Well done. Well done. Uh, that being said, a few months ago, I decided to
01:07:03 ◼ ► try prompt three, mostly because I wanted a better terminal for my iPad. And I've bounced through
01:07:09 ◼ ► several different terminals on iPad over the years and none of them have been exactly what I wanted.
01:07:14 ◼ ► And prompt is probably as close as I've gotten to what I want. And so, uh, once I started using it on
01:07:19 ◼ ► the iPad, I started using it on the Mac. And so now I'm pretty much all in on prompt three and we will
01:07:24 ◼ ► link that in the show notes. Uh, since I started with Marco last time, let's start with John,
01:07:29 ◼ ► John, what do you do? When Mac OS X first came out and had the terminal in it and the betas and
01:07:35 ◼ ► everything, the default theme was, I believe, I believe it was Monaco nine back in the day,
01:07:42 ◼ ► like bitmap Monaco nine. And it would show it bitmap, like no smoothing, no sub pixel anti-aliasing,
01:07:47 ◼ ► just like sharp individual non-retina pixels for what is essentially a pixel font from the,
01:07:58 ◼ ► So the window had white background and the text was black. And the only tweak I made to that default
01:08:04 ◼ ► theme was I changed the cursor to a block because I was used to that from using literal hardware
01:08:12 ◼ ► VT220 spec at a BU and they had block cursors, albeit on interlaced CRTs. But anyway, um, I made the
01:08:20 ◼ ► cursor a block and I make the block because in terminal, Apple's terminal, you can have it like
01:08:24 ◼ ► be a block or an I beam or like an underscore or whatever. And you can also make it blink or not
01:08:28 ◼ ► blink. I made it not blink, made it a block and made it zero, zero or 255, zero, zero complete red.
01:08:34 ◼ ► Right. Um, and over the years, the only thing I have changed in that theme has been to mess with the
01:08:42 ◼ ► font because eventually, uh, getting, uh, non anti-alias, non sub-pixel anti-alias bitmap
01:08:48 ◼ ► Monaco nine. I, I did all the hacks you could do to keep that as my terminal font for a long, long,
01:08:54 ◼ ► long time down to the point where there were bugs with showing that in terminal. And I would complain
01:08:59 ◼ ► about them on Mac OS X reviews to get them fixed, which worked. Yay. Running to the press always helps,
01:09:03 ◼ ► especially when you are the press. Um, but you know, eventually like retina comes, retina comes for
01:09:08 ◼ ► us all and say goodbye to your bitmap fonts. And so I did, and I had to pick a new font.
01:09:12 ◼ ► I actually have to look this up cause I don't even know. I think I might've done Menlo for a while.
01:09:18 ◼ ► What am I doing now? No, now I'm doing Monaco 12. All right. Cause I'm old and I can't see as well
01:09:22 ◼ ► and my monitor is very big. So I'm doing Monaco 12. Obviously it's a retina display. So it is,
01:09:26 ◼ ► I have anti-alias text unchecked, but I believe it is anti-alias thing because I don't know,
01:09:32 ◼ ► let me zoom in. It's got, it's gotta be. Yeah, it is. It's anti-alias. I don't know what that
01:09:42 ◼ ► which is just called John, it's called, uh, JCS at various times. Uh, it's Monaco 12 font and
01:09:47 ◼ ► anti-alias text is unchecked. My cursor is red. It is a block. It does not blink. Um, and everything
01:09:53 ◼ ► else is basically the default. And that's what I go with. Um, I was kind of surprised to see I was
01:09:58 ◼ ► recently, I recently had occasion to keep, to create a fresh user account on Tahoe to test a beta version
01:10:04 ◼ ► of some other app and I opened a terminal to do some stuff. And I guess this is the, the default
01:10:10 ◼ ► terminal theme in Tahoe. Like there's a fresh user account not associated with any Apple ID. So I don't
01:10:15 ◼ ► see how it could be anything other than the default. And it opened a window that had basically a black
01:10:21 ◼ ► background with, I think maybe a little transparency on it and like white or otherwise light colored text
01:10:28 ◼ ► on it. And it looked pretty attractive. Like for a, you know, for a dark theme terminal, I was like,
01:10:33 ◼ ► Oh, this is actually a pretty nice default. I don't prefer it. I am a black text on a white background
01:10:37 ◼ ► kind of guy. And I was very excited when Mac OS 10 came out that that was the, the, that my preferences
01:10:42 ◼ ► were so close to the default. Um, but yeah, ever since, ever since, you know, whatever, uh, Mac OS, uh,
01:10:53 ◼ ► this basically the same terminal theme. And I want to say the Apple terminal application,
01:10:57 ◼ ► which I believe is currently maintained by 0.15 employees. It has a lot of features, but its
01:11:06 ◼ ► interface is not, I'm not able to understand how it works enough to get it to do what I want. Uh,
01:11:14 ◼ ► and in particular, if the 0.15 of people who maintain this app are listening or ever hear this,
01:11:19 ◼ ► I'm pretty sure I, I'm pretty sure that Apple terminal application has the ability to restore
01:11:29 ◼ ► the windows that were open during the last session. Like if I quit the app and launch it,
01:11:33 ◼ ► it will restore the windows that are open during the last session, including all the tabs and all
01:11:37 ◼ ► the windows and also restore the current working directory of all the tabs and all the windows to
01:11:44 ◼ ► what they were before. I know it maintains the scroll back and says, here was what was in the
01:11:48 ◼ ► scroll back when you quit the app. Sometimes in some conditions, I've been able to get it
01:11:53 ◼ ► to restore the tabs, the windows and the current working directories. But most of the time I can't,
01:11:59 ◼ ► and I cannot figure out for the life of me, how to get this to happen. They have so many concepts of
01:12:03 ◼ ► saved window groups and what you do on launch. And just, it's so, so complicated. So I keep waiting.
01:12:14 ◼ ► sweeps through there and says, I just want to make this a sensible set of settings that works,
01:12:17 ◼ ► you know, like BB editor or something would say, Hey, do you want me to restore windows from the
01:12:20 ◼ ► previous session? If I do restore windows, do you want me to restore the current working directory?
01:12:24 ◼ ► Do you want me to restore the tab titles? Do you want me to store the salt scroll back? And I'll be
01:12:28 ◼ ► like, yes, yes, yes, yes, yes. And that would make sense to me as it stands. Now I have no idea
01:12:34 ◼ ► what my current Apple terminal settings are, but I do know that it doesn't restore the current working
01:12:38 ◼ ► directories, but it does restore the windows in the tab. So I'm like, just don't touch it.
01:12:41 ◼ ► And when I make a fresh account on a newer versions of macOS, I make a fresh account and I try to get
01:12:45 ◼ ► it to do what I want. And I can only get like 50% of the way there. The current working directory is
01:12:50 ◼ ► the one that kills me because I've seen it do it. I know it's possible. And I think it's a terminal
01:12:54 ◼ ► thing and not a shell thing, but I can't figure it out for the life of me. So please, please Apple
01:12:59 ◼ ► someday work on terminal again, even though I do really like it. There's a couple of features that I
01:13:04 ◼ ► wish that Marco, I am pretty boring here. I use the default basic theme, which is white background,
01:13:12 ◼ ► black text. And I use the SF mono 11 font, which I think might be the default long time ago. I was
01:13:20 ◼ ► also very much a Monaco person. But you know, I, at some point I had to increase the font size by like
01:13:27 ◼ ► one and that broke the bitmapness of that font and maybe have to switch or same thing with Xcode and
01:13:33 ◼ ► with text mate. Like a few years back, I basically increased the font size by one and had to change
01:13:38 ◼ ► everything as a result. But yeah, it's fine. And I think the Apple terminal app is totally fine. It is
01:13:47 ◼ ► not like a ridiculously amazing power user app, but I don't need it to be because I'm not that much of a
01:13:55 ◼ ► terminal power user. I always have terminal windows open and I'm always using terminals, but I'm not such a
01:14:02 ◼ ► power user that I need any kind of really advanced features that whatever, for whatever reason, this
01:14:07 ◼ ► wouldn't support. So I've always been pretty happy with it. Yeah. I've messed with other terminal apps
01:14:11 ◼ ► a lot, like prompt. I've mostly only used on like the iPad and phone, but I, you know, I don't know if
01:14:16 ◼ ► I've ever even tried the Mac version. It's probably like arm only. So I probably haven't on my Mac anyway.
01:14:20 ◼ ► But there's the tricky thing about terminal apps and there's so many of them. Like I have like
01:14:24 ◼ ► iTerm2 and there's the other even fancier ones. A bunch of them tout their performance because,
01:14:30 ◼ ► you know, you're like, it's a window full of text. It should be lightning fast. And it's like,
01:14:34 ◼ ► well, guess what? You know, and this text editor is the same thing. The philosophy, I forget which
01:14:37 ◼ ► text editor had this philosophy, but it's a good summation of the, uh, um, the design strategy,
01:14:42 ◼ ► which is we're going to create a terminal text editor or whatever, but we're going to treat it like a
01:14:49 ◼ ► game. That was Zed. Yeah. Like a game engine in terms of like GPU rendering and stuff like that.
01:14:54 ◼ ► Like, we're not going to design it like a text editor. We're going to design it like a game with
01:14:57 ◼ ► like how quickly can we render? And it's like, well, you're not rendering in polygons or textures.
01:15:01 ◼ ► You're rendering text. Like I know, but we want to render text like as fast as possible. So Zed is one
01:15:06 ◼ ► of them. There's a bunch of other text editors that have taken this philosophy. And there's also
01:15:10 ◼ ► terminal apps that have been like back in the day, we use OpenGL to do special custom rendering of text.
01:15:16 ◼ ► We don't use the system tech system. Like we want it to be really, really fast. Uh, and I,
01:15:21 ◼ ► I love that philosophy. I'm like, I want that too. Like, you know, I remember my days using
01:15:25 ◼ ► more primitive systems like those VT220s, which were not fast, but also like the, you know,
01:15:30 ◼ ► the Tektronix X, X terms, uh, with like bitmap displays with no compositing, just blitting out to
01:15:35 ◼ ► the screen. And they were pretty fast back in the day, but the Apple terminal has always been
01:15:40 ◼ ► pretty fast. It's okay. Like it's not lightning, lightning fast, but it's pretty fast. And the
01:15:46 ◼ ► Apple terminal has also always had the option for essentially infinite scroll back where you could
01:15:51 ◼ ► say, how long do you want your scroll back to be? And the choice, this is from the next days.
01:15:54 ◼ ► It's choices are like, you can pick a number of lines or you can say, I think they have called
01:15:58 ◼ ► it unlimited. They used to call it like until you run out of memory or like memory limited or whatever.
01:16:03 ◼ ► So I've always just put it on unlimited because you know, I've got a lot of Ram. Why the heck
01:16:07 ◼ ► not? Um, if you use one of those other terminal apps that's designed like a game or like a fancy
01:16:13 ◼ ► open jail engine or the ones that used to simulate CRTs, remember those that would like it would curve
01:16:17 ◼ ► it and everything. I never use those. Those are all fun, but like, especially like the, the,
01:16:23 ◼ ► like the really fast ones, the things they get wrong in their defaults make me have to spend an
01:16:30 ◼ ► hour with their stupid text-based config files. Cause they always have text-based config files.
01:16:34 ◼ ► They don't want to make a GUI for it. Right. Things like things you take for granted in the
01:16:37 ◼ ► Apple terminal. Look at an Apple terminal window right now. And let me tell you the things that
01:16:41 ◼ ► you are taking for granted about this window that you don't realize that you will, uh, maybe you
01:16:46 ◼ ► won't, but that I will miss when they're gone. Look at just a terminal window that you have now and
01:16:49 ◼ ► put some text in it, like type LS or something to fill the thing. Here are things you're taking for
01:16:53 ◼ ► granted. How much space is there between the first character on the left edge and the, you know,
01:16:58 ◼ ► the edge of the window. How much space is there between lines of text? How much space is there
01:17:03 ◼ ► between the first line and the top of the window and the bottom of the window, all the margins,
01:17:07 ◼ ► all the spacing, all the text layout you just take for granted. It's like, it's just a window full of
01:17:11 ◼ ► text, right? Until you use one of those fancy open GL GPU powered terminal apps. And you're,
01:17:17 ◼ ► and like the line spacing is wrong and they're too close or too far away from the edge. And so you go
01:17:24 ◼ ► you're typing floating point numbers into a text file and making the app reloaded to try to get
01:17:34 ◼ ► just make it nice. You can't, don't let the letters touch the edge of the thing, but don't make it like
01:17:39 ◼ ► too much space. And the, like the, the, the line spacing is always all messed up. And like the font
01:17:44 ◼ ► rendering is different. Like we don't use the system finder and we use our own font rendering and,
01:17:47 ◼ ► and put in a, a, uh, integer value from one to 7,000 for darkness. I'm like, what? I just,
01:17:56 ◼ ► I'm used to what I'm used to and the, I'm used to the Apple terminal or whatever, but it's not like,
01:17:59 ◼ ► you know, I went from, I went from Monaco nine to Monaco 12. It's not like I'm, you know,
01:18:02 ◼ ► I think I stopped off in Menlo and some other fonts in between there. So I'm like, I'm not opposed to
01:18:07 ◼ ► change, but we all had a Menlo phase. Yeah. I don't, I don't want to have to, uh, I don't want to have
01:18:13 ◼ ► to tweak stuff like that. Like give me sensible defaults is what I'm saying. And I think the sort of like
01:18:18 ◼ ► the, uh, the aesthetic taste of the people who make these highly accelerated, uh, terminal and
01:18:25 ◼ ► text editor apps is so divergent from mine that what they think are sensible defaults, I think are
01:18:30 ◼ ► just like stabbing me in the eye. Wow. How do you really feel, John? Cause I want, I want those and
01:18:36 ◼ ► I go in them and I try to edit them. I have, I have a terminal window open next to it. And I'm like,
01:18:39 ◼ ► I'm going to make this window look just like Apple terminal. And I try and I try and I try. I'm like,
01:18:43 ◼ ► it's close, but it's like, I just spent an hour on this and I can't quite get to be the same as
01:18:47 ◼ ► terminal. I go, you know what? I'm just going to stick with Apple terminal for another year.
01:18:50 ◼ ► Yeah. I just, I've never had any motivation to move from Apple terminal because I like, I use it
01:18:57 ◼ ► so much and I know it so well that even, you know, I can say all the same things about Apple mail.
01:19:02 ◼ ► I know these programs so much. I use them so well. And even though other, other apps have come out
01:19:08 ◼ ► that offer different power user features, you know, that, that might be useful to me here and
01:19:13 ◼ ► there. They're so ingrained in my, my workflow, my habits, my aesthetic, what, you know, what my
01:19:20 ◼ ► computer looks like, how things work to so many different, like minor detail levels. And even if
01:19:26 ◼ ► something else is better in some way, it's probably so far, nothing has really been compelling enough
01:19:32 ◼ ► for me to replace these apps. That's better that cause it has to be like a lot better in some way
01:19:37 ◼ ► to make it worth the inertia of moving and tolerating like what you're just saying, tolerating all the
01:19:42 ◼ ► things that might be a little bit worse or need a little bit of work or a little bit of setup or a
01:19:46 ◼ ► little bit of learning. Like there's a huge perceived switching cost to switching like a core app that
01:19:52 ◼ ► you've used for decades and you use all the time. So any alternative has to be a lot better for it to be
01:19:58 ◼ ► worth it. And I've just, I've never found anything that was that much better in ways that I actually
01:20:03 ◼ ► needed or cared about. And also I haven't had enough dissatisfaction with these built in apps to motivate
01:20:12 ◼ ► You would think of the various apps that do restore all the windows and the positions and the tabs and the tab
01:20:18 ◼ ► titles and the working directories, that that would be enough to bring me over. But it's like, it's like changing
01:20:23 ◼ ► text editors. It's like, okay, I like that. But now I have to do a bunch of extra work to get your new thing set up the
01:20:29 ◼ ► way my old thing was. And it's probably possible, but it is a lot of work and it's work that I find
01:20:34 ◼ ► frustrating, especially if I can't get it exactly right. So in the end, I just don't change because
01:20:37 ◼ ► basically I'm like of all the built in apps in macOS, despite the fact that terminal gets no love and its
01:20:43 ◼ ► settings are incomprehensible, like the mix of like all those that are just, it's madness. Like try to come
01:20:51 ◼ ► up with a mental model on how like their presets work with their window groups, with their save sets, with
01:20:55 ◼ ► their on launch set. Like it's, I cannot understand how it works, but the day-to-day experience of using
01:21:04 ◼ ► All right. And kind of related, Chris Harper, the same Chris Harper writes, also, do you use any other
01:21:10 ◼ ► IDEs when working on projects outside of Xcode or do you just do everything in a terminal window?
01:21:14 ◼ ► For me, I use Visual Studio Code for website stuff. And I think that's basically it. I don't think I use
01:21:23 ◼ ► any other kind of IDE for anything. Uh, who's, who's, who's turned us to go first? John, I think.
01:21:27 ◼ ► Yeah. So the only thing I use Xcode for is writing Mac apps. That's the only time I'm ever in Xcode
01:21:35 ◼ ► because I don't, I don't prefer any aspect of it to my other tools that I use, except for, of course,
01:21:43 ◼ ► when you're writing Mac apps, because it's just, it's the least friction way to do it. I don't
01:21:46 ◼ ► dislike the Xcode editor. I think it's fine. I basically leave things mostly default there as well,
01:21:51 ◼ ► but it doesn't have anything that makes me say, oh, no, I want to edit everything here. And
01:21:56 ◼ ► honestly, Xcode doesn't make that particularly pleasant either. Like they, you can use it as
01:22:01 ◼ ► just like, oh, I'm just going to use Xcode as my text editor. You can do that, but Xcode fights you
01:22:05 ◼ ► a little bit on it. And then Casey's complained in the past about how the heck tabs are supposed
01:22:08 ◼ ► to work. They keep changing their mind about it. And I'm a separate windows kind of guy anyway,
01:22:13 ◼ ► which Xcode can do, but it also fights you on that. Oh, you wanted a separate window? Guess what?
01:22:16 ◼ ► Your separate window has got three sidebars and a bottom thing. Oh, you know, I can turn them off,
01:22:20 ◼ ► but it's just, anyway, Xcode only for Mac stuff. The modern answer to this question, I think this
01:22:25 ◼ ► question has been in here since before this happened, but the modern answer to this question is yeah.
01:22:29 ◼ ► like code X and Claude code. There's my, my other IDEs that I'm using and, and I'm not really for my
01:22:36 ◼ ► Mac apps, my three dinky Mac apps, which are mostly like already written. I'm not using the coding agents
01:22:41 ◼ ► to code in them. I'm using the coding agents to try to find bugs or to try to help me diagnose crash
01:22:46 ◼ ► reports by like reverse, uh, you know, disassembling binaries as part of app kit to be like, help me find
01:22:51 ◼ ► this bug. I cannot figure it out. And honestly, they can't figure it out either. So we're all having
01:22:55 ◼ ► trouble here. But anyway, the bottom line is I'm in a terminal window in the project directory of
01:23:00 ◼ ► my Xcode project, add a Claude or codex prompt feeding it, you know, dragging in a dot IPS crash
01:23:07 ◼ ► report file into the window, which is, you know, this, if you, in case you don't know this, you use
01:23:10 ◼ ► terminal, if you just grab any file and drag it into the terminal window, we'll put the full path,
01:23:14 ◼ ► the escaped full path of the thing that you dragged in in there. That's a feature of Apple
01:23:18 ◼ ► terminal. It's very convenient. You can do that with coding agents. And so that's, I guess my other
01:23:22 ◼ ► IDE for Mac apps these days is Claude and codex. And occasionally I've used the Gemini one, but I
01:23:28 ◼ ► didn't like it, um, for everything else it's BB edit for me. So I'm, if I'm writing node stuff,
01:23:34 ◼ ► I'm using BB, I'd like a Pearl be everything, everything that is not a Mac app. I am using
01:23:39 ◼ ► BDA, which is not an IDE really. It's a text editor, but I have a lot of features built up. Like when I'm,
01:23:45 ◼ ► when I'm writing my blog post, which happens every once in a while, um, or just editing,
01:23:49 ◼ ► editing, editing my website, I'm writing HTML and BB edit with all my weird macros and text
01:23:56 ◼ ► snippets. And like, I, you know, I forget how much stuff I've customized and BB edit until like,
01:24:01 ◼ ► you know, you launch BB edit on my wife's account on her computer. And I type keystrokes and either
01:24:06 ◼ ► nothing happens or the wrong thing happens. Like, Oh yeah, I guess that's a customization I've been
01:24:10 ◼ ► using for two decades. I thought that was the default keystroke, but apparently it's not. And then I find
01:24:14 ◼ ► out not only is that not a default keystroke, that feature doesn't even exist, but it's an Apple
01:24:18 ◼ ► script from like 1997 that I've been using since then that is bound to that keystroke. And I got to
01:24:23 ◼ ► find the, anyway, I am so like, like anyone who has used a text editor for a long time, you get so
01:24:28 ◼ ► entrenched. And it's the same thing. Like if you wanted to use a different ID or a different system,
01:24:33 ◼ ► I've, I have all these ones installed. I've used visuals, your code, sublime, Adam, like you name any
01:24:39 ◼ ► kind of IDE text editor thing for the Mac. I, I have used it, tried it, probably still haven't
01:24:43 ◼ ► installed in some version Zed, which I've got that. I've got everything. I have a big applications
01:24:48 ◼ ► folder, right? I always try them. I was interested in them, but I always ended up coming back to BB edit
01:24:52 ◼ ► just because I have so much stuff built up there. And yeah, I could recreate my BB edit world elsewhere,
01:24:59 ◼ ► but it would be a lot of work for not a particularly big win. So yeah. And, and ever since BB edit
01:25:06 ◼ ► gained language server support many releases ago, I've been in the habit of updating and expanding
01:25:12 ◼ ► the, the language, language server support, LSP language server protocol is like a, a specification
01:25:18 ◼ ► for how text editors talk to things that know the structure of source code. So you can do things like
01:25:23 ◼ ► right click something and say, take me to the definition of this or bring up quick help or
01:25:28 ◼ ► whatever. All the things that you expect to have an IDE BB edit, which is not really an IDE. It's just a
01:25:32 ◼ ► has these features so I can edit a shell script, a JSON file, an HTML file, XML for an RSS feed,
01:25:39 ◼ ► like anything you could possibly imagine. BB edit understands it. Like PHP, I paid money for a
01:25:45 ◼ ► commercial extension to BB edit for like a, the whatever, IntelliSense, but it's spelled with a
01:25:51 ◼ ► PHP because PHP, um, that lets me do IDE like stuff in BB edit with the PHP source that I'm
01:25:58 ◼ ► messing with. Like, and obviously I have them for Pearl and node and all that stuff. And I know this
01:26:02 ◼ ► is ridiculous because you're like visual studio code does that. And 10,000 other things. I'm very aware
01:26:07 ◼ ► that visual studio code has so many more features. It's just a BB edit person from head to toe. And I've
01:26:13 ◼ ► been using it for so long that I'm probably never going to leave it. And so that's where I do
01:26:17 ◼ ► everything else having anything to do with source code. Marco. Um, yeah. So Xcode for iOS apps,
01:26:24 ◼ ► obviously. Um, but yeah, for other, for anything else that I'm, that I'm doing like in a text editor
01:26:30 ◼ ► for me, I'm still using the ancient text mate too. Oh my. It, it, I mean, it's really showing its age
01:26:38 ◼ ► in lots of ways. Hey, at least it still runs. It does. It still runs, you know, it's certainly,
01:26:43 ◼ ► obviously it's in Tahoe squircle icon jail. It still works, but I, I am just now starting to
01:26:50 ◼ ► think like the reason I was able to call it Zed so quickly earlier was like, I saw the blog post
01:26:54 ◼ ► breeze by about like, it's how awesome it is. I'm like, Hmm, maybe I should actually start looking
01:26:59 ◼ ► at these modern text editors. Now that like we are in an inflection point now where like AI coding
01:27:04 ◼ ► agents are now being integrated into our workflows. Like the world is shifting. This might be a time for
01:27:10 ◼ ► me to finally jump to something more modern. Like all the things that John was just talking
01:27:14 ◼ ► about it, having like PHP, IntelliSense kind of, or IntelliSense, I don't know where they even put the
01:27:18 ◼ ► P in there, but having that like, you know, autocomplete or any kind of integration or, you know,
01:27:23 ◼ ► God forbid a debugger in my IDE or in my text editor. I've never had that for any web development
01:27:36 ◼ ► like all the PHP I've ever written in my entire career, every web backend I've ever written,
01:27:42 ◼ ► I've done without any of those tools I've done with just text editors and looking up things and
01:27:46 ◼ ► documentation and having things, you know, if I, if I missed out something, having it just fail on
01:27:51 ◼ ► runtime or something. Um, so I'm interested in that world of like making, making my non Xcode development
01:28:01 ◼ ► more modern. Uh, but right now I'm, I have not, I have not yet done that. So the answer still
01:28:08 ◼ ► is text mate too. Um, but it is not an answer I can actually, uh, recommend to anybody because it is
01:28:15 ◼ ► very dated. It does seem pretty clearly abandoned and not even for a short amount of time for a significant
01:28:22 ◼ ► amount of time. Um, I think it's been abandoned for most of the time that I've had a son. Uh, so it's,
01:28:28 ◼ ► it's been, it's been a while and the, but the only thing is like when I have exactly what John was
01:28:36 ◼ ► just saying and what I was saying in the last answer, when I have tried other things, like I back
01:28:41 ◼ ► between text mate one and two, I briefly was, I tried sublime text and, um, a couple other ones.
01:28:50 ◼ ► I don't, I don't even remember all of them that I tried, but I, I, it was like pre VS code being
01:28:54 ◼ ► like the thing everyone did. And I was, they were fine. Like I learned I can switch. I just don't
01:29:02 ◼ ► want to. And then when text mate two came out, it did everything I wanted. So I guess I've been using
01:29:06 ◼ ► that since. But I think like the problem when, when I try to switch, I do have a lot of paper cuts.
01:29:17 ◼ ► behaviors that have always worked some way in text mate that work differently in the thing I'm
01:29:22 ◼ ► using next. It's just, it's a lot of friction to get over. So again, there has to be a good
01:29:28 ◼ ► motivating reason. There has to be like both a push to get me off of what I'm using and a pull of like,
01:29:36 ◼ ► you know, what is going to pull me towards this other alternative? Like what's going to be a
01:29:41 ◼ ► compelling, good, new, useful set of features or benefits or whatever for the new thing.
01:29:47 ◼ ► And so far I have not yet had a compelling push away from text mate or a pull towards anything else
01:29:54 ◼ ► to make that jump worth doing. Uh, but, but I do think now again, like with, with eight, with agents
01:30:00 ◼ ► coming into workflows more and, and all these new tools that I really could and should be using to
01:30:06 ◼ ► make my PHP coding a little bit less of a manual and error prone process, I should probably start
01:30:14 ◼ ► Yeah. Speaking of, uh, not using an ID also for my entire 25 years of having a jobby job and writing
01:30:21 ◼ ► Perl and node code and stuff like that, I was using BB edit and it didn't have language server support.
01:30:27 ◼ ► So I had the closest thing I had was that at some point in BB edits history, they added a function
01:30:33 ◼ ► pop-up menu that understood Perl. So you could, uh, pop up the menu at the top and, you know,
01:30:39 ◼ ► you'd see the list of all the functions in the file and you could select one of them and jump to that
01:30:42 ◼ ► function. Uh, but nothing in the, in the document of like, right, click this and go to the definition
01:30:47 ◼ ► or chair, you know, forget about like find symbol or refactor, rename all these features that you
01:30:52 ◼ ► take for granted in like modern IDs were not there. So I was writing my Perl mostly just like no features,
01:30:57 ◼ ► no nothing. Just like Marco, you just, you type, you find out whether it runs, no autocomplete, no, you know,
01:31:03 ◼ ► tab completing symbols, even for common, you know, library, nothing, just nothing. There's no anything.
01:31:08 ◼ ► And I knew it existed. I like, I'd used it. What is it? Um, IntelliSense was that the first one in
01:31:14 ◼ ► windows? The first like sort of autocomplete in, uh, what was that called? Casey visual studio,
01:31:18 ◼ ► just visual studio. By the way, when I, when I said IntelliFence, I was joking, but that's
01:31:24 ◼ ► apparently actually the, the name of the PHP. As I said, that's what I was trying to pronounce was
01:31:29 ◼ ► that. Yeah. Yeah. But you said they put a piece somewhere, but I just, I was just guessing a pH.
01:31:33 ◼ ► Yeah. For his PHP. Oh, wow. Yeah. I mean, I don't know what I, anyway, I, you know, I had used it
01:31:39 ◼ ► without this stuff. And when I started doing, you know, after I quit my jobby job and it was
01:31:44 ◼ ► just doing this and then suddenly I'm editing PHP, I was like, I have to do something to make this not
01:31:49 ◼ ► as painful. And so I'm like, well, it would be great if I could right click a thing and find
01:31:52 ◼ ► definition. And I'm like, well, there's gotta be a way to do that. And BB edits got language server
01:31:56 ◼ ► support. It pointed me to this. Uh, and I bought it immediately. Uh, you know, it's definitely been
01:32:02 ◼ ► worthwhile. Uh, one thing, this is a question for both of you, like, well, maybe you don't have,
01:32:06 ◼ ► maybe Marco does with his text mate stuff, but like a couple of keystrokes that I am accustomed
01:32:12 ◼ ► to in BB edit. I found that I could not live without an Xcode and Xcode does let you customize
01:32:18 ◼ ► most key bindings of stuff in the IDE, but the features aren't exactly the same as BB. So I
01:32:24 ◼ ► mentioned the function pop-up before I bound, and I believe this is a custom binding and BB edit. I bound
01:32:30 ◼ ► control F to basically will pop up that pop-up menu, the function pop-up menu. It'll, instead of
01:32:36 ◼ ► me having to click it, I just hit control F and it will pop it up. And then you can type to like
01:32:39 ◼ ► narrow the list and use it. You know, you basically with the keyboard, you can jump to a function
01:32:43 ◼ ► definition and Xcode has a feature that's sort of like that, which I cannot for the life of me ever
01:32:50 ◼ ► remember what the right now I can't remember what it is. So anytime I have a fresh Xcode set up,
01:32:54 ◼ ► like, Oh, I have need to bind control F to that, to that thing. What is it called? It's like
01:32:59 ◼ ► show item. Is it in the go menu? Is it one of those things that's not in the menu, but you can only find
01:33:06 ◼ ► in the settings. And so I think I have a screenshot saved in a notes document saying, Hey dummy, when
01:33:10 ◼ ► you go set up Xcode and you're trying to remember what you bind control F to it's this. And then of
01:33:14 ◼ ► course it always conflicts with like move forward one character, which is this insane Emacs based key
01:33:18 ◼ ► binding that lots of editors like to do. And like, I will never want control F because in Emacs, by the way,
01:33:22 ◼ ► I immediately bound in 1993, I bound control F to find because I'm a Mac user. I'm like,
01:33:27 ◼ ► no control F is not move forward. One character control F is fine. And then I would go to anyone
01:33:32 ◼ ► else's Emacs and I'd hit control F and the cursor would move forward one space. And I'd be like,
01:33:35 ◼ ► so I have a bunch of weird habits from BB edit that I poured over at Xcode. Do you take any text mate
01:33:42 ◼ ► key bindings and, or do either one of you customize any of your key bindings in Xcode to either
01:33:51 ◼ ► No. Uh, the main reason why is I, I don't like having a whole bunch of custom settings that I have to
01:33:58 ◼ ► change because like, you know, I, I'm, I set up a new laptop every couple of years. I'm always like,
01:34:04 ◼ ► I just, I, and you know, if I have to use some, some other setup or some default setup, like I don't
01:34:09 ◼ ► want to be totally lost and broken. And I just, I don't like having things that are that custom.
01:34:13 ◼ ► Um, I, I try to stick to default behaviors and looks mostly, most of the time, unless I really hate it.
01:34:23 ◼ ► The, the, now what I do customize an Xcode, like settings I do change, uh, are around things like
01:34:36 ◼ ► They, they suck. Um, and, and I also don't like the editor inserting the closing brace or
01:34:44 ◼ ► parentheses or whatever for me. Um, so I turn off those things and I do, I do indentation and closing
01:34:50 ◼ ► punctuation manually. There are certain rules of indentation that Apple has used. Um, even in
01:34:57 ◼ ► like objective C, the way they would indent very long methods to break over multiple lines. Uh,
01:35:04 ◼ ► like sometimes they would line up the colons. It was weird. And then in Swift, some of the ways
01:35:09 ◼ ► they do it are just super not compatible with my taste. I also think the Swift switch statement
01:35:14 ◼ ► that has a separate setting for that. I was so excited when I saw that because I also disagree
01:35:19 ◼ ► with the way, the way they do switch statements, but there's a setting, like there's all the indentation
01:35:24 ◼ ► settings in Xcode, but there's this separate setting, which is like, Hey, when I do switches,
01:35:28 ◼ ► do you want me to do it the way I want to do it or the other way? And it's like, no, the other way.
01:35:36 ◼ ► I can tell you where it is. Cause I basically we're disagreeing with is I believe it, it pushes
01:35:40 ◼ ► like the case statements to be like the same indentation level as the opening switch, which
01:35:50 ◼ ► opened, I just launched Xcode and I'll find the setting for you. I believe there's a separate
01:35:53 ◼ ► setting just for the switch statement stuff. Good. Yeah. Editing indentation. Oh wow. They
01:36:01 ◼ ► changed. I forgot. They just changed Xcode settings to be this stupid. Indent switch statement
01:36:05 ◼ ► case labels. Oh, there it is. But it's saying it is indenting it. Well, so mine is set to Swift
01:36:10 ◼ ► in C languages. I don't think that's the default. I think the default was like none. The default
01:36:14 ◼ ► is Swift, I believe. Or none. No, that's, mine is set that way too, but, but it doesn't indent
01:36:18 ◼ ► them. Mine does. I have it on Swift in C languages and when I do a case statement is indented from
01:36:23 ◼ ► the switch. Yeah, same. I'll have to play with it. It's certainly like if I, if I let it do
01:36:26 ◼ ► the autocomplete thing where like if it's switching over an enum, John, um, like it, the auto
01:36:34 ◼ ► generated code that it generates still has them all shoved against the left. Yeah. I mean, try it.
01:36:43 ◼ ► on stuff, like I'm of the opinion, like I don't super duper customize it, but like I've
01:36:48 ◼ ► proven to myself that there's certain things that I just can't live without or can't deal
01:36:51 ◼ ► with or just disagree with. So there's always going to be some customization and I'm of the
01:36:55 ◼ ► opinion that every single modern Mac application should have a way to cloud sync settings if
01:37:08 ◼ ► come on, like two areas, one, obviously settings. Like if you customize your settings, I'm not saying
01:37:13 ◼ ► you have to cloud sync it for everybody, but you know, Apple does have this thing called
01:37:15 ◼ ► iCloud and settings aren't that much data. Give me the option to cloud sync my Xcode settings.
01:37:19 ◼ ► And let me say if I want to, or don't want to, I can have sets of settings. Like it's not that
01:37:23 ◼ ► complicated. They could totally do it. The other thing with Xcode in particular is all your signing
01:37:28 ◼ ► certificate crap. iCloud key chain. It's synced through iCloud, but Xcodes like, you know, all
01:37:33 ◼ ► Xcodes crap. It's like, well, some of it we sync through iCloud key chain, but sometimes when we make
01:37:38 ◼ ► it, we'll make it in your local key chain. So when you go over another Mac, it won't be there. And
01:37:41 ◼ ► that's a security feature and yada yada. And just, please just give me the checkbox. It says just do it
01:37:45 ◼ ► all through iCloud key chain. I don't want to have to think about all my signing crap. I don't want to
01:37:49 ◼ ► accidentally make new versions on different laptops where I'm doing development, just iCloud sync
01:37:53 ◼ ► everything. So if you're out there making a Mac app and you have any kind of substantial settings
01:37:57 ◼ ► that are not just like two screens worth of checkboxes or something, like Xcode's got to have
01:38:02 ◼ ► like hundreds or thousands of settings. Cloud sync those optionally. Please give us the option to it
01:38:07 ◼ ► because the Xcode, I don't customize a lot, but the stuff I do customize, I've discovered that I can't
01:38:13 ◼ ► live without and it has made me non-functional on default Xcode. The one that is probably the worst is
01:38:18 ◼ ► for whatever reason, I guess this is from, was it Visual Studio? I guess it was Visual Studio,
01:38:24 ◼ ► but like I'm thinking of like, again, 1992, 1993, the when you make Windows 95 apps and this IDE
01:38:31 ◼ ► on Windows, Casey, what would that have been? Would that have been Visual Studio as well?
01:38:35 ◼ ► Are you thinking like MFC? I think there was like, yeah, yeah. But what was the IDE called?
01:38:40 ◼ ► Well, anyway, uh, that IDE had a button that you would press to make essentially what Xcode would
01:38:46 ◼ ► call an archive build of your application. And Xcode by default, I believe does not have a key
01:38:54 ◼ ► binding to the thing that says, make me an archive build and don't put up a dialogue. Just do it.
01:38:59 ◼ ► Just make an archive build. And I bound that to command shift a for archive. And I had to steal it from
01:39:06 ◼ ► the thing that every presenter uses at WWDC when they bring up that little pop-up. I like, what is
01:39:11 ◼ ► like quick entry? Like command shift a is a, is one of the most commonly typed keystrokes in WWDC
01:39:18 ◼ ► videos because it doesn't do an archive build by default. It does that other thing. And I never
01:39:23 ◼ ► use that other thing and I have, and I've stolen it from it. So I just feel like I just, I just want
01:39:28 ◼ ► to hit command shift a and do an archive build. That's like, I feel like it's like the, I'm ready
01:39:32 ◼ ► to ship this new test flight build command shift a, and then I just walk away and wait to see the
01:39:35 ◼ ► organizer window pop-up. So a couple of the settings like that, like control F command shift a,
01:39:40 ◼ ► um, I believe I bound command J to jump to line, even though you could already do command L to jump
01:39:46 ◼ ► the line just because BB edit does command J. Like I'm a little bit of that crossover because if I don't
01:39:51 ◼ ► do that, I find myself, I can't successfully mode switch. I ended up hitting the wrong key. So
01:40:00 ◼ ► All right. Thank you to our sponsors this episode, Squarespace, Zapier, and Quince. And
01:40:05 ◼ ► thank you to our members who support us directly. You can join us at atp.fm slash join. One of the
01:40:10 ◼ ► many perks of membership is ATP Overtime, our weekly bonus topic. Every episode has an extra topic,
01:40:16 ◼ ► usually 15, 20 minutes long, maybe. And it's just for members. You can join atp.fm slash join to hear
01:40:23 ◼ ► it. This week on Overtime, we're going to be talking about non-developers now building apps.
01:40:28 ◼ ► Obviously, AI tools playing a role here. We're going to talk about that. So if you want to hear
01:40:31 ◼ ► that, join us once again, atp.fm slash join. Thanks, everybody. We'll talk to you next week.
01:40:39 ◼ ► And you can find the show notes at atp.fm. And if you're into Mastodon, you can find the show notes at atp.fm.
01:40:51 ◼ ► And you can find the show notes at atp.fm. And if you're into Mastodon, you can follow them at C-A-S-E-Y-L-I-S-S. So that's
01:41:47 ◼ ► All right, John, you want to tell us about this thing that's been living in our show notes for like
01:41:55 ◼ ► So yeah, it has been here for a long time because it's weird and boring. I believe the origin was this thread in Apple's developer forums where there's like an answer from an Apple DTS engineer trying to explain a particular behavior. I think the discussion was like, someone's using like URL objects in like some Apple platform code.
01:42:15 ◼ ► Or maybe it's bookmark objects or whatever. Apple has started using many, many years ago, like URLs for local file system stuff. Like instead of HTTP colon slash slash, they do file colon slash slash just just for yeah, for uniformity. We can use URLs to refer to anything, whether it's a local file or you know, there's a bunch of reasons why you may not do that. And we'll may not want to do that. And we'll get to that in a little bit.
01:42:35 ◼ ► But anyway, various APIs take these or produce these and like, someone was surprised when they got one of those URL things, I think, and I think it might have been a bookmark from the system. And they're like, I was just trying to get like a path to a file, you know, slash a slash b slash c dot text. And what it gave me was a path that said, slash period, no follow all one word, slash a slash b slash c dot text.
01:43:05 ◼ ► And I was like, what, what the hell is slash dot no follow? That's not a directory of the level of my hard drive. And why did the system because they were doing like a string comparison, like this string should be a b c. And they're like, no, sorry, that doesn't match. The string is actually dot no follow a b. Like what? And so an engineer tried had to explain this. And that set off a whole big discussion of like, stuff that exists in the Mac file system that you might not expect, or things that have special meaning. So there are
01:43:34 ◼ ► various things that you can put in file paths as in string separated by forward slashes on Mac OS that have meaning to the system. Dot no follow is one of them. I believe it tells it not to follow sim links in the directory that follows or something like that. We'll link to this stuff and you can look up the specific meanings. I don't remember it off the top of my head. Um, and the reason that the explanation is like, Hey, the system API provides this because we're trying to protect against security
01:44:01 ◼ ► laws that happen where, um, a path looks like the path you expected to be, but some path in the middle of that path specification is actually a sim link to a different
01:44:11 ◼ ► place. And so we, you know, there's various modes of the API is where you can say, Hey, traverse this thing, but don't follow some links. But that requires the
01:44:19 ◼ ► developer to have to remember, Oh, and every time you call this function, make sure you pass the option that says, Oh, yeah, and don't follow some links. This is a security
01:44:27 ◼ ► related thing. And I don't want you being like led astray by some sneaky sim link that sends you off to a place
01:44:31 ◼ ► there. You're not supposed to be. So don't follow some links, but every developer doesn't remember to do
01:44:36 ◼ ► that. Well, it turns out that Apple has an inline way in the path itself. So that no matter what API you,
01:44:43 ◼ ► what are Apple API you feed it to the Apple API or the underlying file system or whatever will say, Hey, even if you
01:44:49 ◼ ► didn't pass the no follow thing, I see that this path here is dot no follow. And I will just remove that part of the
01:44:54 ◼ ► path, not to take it as a real folder. But now I know that you don't want me to follow some links.
01:44:58 ◼ ► And so the API started returning these dot no follow links, basically, like every single, you know,
01:45:04 ◼ ► URL object or whatever you got from these APIs always had dot no follow in it. And so it was blowing up
01:45:08 ◼ ► everybody's string comparisons. But the Apple person is like, this is intended, or basically like,
01:45:12 ◼ ► protecting against people for forgetting to pass the don't follow some links flag in the API calls. Now,
01:45:21 ◼ ► actual file system security is way more complicated than that. Let me see if I have the link to that in
01:45:27 ◼ ► here somewhere. No, I don't think I do. There was, I'll dig it out if I can remember it for the next
01:45:31 ◼ ► episode. But there was a someone posted from a Unix slash Linux perspective, how difficult it is to
01:45:38 ◼ ► securely traverse the file system. And it is monstrously difficult, like just way, way, way harder than you
01:45:46 ◼ ► think it is. If you are a not a developer at all, you don't think about it at all. If you're a sort of
01:45:51 ◼ ► not novice to medium developer, you know about like the easy things to look out for. But then there's
01:45:57 ◼ ► always this stuff that's like way beyond the ken of like any sort of average developer who doesn't
01:46:02 ◼ ► specialize in file systems to actually securely traverse a Linux style Unix file system. And
01:46:09 ◼ ► unfortunately for Apple, the no follow thing is not a complete solution for the reasons this thing
01:46:13 ◼ ► explained. I'll try to find a link if I can. But anyway, uh, going back to macOS dot no follow is
01:46:19 ◼ ► not the only one of these weird things that exist. There's another page that I'll link to that is, uh,
01:46:24 ◼ ► from 2019 talking about files that have special meanings. So if you have a, well, this, this
01:46:32 ◼ ► explanation, I'm assuming it's accurate because I don't know any better, but I'll get to how you can tell
01:46:35 ◼ ► for sure in a bit. Um, if any file or directory where the name contains dot no sync is ignored by
01:46:43 ◼ ► iCloud synchronization, any file or directory where the name contains dot no index is ignored by spotlight.
01:46:50 ◼ ► Any file or directory where the name contains dot no backup is ignored by time machine. Now there are
01:46:57 ◼ ► other ways to do a lot of these things with like extended attributes and obviously dragging the things
01:47:01 ◼ ► into the time machine exclude list and it writes to a P list somewhere and all that other stuff. But like
01:47:05 ◼ ► these like special magic files or the one where it's like, uh, file, uh, slash dot dot named fork
01:47:14 ◼ ► slash RSRC to get to the resource fork of a file. Another magical thing that you can type that has special
01:47:20 ◼ ► meaning to the OS. There are a bunch of these things in macOS that maybe you hear about years ago and you
01:47:27 ◼ ► try using it and forget about, or maybe some utilities using it behind the scenes, but they tend to stay
01:47:32 ◼ ► there for a long time. Um, and writing hyperspace, I had occasion to have to actually like find out the
01:47:39 ◼ ► real truth of these things because I needed to either rely on them or handle them or whatever. And this is
01:47:43 ◼ ► one of the things that I really enjoyed about hyperspace in particular. I'm used to, for all of my
01:47:48 ◼ ► regular career as a developer, having access to the source code of the libraries and operating system that
01:47:55 ◼ ► I'm working on. It makes things so much easier when that's true. Now, obviously I don't have the
01:48:01 ◼ ► source code to app kit or swift UI and God, I wish I did many, many, many times. That's what I'm using
01:48:06 ◼ ► the stupid coding agents. I'm like disassemble. I, I, I bought a copy of hopper so I could use a
01:48:11 ◼ ► disassembler to sell. I just, I need to see what, what is this API doing? I need to, like, I want to see
01:48:17 ◼ ► the source code, right? But for file system stuff, remember that Apple, macOS 10, macOS, and iOS,
01:48:24 ◼ ► and iPadOS, and audioOS, and visionOS, XROS, every operating system Apple makes essentially
01:48:30 ◼ ► is based on Darwin, Apple's BSD, Unix, and Mox combination operating system. And that is open
01:48:38 ◼ ► source. Darwin is open source. And guess where all the file system stuff is? It's in Darwin. All the
01:48:44 ◼ ► low-level file system stuff is in there. Now, Darwin is difficult to navigate. It will link you to Apple's
01:48:49 ◼ ► open source, which is on GitHub. But you can see they do source code releases for every release of
01:48:54 ◼ ► iOS and macOS and all the other things to see the Darwin base code for there. And this file system
01:48:59 ◼ ► stuff, like, who handles dot nofollow? That, I haven't looked this up, but I'm pretty sure that's
01:49:05 ◼ ► going to end up being in the Apple open source. What about dot dot named fork slash RSRC? Where is that?
01:49:11 ◼ ► That's in the open source. And so if you're wondering, hey, how does this stuff actually
01:49:15 ◼ ► work? You can get the source code for it. And it is incredibly illuminating because I don't know if
01:49:21 ◼ ► Apple, like, is more lax with, like, private API use or whatever. Like, that, you know, SPI analysis
01:49:28 ◼ ► where it's trying to say, are you using private APIs that you're not supposed to be using? They
01:49:31 ◼ ► mostly care about using, like, private APIs and AppKit and stuff. Sometimes you can sneak
01:49:35 ◼ ► one by if you're using, like, an API in the Darwin, you know, low-level Unix operating system that
01:49:42 ◼ ► someone had neglected to add to the list of private stuff. And you're like, well, I'm not sure if I
01:49:47 ◼ ► should be using this or if it works at all, but I do have the source code for it. So I'm pretty sure I
01:49:52 ◼ ► know how it works. And you will find treasures in there, like the named fork, and I'm assuming like
01:49:57 ◼ ► the .no follow. I'm not sure if the .no backup, .no index, and .no sink are in there. They might
01:50:01 ◼ ► be at higher level code that we don't have a source for. But it really makes me wish that essentially we
01:50:06 ◼ ► have the source for all of these things because it makes development so much easier. It makes
01:50:10 ◼ ► debugging problems so much easier. I mean, people could give patches that. Think about you file a
01:50:15 ◼ ► radar and nothing happens for a year. Imagine if you could send a pull request and say, hey, I have the
01:50:19 ◼ ► source. I found the bug. I think this fixes it. They'd probably reject it, but they're like, oh, you can't
01:50:27 ◼ ► motivate them to, you know, fix it more quickly. But anyway, if you're ever doing anything related to
01:50:32 ◼ ► low level stuff, especially low level file system stuff, look at the Apple open source repository,
01:50:40 ◼ ► because you will find the source code to the thing that is doing that stuff on macOS and iOS and all
01:50:45 ◼ ► those other operating systems. And then finally, related to all of this, there has been a, there was a
01:50:50 ◼ ► recent Swift evolution proposal. These are all like SE something, which is Swift evolution hyphen some number,
01:50:57 ◼ ► like a proposal for the, for some change to the Swift language. And they go through a review process and blah, blah,
01:51:02 ◼ ► blah. This one is a proposal to add a file path to the standard library, which is a nice abstraction for file paths.
01:51:10 ◼ ► This is not the thing I was talking about, about how hard it is to do secure file system traversal in Linux. I still have to
01:51:16 ◼ ► find that one for the show notes. But this describes file path, you know, an abstraction for, as opposed to using URLs for
01:51:24 ◼ ► everything. And this is a, you know, an abstraction for local file system file paths, but it's cross
01:51:28 ◼ ► platform because again, Swift doesn't just run on macOS also runs on Linux and Windows and lots of other
01:51:33 ◼ ► platforms. And they, they want this language to not just be an Apple platform language. So they're trying
01:51:36 ◼ ► to make it work everywhere. And a portable implementation of file path that works on macOS, Linux and
01:51:43 ◼ ► Windows is a useful abstraction. It already exists. They would like to add it to the Swift standard
01:51:47 ◼ ► library. They would like to stop depending on URL, which I think is part of foundation, which is part of
01:51:51 ◼ ► Apple platform crap. So they're like, we need one that is not tied to Apple platforms at all. I would
01:51:57 ◼ ► encourage you to the very least skim the file path. You know, the, what is this one? Uh, SEO five to nine,
01:52:05 ◼ ► the proposal to add file path to the standard library, skim it to see what is involved in file
01:52:10 ◼ ► path. And you will be probably surprised by at least one or two things in here about, wait, that's a
01:52:17 ◼ ► valid file path. You can do that because when you try to come up with an abstraction file path, like
01:52:21 ◼ ► that's really easy. It's just a bunch of path components and, uh, separated by some separator.
01:52:26 ◼ ► And there's some semantics about that, but yeah, maybe it's a little tricky with character encodings,
01:52:34 ◼ ► crap in them. And it's ridiculous. Like they, they do mention dot no follow in here. They also
01:52:40 ◼ ► mentioned dot vol, which is another one of the magic strings that you can put in Unix path, but
01:52:43 ◼ ► windows, man, drive letters. Yes, naturally. But there's also like backslash, slash, backslash,
01:52:50 ◼ ► backslash, period, backslash pipe syntax to get it like device nodes and stuff with special. I bet
01:52:59 ◼ ► neither one of you has ever even heard of half of this stuff. Like, and then they have to make an
01:53:04 ◼ ► abstraction that works with these paths, but also the same abstraction works with Linux paths that
01:53:12 ◼ ► you know, if you were ever trying to do something cross platform, you're like, thank God someone else
01:53:16 ◼ ► wrote file path and I didn't have to, but even just using it correctly is tricky. So I would encourage
01:53:21 ◼ ► you to check this out. Um, and, uh, again, maybe you'll learn something about, uh, the, the special magic
01:53:27 ◼ ► strings that you can put in file paths on Mac OS that will have behaviors that you might find useful
01:53:31 ◼ ► today. I learned, did you skim it and look at the, the windows things? I didn't know half of this
01:53:36 ◼ ► stuff. Like I didn't know the one with the drive letter where it's C colon and then a backslash
01:53:40 ◼ ► versus C colon without it. Like that both of those are still accepted by modern windows.
01:53:46 ◼ ► Obviously there's the backslash, splash, slash server, slash share thing that you're familiar
01:53:49 ◼ ► with, but the backslash, bash, like period, backslash pipe with name. I had never heard that.
01:53:53 ◼ ► Never seen that. The N U L all caps, the backslash, backslash question mark, backslash C colon
01:54:01 ◼ ► backslash. There's too many backslashes. What are they doing over there? Like I, it makes me so happy