PodSearch

ATP

691: A Menlo Phase

 

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:12   Did you see the movie?

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:00:58   That is generally what I've heard.

00:00:59   Yeah.

00:01:00   All right.

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:07   Oh, that is true. Wow.

00:01:08   Yeah.

00:01:08   And I did not. Wow, what a slacker I am.

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:33   that so well. And may I join whatever efforts possible to abolish homework?

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:43   changed and how it has not changed since your experience.

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:20   what I have to do for homework tonight.

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:30   got less plausible.

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:12   rough. Anyway, thanks, John. So sorry, Casey, go on with your homework assignment.

00:04:16   No, no, not at all. Not at all. No, yeah, I plus one everything you just said,

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:39   piano or they're playing a keyboard or they're playing a guitar, but different notes.

00:08:42   Yeah. I mean, I didn't expect you to be overjoyed by this, to be honest,

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:25   I appreciate you indulging me. Yeah. One more cover. The one I was trying to remember,

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:06   so Andrew Leahy writes regarding reasons for software development being CapEx or OpEx,

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:22   phone, the iPhone ultra, would they use that name for the 20th anniversary?

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:52   thing about until they released it and everyone said, Oh yeah, this is better.

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:24   And I still say if the, as soon as they can get rid of that dynamic Island, they will,

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:45   iPhone 20. I think that would be fine. Um, they could, could they call it iPhone 20?

00:20:50   Yeah. They skipped numbers before. Why not? Yeah. Right. It would properly be 19.

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:57   Yeah, I agree.

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:29   It's a great platform for anybody to make a great business website.

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   show.

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:34   directory in a repo.

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:28:58   It'll be fine. But given how frequently time machine corrupts itself under ideal

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:40   features of macOS ever added. And watching it, watching it not thrive is not fun.

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:39   They gave me a trial of it and I tried it out and I set up these automations in just

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:09   So you can focus on more of what matters. You can integrate all the different models,

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:04   This one is 100% on them.

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:23   because that's, like, a developer community, maybe you showed, whatever, but, like...

00:40:26   Even that, though, I don't think that's 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:04   like, 18 months or something.

00:41:05   Something like that.

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:16   we're having difficulty, but we'll get it out the door. It's, like, okay, fine. Then,

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:15   corporate self-delusion that Apple has experienced in a long time.

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:47   that's bad. It's like, well, I have bad news, Tim. That's not going to get better.

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:48   Arizona plants. Yes, it's still TSMC, but at least it's in Arizona and not Taiwan.

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:48   I believe it will take several months to reach supply demand balance.

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:04   chips, there's three for Ram. Wow. An embarrassment of riches. I think it's three,

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   Mac studio.

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:37   quote, still unclear quote, what Apple products will get Intel chips.

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:16   But like, there was a huge investment there and you know, Apple's press releases say,

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:52   We are sponsored this week by Quince. So with love and respect to our listeners,

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:03   If this is appealing to you, if this is interesting to you or your children,

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:22   John. Marco, how do you handle this?

00:57:24   I actually move and copy files on my Mac by opening up two different Finder windows,

00:57:28   the source and destination, and dragging them. And that's it. Like, you know, if I'm intending to,

00:57:33   if it's going on an external drive and I'm intending to move them, I'll hold down,

00:57:38   what is it, commander option to change?

00:57:40   Command, I believe.

00:57:41   Yeah, it's just muscle memory at this point. I just don't even think about it.

00:57:43   Yeah, exactly.

00:57:44   What modifier are you asking for?

00:57:45   When you're dragging files to a different drive, the default action is copy.

00:57:49   Oh, you want to move it to a thing. Yeah. Don't do that.

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:24   pasteboard rather, sorry, my Windows is showing when you're dealing with the paste.

00:58:26   Windows was called clipboard on the Mac before Windows even had it.

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:04   or unexpected data loss. So I think that's probably the answer.

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

00:59:58   line tools to get the thing exactly the way I want it. When I want to copy a file,

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:18   nervous about it occasionally. And I'll do that and I'll do that via the command line.

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:50   Um, I said, Hey, when you do that and you make, you find a group of identical files,

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:00   I would like an eyeball icon next to 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:53   you know, the earliest days of the Mac nine point Monaco, uh, on a white background.

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:36   checkbox still does in Apple's terminal, but in the text section, uh, of my theme,

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:48   DP two developer preview to Mac OS 10 developer preview to, I've been using, uh, this,

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:09   Is this going to be the year that the 0.15 developer goes through those settings,

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:22   into the settings and you're like, what is the setting for this? And you're typing,

01:17:24   you're typing floating point numbers into a text file and making the app reloaded to try to get

01:17:29   something that looks quote unquote normal to you. And I cannot stand that. I'm like,

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:53   can you just make the text look good? And granted, it's just like, you know,

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:10   me to even want to move in the first place.

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:01   the terminal windows is like they work, they do what I want. I'm satisfied with them.

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:29   stuff. I've only ever had that kind of advanced functionality in Xcode. I've never,

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:13   I have to get over of things like little muscle memory, keyboard shortcuts or little

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:11   looking at that. So I think I will look at that in the near future.

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:47   enhance them or make them feel familiar from like VS code or text mate?

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:29   indentation. I do not like the default indentation rules that Xcode uses.

01:34:35   What are they? I don't even know what they are.

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:32   Where is that? Cause I switched that setting. I'm looking, I'm looking right now.

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:45   is, it looks so wrong. I hate it. And yes, that's what they do. It's wrong. And I just

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:39   That's what I have it set to and it does the right thing for me. Um, as for settings

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:02   that's what you want. And the ones that don't like Xcode drive me bonkers. Like guys,

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:38   Oh, that was before my time.

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:39:55   yeah, I don't, I don't have too many tweaks, but some stuff I can't live without.

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:44   Cause it was accidental.

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:15   Overtime average is up to 27, 25.7 minutes. I know you wanted to know.

01:41:44   Oh, thank you. I will update my outro accordingly.

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:50   two years?

01:41:50   Oh, goodness. Now I have to review it. Okay.

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:23   fix it in that way because I break some other thing, yada, yada. But maybe that would

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:30   but that's not a big deal, right? Windows file paths alone have so much Byzantine

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:08   also works with Apple paths. It is way more complicated than you think. And it's like,

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

01:54:07   not to be on windows. Like I know we've got these weird dot files in Mac OS, but the windows one's just

01:54:12   I'm so happy that's not

01:54:14   an operating system that I ever have to do

01:54:15   yeah conventional

01:54:18   drive letter forms

01:54:20   UNC forms current drive root

01:54:22   and root list paths so that all

01:54:24   makes sense I was familiar with all those

01:54:26   drive namespace paths beginning

01:54:28   with backslash backslash dot backslash

01:54:30   followed by a win32 device name

01:54:32   e.g. backslash backslash dot backslash

01:54:34   pipe backslash backslash

01:54:36   dot backslash com one

01:54:38   backslash backslash dot backslash

01:54:40   physical drive zero

01:54:41   yikes didn't know that

01:54:43   and then they have to make an abstraction over this like the file path

01:54:46   thing has to have like accessor methods for like

01:54:48   like they came up with names like what do we

01:54:50   call it like yeah it's drive letter but what about

01:54:52   when it's like backslash brush like server

01:54:54   like what is that part called

01:54:56   like they have to come up with like a you know a word

01:54:58   for that part

01:55:00   of the path that is the same

01:55:02   word on windows linux and

01:55:04   mac os

01:55:05   this amazing pretty

01:55:08   amazing work for the people who created

01:55:10   file path

01:55:11   Beep beep beep