Summary
The hosts discuss Apple's Apple Intelligence settlement, supply chain diversification efforts with Intel and Samsung, file system security quirks in macOS, and their personal development tool preferences. They also cover Time Machine reliability issues, terminal and IDE customization, and the complexities of cross-platform file path abstractions in Swift.
Insights
- Apple's $250M Apple Intelligence settlement reveals a significant breakdown in internal self-assessment and product planning accuracy, with features advertised at WWDC 2024 still unshipped nearly two years later
- TSMC's dominance in advanced chip manufacturing creates critical supply chain vulnerability for Apple despite years of diversification efforts; Tim Cook acknowledged in 2022 that 60% concentration from one supplier is strategically untenable
- macOS file system includes undocumented magic strings (.nofollow, .nosync, .noindex, .nobackup) that provide security and system integration benefits but create unexpected behavior for developers unfamiliar with these conventions
- Developer tool loyalty persists despite availability of modern alternatives; switching costs from decades of customization and muscle memory outweigh feature advantages in most cases
- Open source Darwin codebase provides invaluable reference for understanding low-level macOS behavior, enabling developers to verify implementation details and potentially contribute fixes
Trends
Apple increasing investment in non-TSMC chip manufacturing through partnerships with Intel and Samsung to reduce Taiwan concentration riskGrowing reliance on AI coding agents (Claude, Codex) for debugging and code analysis, supplementing rather than replacing traditional IDEsTime Machine reliability deterioration despite years of maintenance, suggesting Apple's focus has shifted away from core system utilitiesCross-platform development complexity increasing as Swift expands beyond Apple platforms, requiring abstractions that handle Windows, Linux, and macOS path semanticsClass action litigation becoming effective enforcement mechanism for advertising claims in tech industry, particularly around feature availability timelinesTerminal and text editor customization patterns showing 15-20+ year user retention despite modern alternatives, indicating high switching friction in developer toolsFile system security challenges in Unix-like systems proving more complex than commonly understood, requiring specialized knowledge beyond typical developer expertiseiCloud synchronization and backup features increasingly reliant on undocumented file naming conventions rather than explicit API-based configuration
Topics
Apple Intelligence feature delays and settlement implicationsTSMC supply chain concentration and diversification strategyIntel foundry services for Apple chip manufacturingSamsung semiconductor production for Apple devicesTime Machine backup reliability and corruption issuesmacOS file system magic strings and special naming conventionsFile path abstraction in Swift standard libraryTerminal application customization and restorationText editor and IDE switching costsXcode key binding customizationBBEdit language server protocol integrationDarwin open source codebase for macOS developmentFile system security and symlink traversalCross-platform file path semanticsDeveloper tool preferences and muscle memory
Companies
Apple
Primary subject; discussed Apple Intelligence settlement, supply chain strategy, TSMC reliance, and macOS file system...
TSMC
Dominant chip manufacturer for Apple; discussed concentration risk, Arizona expansion, and competition from NVIDIA fo...
Intel
Potential alternative chip manufacturer; Apple holding exploratory discussions about using Intel's foundry services f...
Samsung
Alternative chip manufacturer; Apple visiting Samsung's Texas plant and already producing peripheral components for i...
NVIDIA
Now TSMC's largest customer, displacing Apple; competing for advanced node capacity
Goose
Jam band discussed for Billy Joel cover performance; example of cover song arrangement philosophy
People
Tim Cook
Quoted from 2022 all-hands meeting acknowledging 60% supply concentration from single source is not strategic
Mark Gurman
Reported on Apple's exploratory discussions with Intel and Samsung for chip manufacturing
John Siracusa
Co-host discussing file system quirks, development tools, and macOS architecture
Marco Arment
Co-host discussing development tools, Xcode customization, and TextMate usage
Casey Liss
Co-host discussing file management, terminal preferences, and development workflows
Quotes
"Regardless of what you may feel and think, 60 percent coming out of anywhere is probably not a strategic position."
Tim Cook•2022 all-hands meeting (referenced)
"The primary constraint is the availability of the advanced nodes our SOCs are produced on, not memory."
Tim Cook•Recent earnings call
"I believe it will take several months to reach supply-demand balance."
Tim Cook•Recent earnings call
"The whole point of the program is those files are identical so they would all do the same thing."
John Siracusa•Hyperspace feature discussion
"I just don't feel like Studio seems to me to not be as high-end as Ultra."
Marco Arment•iPhone naming discussion
Full Transcript
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. Did you see the movie? No. So this was the impetus was that Erin decided that she would like to read the book before we watched the movie. And 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. 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. I'm sorry. I will say I did see the movie, and without spoiling anything, I thought it was excellent. I really enjoyed it. That is generally what I've heard. 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. Oh, that is true. Wow. And I did not. Wow, what a slacker I am. The last movie I saw in a theater was F1, to give you an idea of how little I got a theater he is. Oh, wow. I'm really slacking. Man, I have problems over at my household. Goodness. Well, that's right. The other pre-show I wanted to do is I asked John to do a little bit of homework. And in Marco's defense, I did not explicitly say to Marco one way or the other whether or not he was expected to do the same homework. And so he didn't, which is fine. But I can barely do the homework that is assigned to me, let alone homework that is not. By the way, before before we continue, sorry, John and Merlin on the last episode of Reconcilable Differences did in the in the member exclusive bonus content, did an incredible segment on homework. And that's true. And I can like I found it incredibly therapeutic and incredibly good because homework when I was going through school was just the the largest source of profound emotional damage that I like. Most of what I talk about in therapy today is related to that. and so to hear this discussion of homework and and how kind of you know the downsides of of our homework culture and and how ineffective it can be and how damaging it can be uh i found quite therapeutic and quite interesting so thank you john and merlin remotely from uh from talking about for talking about that so well and uh may may i join whatever efforts possible to abolish homework yeah well i mean you're going through it with uh your kids so like you see you can see how it has change and how it has not changed since your experience 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 less of it now and and you know my my biggest problem was always that like as soon as i was not in school i would just never think about it and or i you know things would be assigned to me in class by the teacher just like saying something once or writing something in the corner of the board and as soon as i'm out of that classroom it's gone and so if i didn't see it or write it down i would never know about it you know Now they can just log into their Chromebooks and log into their whatever classroom and see all the assignments that they need to do. So there is no such thing as like, I don't know what I have to do for homework tonight. Do you find that to be the case? Because I heard that from my kids a lot, even though, yes, you're right. They could have just logged on and checked. But I mean, it didn't go away. It just got less plausible. Yeah, it isn't a perfect system. And there is certainly some faint surprise. But it is way better now than it was when we were in school. Like it's way more forgiving. And now most of my kids' teachers, not all, but most of them will accept late made-up homework before the end of the quarter, which that was not – like when I was in school, if you didn't have it when it was due, zero. That's it, just a zero. And like John was saying in that episode, no matter how well I did on the tests or anything, the homework was like half of my grade. So I would, like, get 100% on all the tests and get 0% on all the homework or get C's. It was rough. Anyway, thanks, John. So sorry, Casey. Go on with your homework assignment. No, no, not at all. Not at all. No, I plus one everything you just said. Homework stank. It still stinks, and I wish we didn't have it. So I asked John to do a little bit of homework, which, again, my memory is garbage. And I guess maybe I had sent you this homework as, like, a, not as homework, but as a, hey, check this out, ha-ha. Or maybe somebody else did. I don't know, but one way or another, I sent you an audio file that I wanted you to listen to. And perhaps you could describe for us not only what it is, John, but also what you thought of it, which is really what I was after. Yeah, I couldn't find. I'm pretty sure I saw it in Mastodon or something, but somebody did link me to the video thing. And the video thing is the only thing that would have given me the information about who is actually performing it. It's Goose, right? It is. Yes. OK, so it's Goose doing a Billy Joel cover. And I can see how he sent it to me because I'm a big Billy Joel fan and I'm not a big Goose fan. covers are tricky because there's two ways you can go with the cover. One is and a lot of bands do this, you want to play it so that the people who like the original song will also like your cover. And the other way is the way you're familiar with from video game trailers if you're a youngster, which is oh, now I'm going to do a different version of that song. So there's the sad, somber, slowed down version of a pop song or going the other direction you can do like the dance remix version of a song that wasn't originally like an electronic dance song but now the the your cover of it is so i feel like those are the two ways you can go and the middle ground between them where it doesn't sound like the original but also is not a fresh take on on the song is rough i kind of feel like goose was in that middle ground there i think that's fair yes because like they certainly weren't playing it like billy joe plays it like it took down to them not even doing the vocal harmonies on like the pre-chorus or whatever. Like that's a big part of the song. And you have a million people on stage, right? Just have somebody do the harmonies, but they didn't do it. And obviously the arrangement, instrumentation, everything was all different than it is in the original. But also it was not like here is like, you know, genre transfer or like a really different version of it where like different instrumentation entirely like, you know, because it was the same instruments, like keyboard, guitar, drums, bass, like all that stuff. It was like, it's not that far from the Billy Joel original, but it sounded far from it and i feel like first of all i didn't realize this when i was watching the youtube video because it's just you're just watching on your phone or whatever when you sent me the audio link it showed the uh the duration i was like this is not a nine minute and 30 second song like it's just all right well you know jam band so there's obviously parts of the song where they do the jam band thing where they go off and start noodling on the instruments for a while and honestly those sounded the most like it was like oh finally the band could just be who they are they're like oh yeah we were doing a cover and then they go back to it it's like uh so not not a not my favorite cover uh i think they should have either done it more like billy joel or less like billy joel and the only time that i found it the only time i found it not off-putting was in the middle parts where they just like extended the bridge out to this big noodley jam band segment because then i could forget they were trying to do a billy joel cover just out here's here's goose doing goose things yeah i feel like john i feel like i would not expect you to appreciate any cover of a song that you like made by a different band like that doesn't seem like your style not true at all i've got some i got some covers that i love of songs that i love not true that i'm surprised to hear that lukewarm's cover of bad incredibly different than the original love it i think i listen to it more than the original now um which bad the michael Jackson song? No, the U2 song. So is it more, so like, you know, when Goose or Fish cover other songs, which is somewhat frequent, I wouldn't say they're necessarily changing the arrangement of the song, whereas, like, if you, like, if you, if a band covers a song, but, like, dramatically slows it down, or changes certain rhythms, or, you know, like, there's things that would qualify as, like, a different arrangement. You can just do it, playing different notes on the instruments. Like, I don't, I don't know what the word arrangement means from a technical music perspective, but like, for example, the the like guitar and keyboard parts in that goose cover are not the same. They're not playing the same notes as the guitar and keyboard cards in the original. I have the original like in my DNA and I know like, oh, they should be playing these notes here. And they're not. They're playing a piano or they're playing a keyboard or they're playing guitar, but different notes. Yeah, I mean, I didn't expect you to be overjoyed by this. To be honest, your reaction seems kind of tepid and I consider that a personal victory. but I don't see this on YouTube. If I sent you a video, I am unclear how or where I sent that. And what I've done is for the listeners, I've put a link to kind of the set list repository where this is mentioned. This was actually the 8th of May that this was performed. And also not to be that guy that's saying, look at my band camp, but look at Goose's band camp where I think you can at least listen to a preview of it, if not the whole song, without actually purchasing it. And so we'll put that link in the show notes. I thought it was a good cover. I don't really disagree with anything you said, though. I think covers, generally speaking, are best when they're relatively by the book. But, well, I shouldn't say they're best then. They're most palatable when they're by the book, like you were saying. But I think they're the best when they're a complete left turn from what you're used to, as you were saying earlier. I think the canonical example for me, because I'm me, is All Along the Watchtower, which was a Dylan song, I believe. And then Hendrix famously covered it, which is almost nothing like the Dylan version. and then Dave Matthews Band covered it many, many, many times, which is nothing like the Hendrix version. I'm sure they bettered the Hendrix version. I wouldn't say bettered. It is a very different take on it. Jimi Hendrix, Dave Matthews, they're right up there, right? Oh, right. Peers and the rock and roll. I thought we were not at an impasse. That's negative. I thought we were at an understanding, and here you are trying to ruin it. I don't dislike Dave Matthews, but I'm not going to let you say Jimi Hendrix along the Watchtower. and also Dave Matthews. And like, no, same thing. No, my point was just that they're all very, the point I'm trying to bring up is not the relative qualities, but just that they're each very different than the other. That's all. Anyways, I appreciate you indulging me. Yeah, one more cover. There's one I was trying to remember. I just looked it up. It's DHT. I have no idea who this band is. D period, H period, T period, did a cover of Listen to Your Heart from Rock Set. I like the original Rock Set song, which is just a garbagey pop song from my childhood. An extremely popular, but garbagey pop song. Yes. And the DHT cover is a slowed-down, moody one that hasn't been used in a video game trailer. So it's another cover that I like. I have many covers that I like. They have to be really good, though. All right, let's do some follow-up. Let's talk about CapEx versus OpEx. This is capital expenditure versus operative? No, I should have planned. Thank you, operating. So Andrew Leahy writes, Regarding reasons for software development being CapEx or OpEx, You're mostly right that the lawyers in the building were deciding whether what you were doing qualified as one or the other. But the lawyers were themselves reacting to Section 174 changes. Here's some more info if you aren't already asleep. And then Andrew linked to Bloomberg, which we will put in the show notes from September 26th of 2023. In there, Bloomberg writes, the IRS's September notice 2023-63 clarifies the definition of software development for purposes of current year expensing, encompassing nearly every aspect of the software development process. In doing so, it's requiring most related expenses be amortized. I did almost fall asleep there. Yeah, the reason I put this in here is because I said it over my career that it has changed. And I do remember around this time there was a big change. There was always debate over who's doing it. Maybe companies would change their mind. But when this thing happened, whatever the Section 174 change was, it was company-wide. There's a big new decision, and we're doing a hard right turn. and pretty much everything is going to be a capital expense for software development. I'm not sure if it changed again after that, but, yeah, the landscape has changed several times, causing confusion and delay, as they say. All right, with regard to hot lots with Apple in the A18 Pros from TSMC, we got a couple of pieces of feedback. The first from Anonymous, who writes, In regular chip manufacturing, a wafer goes through several dozen manufacturing steps inside a fab. Different customers' wafers and the processing steps are carefully sequenced and scheduled to keep production line at close to 100% utilization. A hot lot is kind of like the FastPass in Disneyland. You pay extra and the wafers or individual chips get priority at each manufacturing step. It can give you wafers and chips two to three times faster. Matt Jones writes, A hot lot, which demands a stiff price premium for its reduced cycle time. TSMC specifically offers two classes of expedited surface, hot lot and super hot lot, with the latter being even more expensive and faster. The premium and improvements in cycle time vary by the tightness of the line and the queue demand, including who's in line, since cutting the line can push back other lots. I heard they renamed the Super Hot Lot. It used to be Performance Hot Lot. Wow. That took me a second, but well done, John. Well done. Anyway, yeah, so Hot Lot, it's a term of art. There you go. And it's basically pay money to cut the line and I guess annoy everyone else whose stuff is getting delayed. But, you know, money can solve a lot of problems, I guess. All right. With regard to altering and neoing all the things, Jan Ojanimi writes, maybe iPhone Ultra is the 20th anniversary iPhone? Question mark? Yeah, we didn't talk about that. I did mention that iPhone Ultra had been rumored as a name for a phone that is more expensive than the current top-of-the-line phones before the folding phone rumors had started. It was just like, Apple's going to make a new phone. It's going to be more expensive than a Pro Max, and maybe it's going to be bigger and blah, blah, blah. That was, I think, the original iPhone Ultra rumor. as we are approaching the rumored 20th anniversary phone with the waterfall edge screen that goes off curves on all four sides and you know all screen and everything is underneath the screen there's either a tiny hole punch or no hole punch at all like anyway the rumors of that device continue to swirl we've talked about in past shows the question is assuming they don't call the folding phone the iphone ultra would they use that name for the 20th anniversary phone as opposed to i guess iphone xx whatever that phone is is that an ongoing product line or is it kind of a one-off special thing it sounds kind of like something it's it almost sounds like a concept car like it sounds like a product that apple would be really excited about much more than the public would see also the iphone air i feel like the iphone 10 though you could say the same thing about until they released it and everyone said, oh, yeah, this is better. But the iPhone 10 was like, OK, this is obviously the form factor that all iPhones will be. They just needed a few transition years. I don't think it was obvious. I don't think it was obvious to Apple at all. I think they were going to try a thing. They called it the iPhone 10. They hedged their bets. They released it and they were hoping it would be the future of all iPhones. But what if the public had rejected it? I mean, look, they can always change their minds, but I disagree that that was ever their plan. I think they they knew this was like all iPhones will be this, but we can't or shouldn't make them all this yet, so they had a transition period of a few years. Whereas what we're hearing about the 20th anniversary iPhone being this all-screen curved around the edges kind of thing, honestly, I'm not super excited about that. I think from an ergonomic perspective, it sounds awful, and I think it ignores the reality that almost everyone uses cases on their phone, and there's a reason why all the Android manufacturers tried that years ago and currently mostly don't do that. I think you're thinking of the curves more like the old Android phones. the latest rumors of the curve is that it's like barely curved like a like a one or two millimeter little thing like it's not actually like so you can view it from the side it's just like it goes over the top and then curves a tiny little bit yeah i get that yeah that's that's the latest rumors right and the other thing about it is i've always said since the day zero of the iphone that the obvious evolution of this product is to have the screen cover the entire thing and then they made the phone with a notch and i said yeah they have a notch because they have to but as soon as they can get rid of the notch they will and they didn't get rid of it they turned into dynamic i they get smaller and the dynamic island keeps getting smaller and i still say if as soon as they can get rid of that dynamic island they will but they can't yet even for the 20th anniversary right i think they can't but i still believe that the natural evolution of the iphone is to continue having the screen go edge to edge top to bottom unbroken no notches no dynamic islands no hole punch cameras and maybe they won't get there by the 20th anniversary phone but when i hear them talk about it i'm like oh well they're going to put even more screen on it and i agree with you that the curving around the edge is the sort of wild card, because even with the rumors of it being barely curved around the edge, it's like, OK, but then doesn't that still make it kind of, you know, slightly more difficult to deal with cases, maybe slightly more breakable? What is the advantage of those extra one or two millimeters around the edge? You know, having a zero bezel, as opposed to having a not only is there no bezel, but the screen continues for a millimeter down the side, I'm not sure if there's an advantage. But I do think, just like the iPhone 10, the iPhone, the 20th anniversary phone, the iPhone XX or whatever, or 20, is effectively we can make this phone now for a premium price. We would like all future phones to be like this, but if public rejects it, we'll change our plans. Because we know how to make the other kind of phone, too. Yeah, and I think for them, going back to the original question, if they're going to use a name like iPhone Ultra, I would expect them to use that name for a product that Apple expected the line to continue indefinitely into the future. I don't know that we can necessarily say that about this 20th anniversary product that is rumored, because it still sounds kind of like an experiment or a one-off. And so again, I just don't see them using the term Ultra, because then that term, suppose this product doesn't succeed and it's named Ultra, then they either can never use that name again, which is a waste of a pretty good kind of generic name, or they would just call something else, you know, iPhone Ultra in the future that would be totally unrelated and that would be kind of a weird marketing thing to deal with as well. I just don't see that happening. I see this just, this sounds like a product that, first of all, may not even launch, honestly. It still sounds kind of concept car-y, and it doesn't sound like the rumors are super firm around it yet, but I think if they launch it, I think it's a one-off. I think a 20th anniversary phone, there will be a 20th anniversary phone, and I think they're going to make this, the questions about this one have been, can they actually get it to be all screen? And basically the answer in the past several months has been, it looks like there's going to be a hole punch because they just can't get the camera under the screen because the quality is too crappy. But oh well, I think they will ship something, even if it has a hole punch camera in it even if it even has a tiny dynamic on just to get it out the door and i think they want the reason i think they won't use the ultra name is because i think their hope is that the top of the line phones will look like this now the wild card here is what i said before which is like but if the idea is that apple wants to add a new uh ultra tier to all of its product lines for even more expensive products if they put this one in the ultra tier that would mean that like the year after there'd be another ultra another ultra and it's like okay well then does that delay the trickle down like anything that's in an ultra well it's hard to say but like i feel like the features you put in an ultra you can't keep them there forever like the macbook ultra assuming again so i mean that's true are you going to keep the the oled in the ultra line forever 20 years from now is the macbook air not going to have an oled because sorry that's ultra exclusive i don't think that's tenable so you know i just feel like ultra is a placeholder for the more expensive top-of-the-line one, the features do have to trickle down. And in the case of the iPhone Ultra with the little screen edge thing, assuming people don't hate that, which is an open question, I just feel like that will eventually trickle down to the Pro and Pro Max and eventually trickle down to the no-suffix iPhone someday because if it's a successful feature like Face ID, eventually it goes down the line. But this is all an open question. Thinking about last episode, my main concern about Ultra or my main question about it is, is this an opportunity to add a new high-end segment and product lines that didn't previously have one? Or is this a name they just hack on for marketing reasons for one generation and then just nevermind and, you know, continue on. And I'm trying to think of what they would call a 20 anniversary phone, or they don't call it ultra. They could call it XX. I don't know how they would pronounce it. iPhone 20. I think that would be fine. They could, could they call it iPhone 20? You know, they skipped numbers before. Why not? Yeah, right. It would properly be 19. What if they call it iPhone 9? What? Because there never was one. Because they never made one. Oh, right. Yes, I'd forgotten. It teleported from the future when they made the iPhone 8 and the iPhone capital letter X for Roman numeral 10. All right. Karan J writes, what about studio, given that the Mac studio and studio display are now the top of their respective lines, and the new OLED Macs could be the MacBook Studio, iMac Studio, et cetera. See also, Creator Studio. Yeah, Studio is in the mix as a name suffix, but the rumors aren't about Studio. The rumors are all about Ultra, and the watch is not called the Apple Watch Studio. I don't know. I do feel like Studio is not as good a high-end name, despite the fact, as he says, that their most expensive monitor is called Studio. Their previous most expensive monitor was Pro Display XDR. XDR seems to be the Ultra of the monitor world. The Mac Studio is the current top-end Mac. They're not going to make a Mac Ultra. I don't know. I just don't feel like Studio seems to me to not be as high-end as Ultra. Yeah, I agree. And then Zoran Neshik writes, Regarding an iMac Neo, if you swap out the M-series for an A-series SoC, isn't that just the studio display? And Karan actually also from earlier adds, a studio display would be an easy iMac Neo with a smaller, cheaper display panel, of course. That's the problem. This video display is so much more expensive than a regular iMac, let alone an iMac Neo. So, yeah, it does already have an A-Class SoC, and it costs, like, what, three times as much as a regular iMac? So really kind of hard to Neo that particular one. And by the way, the A-Series SoC it has in it just, like, I forget how much RAM it has. We looked it up, but, like, 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 and, like, a super expensive machined aluminum case from the studio display, even the regular studio display. Yeah, that shows how tricky it is. Like, it does have an A-Series SoC, but the screen and the case and the stand dominate the price and make it more expensive than an iMac. We are sponsored this episode by Squarespace, the on one website platform designed to help you stand out and succeed online. Whether you're just starting out or scaling your business, Squarespace gives you everything you need to claim your domain, showcase your offerings with a professional website, grow your brand and get paid all in one place. So no matter what your business needs, whether it's selling physical goods, selling digital goods, maybe like an ebook or a PDF or a guide or selling things like subscriptions, membership areas, paid newsletters, paid podcasts. Maybe you're a consultant and you sell time slots or appointments or things like that. You can have all of that and so much more with Squarespace. And it's so easy. You don't have to be a nerd and you don't have to really spend a lot of time, honestly, running your website. You can just do it. So if you aren't a nerd or if somebody comes to you who isn't a nerd and wants you to make a website for them, you can just send them to Squarespace and then they don't have to go through you. You don't have to gatekeep it. They can be empowered. It's an amazing system. So they support everything that your business might need from things like analytics and email campaigns, all the way up to getting paid, having all the most advanced checkout options, payment methods that are all supported. If you have physical goods, they'd have things like sales tax integration and shipping integrations and things like that. It's amazing. You can start with the domain there with Squarespace domain. So really from start to finish, they have you covered. The design is super easy to use. Everything is visual. They have AI integrated where it helps, but it's still your voice at the end of the day. It's a great platform for anybody to make a great business website. Now you can see for yourself by doing their free trial, go to squarespace.com slash ATP, and you can start a free trial there and build the entire site before you give them a credit card at all. See how well it works for you. When you're ready to launch, use offer code ATP to save 10% off your first purchase of a website or domain. So once again, squarespace.com slash ATP for that free trial. Go back there, squarespace.com slash ATP, and use code ATP when you're ready to purchase to save 10% off your first purchase of a website or a domain. Thank you so much to Squarespace for sponsoring our show. All right, let's talk Time Machine. We had a one-off comment from John last week about how you have a ton of small files in your Time Machine backup, mostly because of Node stuff. And John Wilson writes, John's comments about node modules directories and so on, making Time Machine backups hard, raised an eyebrow with me. Why on earth did you not or would you not exclude folders like that? The same goes for the .git directory in a repo. Yeah, so it's pretty easy to exclude things from Time Machine. I've got a command line aliase to do it. I think the tmutil thing will do it. You just add an extended attribute to it. You don't have to, like, open the Time Machine settings and drag it into the thing or whatever. but what I found is doing that manually it just doesn't happen I guess I check out too many repos casually clone too many things just I have a bunch of them and they are excluded if you have a fixed setup where I'm only working on these two projects and they have two node modules directories and they're excluded so everything's fine fine but that's just not the way I tend to work never mind these days what all the coding agents are doing behind the scenes and cloning things to god knows where or whatever, even just my own use before the age of coding models and stuff like that, I just found myself making lots of these one-off directories, cloning Git repos, playing around with them, you know, doing NPM install and directories. But like, it was just, you know, I needed it to be automated into that and we got some more feedback. And then Andrew Hathaway writes, I use Asimov to prevent node modules directories from being included in time machine backups. This is an open source thing and it self-describes as Asimov scans your file system for known dependency directories, for example, node modules, and excludes them from time machine backups. Yeah, I think you have to run it manually, but yeah, an automated system that would just like, it's tricky because it would have to drink from like the FSEvents firehose and like, see every time something happens and see if there's a node modules in there. Like that's, that's why it's tricky because these are, especially like .git directories for cloning things and node modules. Like it just, to stay on top of it requires discipline. And even if you do try to stay on top of it, if you're trying to do it like manually, or even if you have a scan running every once in a while. If a time machine backup starts and it notices your node modules directory and it's like, now I have to back that up, but then, oh, the automated excluding thing goes and excludes it. Too late. Time machine's already got its claws into it, and now it's grinding away at two million additional files. And then I wish I could do this in Dropbox, too. I don't think there's a way, at least not in the non-file provider version of Dropbox. I would love Dropbox to ignore my node modules directories, but I don't know if there's a way to tell Dropbox to not sync an individual subdirectory other than SelectiveSync, which is telling it, oh, this exists in Dropbox, but don't put it here. It's like, no, that's not what I want. I want it to be here, but I want you to ignore Dropbox. So I'm not quite sure how to do that. Not that I keep NodeModule stuff in Dropbox, but I do have some .git directories in there. Anyway, it's tricky, and the number of things that create a bunch of small files very quickly and change them rapidly and remove them when I'm done is increasing over time, not decreasing. with regard to time machine on spinning discs ben madison writes i used a spinning disc for time machine until fairly recently i was backing up a macbook pro which i needed to unplug and take to meetings fairly regularly if the backup happened to be running at the wrong moment it took forever for the backup to end in the drive to eject and i was frequently late to meetings as a result i assume this was just the nature of time machine until i got an ssd and was thrilled to discover that i no longer needed to budget extra time for disconnecting my laptop this is a reasonable complaint but why wouldn't you just like plug it in overnight or something rather than having it plugged in all time all the time yeah you gotta remember to do it or do the thing where you tape it to the back of your laptop lid right you get a 2 inch spinning disc that bus powered and you just tape it to your laptop yeah it just with portable stuff it is tricky because you know Time Machine even with SSDs Time Machine takes its sweet time when you say cancel this backup You know, you could just yank the machine and unmount it and you think, oh, it'll handle it. It'll be fine. But given how frequently Time Machine corrupts itself under ideal circumstances, I wouldn't want to test it. Then Carlos Pereira writes, when using Time Machine to backup my MacBook Air's 512 gig SSH with two terabyte spinning disks, backups were taking more than 12 hours. and at some point something got corrupted and backups just vanished from the external drive backing up my macbook pro's one terabyte ssd to a four terabyte external ssd takes 10 minutes with no issues additionally david fokkema writes since mac os 26 tahoe surprise my time machine drive that's the same size as my source volume has failed to complete a backup twice in a single month i now have a new drive that's twice the size of my source volume and i have needed to reformat it and start a new Time Machine backup five or six times since last fall. My current oldest backup is April 28th, and again, Time Machine is misbehaving. It's doing a backup right now, and progress is at 30% with 250 gigs copied so far. I fear the result will be, again, that the entire backup drive fills up with all previous backups, except the last one from last Friday will be removed to free up space, and still the new backup cannot be completed. Again, I will have to reformat the drive and start over. How can this even happen with a 2X drive? I don't know. I don't see a lot of people experiencing this exact issue, but it's driving me batty. I'm not sure what triggers it. And then updates. I had to nuke my drive again and start over. No space left on device. I have not personally seen this, but I mean, that stinks. I've seen it. And the basic issue is that Apple's maintenance of Time Machine has been mediocre at best. It's the type of feature that when it was introduced, it was amazing. And it's not like they haven't updated it. If you look in the underpinnings, they've changed it a lot over the years to try to improve it. But it just has never really like to give an example. Visibility. I mean, this is a complaint we have about a lot of Apple stuff, but like visibility into what is going on. Right. And many people are you'll see online. They're saying, hey, a time machine backup completed. I sat down on my computer. I wrote an email. And then I noticed time machine had started again because an hour had passed. I'd spend an hour writing an email and browsing the web, and then I see a time machine started again. And it's taking forever. What happened on my Mac in that last hour that's taking so long to back up? From your perspective as a user, it's like I sent one email and I browsed the web. How many files is it backing up? What is it doing? Why is it taking so long? That's the type of thing where more visibility into the system would be beneficial. so you could see time machine's taking a long time because it's backing up seven million new files in this particular directory you know like what is it doing why is it taking a long time what is it backing up maybe i should exclude that director because i don't care about those files maybe that's a cache directory that somehow time machine isn't backing up and the second part of setting aside visibility is for simple tasks especially with ssds and so on shouldn't it be getting faster over time to do an incremental backup of the same amount of data shouldn't it be getting more reliable over time? Shouldn't it be, you know, shouldn't we be polishing this so that it is efficient, faster, better? Like, and they have added, you know, more efficient things where it will use the APFS snapshots and tries to use the features of the file system to, you know, has different strategies for figuring out what has changed since the last time, which is the tricky bit here. Like, I'm not saying it hasn't improved, but it hasn't improved enough. It doesn't have any better visibility than it did before. And these type of bugs where you're like, I don't understand what's going on i have a time machine drive it's huge it it tells me there's not enough space it deletes everything else or gets stuck on a file and i don't know what file it's stuck on like you'll find so much stuff in web searches of like use lsof uh you know to figure out what files are open and figure out you see this with mdls with the spotlight the next thing as well just everyone trying to diagnose look at the logs look at these lines if this happens do this erase your disk and format it in this way do this thing it shouldn't be this fraught the whole point of time machine The promise of it is that it's for backup for people who don't know how to deal with backups. So it's just simple. Plug in a drive. You want to back up to it. Okay, I'll take care of everything for you. But instead, it becomes this babysitting nightmare where, again, this is not on spinning disks. This is not lots of small files. This is just regular use of time machine. And, you know, I would file this under another aspect of macOS that has been allowed to deteriorate, but it certainly hasn't improved. You know, you would think features that exist for many, many years that are used frequently wouldn't just get the bare minimum of maintenance and slowly accumulate new bugs. Instead, they would be, you know, knocking down every one of the bugs and getting better and better. Like, I would want to see every few years of WWDC say, oh, and the new version of Mac OS, we made Time Machine better. It backs up 20% faster, and we did this and we did that. And, like, they just don't say that anymore. Even the improvements they do make, they don't tout. And it's like frustrating to me because Time Machine is one of my favorite features that Mac OS ever added. And watching it not thrive is not fun. We are sponsored by Zapier. Zapier is how you actually deliver on your AI strategy, not just talk about it. So AI is everywhere these days. We all know that. And honestly, I find a lot of great uses for AI. But sometimes it can be hard to figure out how to harness that power with actual tasks I need to do or integrating it with the tools or the services that I already use or that I need it to access. This is where Zapier really comes in. Zapier is this amazing orchestration and automation platform that actually predates AI. They've been around for many, many years. They already have so many integrations and automations built into their platform. They've been doing it forever. They're the experts. When AI has come around now, Zapier made things even better. It's like pouring gasoline on the fire. They have amazingly ramped up their capabilities with AI. You can now bring the power of AI to any workflow using Zapier's AI orchestration platform. They gave me a trial of it, and I tried it out, and I set up these automations in just like 30 seconds. It was amazing because you can have AI now help you construct the Zapier workflows and automations and everything. So you just kind of ask it in plain language what you want. It offers you options. It guides you through it. It creates the whole thing. You can then go and edit it, or you can have the AI edit it. It's amazing, and it saves so much time. You can accomplish so much. You can tie it into so many tools. Zapier is how you bring the power of AI to any workflow, so you can focus on more of what matters. You can integrate all the different models, chat, GPT, Claude, whatever you want to use. It's all integrated. You can orchestrate it all with Zapier. Whether you're a tech expert or not, it doesn't matter. So many people have used Zapier. Teams have already automated over 300 million AI tasks with them. So join the millions of businesses transforming how they work with Zapier and AI. Get started for free by visiting zapier.com slash ATP. That's Z-A-P-I-E-R dot com slash ATP. Thank you to Zapier for sponsoring our show. Emma Roth at The Verge writes, Apple has agreed to pay $250 million to settle a class action lawsuit that accused it of misleading customers about the availability of its Apple intelligence features. The proposed settlement would apply to people in the U.S. who purchased all models of the iPhone 16 and iPhone 15 Pro between June 10, 2024, March 29, 2025. People who submit qualifying claims can receive $25 for each eligible device, which may increase or decrease up to $95 per device, depending on claim volume and other factors. according to Clarkson Law Firm, the legal team behind the class action lawsuit. Apple denied any wrongdoing. Here's Apple's full statement. Since the launch of Apple Intelligence, we have introduced dozens of features across many languages that are integrated across Apple's platforms, relevant to what users do every day, and built with privacy protections at every step. These include visual intelligence, live translation, writing tools, Genmoji, cleanup, and many, many more. Apple has reached a settlement to resolve claims related to the availability of two additional features. We resolve this matter to stay focused on what we do best, delivering the most innovative products and services to our users. I love the legal system where they can claim no wrongdoing, but it's like, but you didn't ship those things in the ad, right? Right. We're going to claim no wrongdoing for this thing that was obviously the case, and also we're going to pay $250 million. Right. I mean, the no wrongdoing and paying, sometimes you do just make a lawsuit go away, but even in their own statement, they basically said, well, we did a bunch of other stuff, right? It's kind of vaguely related, and we're resolving this thing with, you know, claims related to the availability of two additional features like yeah those are the ones you didn't ship that's what they're suing you about they put ads on tv about those things and people would see the ads on tv and say i'm going to get a new iphone because it's going to have those things and you know you literally today they're not shipping they're still not shipping so i feel like this is a slam dunk case and for them to say we admit no wrongdoing but we obviously i mean they advertise things that they didn't ship uh so yeah and i i bought i have the 16 pro so i will be getting my 25 to 95 dollars for that and i'm excited about that did have you actually signed up for 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 thought but i'm assuming they'll send me an email or you know we'll cover it in the show whatever but i always sign up for these things i always take the money from usually it's you get a piddling amount but hey sometimes it's like a multiple devices in the family so you know both my kids get 30 bucks i get 30 bucks you know sure i'll take the money but i just this is probably the least bad ending Apple could have hoped for, that they were allowed to settle and admit no wrongdoing and pay what to them is like, you know, pocket change nothing, in exchange for probably one of the biggest screw-ups in the past couple of decades, the biggest public screw-ups in the past couple of decades, which is at WWDC 2024, showing a bunch of features and then putting ads on TV with a famous star from The Last of Us slash Game of Thrones advertising those features, and then to just literally never ship them up till the day we're recording this. Presumably, in all the 27 OSs, the features they advertise or something similar like them will ship, but they still haven't done it. And if we had back at WWC20245 said, hey, we're going to be recording right before WWC2026, and none of those features in the ad will have shipped, that would be a pretty grim, pessimistic view. But that's the reality we're in right now. Although, to be honest, would you have been surprised to hear that at the time? Like, I don't know that I necessarily, because even at the time, it seemed pretty ambitious and pretty like concept-y. And we had not yet seen AI do pretty much any of those things with any level of reliability. Normally, look, Apple has a big target on its back because they're big and famous and rich. And so they get all sorts of things levied at them, people attempting to sue them or shake them down. and most of them are BS and most of them are undeserved. This particular one, I think it's not BS and is exactly what Apple deserved for what it actually did. I still to this day am surprised that they were so brazen and careless with the way that they advertised those features, both the WBC and then in the TV commercials. Like that was incredibly negligent and reckless of them to do that. So they deserve what happened here. This one is 100% on them. And in hindsight, like it really does. I mean, I'm sure the story would tell it someday, but it really does seem like given two years, two whole years have passed. They were just like there's no way that they would have aired an average. I mean, what they showed WWC fine because that's like a developer community. Maybe you show whatever. But like even that, though, I don't think that's fine. Well, I mean, it's not it's not fine. But at least it's not like here's the thing. They show stuff in WWDC and sometimes things don't ship or change before shipping because it's the nature of a thing. You're seeing a pre-release product, you're a developer, like you get it. But once you put things on television for the public to see, that shows me that they really thought that they would eventually get to these things. Like, I mean, the only other worst case thing I can think of is like the white iPhone, which they also advertise in television. And I believe they really thought, well, we're having trouble with the white one, the white iPhone 4. We're having trouble with the white one, but, you know, we'll get it out eventually. And they did get it out eventually, but it was, I forget what it was. Gruber was just posting about it again. It was like 18 months or something. Something like that. Right. So the usual Apple thing is like, okay, even if it's not ready, we all believe that it will be ready in a reasonable timeframe. We're like, oh, yeah, sure. No, it will totally be ready. Like we're having difficulty, but we'll get it out the door. It's like, okay, fine. Then we're going to run the ads. Because I think if Apple actually internally believed that they weren't going to have these features for two years, they would not have aired the ad. What they thought was, we don't have them now, but everyone says that we'll probably get them eventually. So chip the ad. It's important to strike while the iron's hot. The features will come a little bit later than we wanted, but it's fine. But what it comes down to is they did not realize yet that they were not going to be able to do this. Not that year, not the next year. Like, they're just mistaken about what they're, you know, and I hope there was a big, I mean, obviously there was. There's big shakeup, leadership changes, all sorts of stuff. And now they've got a new CEO. So hopefully the company will not make that mistake. And it's basically not knowing yourself. Like, be honest with yourself. Are we going to ship this or are we not? And internally, you have a culture where you're essentially all lying to yourselves about what you're going to do. And, like, I think that has served Apple well for years. They've always said, you know, we'll set these aggressive targets. We'll tell the team to do the impossible. And even if they're a little bit late, they'll eventually do it. but as I think I complained about at the time, it's like this one is different in that there's nothing they can really do to make this happen. And that turned out to be the case. Like it's not like it's just a simple matter of finding the bugs and fixing them or whatever. It's a, it's of a different nature and it was especially of a different nature because as it turns out there, you know, their LLMs that they were working on internally weren't even up to the, their competitor standards. And as Marco just said, even their competitors weren't doing this at the time. So to believe that they were going to do something that no one else had ever done, Even though their internal technology to do that was worse than everybody else's and they were going to ship it in a time frame that justified airing the ad just shows a complete breakdown of accurate self-assessment in a very public way. We've complained about their inaccurate self-assessment in terms of developer sentiment or all sorts of other things. But this was like the most public display of self-delusion. It's corporate self-delusion that Apple has experienced in a long time. yeah i mean i generally i think it was marco that said this a minute ago i generally think the class action lawsuits are kind of silly but it like john said you might as well sign up for them i think i've told the story briefly on the show before but uh long after i got rid of my bmw there was a water pump related class action lawsuit where if you could prove that you paid for a repair to your water pump in your n55 then you could get i think it was like a thousand bucks from BMW and because I'm me and I keep copious notes on these sorts of things I was able to produce the receipt from several years prior when I paid Richmond BMW a thousand plus dollars in order to replace my water pump and I got a check from BMW for a thousand bucks it was incredible but yeah I think that with regard to the advertising I do think it's like you were saying that they thought they were going to ship they really did like yes it was a bit of hubris I almost said hubris, a bit of hubris to think that, oh, we'll definitely ship this, no question, and then not. But I don't think it was ill-intentioned. I really do think and get the vibe that they believed that they were going to ship, and then it turns out they very much didn't. And I think they hopefully have learned a lesson, it sure seems like they have, that they shouldn't be advertising these things unless they are really, truly about to launch or already launched. All right, we have a couple of stories with regard to Apple and Intel and Samsung. So starting on May 4, Mark Gurman writes, Apple Inc. has held exploratory discussions about using Intel Corp. and Samsung Electronics Co. to produce the main processors for its device in the U.S. Apple has had early stage talks with Intel about enlisting the company's chip making services. Apple executives have made visits to a Samsung plant under development in Texas that will also make advanced chips. Discussions with both companies started before the latest shortages took hold. Samsung is already working on building more peripheral components for the iPhone and other products, including ones for managing device power, said Apple, or Apple had said earlier. Additionally, we will point you to a link in Apple's newsroom wherein they announced they were increasing their U.S. commitment to $600 billion. That's where they said that they were, you know, when German said Apple said earlier, I'm like, wait a second, is this an officially confirmed Apple thing? But it was the press release. Like that's that's where they said that their Samsung is building stuff for Apple phones, not the main SOCs. But I forget what is peripheral components, as Gerwin describes it. That is apparently in this press release. Continuing from Gerwin, Apple prefers to have at least two suppliers for any major component, giving it leverage in pricing negotiations and protection from supplier disruptions. As far back as 2022, Cook told employees in an all hands meeting that and I. Hi, this is Casey. I didn't remember hearing this particular quote anywhere. So this was new to me. And certainly I think it was John that bolded it in our internal show notes. Let me read this quote from Cook from 2022. Regardless of what you may feel and think, 60 percent coming out of anywhere is probably not a strategic position. Referring to chip production concentrated in Taiwan. Yeah. So this is I also had not heard this quote. If I did hear it back then, I had forgotten about it. Again, this is back in 2022. And this is Tim Cook talking to employees. And if you think he's more candid with employees than he is with the public, I don't think. everything's going to leak and b i don't think he's candid with anybody like that um but here he is stating plainly uh we don't like that we get so much stuff from tsmc and his thing was like 60 percent you know it's 60 if we're getting 60 of anything from a single place that's bad it's like well i have bad news tim that's not going to get better that's like tsmc is making all your chips for the phones uh it's just you know so it shows that it's not as if cook was unaware and you know repeat for china and other things not as a cook was unaware that a non-diversified supply chain is bad it just seems like the process of trying to you know turn that ship and you know whatever it was like a half of new iphones were created in india in the recent batch or something like that Like, how long does it take to start to diversify your manufacturing to the extent that you can? And the answer is many, many years. Here we are in 2026, and they're still working on it. And TSMC is still a massive bottleneck, which is what the story is about. It's like Apple looking to Intel and Samsung to help them out here. And, you know, Samsung is already making whatever peripheral components for the iPhone and other products are. But, hey, you know, something is better than nothing. Same thing with diversifying manufacturing and doing more manufacturing in the U.S. and the various TSMC Arizona plants. Yes, it's still TSMC, but at least it's in Arizona and not Taiwan. So baby steps towards diversification. But I like this quote because it really if you're looking for proof that, you know, Tim Cook understands that this is a bad situation, at least as far back as 2022, he knew that it's not a good place to be. It's just that in the in the subsequent four years, he was not able to change that appreciably. Continuing from Gurman, since then, Apple has worked closely with TSMC to help expand operations in Arizona, where the supplier now produces a limited number of chips for Apple from a single plant. It's ramping up work quickly for Apple, which said it will get 100 million chips from Arizona in 2026. Apple also is contending with shortages of memory chips, but Cook said that finding enough main processors, the SOCs or systems on a chip, is a bigger challenge right now. Quote, the primary constraint is the availability of the advanced nodes our SOCs are produced on, not memory, Cook said during the earnings call. That's making it harder for Apple to satisfy demand for products like the Mac Mini and Mac Studio, he said. Quote, I believe it will take several months to reach supply-demand balance. So that's interesting. This was on the earnings call, I think. It was basically confirming it's like RAM is not our main problem. RAM is a problem, but it's not our main problem. And that makes some sense because, you know, instead of there being one company in the world that can make the best chips, there's three for ram wow an embarrassment of riches i think it's three isn't it micron um uh yeah sq hinex samsung yeah yeah anyway that's better than one right uh but like what this is arguing for is that like you know the the smack studio with the big ram configs the fact that you can't get that the socs are more of a problem than the ram like that's weird but you know it's plausible because uh the ram is all being used by you know ai data centers but you know it's also being used by AI data centers, NVIDIA fabbing their GPU things to run all the inference and training. Whatever the story was that went by recently that like essentially NVIDIA is now TSMC's biggest customer, ousting Apple. Apple used to be TSMC's biggest customer and now it's NVIDIA. So yeah, I guess when they asked for that hot lot of A18 Pros, maybe they bumped some NVIDIA GPUs off the line and paid some money to get the FastPass in there. but yeah this is the most recent earning calls i believe will take several months to reach supply demand balance this is also more bad news for me waiting for a max studio if tim cook is saying we can't get the socs and that's really bad for products like the mac mini and the max studio so all of that was may 4th fast forward four days to may 8th apple and intel are perhaps together again so robbie whelan and rolf winkler right in the wall street journal apple and intel have reached a preliminary agreement for intel to manufacture some of the chips that power apple devices according to people familiar with the matter the wall street journal says that it's quote still unclear quote what apple products will get intel chips yeah i don't think there's any any more detail on this but like the right before the hundred million chips from arizona like the tsmc arizona plants are not on the cutting edge like uh two nanometer that are also not three nanometer i think they're five or maybe seven i forget but like the whole idea is like we can't You know, the best chips still come from TSMC in Taiwan. But if we can take some chips off of that line and manufacture like the mouse rock, the older chips, the A chips with lower numbers, the chips that we're still putting in some devices, maybe we put them in our Apple TVs or whatever. Those aren't three nanometer. Can we make them somewhere else to free up some capacity in TSMC in Taiwan? And then we can get them to fab the M5 Ultra for us there. You know, whatever, like whatever SEC that can only be done in Taiwan. let's not clog them up with like if they could have asked for that hot lot of a18 pros from somewhere other than taiwan maybe they did for all we know uh that would be great because you don't want to bottleneck that and you know so i would love to know what intel is making for them maybe they're making just peripheral like support chips or something but this is all part of the diversification effort and i guess it's kind of i mean i don't know how much to read into this but Like, you know, the Apple in China book talks so much about how Apple just dumped buckets and buckets and buckets of money into China to help turn them into the manufacturing, you know, colossus that they are today. It was a symbiotic relationship. We will dump in lots of money and you will make the things for us and we will pay for them. And we'll just, you know, as as we succeed, you'll succeed. But like there was a huge investment there. And, you know, Apple's press releases say, oh, yeah, we're investing more in U.S. manufacturing or whatever and going to Samsung and Intel is essentially Apple investing in competitors to TSMC because hey you're not going to be able to compete with TSMC unless people buy stuff from you we want there to be healthy competition for TSMC so it behooves us to give you money to whatever what can you do Intel like it's like it's kind of like a like we know you can't make the good chips but what can you do because we want to give you money we want you to succeed because we need TSMC to have competition. It's not good. Even setting aside the whole Taiwan and, you know, geopolitical thing, just even if they were, regardless of where they are in the world, having one source, you know, is not great. As he said, 60% coming out of it at one place is not great. And I think they're way over 60% for like the iPhone chips, at least. So I think they're going to Intel, Samsung, and anyone else who has any chance of manufacturing anything that could be used in any Apple product and saying to them, what can you give us? We will pay you if you can give us anything you know we have a bunch of things that need to be fab we got some old chips and small products we want you to not go out of business in fact we want you to do well so take this money i just i don't but i don't know if we're reading this is is this just like a piddling amount of money to satisfy u.s political bs things or whatever or is this the beginning of a china style investment where apple is going to start funneling more and more of its cash to other companies to try to balance out the lopsided arrangement of silicon manufacturing. We are sponsored this week by Quince. So with love and respect to our listeners, if you're anything like me, and if you're listening to the Accidental Tech Podcast, you probably are, you maybe could stand to have a little bit of help with your wardrobe. I know I certainly can. And especially now that we're entering warmer weather in spring and summer here in the northern hemisphere. My wardrobe for the warm weather 13 years into recording ATP is basically an ATP t-shirt and shorts. That's the whole summer for me. And it doesn't have to be that way. It doesn't have to be that way. And Quince can help make it better. And not just for me, but for Aaron and for our kids, because Quince does a little bit of everything. But their bread and butter is clothing. And that's not all they do, of course, but that's their bread and butter. And Quince has all the wardrobe staples for spring. Think 100% European linen shorts and shirts from $34. Lightweight, breathable, and comfortable, but still look put together. And clean, 100% prima cotton tees with a softness that has to be felt. Their pants also hit that same balance. Relaxed and comfortable, but still polished enough to wear pretty much anywhere. I got a set of linen pants from Quince a while back, and they're really great, and now I'm getting into the season where I can wear them again. So, here's the thing. If this is appealing to you, if this is interesting to you, or your children, or your spouse, you should go to Quince and check it out. Now, for us, Quince was kind enough to send us a little bit of money to use, and I got Declan a flow knit performance jogger, which is basically sweatpants, and 100% cotton poplin printed long sleeve button down, which is a plaid button down. And he really likes them both. And, again, they have stuff for Aaron, for Michaela, for Declan, for me. They have stuff for the house, stuff for everything. So refresh your everyday with luxury you'll actually use. Head to Quince.com.atp for free shipping on your order and 365-day returns. now available in Canada too. That's Q-U-I-N-C-E dot com slash ATP for free shipping and 365 day returns. Quince.com slash ATP. Thank you to Quince for sponsoring the show. Brandon Wichard writes, how do you actually move and copy files on your Mac? There are plenty of ways, drag and drop, keyboard shortcuts, command line. I'm curious which approach each of you defaults to and why. Do you switch depending on the situation? The thing that's always bugged me, why can't you move a file with command C and command V? You can use Command-C and what is that, Option-Command-B, I believe, to actually move it rather than copy it. That feels like an intentional design decision, but I've never heard a good explanation for it. So let me start with how do I move stuff. It depends on the context. I will do it with Command Line. I mostly do it with Finder. I wouldn't say that's all the time, but probably most of the time. I found that, and I've talked about this a long, long time ago, but there's an app called Yoink, Y-O-I-N-K. I don't think they ever sponsored us, but if they did, it was literally like 10 years ago. This is an app, I think it's by an individual person, that what it does is as you drag like a file around your screen, it will put up like a little sidecar, for lack of a better word. It's like a little floating window on the side of your screen. You can specify where this floating window goes and you can put things in that window. And so that window holds these items as like a little drawer sort of kind of or shelf, as Sage says in the chat. That's a better word for it. But anyways, it'll hold those items for a little bit, and then you can go click around and find the destination of whatever it is you want to move or copy or what have you, and then drag them out of Yoink and into your destination. And that makes these sorts of things much easier to do with the mouse. And so I would say, generally speaking, Finder with Yoink, occasionally command line. Let's start with Marco and finish up with John. Marco, how do you handle this? I actually move and copy files on my Mac by opening up two different Finder windows, the source and destination, and dragging them, and that's it. Like you know if I intending to if it going on an external drive and I intending to move them I hold down is it commander option to change Command I believe Yeah it muscle memory at this point I just don't even think about it. Yeah, exactly. What modifier are you asking for? When you're dragging files to a different drive, the default action is copy. Oh, you want to move it to a thing, yeah. Don't do that. Yeah. Anyway, so, yeah, thanks. And then as for, like, why you can't move a file basically with cut and paste, I think the answer is, like, well where do where do the cut files live what where are they uh when they are cut what if you cut and never paste are they gone do they cut into the trash first what if you like it creates a weird concept uh because files are like can be you know real solid lots of data whereas like when you're dealing with the clipboard conceptually the pasteboard rather sorry my windows is showing when you're dealing with the paste windows it was called clipboard on the mac before windows even had Okay, well, anyway, that is considered by most people to be, like, temporary ephemeral data, especially people who don't have clipboard history apps or now the built-in whatever it is in Tahoe. That was always considered, like, throwaway data. So if you cut something, it was just like, okay, well, that text is gone or whatever, and maybe I'll paste it later or maybe not. Files conceptually don't work that way. And, you know, so files have to live somewhere. And I think if you, like, cut files and then forgot to ever paste them anywhere, that might cause problems for people or unexpected results or unexpected data loss. So I think that's probably the answer. So move and copy files. I mostly use the Finder for stuff like that. If I am at the command line doing things, like I'm working on a coding project, I will use the command line to move and copy files there. I'll use the command line when I want to have a little bit more control over the stuff. Like my various Mac applications that deal with file systems and things, I guess it's just hyperspace. But there are some other, you know, making test files for my other apps or whatever. I'll do that from the command line because I feel like I have more granular control over the files, especially since, like, I'm creating, like, test files or temporary files. I can use the x adder command to mess with the extended attributes. I can, you know, chmod and chown and just, you know, I can mess with the metadata with a variety of command line tools to get the thing exactly the way I want it. When I want to copy a file like a quote-unquote Mac file, like it's not a file that's part of a programming project or something, but it's just like a document created by one of my Mac apps, one of my GUI Mac apps, I tend to want to use the Finder just because I just want to, whatever the default metadata handling that the Finder does, I'm like, I'm assuming that's the right thing to do, and that's what apps expect. So I would prefer to move and copy files in the Finder to do that. the command line, like the CP command line tool on macOS has at various times been updated to try to stay in sync with something close to the default finder behavior when it comes to copying metadata and ACLs and all that. You have no idea how much weird metadata there is in Mac files. And the macOS CP command can deal with a lot of it, but I'm never sure if it's exactly the same behavior as finder copies and if it even is capable of having exactly the same and there's other commands like the ditto command and there's the clone file api there's lots of things you can do from the command line but like for gui mac files and because i'm an old school mac user who was using a mac for a decade and a half before there was a command line i just do it in the finder using the gui and related to that copy and paste the files uh that is a windowsism so So Windows did that first, and my reaction to it when I learned that Windows did it way back in the day was, this is a terrible idea for all the things that Marco just mentioned. Okay, so you want to use copy and paste files. It doesn't make any sense, but if you want to do it, okay, but then what do you do about cut? Hand wavy, hand wavy. Well, we'll put a little dotted outline around the file so it won't really be gone. It'll still be there. We'll just change the appearance of it in Windows Explorer, and if you never paste it or if you copy something else, we will remove the little dotted outline from around the file, and you don't have to worry about it. And, you know, it all makes sense. You know, like there are ways around it. Mac OS X, I believe, essentially copied the Windows implementation of this when it first implemented this. And you could cut, copy and paste files and it would do something similar to Windows or you cut it. It wouldn't really remove the file. It would still be there. But the finder would either hide it or dim it or do some other crap like that. I use this feature so little as in never, except when I was writing my Mac OS X reviews to like test it, that I don't actually know if it still exists. My guess, before you start talking about it, my guess would be that you can currently in the Finder cut a file and then paste it somewhere. I don't know that for a fact because I would never ever do this, both out of habit and I think it's a mismatch with the semantics of cut, copy, paste are so well established. They're not a good match for what people expect from doing file stuff that I would never try. Can one of you try that out right now? Find a file you don't care about and cut it and then paste it somewhere. I bet it will work. no there is no like command x doesn't do anything you sure let's try it yeah let's see oh you're right it's it's disabled yeah well i'm pretty sure if my memory is correct i'm pretty sure it used to and it used to behave as i described and as it does in windows where it was like it's not really gone maybe they changed their mind about that but honestly once i stopped writing mac os 10 reviews i didn't have a reason to explore every feature that i don't use but all this is i is i never ever ever ever use copy and paste for files in the finder because i think that is a bad interface and a bad metaphor for those functions and i was telling to marco don't command drag to another volume to move it because there have been finder bugs in the past where oh by the way that move failed and also the file is now gone from the source and you should think that would never happen but let me tell you the finder sometimes has bugs so i never hold down command to move i always allow it to be default copy, which it is when you cross volumes or explicitly make a copy. And only when I'm sure it has landed for real completely successfully on the target volume do I then command delete the, you know, the source one. So, uh, yeah, just, it's like defensive driving, defensive findering, like, you know, don't, yes, you can hold down command to turn what would be a copy into a move, but don't do that. You know, one thing I will say is that it is not infrequent, particularly when I'm moving things to or from the Synology, that I will do an MD5 of the file on my Mac and the file on the Synology just to make sure they match. Why do I do this? I don't know. Has it ever not matched? I don't think so. I think it's always matched every time. But for whatever reason, I get a little nervous about it occasionally, and I'll do that, and I'll do that via the command line. What you need is a file system that guarantees integrity with some kind of checksumming. Speaking of that, I got a feature request for Hyperspace the other day. When you're doing, like, reviewing the files that it found, that have like they put some of these groups of identical files and you're reviewing them there's a little like a whatever sf symbol for the eyeball like the quick look eyeball thing where you're going to hit space bar and get like a quick look preview of the file so you you know can glance at it in the app instead of having to open it in the finder or whatever to see what's in it to see whether you want to merge it anyway um is it hey when you do that and you make you find a group of identical files you've just got the one little eyeball icon but you do show the list of all the files in the group i would like an eyeball icon next to all the files in the group i'm like well the point of the program is those files are identical so they would all do the same thing he's like yeah but i just want to make sure i'm like listen if you want to make sure don't use my app right the whole app is premised on oh i'm going to make sure right if you don't think the app is doing that why would you trust my eyeball icons to show you the things i'm debating adding that feature it's like the paranoia feature like like are you going to eyeball a text file or a giant like image file and say yeah i know these are identical it's like it's like casey md5 even think it's like well it says it copied it but can i check and i'm like well i could let you visually inspect the files but like like they're the whole point is they're the same file and if they're not i'm not gonna anyway but i'm still debating what to do with that one like i know why people will want to check but it's like man if my program doesn't get that right it's going to be destroying everybody's day it's gonna be real bad as i as i replace files with different files that have different contents that would be really really bad which to be clear could theoretically happen but i have so far knock on wood zero literally zero reports of that ever happening to anyone i hope it never happens to anyone i try my best but as i say in the the help documentation for hyperspace could it happen yes it absolutely positively could because of the magic of race conditions and the inability in mac os to get an exclusive lock on a file because that's just not how it works all right chris harper writes do you use a profile or theme for your terminal windows or just the default mac os profile uh for me i was a terminal user always until just a few months ago and i'll get to that in a second but while i'm using the terminal i don't know why but i need to have a black background with white text on top and so what i do is i set the in the out-of-the-box theme called Pro as my default, and that gives me the look that I prefer. Try Ultra. Well done. Well done. That being said, a few months ago, I decided to try Prompt 3, mostly because I wanted a better terminal for my iPad, and I've bounced through several different terminals on iPad over the years, and none of them have been exactly what I wanted, and Prompt is probably as close as I've gotten to what I want, and so once I started using it on the iPad, I started using it on the Mac. And so now I'm pretty much all in on prompt three, and we will link that in the show notes. Since I started with Marco last time, let's start with John. John, what do you do? When Mac OS X first came out and had the terminal in it and the betas and everything, the default theme was, I believe, I believe it was Monaco 9 back in the day, like bitmap Monaco 9, and it would show at bitmap, like no smoothing, no subpixel anti-aliasing, just like sharp individual non-retina pixels for what is essentially a pixel font from the you know the earliest days of the mac nine point monaco uh on a white background so the window had white background and the text was black and the only tweak i made to that default theme was i changed the cursor to a block because i was used to that from using literal hardware vt220 spec at bu and they had block cursors, albeit on interlaced CRTs. But anyway, I made the cursor a block and I make the block because in terminal, Apple's terminal, you can have it like be a block or an I-beam or like an underscore or whatever. And you can also make it blink or not blink. I made it not blink, made it a block and made it 0-0 or 255-0-0, complete red, right? And over the years, the only thing I have changed in that theme has been to mess with the font because eventually getting non-anti-alias, non-subpixel anti-alias Bitmap Monaco 9, I did all the hacks you could do to keep that as my terminal font for a long, long, long time, down to the point where there were bugs with showing that in terminal, and I would complain about them on Mac OS X reviews to get them fixed, which worked. Yay! Running to the press always helps, especially when you are the press. But, you know, eventually, like, Retina comes. Retina comes for us all and say goodbye to your Bitmap fonts. And so I did, and I had to pick a new font. I actually have to look this up because I don't even know. I think I might have done Menlo for a while. What am I doing now? Now I'm doing Monaco 12, right? Because I'm old and I can't see as well and my monitor is very big. So I'm doing Monaco 12. Obviously, it's a retina display. So it is. I have anti-alias text unchecked, but I believe it is anti-alias because, I don't know. Let me zoom in. It's got to be. Yeah, it is. The text is anti-alias. I don't know what that checkbox still does in Apple's terminal. But in the text section of my theme, which is just called John, it's called JCS at various times. It's Monaco 12 font and anti-OS text is unchecked. My cursor is red. It is a block. It does not blink. And everything else is basically the default. And that's what I go with. I was kind of surprised to see I was recently I recently had occasion to create a fresh user account on Tahoe to test a beta version of some other app. And I opened a terminal to do some stuff. and I guess this is the default terminal theme in Tahoe. There's a fresh user account not associated with any Apple ID, so I don't see how it could be anything other than the default. And it opened a window that had basically a black background with I think maybe a little transparency on it and white or otherwise light-colored text on it, and it looked pretty attractive. For a dark-themed terminal, I was like, oh, this is actually a pretty nice default. I don't prefer it. I am a black text on a white background kind of guy, and I was very excited when macOS 10 came out that my preferences were so close to the default. But, yeah, ever since, you know, whatever, macOS DP2, developer preview 2, macOS 10 developer preview 2, I've been using this basically the same terminal theme. And I have to say, the Apple terminal application, which I believe is currently maintained by 0.15 employees, it has a lot of features but its interface is not i'm not able to understand how it works enough to get it to do what i want uh and in particular if the 0.15 of people who maintain this app are listening or ever hear this i'm pretty sure i i'm pretty sure the apple terminal application has the ability to restore the windows that were open during the last session. Like if I quit the app and launch it, it will restore the windows that were open during the last session, including all the tabs and all the windows. And also restore the current working directory of all the tabs and all the windows to what they were before. I know it maintains the scroll back and says, here was what was in the scroll back when you quit the app. sometimes in some conditions i've been able to get it to restore the tabs the windows and the current working directories but most of the time i can't and i cannot figure out for the life of me how to get this to happen they have so many concepts of saved window groups and what you do on launch and just it's so so complicated so i keep waiting is this going to be the year that the 0.15 developer goes through those settings sweeps through there and says i just want to make this a sensible set of settings that works you know like bb edit or something You would say, hey, do you want me to restore Windows from the previous session? If I do restore Windows, do you want me to restore the current working directory? Do you want me to restore the tab titles? Do you want me to restore the scroll back? And I would be like, yes, yes, yes, yes, yes. And that would make sense to me. As it stands now, I have no idea what my current Apple terminal settings are, but I do know that it doesn't restore the current working directory, but it does restore the Windows and the tab. So I'm like, just don't touch it. And when I make a fresh account on newer versions of macOS, I make a fresh account and I try to get it to do what I want, and I can only get like 50% of the way there. The current working directory is the one that kills me because I've seen it do it. I know it's possible. And I think it's a terminal thing and not a shell thing, but I can't figure it out for the life of me. So please, please, Apple, someday work on terminal again. Even though I do really like it, there's a couple of features that I wish it had. Marco. I am pretty boring here. I use the default basic theme, which is white background, black text. and I used the SF Mono 11 font, which I think might be the default. A long time ago, I was also very much a Monaco person. But at some point, I had to increase the font size by like one and that broke the bitmapness of that font and made me have to switch. Same thing with Xcode and with TextMate. A few years back, I basically increased the font size by one and had to change everything as a result. But yeah, it's fine. And I think the Apple Terminal app is totally fine. It is not like a ridiculously amazing power user app, but I don't need it to be because I'm not that much of a terminal power user. I always have terminal windows open, and I'm always using terminals, but I'm not such a power user that I need any kind of really advanced features that for whatever reason this wouldn't support. So I've always been pretty happy with it. Yeah, I've messed with other terminal apps a lot, like Prompt. I've mostly only used on like the iPad and phone, but I, you know, I don't know if I've ever even tried the Mac version. It's probably like ARM only. So I probably haven't on my Mac anyway. But there's the tricky thing about terminal apps. And there's so many of them. Like I have like iTerm 2 and there's the other even fancier ones. A bunch of them tout their performance because, you know, like if it's a window full of text, it should be lightning fast. It's like, oh, guess what? You know, and this text editor is the same thing. the philosophy i forget which text editor had this philosophy but it's a good summation of the uh um the design strategy which is we're going to create a terminal text editor or whatever but we're going to treat it like a game that was zed yeah like a game engine in terms of like gpu rendering and stuff like that like we're not going to design it like a text editor we're going to design it like a game with like how quickly can we render it's like well you're not rendering polygons or textures you're rendering text like i know but we want to render text like as fast as possible so zed is one of them there's a bunch of other text editors that have taken this philosophy and there's also terminal apps that have been like back in the day we use open gl to do special custom rendering of text we don't use the system tech system like we want it to be really really fast and i i love that philosophy i'm like i want that too like you know i remember my days using more primitive systems like those vt220s which were not fast but also like the you know the Tektronix X terms with like bitmap displays with no compositing, just blitting out to the screen. And they were pretty fast back in the day. But the Apple terminal has always been pretty fast. It's okay. Like it's not lightning, lightning fast, but it's pretty fast. And the Apple terminal has also always had the option for essentially infinite scroll back where you could say, how long do you want your scroll back to be? And the choice, this is from the next days. It's choices are like, you can pick a number of lines or you can say, I think they have called it unlimited. They used to call it like until you run out of memory or like memory limited or whatever. So I've always just put it on unlimited because, you know, I've got a lot of RAM. Why the heck not? If you use one of those other terminal apps that's designed like a game or like a fancy OpenGL engine or the ones that used to simulate CRTs, remember those? It would like it would curve it and everything. I never use those. Those are all fun. but like especially like the the like the really fast ones the things they get wrong in their defaults make me have to spend an hour with their stupid text-based config files because they always have text-based config files they don't want to make a GUI for it right things like things you take for granted in the apple terminal look at an apple terminal window right now and let me tell you the things that you are taking for granted about this window that you don't realize that you will maybe you won't but that i will miss when they're gone look at just a terminal window that you have now and put some text in it, like type Alice or something to fill the thing. Here are things you're taking for granted. How much space is there between the first character on the left edge and the, you know, the edge of the window? How much space is there between lines of text? How much space is there between the first line and the top of the window and the bottom of the window? All the margins, all the spacing, all the text layout you just take for granted. It's like, it's just a window full of text, right? Until you use one of those fancy OpenGL GPU powered terminal apps and you're, and like the line spacing is wrong and they're too close or too far away from the edge and so you go into the settings and you're like what is the setting for this and you're typing you're typing floating point numbers into a text file and making the app reload it to try to get something that looks quote-unquote normal to you and i cannot stand that i'm like just make it nice you can't don't let the letters touch the edge of the thing but don't make it like too much space and like the the line spacing is always all messed up and like the font rendering is different like we don't use the system funnery and we use our own funnery rendering and and put in a a uh integer value from one to seven thousand for darkness i'm like what i just can you just make your text look good and granted it's just like you know i'm used to what i'm used to and now i'm used to the apple terminal but it's not like you know i went from i went from monaco 9 to monaco 12 it's not like i'm you know i think i stopped off in menlo and some other fonts in between there so i'm like i'm not opposed to change but we all had a menlo phase yeah i know i don't want to have to uh i I don't want to have to tweak stuff like that. Like, give me sensible defaults is what I'm saying. And I think the sort of like the the aesthetic taste of the people who make these highly accelerated terminal and text editor apps is so divergent from mine that what they think are sensible defaults, I think, are just like stabbing me in the eye. Wow. How do you really feel, John? Because I want I want those and I go in them and I try to edit them. I have a terminal window open next to it. And I'm like, I'm going to make this window look just like Apple Terminal. And I try and I try and I try. I'm like, 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 Terminal. I go, you know what? I'm just going to stick with Apple Terminal for another year. Yeah, I just I've never had any motivation to move from Apple Terminal because I like I use it so much. And I know it so well that I can say all the same things about Apple Mail. I know these programs so much. I use them so well. And even though other apps have come out that offer different power user features, you know, that might be useful to me here and there, they're so ingrained in my workflow, my habits, my aesthetic, what my computer looks like, how things work, so many different, like, minor detail levels. and even if something else is better in some way, so far nothing has really been compelling enough for me to replace these apps that's better, because it has to be like a lot better in some way to make it worth the inertia of moving and tolerating, like what you're just saying, tolerating all the things that might be a little bit worse or need a little bit of work or a little bit of setup or a little bit of learning. Like there's a huge perceived switching cost to switching like a core app that you've used for decades and you use all the time. So any alternative has to be a lot better for it to be worth it. And I've never found anything that was that much better in ways that I actually needed or cared about. And also, I haven't had enough dissatisfaction with these built-in apps to motivate me to even want to move in the first place. You would think of the various apps that do restore all the windows and the positions and the tabs and the tab titles and the working directories, that that would be enough to bring me over. but it's like it's like changing text editors it's like okay um i like that but now i have to do a bunch of extra work to get your new thing set up the way my old thing was and it's probably possible but it is a lot of work and it's work that i find frustrating especially if i can't get it exactly right so in the end i just don't change because basically i i'm like of all the built-in apps in mac os despite the fact the terminal gets no love and its settings are incomprehensible like the mix of like all those they're just it's madness like try to come up with a mental model on how like their presets work with their window groups with their save sets with their on launch like it's i cannot understand how it works but the day-to-day experience of using the terminal windows is like they work they do what i want i'm satisfied with them all right and kind of related chris harper the same chris harper writes also do you use any other idees when working on projects outside of Xcode, or do you just do everything in a terminal window? For me, I use Visual Studio Code for website stuff, and I think that's basically it. I don't think I use any other kind of IDE for anything. Who's his turn to go first, John, I think? Yeah, so the only thing I use Xcode for is writing Mac apps. That's the only time I'm ever in Xcode, because I don't prefer any aspect of it to my other tools that I use, except for, of course, when you're running Mac apps, because it's the least friction way to do it. I don't dislike the Xcode editor. I think it's fine. I basically leave things mostly default there as well. But it doesn't have anything that makes me say, oh, now I want to edit everything here. And honestly, Xcode doesn't make that particularly pleasant either. You can use it as just like, oh, I'm just going to use Xcode as my text editor. You can do that, but Xcode fights you a little bit on it. And Casey's complained in the past about how the heck tabs are supposed to work. They keep changing their mind about it. And I'm a separate windows kind of guy anyway, which Xcode can do, but it also fights you on that. Oh, you wanted a separate window? Guess what? Your separate window's got three sidebars and a bottom thing. You know, I can turn them off, but it's just – anyway, Xcode only for Mac stuff. The modern answer to this question – I think this question's been in here since before this happened. But the modern answer to this question is, yeah, like Codex and Claude Code. There's my other IDEs that I'm using. And I'm not really, for my Mac apps, my three dinky Mac apps, which are mostly like already written, I'm not using the coding agents to code in them. I'm using the coding agents to try to find bugs or to try to help me diagnose crash reports by like reverse disassembling binaries as part of AppKit to be like, help me find this bug. I cannot figure it out. And honestly, they can't figure it out either. So we're all having trouble here. But anyway, the bottom line is I'm in a terminal window. So in the project directory of MaxCode project, add a Claude or Codex prompt, feeding it, you know, dragging in a .ips crash report file into the window, which is, you know, in case you don't know this, you use Terminal. You just grab any file and drag it into the Terminal window. It will put the full path, the escaped full path of the thing that you dragged in in there. That's a feature of Apple Terminal. It's very convenient. You can do that with coding agents. And so that's, I guess, my other IDE for Mac apps these days is Claude and Codex. and occasionally I've used the Gemini one, but I didn't like it. For everything else, it's BBEdit for me. So if I'm writing Node stuff, I'm using BBEdit, like Perl, BBEdit, everything. Everything that is not a Mac app, I am using BBEdit, which is not an IDE really. It's a text editor, but I have a lot of features built up. Like when I'm writing my blog post, which happens every once in a while, or just editing my website, I'm writing HTML and BBEdit with all my weird macros in text snippets and like i and every i forget how much stuff i've customized in bb edit until like you know you launch bb edit on my wife's account on her computer and i type keystrokes and either nothing happens or the wrong thing happens like oh yeah i guess that's a customization i've been using for two decades i thought that was the default keystroke but apparently it's not and then i find out not only is that not a default keystroke that feature doesn't even exist but it's an apple script from like 1997 that i've been using since then that is bound to that keystroke and I got to find the, anyway, I am so, like, like anyone who has used a text editor for a long time, you get so entrenched, and it's the same thing, like, if you wanted to use a different IDE or a different system, I've, I have all these ones installed, I've used Visuals, NeoCode, Sublime, Atom, like, you name any kind of IDE text editor thing for the Mac, I've, I have used it, tried it, probably still haven't installed in some version, Zed, I've got that, I've got everything, I have a big applications folder, right, I always try them, I'm always interested in them, But I always end up coming back to BBEdit just because I have so much stuff built up there. And, yeah, I could recreate my BBEdit world elsewhere, but it would be a lot of work for not a particularly big win. So, yeah, and ever since BBEdit gained language server support many releases ago, I've been in the habit of updating and expanding the language server support. LSP, Language Server Protocol, is like a specification for how text editors talk to things that know the structure of source code. So you can do things like right-click something and say, take me to the definition of this or bring up quick help or whatever. All the things that you expect out of an IDE. bb edit which is not really an ide it's just a text editor has these features so i can edit a shell script a json file an html file xml for an rss feed like anything you could possibly imagine bb edit understands it like php i paid money for a commercial extension to bb edit for like a the whatever intellis sense but it's still with a ph because php um that lets me do ide like stuff in bbedit with the php source that i'm messing with like and obviously i have them for pearl and node and all that stuff i know this is ridiculous because you're like visual studio code does that and 10 000 other things i'm very aware that visual studio code has so many more features it's just a bbedit person from head to toe and i've been using it for so long that i'm probably never going to leave it and so that's where i do everything else having anything to do with source code. Marco Yeah so Xcode for iOS apps obviously But yeah for anything else that I doing in a text editor for me I still using the ancient TextMate 2 Oh, my. I mean, it's really showing its age in lots of ways. At least it still runs. It does. It still runs. Obviously, it's in Tahoe Squircle Icon Jail. It still works, but I am just now starting to think, the reason I was able to call it Zed so quickly earlier was I saw the blog post breeze by about how awesome it is. I'm like, maybe I should actually start looking at these modern text editors. Now that we are in an inflection point now where AI coding agents are now being integrated into our workflows, the world is shifting. This might be a time for me to finally jump to something more modern. All the things that John was just talking about, having PHP, IntelliSense, or IntelliSense, I don't know where they even put the P in there, But having that like, you know, autocomplete or any kind of integration or God forbid, a debugger in my IDE or in my text editor, I've never had that for any web development stuff. I've only ever had that kind of advanced functionality in Xcode. I've never like all the PHP I've ever written in my entire career, every web back and I've ever written, I've done without any of those tools I've done with just text editors and looking up things and documentation and having things. If I mistype something, having it just fail on runtime or something. So I'm interested in that world of making my non-Xcode development more modern. But right now, I have not yet done that, so the answer still is TextMate 2. But it is not an answer I can actually recommend to anybody because it is very dated. It does seem pretty clearly abandoned and not even for a short amount of time, for a significant amount of time. I think it's been abandoned for most of the time that I have had a son. So it's been a while. And the only thing is, like, when I have – exactly what John was just saying and what I was saying in the last answer. When I have tried other things, like, back – between TextMate 1 and 2, I briefly was I tried Sublime Text and a couple other ones I don't even remember all of them that I tried but it was like pre-VS Code being like the thing everyone did and I was they were fine I learned I can switch I just don't want to and then when TextMate 2 came out it did everything I wanted so I guess I've been using that since but I think like the problem when I try to switch I do have a lot of paper cuts I have to get over, of things like little muscle memory keyboard shortcuts or little behaviors that have always worked some way in TextMate that work differently in the thing I'm using next. It's just, it's a lot of friction to get over. So again, there has to be a good motivating reason. There has to be like both a push to get me off of what I'm using and a pull of like, you know, what is going to pull me towards this other alternative? Like what's going to be a compelling, good, new, useful set of features or benefits or whatever for the new thing. And so far, I have not yet had a compelling push away from TextMate or a pull towards anything else to make that jump worth doing. But I do think now, again, like with agents coming into workflows more and all these new tools that I really could and should be using to make my PHP coding a little bit less of a manual and error-prone process, I should probably start looking at that. So I think I will look at that in the near future. Yeah, speaking of not using an IDE, also for my entire 25 years of having a jobby job and writing Perl and Node code and stuff like that, I was using BBEdit, and it didn't have language server support. So I had, the closest thing I had was that at some point in BBEdit's history, they added a function pop-up menu that understood Perl. so you could uh pop up the menu at the top and you know you'd see the list of all the functions in the file and you could select one of them and jump to that function uh but nothing in the in the document of like right click this and go to the definition or you know forget about like find symbol or refactor rename all these features that you take for granted and like modern ids were not there so i was writing my pearl mostly just like no features no nothing just like marco you just you type you find out whether it runs no autocomplete no you know tab completing symbols even for a common library. Nothing. Just nothing. There's no anything. I knew it existed. I'd used it. What is it? IntelliSense was the first one in Windows? The first sort of autocomplete in what was that called, Casey? Visual Studio. Just Visual Studio. By the way, when I said IntelliFence, I was joking, but that's apparently actually the name of the PHP. As I said, that's what I was trying to pronounce. It was that. You said they put a P somewhere, but I was just guessing. A PH. Yeah, from PHP. Oh, wow. Yeah. I mean, I don't know what I – anyway, I had used it without this stuff. And when I started doing – after I quit my jobby job and was just doing this and then suddenly I'm editing PHP, I was like, I have to do something to make this not as painful. And so I'm like, well, it would be great if I could right-click a thing and find definition. And I'm like, well, there's got to be a way to do that. And BB edits, got language server support, it pointed me to this. And I bought it immediately. It's definitely been worthwhile. So one thing, this is a question for both of you, like, well, maybe you don't have, maybe Marco does with his text mate stuff, but like a couple of keystrokes that I am accustomed to in BBEdit, I found that I could not live without an Xcode. An Xcode does let you customize most key bindings of stuff in the IDE, but the features aren't exactly the same as BBEdit. So I mentioned the function pop-up before. I bound, and I believe this is a custom binding. In BBEdit, I bound Ctrl-F to basically it will pop up that pop-up menu, the function pop-up menu. Instead of me having to click it, I just hit Ctrl-F and it will pop up. And then you can type to like narrow the list and use it. You know, you basically with the keyboard, you can jump to a function definition. And Xcode has a feature that's sort of like that, which I cannot for the life of me ever remember. Right now, I can't remember what it is. So anytime I have a fresh Xcode set up, like I need to bind Ctrl-F to that thing. what is it called it's like show item is it in the go menu is it one of those things it's not in the menu but you can only find in the settings and so i think i have a screenshot saved in a notes document saying hey dummy when you go set up xcode and you're trying to remember what you bind ctrl f to it's this and then of course it always conflicts with like move forward one character which is this insane emac space key binding that lots of editors like to do i'm like i will never want ctrl f because in emacs by the way i immediately bound in 1993 i bound ctrl f to find because I'm a Mac user. I'm like, no, control F is not move forward one character. Control F is find. And then I would go to anyone else's Emacs and I'd hit control F and the cursor would move forward one space and I'd be like, ah. I have a bunch of weird habits from BBEdit that I poured over to Xcode. Do you take any TextMate key bindings? Or do either one of you customize any of your key bindings in Xcode to either enhance them or make them feel familiar from VS Code or TextMate? No. The main reason why is I don't like having a whole bunch of custom settings that I have to change. Because, you know, I set up a new laptop every couple of years. I'm always like, I just, I, and, you know, if I have to use some other setup or some default setup, like I don't want to be totally lost and broken. And I just, I don't like having things that are that custom. I try to stick to default behaviors and looks mostly, most of the time, unless I really hate it. Now, what I do customize in Xcode, like settings I do change are around things like indentation. I do not like the default indentation rules that Xcode uses. What are they? I don't even know what they are. They suck. And I also don't like the editor inserting the closing brace or parenthesis or whatever for me. So I turn off those things, and I do indentation and closing punctuation manually. There are certain rules of indentation that Apple has used. Even in Objective-C, the way they would indent very long methods to break over multiple lines. Sometimes they would line up the colons. It was weird. And then in Swift, some of the ways they do it are just super not compatible with my taste. I also think the Swift switch statement. That has a separate setting for that. I was so excited when I saw that because I also disagree with the way they do switch statements. But there's a setting, like there's all the indentation settings in Xcode, but there's this separate setting, which is like, hey, when I do switches, 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. Where is that? Because I switched that setting. I'm looking right now. I can tell you where it is. Because basically what we're disagreeing with is I believe it pushes like the case statements to be like the same indentation level as the opening switch. Yeah, which is it looks so wrong. I hate it. And yes, that's what they do. It's wrong. And I just launched Xcode. I'll find the setting for you. I believe there's a separate setting just for the switch statement stuff. Good, yeah. Editing indentation. Oh, wow. I forgot they just changed Xcode settings to be this stupid. Indent switch statement case labels. Oh, there it is. But it's saying it is indenting it. Well, so mine is set to Swift in C languages. I don't think that's the default. I think the default was like none. The default is Swift, I believe, or none. No, mine is set that way too, but it doesn't indent them. Mine does. I have it on Swift in C languages, and when I do a case statement, it's indented from the source. Yeah, same. I'll have to play it. It's certainly, like, if I let it do the autocomplete thing, where, like, if it's switching over an enum, John, like, the auto-generated code that it generates still has them all shoved against the left. Yeah, I mean, try it. That's what I have it set to, and it does the right thing for me. As for settings on stuff, like, I'm of the opinion. Like, I don't super-duper customize it, but, like, I've proven to myself that there's certain things that I just can't live without or can't deal with or just disagree with. So there's always going to be some customization. And I'm of the opinion that every single modern Mac application should have a way to cloud sync settings if that's what you want. And the ones that don't, like Xcode, drive me bonkers. Like, guys, come on. Two areas. One, obviously settings. Like, if you customize your settings, I'm not saying you have to cloud sync it for everybody, but, you know, Apple does have this thing called iCloud and settings aren't that much data. Give me the option to cloud sync my Xcode settings. And let me say if I want to or don't want to, I can have sets of settings. Like, it's not that complicated. They could totally do it. The other thing with Xcode in particular is all your signing certificate crap. iCloud keychain. It's synced through iCloud. But Xcode's, like, you know, all Xcode's crap. It's like, well, some of it we sync through iCloud keychain. But sometimes when we make it, we'll make it in your local keychain. So when you go over another Mac, it won't be there. And that's a security feature and yada yada. Please just give me the checkbox that says just do it all through iCloud keychain. I don't want to have to think about all my signing crap. I don't want to accidentally make new versions on different laptops where I'm doing development. Just I cloud sync everything. So if you're out there making a Mac app and you have any kind of substantial settings that are not just like two screens worth of checkboxes or something, like Xcode's got to have like hundreds or thousands of settings, cloud sync those optionally. Please give us the option to it because Xcode, I don't customize a lot. But the stuff I do customize, I have discovered that I can't live without and it has made me non-functional on default Xcode. But the one that is probably the worst is, for whatever reason, I guess this is from, was it Visual Studio? I guess it was Visual Studio. I'm thinking of, again, 1992, 1993, you make Windows 95 apps in this IDE on Windows. Casey, what would that have been? Would that have been Visual Studio as well? Are you thinking like MFC? I think there was like... Yeah, yeah. But what was the IDE called? Oh, that was before my time. Anyway, that IDE had a button that you would press to make essentially what Xcode would call an archive build of your application. And Xcode, by default, I believe, does not have a key binding to the thing that says make me an archive build and don't put up a dialogue. Just do it. Just make an archive build. And I bound that to command shift A for archive. and I had to steal it from the thing that every presenter uses at WWDC when they bring up that little pop-up. What is that, quick entry? Command-shift-A is one of the most commonly typed keystrokes in WWDC videos because it doesn't do an archive build by default. It does that other thing, and I never use that other thing, and I've stolen it from it. So I just feel like I just want to hit command-shift-A and do an archive build. I feel like it's like the I'm ready to ship this new test flight build, Command-Shift-A, and then I just walk away and wait to see the organizer window pop up. So a couple of settings like that, like Control-F, Command-Shift-A. I believe I bound Command-J to jump to line, even though you could already do Command-L to jump to line, just because BVAD does Command-J. Like, there's a little bit of that crossover, because if I don't do that, I find myself, I can't successfully mode switch and end up hitting the wrong key. So, yeah, I don't have too many tweaks, but some stuff I can't live without. All right. Thank you to our sponsors this episode. Squarespace, Zapier, and Quince. And thank you to our members who support us directly. You can join us at atp.fm slash join. One of the many perks of membership is ATP Overtime, our weekly bonus topic. Every episode has an extra topic, usually 15, 20 minutes long maybe, and it's just for members. You can join atp.fm slash join to hear it. This week in Overtime, we're going to be talking about non-developers now building apps. Obviously, AI tools are playing a role here. We're going to talk about that. So if you want to hear that, join us once again atv.fm slash join. Thanks everybody and we'll talk to you next week. Now the show is over They didn't even mean to begin Cause it was accidental Oh it was accidental John didn't do any research Marco and Casey wouldn't let him Cause it was accidental Oh it was accidental And you can find the show notes at ATP.FM And if you're into Mastodon You can follow them at C-A-S-E-Y-L-I-S-S So that's Casey Liss M.A.R.C.O. A.R.M. Antimarko are men S.I.R. A.C. U.S.A. Syracuse A.R.C.O. It's accidental Accidental They didn't mean to Accidental Accidental Tech Podcast So long Overtime average is up to 25.7 minutes. I know you wanted to know. Oh, thank you. I will update my outro accordingly. All right, John, you want to tell us about this thing that's been living in our show notes for like two years? Oh, goodness. Now I have to review it. Okay. 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. 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 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 may not want to do that, and we'll get to that in a little bit. 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. And I was like, what the hell is slash dot no follow? That's not a directory at the level of my hard drive. And why did the system, because they were doing like a string comparison, like this string should be ABC. And they're like, no, sorry, that doesn't match. The string is actually dot nofollow ABC. Like what? And so an engineer 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 various things that you can put in file paths, as in strings separated by forward slashes, on macOS that have meaning to the system. .nofollow is one of them. I believe it tells it not to follow symlinks 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. And the reason the explanation is like, hey, the system API provides this because we're trying to protect against security flaws that happen where a path looks like the path you expect it to be. But some path in the middle of that path specification is actually a symlink to a different place. And so we you know, there's various modes of the APIs where you can say, hey, traverse this thing, but don't follow symlinks. But that requires the 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 SimLinks because this is a security-related thing. And I don't want you being, like, led astray by some sneaky SimLink that sends you off to a place where you're not supposed to be. So don't follow SimLinks. But every developer doesn't remember to do that. Well, it turns out that Apple has an inline way in the path itself so that no matter what Apple API you feed it to, the Apple API or the underlying file system or whatever will say, hey, even if you didn't pass the nofollow thing, I see that this path here is .nofollow, and I will just remove that part of the path, not take it as a real folder. But now I know that you don't want me to follow some links. And so the API started returning these .nofollow links, basically every single URL object or whatever you got from these APIs. always had dot nofollow in it, so it was blowing up every string comparisons, but the app portions, like, this is intended, were basically like, protecting against people for getting to pass the don't follow sim links flag in the API calls. Now, actual file system security is way more complicated than that. Let me see if I have the link to that in here somewhere. No, I don't think I do. There was, I'll dig it out if I can remember it for the next episode, but there was a, someone posted from a Unix slash Linux perspective how difficult it is to securely traverse the file system. And it is monstrously difficult, like just way, way, way harder than you think it is. If you are a not developer at all, you don't think about it at all. If you're a sort of not novice to medium developer, you know about like the easy things to look out for. But then there's always this stuff that's like way beyond the ken of like any sort of average developer who doesn't specialize in file systems to actually securely traverse a Linux-style Unix file system. And unfortunately for Apple, the no-follow thing is not a complete solution for the reasons this thing explained. I'll try to find a link if I can. But anyway, going back to macOS, .nofollow is not the only one of these weird things that exist. There's another page that I'll link to that is from 2019 talking about files that have special meanings. So if you have a, well, this explanation, I'm assuming it's accurate because I don't know any better, but I'll get to how you can tell for sure in a bit. If any file or directory where the name contains .nosync is ignored by iCloud synchronization. Any file or directory where the name contains .noindex is ignored by Spotlight. Any file or directory where the name contains .nobackup is ignored by Time Machine. now there are other ways to do a lot of these things with like extended attributes and obviously dragging the things into the time machine exclude list and it writes to a plist somewhere and all that other stuff but like these like special magic files or the one where it's like a file slash dot dot named fork slash rsrc to get to the resource fork of a file another magical thing that you can type that has special meaning to the os there are a bunch of these things in mac os that maybe you hear about years ago and you try using them and forget about or maybe some utilities using behind the scenes but they tend to stay there for a long time um and writing hyperspace i had occasion to have to actually like find out the real truth of these things because i needed to rely on them or handle them or whatever and this is one of the things that i really enjoyed about hyperspace in particular i'm used to for all my regular career as a developer having access to the source code of the libraries and operating system that i'm working on it makes things so much easier when that's true now obviously i don't have the source code to app kit or swift ui and god i wish i did many many times that's what i'm using the stupid coding agents i'm like disassembled i i bought a copy of hopper so i could use a disassembler just like i just need to see what what is this api doing i need like i want to see the source code right but for file system stuff Remember that Apple, Mac OS X, Mac OS, and iOS, and iPad OS, and audio OS, and Vision OS, XR OS, every operating system Apple makes essentially is based on Darwin, Apple's BSD, Unix, and Mox combination operating system. And that is open source. Darwin is open source. And guess where all the file system stuff is? It's in Darwin. All the low-level file system stuff is in there. Now, Darwin is difficult to navigate. It will link you to Apple's open source, which is on GitHub. But you can see they do source code releases for every release of iOS and macOS and all the other things to see the Darwin base code for there. And this file system stuff like who handles dot no follow that. I haven't looked this up, but I'm pretty sure that's going to end up being in the Apple open source. What about dot dot named fork slash RSRC? Where is that? That's in the open source. And so if you're wondering, hey, how does this stuff actually work? you can get the source code for it and it is incredibly illuminating because i don't know if apple like is more lax with like uh private api use or whatever like that you know spi analysis where it's trying to say are you using private apis that you're not supposed to be using they mostly care about using like private apis and app kit and stuff sometimes you can sneak one by if you're using like an api in the darwin you know low level unix operating system that someone had neglected to add to the list of private stuff. And you're like, well, I'm not sure if I 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 know how it works. And you will find treasures in there like the named fork. And I'm assuming like the .no follow. I'm not sure if the .no backup, .no index and .no sink are in there. They might be a higher level code that we don't have a source for. But it really makes me wish that essentially we have the source for all of these things because it makes development so much easier. It makes debugging problems so much easier. I mean, people could give patches that. Think about you file a radar and nothing happens for a year. Imagine if you could send a pull request and say, hey, I have the source. I found the bug. I think this fixes it. They probably reject it because they're like, oh, you can't fix it in that way because I break some other thing, yada, yada. But maybe that would motivate them to, you know, fix it more quickly. But anyway, if you're ever doing anything related to low-level stuff, especially low-level file system stuff, look at the Apple open source repository because you will find the source code to the thing that is doing that stuff on macOS and iOS and all those other operating systems and then finally related to all this there has been a there was a recent uh Swift evolution proposal these are all like se something which is Swift evolution hyphen some number which is like a proposal for the for some change to the Swift language and they go through a review process and blah blah blah This one is a proposal to add file path to the standard library, which is a nice abstraction for file paths. 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 find that one for the show notes. But this describes file path, you know, an abstraction for, as opposed to using URLs for everything. This is an abstraction for local file system file paths, but it's cross-platform because, again, Swift doesn't just run on macOS. also runs on Linux and Windows and lots of other platforms, and they want this language to not just be an Apple platform language, so they're trying to make it work everywhere. And a portable implementation of file path that works on Mac OS, Linux, and Windows is a useful abstraction. It already exists. They would like to add it to the Swift Standard Library. They would like to stop depending on URL, which I think is part of Foundation, which is part of Apple platform crap. So they're like, we need one that is not tied to Apple platforms at all. I would encourage you to the very least skim the file path. You know, the what is this one? S.E. 0529, the proposal to add file path to the standard library. Skim it to see what is involved in file path. And you will be probably surprised by at least one or two things in here about, wait, that's a valid file path. You can do that because we try to come up with an abstraction file path. Like, that's really easy. It's just a bunch of path components and separated by some separator, and there's some semantics about that. But, yeah, maybe it's a little tricky with character encodings, but that's not a big deal, right? Windows file paths alone have so much Byzantine crap in them, and it's ridiculous. Like, they do mention .nofollow in here. They also mention .vol, which is another one of the magic strings that you can put in UnixFath. But Windows, man, drive letters, yes, naturally. But there's also like backslash slash slash slash slash slash period backslash pipe syntax to get it like device nodes and stuff with special. I bet neither one of you has ever heard of half of this stuff. Like and then they have to make an abstraction that works with these paths, but also the same abstraction works with Linux paths that also works with Apple paths. It is way more complicated than you think. And it's like, you know, if you were ever trying to do something cross platform, you're like, thank God someone else wrote. file path and I didn't have to, but even just using it correctly is tricky. So I would encourage you to check this out. And again, maybe you'll learn something about the special magic strings that you can put in a file path on macOS that will have behaviors that you might find useful. Today I learned. Did you skim it and look at the Windows things? I didn't know half of the stuff. Like I didn't know the one with the drive letter where it's C colon and then a backslash versus C colon without it. Like that both of those are still accepted by modern windows obviously there's the backslash splash server slash share thing that you're familiar with but the backslash bash like period backslash pipe with name i had never heard that never seen that the nul all caps the the backslash backslash question mark backslash c colon backslash backslash what are they doing over there like it makes me so happy not to be on windows like i know we've got these weird .files in macOS, but the Windows one's just so happy that's not an operating system that I ever have to do. Conventional drive letter forms, UNC forms, current drive root and rootless paths, so that all makes sense. I was familiar with all those. Drive namespace, paths beginning with backslash, backslash, dot, backslash, followed by a Win32 device name, e.g., backslash, backslash, dot, backslash, pipe, backslash, backslash, dot, backslash, com1, backslash, backslash dot backslash physical drive zero. Yikes. Didn't know that. And then they have to make an abstraction over this. Like the file path thing has to have like accessor methods for like, like they came up with names. Like what do we call it? Like, yeah, it's drive letter. But what about when it's like backslash prefix server site? Like what is that part called? Like they have to come up with like a, you know, a word for that part of the path that is the same word on Windows, Linux and Mac OS. pretty amazing work for the people who created FilePath.