Temporal Smear

Episode 385 • Released July 2, 2020 • Speakers detected

Episode 385 artwork
00:00:00 Casey: So what is this thing?
00:00:01 Casey: There's a app or game or something where you just have to hold your finger on the screen.
00:00:05 Casey: What is the backstory to this this troll thing that you posted?
00:00:08 John: I know almost nothing about the app, but what I gathered from context is like it's a it's a contest kind of like memory to like trivia HQ trivia or whatever.
00:00:16 John: It's like a mobile game where everyone can participate.
00:00:18 John: It's like that.
00:00:19 John: But the game is how long can you hold your finger on the screen?
00:00:22 John: and as you can imagine people can do that for really long and if it's like a worldwide group thing like if you look at some of the timers and some of those videos that i showed you i think some of them were at nine hours so streamers do it right like oh we're doing this thing how long can you keep your finger on the screen of your phone and it's surprisingly hard because you know you get lazy or you get bored after a couple of hours or i don't know anyway that's what i assume is what's happening i i just liked it because of people trolling the hey dingus thing where the
00:00:46 John: The strategy was, because they're streamers, the culture of streaming is such that you have to communicate with the people in the chat, essentially, by reading their usernames and addressing them.
00:00:58 John: Because you're there for nine hours.
00:00:59 John: It's the whole thing of streaming.
00:01:00 John: Especially if someone subscribes, hey, thanks, whatever, for the two-month subscription.
00:01:05 John: There's things that you have to do culturally as a streamer.
00:01:07 John: So they're susceptible to...
00:01:10 John: What's the social hacking called?
00:01:11 John: Social engineering?
00:01:12 John: Social engineering.
00:01:13 John: Yeah, there you go.
00:01:13 John: They're very susceptible to that.
00:01:14 John: So someone just changed their Twitch username to H-E-Y space capital Z space R-E-E.
00:01:21 John: That is very good.
00:01:22 John: It's very good.
00:01:23 John: So they would say something or subscribe to the channel or whatever, and the streamer would read out, Hey Z-Ree, thanks for the sub.
00:01:29 John: And then they would activate Hey Dingus on their phone, and that would cause their finger to be, because it's full screen, right?
00:01:37 John: Siri would go full screen.
00:01:38 John: and they would basically take their finger off thing after nine hours holding their finger on their phone screen application did resign active yep and and the thing is they didn't realize it was they're like oh my god i just activated the thing on my phone and it's full screen you can't see it's all black and then when the black screen goes away what's left underneath it is a screen that says you lose
00:01:56 John: from the from the finger holding game oh it's so good but so so bad doing it after nine hours is the best is it like you don't do it in the first hour right you don't do it immediately and just the look on these people's faces the one person who just got up from his desk and left the room
00:02:16 John: And the thing is, they pronounced it like there's no way that activation is going to work.
00:02:21 John: Hey, Z, re.
00:02:23 John: Like they read it out like that.
00:02:24 John: But sure enough.
00:02:25 Marco: Oh, God.
00:02:30 Marco: I had some fun this past week dealing with the our continued efforts to try to add the bootleg feed to our membership in a way that it does not require a ton of extra work.
00:02:43 Marco: Challenge number one was I have to figure out how to make myself sound as bad as you guys do over Skype.
00:02:52 Casey: Well, slow down, slow down, slow down a little bit.
00:02:56 Casey: Right.
00:02:56 Casey: There's an or here that you're not considering.
00:02:58 Casey: So to back up just ever so quickly and slightly, we basically have two choices for this forthcoming bootleg.
00:03:05 Casey: And this week is not going to be the week unless Marco has news that even I haven't heard.
00:03:08 Marco: Nope, I sure don't.
00:03:09 Casey: We can either do the quick and dirty approach, which is basically take the recording of Marco locally and the two of us via Skype and just throw that up after trimming the teeniest little bit in the front of the end that is just private for the three of us.
00:03:24 Marco: And that is what we broadcast over the live stream is it's being broadcast from my computer.
00:03:28 Marco: It is getting my local track and it's getting John and Casey via Skype, which is exactly what I'm hearing.
00:03:33 Marco: It's been what we've always broadcast over the live stream.
00:03:35 Casey: Then the alternative is, which for the record, John and I have both independently volunteered to do, is we wait for all three of our files to be in the same spot.
00:03:46 Casey: And then we use Forecast and other tools to just line them up and barf out as quickly as possible a lined up file.
00:03:53 Casey: local recording merged version of the three of us, which would sound way better, but be somewhere between annoyingly more work and considerably more work.
00:04:03 Marco: Right.
00:04:03 Marco: And it would sound better.
00:04:05 Marco: It would not have any of the editing fixes that I usually do, things like undoing talkovers and cutting out really boring stories that I stumble over and try to get out.
00:04:15 Marco: Stuff like that.
00:04:17 Marco: But I've been resisting that plan because I know that while lining up the tracks and getting the combo mix of the three of us usually works well, it sometimes doesn't.
00:04:31 Marco: And it sometimes requires 45 minutes of piecing together multiple files and lining stuff up and everything.
00:04:37 Marco: Whereas the live stream, I could publish in...
00:04:41 Marco: three minutes after we finish recording.
00:04:43 Marco: Like the live stream can be published very quickly, like just the, the straight up bootleg that has them via Skype and me via local.
00:04:50 Marco: Um, whereas the, the, you know, put together our files thing could usually be published within maybe a half hour, maybe 45 minutes, but sometimes might take a couple hours and that, that work all has to be done before I go to bed, uh, for the, you know, after we record where, you know, all three of us are kind of reluctant to do a lot of work, you know, that late at night after we're tired, uh,
00:05:11 Marco: And it is a variable amount of time that is usually moderate but can sometimes be more than moderate.
00:05:18 Marco: So my thinking was, from what livestream bootleg fans tell us, it seems like time is of the essence.
00:05:28 Marco: it seems like the main reason they want it is to get it as quickly as possible.
00:05:33 Marco: But if we can make it sound a lot better with, you know, half hour of work, well, that's, that's something.
00:05:40 Marco: So, you know, we've been debating this anyway, all this is to say to my initial plan has just been put up the, the exactly what's broadcast from Skype.
00:05:50 Marco: And, and even though it doesn't sound as good, people who want the live stream bootleg don't seem to care and seem to do seem to want it quickly.
00:05:57 Marco: So speed is important to them, it seems.
00:06:00 Marco: So I first had to figure out how to make myself sound as bad as they do over Skype.
00:06:07 Marco: So I have combined a... I have this very long chain and audio hijack to do all this.
00:06:15 Marco: And I combine a dynamics processor to basically be a crude compressor to really squish my dynamics into the same rings they are so we're all the same volume.
00:06:24 Marco: Then the critical discovery was I have to apply a low-pass filter to my voice where I just lop off any frequency above about 8 kilohertz.
00:06:33 Marco: And I realized then, well, MP3s can then, you can reduce the sampling rate down from 44.1 kilohertz, which is CD audio quality, down to like 22 kilohertz.
00:06:45 Marco: Because everything, you know, 8 kilohertz and below frequency-wise can be represented perfectly with a 22 kilohertz sampling rate.
00:06:54 Marco: And the very first time I tried importing one of these files into our CMS, the duration detection broke.
00:07:02 Marco: And this led me down a rabbit hole, which led me to realize, oh, dropping the sample rate to 22 kilohertz made it no longer technically an MP3.
00:07:14 Marco: It became an MP2.
00:07:17 Marco: What?
00:07:19 Marco: This is old stuff from the 90s that most people have forgotten about.
00:07:23 Marco: But MP3, which is MPEG-1 Layer 3 audio, only supports 32, 44, and 48 kHz as the sample rate.
00:07:32 Marco: if you actually set the sample rate lower than 32 kilohertz, or if you set to a certain subset of bit rates that are only available in MP2 and 2.5 kind of weird extension formats, MP3 encoders can still play it and will gladly encode it, but what it's actually technically encoding is an MPEG-2 file.
00:07:53 Marco: It's still layer 3, and it's either MPEG-2 or this kind of thing that's kind of unofficially called MPEG-2.5.
00:08:00 Marco: And all of these are part of
00:08:02 Marco: MP3 modern encoders and decoders even though sometimes it's actually MPEG 2 layer 3 as you can all imagine I wrote the duration detection code from scratch to read MP3s in PHP for CMS of course I did of course you did
00:08:21 Marco: And I base this on the same thing I do in Overcast, where in Overcast I have my own complete MP3 timing and seeking code because the Apple frameworks are not incredibly good always at dealing with dynamic ad insertion from the big publisher podcasts or from doing precise seeking when the ID3 tag is large, like if there's a large artwork or a lot of chapters in a file.
00:08:44 Marco: So what I do in Overcast is I manually read the MP3.
00:08:49 Marco: I have to look at every chunk of what's called a frame, which is like a certain chunk of audio in the MPEG format.
00:08:55 Marco: I look at every chunk.
00:08:56 Marco: I see what byte offset it's at, and I store that in a seek table.
00:08:59 Marco: So that way I can precisely seek to exactly the right byte in a file and have the duration exactly right so you don't run over and have it start counting up again at the end and stuff like that.
00:09:08 Marco: So I did the same thing in PHP for RCMS.
00:09:13 Marco: So I would never have to enter duration manually.
00:09:15 Marco: I'd said, okay, I'm going to do the same thing.
00:09:16 Marco: I'm going to read MP3s.
00:09:18 Marco: And it turns out that I did not support MP2s.
00:09:22 Marco: And so part of what I had to do this past week, instead of working on iOS 14 or my new app widget or app clips or any of the new modern stuff that I'm supposed to be doing right now, instead I was writing in PHP and
00:09:37 Marco: And then later in objective C to complete the overcast implementation.
00:09:41 Marco: Expanding my MP3 parsing library to also support MPEG 2 and 2.5 frames and all three layers.
00:09:49 Marco: And trying to look up technical information on the MP3 file format is quite an ordeal.
00:09:58 Marco: Because the actual documentation that's publicly available for a lot of this stuff is like forum post from 2001.
00:10:05 Marco: or like a webpage from like 1998 that looks like it's from 1998 that like it's like oh here here's the mp3 frame header layout here's like how many how do you know how many bytes the frame is well mp3 it's easy you can find little snippets mp2
00:10:22 Marco: there's not a lot of information on that.
00:10:24 Marco: So you have to do, you have to like dig up like weird forum posts.
00:10:28 Marco: And if you're lucky, an obscure stack overflow answer about like how, how many samples are in a frame?
00:10:34 Marco: How big is the frame?
00:10:36 Marco: Like it's, so I had to do a lot of like really deep dive digging to look up very old technology that I'm re-implementing for no good reason, but for my own personal, you know, obsession reasons, all of this,
00:10:48 John: during the week following wwc 2020 i'm looking up how to decode mp2 files you couldn't just find the spec online i was unable to find anything that definitively included a lot of that stuff do you have to pay for it maybe like i mean i don't know if it's like an open spec or if it's you have to be a member of the consortium and pay money or something but i mean surely there is a specification somewhere
00:11:11 Marco: So Fraunhofer was the institute that did most of the initial inventing and had all the patents on it.
00:11:16 John: I was going to say, maybe you can find the spec, but it's in German.
00:11:20 Marco: Well, no, I mean, they had their own encoder and reference decoder, and it's actually a very good encoder, and I wish I could use it.
00:11:28 Marco: And it's what Apple uses in Logic and in iTunes.
00:11:32 Marco: In almost any commercial product that encodes MP3s, usually it's using the Fraunhofer encoder, which they licensed back forever ago.
00:11:39 Marco: Problem is, when the last MP3 patents expired a couple years back...
00:11:43 Marco: fronhofer stopped licensing it because they could no longer make any money from it so they just shut down the whole program so now you can't get you like you cannot license a new version of their encoder for a new product at any cost believe me i tried i asked because i wanted it for forecast because it's actually better than than the lame encoder that i use it's actually better than that at low bit rates for speech and it's faster but you can't get it like they just aren't licensing it anymore so like it's it's such an old format and
00:12:08 Marco: And there's no more patents active on it.
00:12:11 Marco: So there's no more business in licensing it.
00:12:14 Marco: So basically no one has documented it.
00:12:17 Marco: The main documentation of it seems to be just like the source code to things that decode MP3s.
00:12:23 Marco: Okay.
00:12:23 Marco: They have to look at something that already decodes them and look at the source code and see, oh, here's how they do this.
00:12:30 Marco: Okay, I guess that has to be 144 samples long this time.
00:12:34 Marco: Oh, look, in this weird switch statement, this is 160.
00:12:37 Marco: Okay, I guess that's the value.
00:12:40 Marco: There is no seeming concrete place to find this information online.
00:12:44 Casey: Delightful.
00:12:45 Marco: Yeah, so anyway, that's why Overcast is not yet ready for iOS 14.
00:12:50 Casey: It's all our fault.
00:12:51 Casey: Now, to be clear, as in the chat said earlier, this all started from you desiring to sound worse.
00:12:58 Marco: That's right.
00:12:58 Marco: Yeah.
00:12:59 Marco: It's me taking advantage of the fact that, well, if I'm going to sound worse, I might as well save some space in the process.
00:13:04 Casey: That's fair.
00:13:04 Casey: But, oh my goodness, this is a significant rabbit hole.
00:13:09 Casey: You got nerd sniped real good.
00:13:10 Marco: I mean, to be fair, I basically snipe myself, but I am very good at that when it comes to low-level audio hacking.
00:13:18 Marco: I'm trying to figure out what the heck to do with my UI code in the present day, and I have some ambitious plans that I might rewrite a whole bunch of it and everything.
00:13:29 Marco: Writing UI code, dealing with UI code, it just destroys my motivation and my productivity.
00:13:35 Marco: I don't enjoy it at all, which actually might inform my decision.
00:13:40 Marco: I want to spend as little time on that as possible because it's just such a time suck and it's paralyzing to feature development.
00:13:46 Marco: But
00:13:46 Marco: get me involved in a low-level audio hole, and I will gladly dive into that and kill a day on some weird hack.
00:13:56 Marco: I tried writing code to detect dynamic ad insertion, which I actually partially succeeded at, but not enough to do anything useful.
00:14:05 Marco: Um, but like I just, I love low level audio digging for, you know, things that might prove useful or generally don't prove useful, uh, for, um, for doing this weird MP3 hacking.
00:14:19 Marco: I just, it's, I get great, great joy out of it where I don't get that joy out of like, I have to make another screen of UI.
00:14:26 Marco: Like I hate doing that, but this kind of stuff, I love this kind of stuff.
00:14:31 John: But you'll love it once you start using SwiftUI, right?
00:14:33 John: Then it'll be fun again.
00:14:36 John: That was a joke.
00:14:36 John: I think he might actually find it less tedious.
00:14:39 Casey: Yes, but that would require Marco to put on his big boy pants and actually learn Swift.
00:14:43 John: I mean, he should really wait another year because he'll find it less tedious until he hits his first roadblock and then he'll be like, I should just do this in UIKit.
00:14:50 Marco: well and well yeah so first of all you're both right um but but i think okay so i guess we're talking about this now so part of my thinking i guess this may be as follow-up because it's about overcast which exists um part of my thinking is that my skill set is rapidly rapidly aging at
00:15:15 Marco: The longer I go without really using a lot of Swift, which has been the case, I will occasionally write one quick thing in it, but I'm still mostly not using it.
00:15:25 Marco: So the longer that goes, I look at the content from WWDC and any modern documentation, pretty much any modern sample code online, blog posts explaining new technologies and everything, and I only kind of understand it.
00:15:40 Marco: So far, I know Swift the way I know JavaScript.
00:15:44 Marco: I can read it.
00:15:45 Marco: I can write it, but I never really learned it, and I'm not very good at it.
00:15:51 Marco: And so I tend to avoid it, often at significant expense to what my stuff can do or what it should do or how it should be written.
00:15:58 Marco: So I can keep doing this, and I can keep kind of like –
00:16:03 Marco: knowing enough swift to get by but still often finding myself like translating a swift snippet i see online back to objective c because the file i'm writing is already objective c and i might as well leave it that way um but my skill set is aging very quickly and it's been aging for you know what six years seven years now that swift has been out but you know and the first couple years i think it made sense to hold off let it get polished you know let all the stuff settle down
00:16:27 Marco: But we're past that point now for Swift, by a good couple years at least.
00:16:31 Marco: So I need to be writing a lot more Swift than I am.
00:16:34 Marco: Because if I keep going the way I'm going, where I basically never learn it, I'm never going to be good at it the same way I'm not good at JavaScript.
00:16:42 Marco: But I can get away with not being good at JavaScript because I don't mostly write web apps.
00:16:46 Marco: I do mostly write iOS apps.
00:16:49 Marco: And I can no longer get away with not knowing it as badly as I have not been knowing it and not been using it.
00:16:57 Marco: And SwiftUI is very young still.
00:17:01 Marco: SwiftUI is a couple years behind Swift, obviously, in that pattern of when is it a good idea to really jump in on it.
00:17:08 Marco: But SwiftUI is clearly, if not the future, it is going to probably at least be a significant part of the future.
00:17:15 Marco: And everything is getting more cross-platform.
00:17:19 Marco: Everything that Apple's doing is getting more like, hey, use this thing, and then you can run it on iPad and iPhone and the Mac and maybe the Apple TV and who knows, right?
00:17:29 Marco: And if they continue to push forward into things like possibly AR goggles, glasses, whatever they're going to call them,
00:17:36 Marco: or including stuff like the watch, these kind of specialized things.
00:17:41 Marco: Swift UI is becoming increasingly important.
00:17:43 Marco: Swift already is very, very important.
00:17:47 Marco: And I really don't know either of them.
00:17:49 Marco: And so if I'm going to continue to have the career that I have, I need to know them.
00:17:53 Marco: It's simple as that.
00:17:54 Marco: I need to jump in.
00:17:55 Marco: I need to learn them extremely well because this is my career.
00:18:00 Marco: And I can keep not knowing them, but I'm just making my knowledge totally obsolete.
00:18:07 Marco: And if I went back right now and tried to get a career as a web developer...
00:18:11 Marco: I really couldn't because I did let that part of my expertise get obsolete and I fell so far behind because I haven't been doing it and I frankly don't want to but I've been so far behind web development that I basically can't be a web developer anymore and it would take me years to try to catch up if I really wanted to I can't let myself get that way on the iOS side as well
00:18:39 Marco: So one thing I'm thinking about doing is taking the next six to eight months, probably, and rewriting large parts of my UI in Swift and Swift UI.
00:18:52 Casey: Oh, Marco, no, no.
00:18:53 Marco: Really going in and adopting it heavily.
00:18:57 Marco: Because if I don't do that, I'm never going to.
00:19:00 Marco: I'm never going to jump in.
00:19:01 Marco: I'm never going to really get myself in there.
00:19:04 Marco: This might be a little early for Swift UI, but it's not too early for Swift.
00:19:09 Marco: And my UI is simple enough, and there's parts of this where I need to modernize.
00:19:17 Marco: Keep in mind, I wrote most Overcast's code, most of the basic UI code, stuff like most of the basic lists, the table views, the list screens, which is most of the app.
00:19:26 Marco: I wrote most of that six years ago.
00:19:30 Marco: So it predates a lot of modern technologies.
00:19:33 Marco: It's still like, you know, I use auto layout pretty sparingly.
00:19:37 Marco: I still don't do a great job of adopting to dynamic text sizes, which is an accessibility issue, which I do want to solve.
00:19:47 Marco: And I currently do a pretty bad job of it.
00:19:51 Marco: And there's a whole bunch of other stuff you get for free that I don't do or that I don't support.
00:19:56 Marco: Things like I have to manually do all the dark mode stuff.
00:19:59 Marco: I have to manually do all the font sizing stuff.
00:20:02 Marco: It's just – I have a lot of cruft and technical debt in my UI layer.
00:20:10 Marco: And I did all this great modernization of the audio layer this past year, and that felt great, but the UI is really stale.
00:20:16 Marco: And there's things that I want to do.
00:20:18 Marco: There's features I want to do.
00:20:19 Marco: There's UI changes I want to make.
00:20:20 Marco: There's redesigns I need to do because the app is also, by the way, looking, I think, very dated right now, especially the list screens and especially the root screen.
00:20:29 Marco: It's looking very, very dated.
00:20:31 Marco: It does not fit in the modern aesthetic at all.
00:20:33 Marco: And so I want to do all this.
00:20:34 Marco: I want to do all this redesigning.
00:20:35 Marco: I want to jump in.
00:20:35 Marco: I want to modernize my skills.
00:20:38 Marco: It is a little aggressive feeling to do that like this fall or winter, which is when it would probably be released.
00:20:46 Marco: But I also, at the same time, I control the whole app.
00:20:50 Marco: I can do whatever I want.
00:20:52 Marco: I have no boss saying, you have to support back to iOS 9.
00:20:55 Marco: I don't have that.
00:20:56 Marco: I don't have that problem.
00:20:58 Marco: So I don't know.
00:20:59 Marco: Do you think it's too soon?
00:21:01 Marco: Suppose I jump into this this summer, probably next week.
00:21:04 Marco: I'll start really modernizing stuff in a nice, totally broken Git branch.
00:21:10 Marco: So if I start doing that this summer, I can probably ship it somewhere around December, January.
00:21:18 Marco: It would require iOS 14.
00:21:21 Marco: Last year, it kind of bit me to require 13 at like week two.
00:21:26 Marco: And so I ended up going back and reverting that and going back to requiring 12 like about a month later.
00:21:34 Marco: But 13 and 14 have the same compatibility matrix.
00:21:37 Marco: So I'm not losing any devices this year.
00:21:40 Casey: i don't know so i i think it is long since time for you to learn swift i think you are a couple of years late on when it was reasonably acceptable to learn swift i agree that the first couple of years was a bit aggressive to learn swift and i think that now you're a couple years behind when i think it was reasonable to do so
00:22:03 Casey: SwiftUI... So, I have not touched any of the new SwiftUI stuff in iOS 14.
00:22:11 Casey: And the experience I had with it in 13, I would characterize as pretty negative.
00:22:17 Casey: But...
00:22:18 Casey: I need to throw out the caveat that I never really took the time to properly learn it.
00:22:24 Casey: I was doing much like what you and I do with JavaScript where I just threw some junk, you know, against the wall and some of it stuck in.
00:22:32 Casey: Okay, fine.
00:22:32 Casey: That's good enough.
00:22:33 Casey: Um,
00:22:34 Casey: I don't think that I gave it a fair shake.
00:22:37 Casey: But that being said, I was not doing complicated things at all.
00:22:41 Casey: I basically only used it for static screens in Peek of View.
00:22:44 Casey: And I think like two-thirds of them I ripped out and went back to UIKit because I just couldn't get rotation to work properly or I couldn't get something else to work properly.
00:22:53 Casey: Things that I felt like I should have gotten for free.
00:22:55 Casey: Now, again, very well could have been user error.
00:22:59 Casey: Very, very well could have been user error.
00:23:00 Casey: But...
00:23:01 Casey: it seems to me like unless you're doing something that explicitly requires SwiftUI, widgets, for example, the new complication stuff, I personally still think it's a bit early for SwiftUI.
00:23:12 Casey: I think that I might be wrong in saying that.
00:23:16 Casey: I might be, Marco, a few years ago saying, I don't want to touch Swift.
00:23:19 Casey: You know what I mean?
00:23:19 Casey: I think maybe this is my own failings expressing themselves verbally.
00:23:24 Casey: But
00:23:24 Casey: I strongly encourage you to embrace Swift.
00:23:28 Casey: I am pretty hesitant about you embracing Swift UI.
00:23:33 Casey: Coincidentally, I think, John, you've done more Swift UI than I have at this point because a lot of your Mac apps are Swift UI, aren't they?
00:23:40 John: Well, I mean, there's not a lot to my apps, but yeah, I intentionally used SwiftUI for all of the UI that you actually see in Switch Class, which is not much, but it's SwiftUI, which was a fun experiment.
00:23:51 John: And even for that limited amount that I did, like, oh, it's just one little window with a bunch of icons on it.
00:23:56 John: it's a weird window right like it's not a normal window and so a lot of the the hoops that i had to jump through to make my weird window out of swift ui which is decidedly not about that kind of weirdness you know what i mean like all the swift ui is like oh here you are on your phone and you want to list a bunch of vegetables like it's it's always what it is right it's like what if i want to have a window with no chrome and it's not a rectangle and it's partially transparent and it accepts all kinds of clicks including right clicks and has to process them successfully but there's no first responder in swift ui and like
00:24:25 John: It is actually a fairly tricky use case.
00:24:29 John: And even in this tiny little thing, the stuff they introduced this year, I was like, oh, my God, I wish I had that last year.
00:24:35 John: That would have made stuff a lot easier.
00:24:37 John: As you would expect, it was literally year two of SwiftUI, right?
00:24:41 John: So I think it is early.
00:24:43 John: But the jump from year one to year two is pretty significant in terms of, like, I would have killed for that last year.
00:24:48 John: And unfortunately, it's not like, oh, I'll run out and use it now.
00:24:51 John: Well, no, I won't, because I would be cutting off Catalina people, and I'm not quite ready to do that, although I don't know how many people are going to stay in Catalina once Big Sur comes out.
00:24:59 John: But what I would suggest for you, considering it's year two and there has been a big leap here, and knowing most of what overcast screens look like,
00:25:08 John: I think it is plausible that you could do all of Overcast's UI, except for maybe one or two tricky bits, in a fairly straightforward way with SwiftUI.
00:25:19 John: But what I would suggest to you is make, like, a new dummy thing with just a bunch of fixture data that is the shape of your internal model logic, but is, like, not real, right?
00:25:30 John: And then just make a quote-unquote mock-up UI, entirely in SwiftUI.
00:25:34 John: It's like a non-functional app.
00:25:35 John: It doesn't actually play any music, but you can go through all the screens and do all the things, right?
00:25:40 John: And just see where that takes you.
00:25:42 John: Like, you could end up like Casey and be like, I'm on screen number one, and I can't get this friggin' label to be where I want, or it screws up when I rotate, or dynamic text is weird, or there's this weird drawing bug.
00:25:50 John: And then you could just say, then you just stop there, okay?
00:25:52 John: Or I'll visit this next year, because there's no way in hell.
00:25:54 John: Because that's a lot of what was happening with me.
00:25:56 John: I'd bang my head against something, and it'd be like...
00:25:58 John: Even me, having written one Mac app at that point, I was like, I know how to do this in AppKit.
00:26:03 John: I could be done in two minutes, but not in SwiftUI, I don't.
00:26:06 John: So I'd spend an hour banging my head against how to do this thing I already know how to do in this different API, and that's frustrating.
00:26:12 John: But assuming you don't hit anything like that, make essentially the mock-up version of Overcast with all the screens and all the text and just a bunch of fixture data, and you just wander through it with your finger, and the play button does nothing, and you just navigate and...
00:26:26 John: If you can build that, and if you build that once like in this empty app, if you do that and you realize after the first day you've got like half the screens on, you're like, wow, this is way faster than UI kick.
00:26:36 John: Because that is possible.
00:26:37 John: That's the promise of SwiftUI.
00:26:38 John: It's really easy to mock stuff up real quickly that looks essentially finished.
00:26:43 John: threading the data through it is trickier and if you hit one of those weird bugs it's tricky but i think that would be the least waste of your time is to sort of do that one-off that you plan to throw away just to assess is this a thing worth pursuing because if you go into the guts of your real app and try to rip a thing out and put a real view in it's always going to be weird and you're going to be trying to wedge it in with the data that you have and it's not going to fit the swift model i would say just make a test app to assess is this the time to do it or should i wait till next year because i think you'll get the answer pretty quickly
00:27:12 Casey: I think that's very reasonable.
00:27:13 Marco: Yeah, that's a good idea.
00:27:14 Marco: Thanks.
00:27:15 Marco: I've done little test harness projects before.
00:27:19 Marco: A couple years ago, I basically wrote my own replacement for UI split view controller humorously enough to achieve a lot of the stuff that it now supports natively.
00:27:31 Marco: Yeah.
00:27:31 Marco: But, um, and I wrote that whole thing.
00:27:33 Marco: I did the same thing then.
00:27:34 Marco: Like I, I created a test, a sample project that ran like my custom, you know, container controller here.
00:27:41 Marco: And it just had like, you know, blank red and blue screens for like each.
00:27:45 Marco: Okay.
00:27:45 Marco: The red is the detail.
00:27:46 Marco: The, you know, the other one is the primary and, and like, it was just like solid color screens.
00:27:51 Marco: And, uh,
00:27:52 John: and just like large buttons just like you know push to the next screen pop back to the previous one stuff like that so i think it's probably a good idea to do this too you're right that's basically see how far i get you could even go all the way if you wanted to go hog and do like you now have the ability to do a top to bottom swift ui app as in like you there is no like main function there's no app delegate there's no like it's just swift ui from top to bottom
00:28:16 John: i don't think that's going to work for you but for your mock-up purposes that might be a fun way to learn that because that also gives you all like the it's an easy place you can have window groups and scenes and you know in addition to all the navigation controller push pop stuff so i'm not that familiar with what it looks like on the on the ui kit side of things but there's so much more this year than there was last year that doing a quick mock-up like that seems like you'd learn a lot in the process first of all and i think as soon as you start to do one of your your first actual real screen with fake data
00:28:45 John: then you'd find out if you're going to hit these layout issues or not.
00:28:49 John: Because it's really easy to do simple things, and it's medium okay to do a little bit tricky things, and it seems like you have to be a bit of a wizard to do very hard things.
00:29:00 Casey: Mm-hmm.
00:29:00 Casey: I think that's a very reasonable assessment.
00:29:02 Casey: I mean, SwiftUI, when you're doing things that it wants you to do, is the work of freaking magic.
00:29:07 Casey: It is incredible what it can do.
00:29:11 Casey: But when you go even slightly off the beaten path, just like you said, John, it gets real ugly real quick, or at least that's my experience.
00:29:18 Casey: Plus, very similar to like Combine or Rx, it's a very, very, very different approach to UI development, which doesn't make it worse by any means, but it's very different.
00:29:28 Casey: If I were a betting man, I would guess that, Marco, you will try SwiftUI, you will find it wanting, and then you will start digging into some of the last two years worth of CollectionView updates because, oh boy, there's good stuff there.
00:29:43 Casey: Because you don't really even need TableView anymore.
00:29:45 Casey: You can do everything with CollectionView.
00:29:47 Casey: You can do a lot of the same SwiftUI style, composable, is that the word I'm looking for?
00:29:51 Casey: I think it is, composable layouts.
00:29:53 Casey: And you can do incredible, incredible stuff with CollectionView now.
00:29:58 Casey: For me, that's what I turn to.
00:30:01 Casey: And we might talk about this in the post-show, but I've been thinking about some new stuff for the summer for myself.
00:30:07 Casey: And I was having the same debate earlier today, like, do I want to do SwiftUI for this?
00:30:10 Casey: Or do I want to do some of it in SwiftUI, some of it in UIKit?
00:30:14 Casey: And what I came down to was, especially in the summer where I would want this to ship right as iOS 14 lands...
00:30:21 Casey: I don't want to be trying to bite off a big SwiftUI project.
00:30:25 Casey: I want to do whatever I can in UIKit and use SwiftUI only where I have to.
00:30:30 Casey: Your mileage may vary, especially if you're not trying to hit any sort of urgent deadline.
00:30:35 Casey: But yeah, I think if I were a betting man, you'll end up using some of the really awesome new stuff in UIKit.
00:30:41 Casey: And I say that with not a drip of sarcasm.
00:30:43 Casey: There's some really great stuff there, particularly around CollectionView.
00:30:46 Casey: But I don't see you going all in on SwiftUI.
00:30:49 Marco: Yeah, I mean, well, the good thing is you don't need to go in all and all.
00:30:53 Marco: They let you do it piecemeal.
00:30:54 Marco: And some kind of hybrid approach is probably what I will end up with.
00:30:57 Marco: And it's probably what most people would still end up with these days.
00:31:00 Marco: But the good thing is, as time goes on, I'm caring less and less about the fine details of exactly how my app looks pixel perfectly.
00:31:09 Marco: Because what we're seeing is the way Apple is moving.
00:31:12 Marco: For a while, if you would open up an old Mac app,
00:31:16 Marco: A great example of this was the old version of NetNewsWire.
00:31:21 Marco: As macOS changed over time, as the theme of macOS, the graphical theme, got tweaked over time, not to the extent that we just got with Big Sur, but the small tweaks...
00:31:33 Marco: as it kind of lost its brushed metal and it kind of got a little bit more flat and a little bit grayer and then occasional translucency and then lack of translucency and then translucency again.
00:31:44 Marco: We swear it's not Vista this time, translucency.
00:31:46 Marco: Throughout all those changes, if you were using the basic Mac AppKit controls,
00:31:53 Marco: The appearance of your app, like NetNewsWire, the appearance would change with the system.
00:31:58 Marco: Every time the system changed appearance, your app would just basically get it for free if you were using the stock stuff and not totally hacking the crap out of it or customizing stuff from scratch.
00:32:08 Marco: So the closer you adhered to the system look, the more you would get for free whenever the system had a redesign.
00:32:15 Marco: And you would occasionally get even new functionality from the built-in widgets in your app without having to rewrite everything and often without even issuing new builds.
00:32:24 Marco: Sometimes just the old builds would just inherit this stuff almost always.
00:32:27 Marco: On iOS, it never quite worked that way.
00:32:30 Marco: On iOS, we started out from this era of everything designed pixel perfect down to the pixel.
00:32:35 Marco: The whole screen was designed perfectly.
00:32:37 Marco: And so as the iOS hardware and as the iOS theme evolved over time...
00:32:44 Marco: apps wouldn't get it for free.
00:32:46 Marco: They would give you this compatibility shim that your app would run in so that your app would still continue to look old or be the size of the old phones on new hardware or new OSs because apps weren't scalable.
00:32:58 Marco: The way apps were designed, the way the system frameworks were designed, if you tried to scale stuff without the developer opting into it, you'd break a lot of apps.
00:33:06 Marco: It seems like where we're going is closer towards where the Mac has been in that regard, where what Apple is clearly showing us that it wants us to do, and what it's doing with its apps to a large degree, is...
00:33:22 Marco: push everything towards more and more stock components, less customization, less custom controls, more just using the stock stuff without modifying it too much, and then letting the platform it's running on interpret that in different ways.
00:33:40 Marco: So that way you could have like one code base and with relatively few tweaks, be able to have iPhone, iPad, iPhone,
00:33:48 Marco: mac via catalyst now and then maybe in the future direct swift ui compilation for mac depending on how much your app needs it and stuff like that um you know you could have components of your app running on the watch you could have components in your app running on the tv god knows what else apple's going to do in the future they're they're obviously pushing more and more towards this this thing of just like stock use of the components as much as possible
00:34:12 Marco: Right now, my app is buried under a mountain of technical debt and custom crap in the UI department because I wrote most of it five or six years ago when you had to do a lot of that stuff to get good results and to have your app look competitive, to have it look like a nicely made app.
00:34:31 Marco: But I think we're heading away from that now.
00:34:33 Marco: We're clearly heading more towards that old Mac style of doing things.
00:34:36 Marco: And these days, breadth of having your app run on everything, having it look right on everything, or at least look decent on everything, and having it fit in on every platform...
00:34:46 Marco: is becoming more important for a lot of different audiences.
00:34:50 Marco: So I think what I want to do is drop a lot of the custom stuff I'm doing, or significantly reduce a lot of the custom stuff I'm doing, and just use a bunch of stock stuff.
00:35:01 Marco: This might even extend to dropping my custom font.
00:35:03 Marco: I've even thought about that, because that's more complicated than you might think of a decision.
00:35:07 Marco: But anyway, I think we're heading this direction now, and there's always going to be the apps that have...
00:35:14 Marco: 600 iOS developers and you're like, what the heck are they all doing all day?
00:35:17 Marco: Like those apps, they can make custom UIs on every platform.
00:35:20 Marco: Although they don't usually, they usually use like electronic crap somehow.
00:35:25 Marco: But anyway, like apps that have massive teams, let them do all the pixel perfect design.
00:35:30 Marco: But when you've got an indie app like mine, that's really, I think, losing a lot of the need to do that kind of stuff.
00:35:38 Marco: And it's certainly losing the value of, is it really worth doing all that stuff?
00:35:43 Marco: Meanwhile, what customers want is to take advantage of all the new iOS stuff every year.
00:35:48 Casey: I think I mostly agree with you.
00:35:50 Casey: I would say that I think a well-designed app stands out, period.
00:35:55 Casey: And not to say that you're implying otherwise or saying otherwise, but I think there is still an appreciation for a really well-designed app.
00:36:03 Casey: But I think that you're right that it seems clear that Apple desires, and I suspect that we, the users, will desire breadth across platforms over pixel perfectness on each platform.
00:36:16 Casey: And it's not that pixel perfect isn't important.
00:36:18 Casey: It's just that it's less important than it used to be, and breadth is more important than it used to be, which I think is mostly what you were saying.
00:36:25 Casey: But I don't know.
00:36:26 Casey: I really think that it is for...
00:36:33 Casey: the best for me anyway, as a really crummy designer and a even worse UI implementer, if I can rely, if I can rely on stock controls and get away with it.
00:36:44 Casey: And I think one of the nice things about Swift UI is that it makes it pretty easy to tweak a stock control without having to completely throw the baby out with the bathwater, you know, to add a corner radius, if I recall correctly, it's pretty easy.
00:36:59 Casey: You know, things happen.
00:37:00 Casey: which actually isn't terrible in UIKit, but I remember early on it was real bad.
00:37:03 Casey: I don't know.
00:37:04 Casey: I feel like SwiftUI does have some benefits there, but I still stand by, I don't know if it's really quite ready in my personal opinion.
00:37:13 Marco: And the other issue is, if I do jump in and require iOS 14 this winter, so probably after it's been out for maybe three months is when I might require it, then... And by the way, that's optimistic.
00:37:28 Marco: Maybe this UI redesign takes me a very long time.
00:37:31 Marco: Maybe it's actually not until next spring or summer.
00:37:33 Marco: Who knows?
00:37:34 Marco: But suppose it's December, January kind of range.
00:37:38 Marco: And assuming iOS 14 comes out...
00:37:40 Marco: roughly when iOS has usually come out, which is usually mid-September or so.
00:37:46 Marco: So maybe it's going to be later this year because everything's delayed because of the virus.
00:37:50 Marco: Who knows?
00:37:50 Marco: But assuming it comes out roughly mid-September like it usually does, I'm going to have a few months of install base if I release this stuff that requires it.
00:38:00 Marco: how long is it going to be before i can stop supporting ios 12 and 13 i gotta do it sometime but i don't i don't know i don't envy you i actually have my own problems like i said that i want to talk to you guys about at some point we may or may not get to it today but uh yeah it's it's a tough spot to be in
00:38:20 Marco: We are sponsored this week by Linode Cloud Hosting, my favorite place to run servers.
00:38:26 Marco: Whether you're working on a personal project or managing your enterprise's infrastructure, Linode Cloud Hosting has the pricing, support, and scale you need to take your project to the next level.
00:38:36 Marco: With 11 data centers worldwide, and they're always adding more, featuring enterprise-grade hardware and the next-generation Linode network, Linode Cloud Hosting delivers server performance you need and you expect at prices that you will definitely appreciate and that you might not expect.
00:38:51 Marco: Our listeners can also get a $20 credit with promo code ATP2020.
00:38:57 Marco: So Linode is just an amazing host.
00:38:59 Marco: I have hosted all of my servers there for things like my blog server, the ATP server, Overcast, anything that needs... All of Overcast, it's like 25, 30 servers.
00:39:10 Marco: Anything that needs actual server hosting where you have root access, you can install the software you want...
00:39:16 Marco: Whether this is something like an app server that you wrote, a backend for your app or your business, or things like a LAMP stack, game servers, WordPress, whatever it might be that you need a server for, Linode is the place to do it.
00:39:28 Marco: The pricing is incredible.
00:39:30 Marco: The value is great.
00:39:31 Marco: Whenever over time technology gets better and it allows them to offer you more for your money, they do.
00:39:37 Marco: They give you like a one-click upgrade and you can upgrade your server at the same price and get more resources.
00:39:42 Marco: Their plans are on just $5 a month for the Nanoid plan and they scale up to whatever your needs might be.
00:39:47 Marco: Things like dedicated CPU plans, GPU compute plans for machine learning or AI, video processing, high memory plans, and so much more.
00:39:55 Marco: So go to linode.com slash ATP and you will get a $20 credit when you use promo code ATP2020.
00:40:03 Marco: Also, if you want a job, they're usually hiring.
00:40:06 Marco: So go to linode.com slash careers to learn more about that.
00:40:10 Marco: Otherwise, once again, linode.com slash ATP, promo code ATP2020 for that $20 credit.
00:40:16 Marco: Thank you so much to Linode for running all my servers and sponsoring our show.
00:40:24 John: speaking of not getting to things today i spent a long time before the show organizing the show notes and i put like cut points like because we have so much stuff that we can't get through it also i was like all right well i'll just divide this up and say here's how much i think we can get through today and then the next section here's how much i think we can get through today now i gotta move all those cut points up unless we're gonna do a very long show
00:40:44 Casey: That was not my intention.
00:40:46 Casey: We'll see what goes.
00:40:46 Casey: All right, so let's start blowing through the rest of follow-up, and we'll see how lightning round we can make this lightning round.
00:40:52 Casey: Famous last words.
00:40:52 John: Yeah, I think I can go pretty quick.
00:40:54 Casey: Oh, even more famous last words.
00:40:56 John: I did it last time.
00:40:57 John: Hey, I said I could do it last time.
00:40:58 John: I did it.
00:40:58 John: Anyway, go ahead.
00:41:00 John: My first way to go fast would be to cut this first item.
00:41:03 Casey: Okay, moving on.
00:41:04 Casey: The DTK update.
00:41:07 Casey: I'll give you one guess who wrote this first item, ladies and gentlemen.
00:41:09 Casey: All right, DTK update.
00:41:10 Casey: I did not apply for one, I believe.
00:41:12 Casey: Did we talk about on the show whether or not you guys had registered?
00:41:15 Casey: I don't recall.
00:41:15 John: I think we did.
00:41:16 John: Yeah, I don't have it yet.
00:41:17 Casey: But you did register.
00:41:18 Casey: John, you also registered.
00:41:20 Casey: And did you get one?
00:41:21 John: It's supposed to be coming tomorrow.
00:41:23 John: Excellent.
00:41:24 John: yeah um and the other thing is like when you sign up for these things that if you read actually read the little agreement there's an nda that says basically if you get this hardware you're not allowed to talk about the hardware so since none of us have it we can talk about it but once we have it we can't really say anything about the hardware we're still talking about on the show i think the process of like porting your software but we can't really talk about the hardware itself but that's fine because other people don't follow the rules and so instead we can just link you to the show notes and
00:41:48 John: To this Mac rumors article, it has benchmarks of the DTK, which just looks like a little Mac mini.
00:41:53 John: I don't think anyone has really cracked it open yet.
00:41:55 John: I did see one shot of the inside that show like these little button batteries that run the real time clock and everything.
00:42:00 John: It's a weird piece of hardware.
00:42:02 John: But anyway, the upshot is that the benchmarks show in the word of this Steve Trotton Smith tweet.
00:42:08 John: The DTK with a two year old iPad chip runs x86 64 code in emulation faster than the Surface Pro X runs it natively.
00:42:16 John: which is kind of sad for microsoft right because this really people say oh it's like it's like uh the the the current ipad chip yeah but it's it's a two-year-old thing it's an a12 granted the z it's got better gpu so on and so forth but it's not even the a13 let alone the a14 variant that's going to power the actual mac so this two-year-old apple chip is in when running x86 code in emulation
00:42:39 John: is already faster than some other contemporary shipping arm stuff running their own native code.
00:42:46 John: Anyway, you can read the thing to look at more info about the benchmark.
00:42:49 John: Again, benchmarks don't really matter.
00:42:50 John: No Mac is ever going to ship with the ship.
00:42:52 John: It's just for the DTK.
00:42:53 John: It's weird in a bunch of different ways.
00:42:55 John: And speaking of weird stuff, I thought this was fun to see a picture of what the Pentium 4 DTK looked like for the Intel transition and how strange and lonely this weird PC motherboard looks inside the giant cheeseburger case.
00:43:06 John: So...
00:43:06 John: Check that out if you're interested in what those things are like.
00:43:08 John: So, yeah, we will be getting them.
00:43:10 John: I will be porting my apps, and we'll talk about the process of porting, but we can't actually talk about the guts of the hardware or anything like that.
00:43:18 Marco: Trying to figure out, like, how fast is the, you know, the ARM version of macOS running on this iPad chip, like...
00:43:25 Marco: If you measure it with benchmarks, right now this had to run an emulation because Geekbench is not yet compiled for ARM on the Mac.
00:43:32 Marco: But assuming that sometime soon somebody will probably run this on one of these things that will be running a native version somehow if that comes to exist, it's probably going to perform just like the iPad.
00:43:45 Marco: It's probably not going to be that noteworthy in how it runs ARM code.
00:43:50 Marco: You know what?
00:43:51 Marco: The modern iPads are super fast, and so I bet this is going to run ARM code that's similarly designed to be a benchmark on macOS.
00:44:01 Marco: It's probably going to be a benchmark just like the iPad Pro does.
00:44:05 Marco: I think the real thing is that this actually shows off how good Rosetta seems to be so far.
00:44:10 Marco: And this is a beta running on pre-release hardware.
00:44:15 John: Yeah, hardware that's slower than it's ever going to ship on.
00:44:17 Marco: Right.
00:44:18 Marco: If anything, it really shows that Rosetta is actually not probably going to be too bad of a solution for the transition.
00:44:25 Marco: I mean, I wouldn't want to run super performance-sensitive stuff on it, but if Rosetta runs this well on this pre-release OS, on this pre-release hardware, that's pretty awesome.
00:44:36 John: Yeah, it's basically going to be fine.
00:44:38 John: This is running it as if you had kind of an old Mac at home.
00:44:41 John: And that's what it's going to be like.
00:44:42 John: Fast forward a year when the real Macs come out, they'll be faster than this.
00:44:45 John: When you run your software on it and the software hasn't been ported, it'll be like, ah, you know, this feels like software running on my current Mac probably if you don't get a new Mac every year.
00:44:55 John: So it's all good news in the performance front.
00:44:58 John: No one has had anything bad to say about the DDK hardware.
00:45:02 John: It's all upside from here.
00:45:04 John: And speaking of porting stuff, I've already ported my two apps, ported in quotes because, of course, I don't have any ARM hardware to test it on.
00:45:12 John: But even with the current Xcode, you can build for ARM.
00:45:15 John: I can't run that binary, but I trust Xcode when it tells me that it has successfully built it.
00:45:19 John: But just getting to the point where you build if you're using any stuff that needs to change or any libraries, and bottom line is I wasn't.
00:45:25 John: I had to do more changes for Big Sur than I did for ARM.
00:45:28 John: Uh, anything having to do with arm because I'm mostly doing just standard stuff.
00:45:32 John: A bunch of stuff is deprecated in Big Sur and I had to mess with that.
00:45:35 John: And, you know, I made some tweaks to a few of my things to, you know, conditionally apply some new APIs, uh, when I'm running on Big Sur, but, uh, but yeah, arm.
00:45:46 John: was the most consequential amount of work had to do for arm was figuring out the build settings to figure out how to make it actually build for arm like nothing to do with the code it just to do with fighting xcode so i mean granted my apps are very very simple so this is not representative of for example what it's going to take to port photoshop or something but you know
00:46:03 John: No news is good news as far as I'm concerned.
00:46:06 Casey: That is excellent.
00:46:07 Casey: We also have some news about running Windows on ARM-based Macs, and it appears like that's not going to happen, or at least not legally anyway.
00:46:16 John: That's not how I read this, right?
00:46:17 John: So, I mean, we know that, you know...
00:46:20 John: there's no technical reason why microsoft and apple can't get together and make sure that our macs can boot windows but we also know that apple didn't demo it and you can't currently do it for a variety of reasons some of which have to do with the specifics of the hardware in the dtk which is the only arm mac thing that exists uh i think the page size is wrong but more importantly
00:46:41 John: So Microsoft only Microsoft, unlike Windows for x86, where Microsoft works hard to make sure Windows can run on any weird piece of PC hardware.
00:46:51 John: They don't do that with Windows for ARM.
00:46:53 John: Like it's not it's not like Windows, which grew up in the sort of open PC world where its job was to like, I don't care whatever weird vendor PC that they slap together.
00:47:01 John: Windows will figure out how to boot and run on it.
00:47:04 John: Windows for ARM is specifically tailored to the exact ARM hardware that Windows says it supports.
00:47:11 John: And not including that hardware is anything that Apple makes.
00:47:13 John: And so the statement from a Microsoft spokesperson in this Verge article says, Microsoft only licenses Windows 10 on ARM to OEMs.
00:47:22 John: And they asked if they were going to change this policy to allow Windows to run ARM-based Macs.
00:47:26 John: Microsoft said, we have nothing further to share at this time.
00:47:30 John: Which is not the answer you give if you're categorically ruling it out.
00:47:34 John: In fact, it's the answer you give if you're currently fighting with Apple about it.
00:47:39 John: So practically speaking, no, you can't.
00:47:41 John: But I still maintain hope that these two companies can figure out a way to make it happen.
00:47:45 John: Because I think Apple wants it to happen.
00:47:47 John: And I think Microsoft knows Apple wants it to happen and has a tiny, teeny bit of leverage.
00:47:52 John: and are using that leverage to presumably get something they want, probably having to do with Office 365 subscriptions or something through the App Store.
00:48:00 Marco: I think the page size thing, so the way memory is mapped, everything is done via these pages of memory, and on most systems, most x86 systems, it's been 4 kilobytes, and on these RMacs, it's actually documented to be 16.
00:48:16 Marco: And somewhere, either Apple or somebody actually said,
00:48:21 John: windows can't run because of this like it can't run on mac on on the on the dtk specifically is what right and they also said i think they said that these issues will not you know it there won't be the same issue with the real mac hardware whether that means the page size will change on the real mac hardware or whether they think they will have sorted out the issue with microsoft i don't know but i recall hearing something like that
00:48:44 Marco: Oh, that's interesting, because I interpreted the documentation on the transition guide for WBC and everything.
00:48:50 Marco: It sounded like they were saying that all our Macs will have 16 kilobyte pages, period.
00:48:57 Marco: And that's why this basically can't work until Microsoft adds support for that.
00:49:04 John: But Apple being Apple, they're not going to tell us what our Mac hardware is going to be like.
00:49:07 John: They just vaguely allude to things that are weird about the DTK that will prevent Windows from running it.
00:49:12 John: And again, this statement from Microsoft doesn't say, oh, well, there's some technical incompatibility and we just make it happen.
00:49:16 John: They said we have nothing further to share at this time, which is the total corporate speak for this is a thing that may or may not happen.
00:49:24 John: But it's in like we have nothing to announce at this time means they're still talking to Apple about it.
00:49:29 John: If they had stopped talking to Apple about it, they would have made a more definitive statement.
00:49:32 John: So my fingers are still crossed.
00:49:33 Marco: What would people do with Windows on ARM on the Mac?
00:49:41 Marco: Isn't the whole point of running Windows to run the vast library of new and very much old x86 software for Windows on your Mac?
00:49:50 Marco: Is there that much demand for Windows?
00:49:52 John: the other aspects of windows that you'd want to run windows for arm on the mac i mean i bet a lot of people run just the microsoft apps outlook and you know you know all the the excel and microsoft all the office applications in their windows form and share interacting with sharepoint and teams and like the whole big why do you bring up that word
00:50:12 John: But that's what Microsoft wants everyone to do.
00:50:15 John: And the other thing is, I've talked about this a million times, it's still not clear that this is going to happen, but it is still a possibility that, you know, once Apple gets off x86, eventually Windows starts going in that direction too.
00:50:28 John: And, you know, basically everybody moves to ARM, like eventually in many years in the future.
00:50:33 John: So it's not ridiculous that that could eventually happen.
00:50:37 John: It's not happening now for sure.
00:50:38 John: So you're right, Marco, you get this Windows-based ARM, like, yeah, I can boot into Windows.
00:50:41 John: What can you do with it?
00:50:42 John: Well,
00:50:42 John: i can run these microsoft applications but like i think a lot of people that's all they do all day is they run the office suite of applications and you know and then they download chrome and then that's it and they're they're off you know so i don't know i i've wanted to happen it's not going to suddenly make my x86 games run it's not going to make a gaming pc but i i'm kind of holding out hope that the whole sort of pc world moves in slow motion to arm uh over the next many years just because we've had enough of x86
00:51:12 Casey: Moving on, Rosetta, tell me about when code is translated and what's going on there.
00:51:18 John: Yeah, this is a bit of a follow-up on the exact nature of Rosetta.
00:51:23 John: We talked about it going through great pains to be able to do all the things so that you can even load Intel plugins and everything like that.
00:51:31 John: There are limitations to what they've decided to implement and limitations that they didn't implement for the PowerPC transition, I think, which caused them a lot of pain, I think, to learn from.
00:51:41 John: But before we get to the first thing is that the code translation thing where, you know, it'll translate statically your application on install or on first launch or whatever, and then it keeps that code around so it doesn't have to do it again.
00:51:52 John: That translated code also participates in the code signing process, too, which is nice.
00:51:57 John: So the signature will encompass the translated code, so you're not more susceptible to hacking just because you have it translated, in theory, if they did their job right.
00:52:04 John: So that's going the extra mile in security.
00:52:06 John: But unlike, I think, maybe some person who has a better memory than me can correct me, unlike, I think, 68K and PowerPC, there's no mixed mode.
00:52:14 John: you can't if you are a intel process running on arm in translation you can't load arm plugins and vice versa like in a single process you can't have the two types of code mixing together with each other right but you can load plugins across architectures as long as use xpc uh apple's cross process communication thing where you spawn another process so say you're a native arm mac but you want to load a plugin that's intel only like it's a binary intel only plugin
00:52:41 John: You can do that if you do it in a separate process and communicate through XPC.
00:52:44 John: You just can't do it in the same process.
00:52:47 John: My vague recollection is that Apple did support mixed mode, which is an amazing feat if you think about it.
00:52:51 John: Like your app is running one instruction set and your plugin is running the other and they're both in the same memory space, but one of them is being translated, right?
00:52:58 John: But that is tricky and adds all sorts of complications that they just as soon avoid.
00:53:03 John: So I think they didn't do it for Intel and they're not doing it again for this one.
00:53:07 Marco: We are sponsored this week by Mack Weldon, better than whatever you are wearing right now.
00:53:13 Marco: Mack Weldon will be the most comfortable underwear, socks, shirts, undershirts, hoodies, sweatpants, and more that you will ever wear.
00:53:23 Marco: They believe in smart design, premium fabrics, and very simple shopping.
00:53:28 Marco: Their site is a pleasure to use.
00:53:29 Marco: There's no weird gimmicks, sign up here for our newsletter, none of that stuff.
00:53:35 Marco: It's just really easy to get in, get out, find what you're looking for, and it is really good stuff.
00:53:40 Marco: This is what I wear most of the summer, and in fact, all year long, I'm at least wearing their underwear.
00:53:45 Marco: They're actually kind of famous for their underwear.
00:53:48 Marco: It's really nice underwear.
00:53:49 Marco: This stuff, it looks good,
00:53:52 Marco: And it performs well, too.
00:53:54 Marco: It's good for everything from, you know, going out to everyday life to workouts to whatever, wherever it takes you.
00:54:00 Marco: They have a line of silver underwear and shirts that are naturally antimicrobial.
00:54:05 Marco: This means they eliminate odor naturally.
00:54:08 Marco: And this, I wear these all summer long.
00:54:10 Marco: I am always wearing a Mack Weldon silver T-shirt all summer long.
00:54:14 Marco: The whole rest of the year, I'm wearing their underwear every day.
00:54:16 Marco: I wear a lot of their socks.
00:54:18 Marco: I wear a lot of their t-shirts, a lot of their hoodies, their undershirts.
00:54:21 Marco: I work out in their sweatpants on the shorts.
00:54:24 Marco: They're just a wonderful brand.
00:54:25 Marco: See for yourself at macweldon.com slash ATP.
00:54:29 Marco: You'll also see they now have a totally free customer loyalty program called Weldon Blue.
00:54:34 Marco: Level one, you get free shipping for life.
00:54:37 Marco: Once you reach level two by spending $200, you start getting 20% off every order for the next year.
00:54:43 Marco: So see for yourself, it is quite wonderful.
00:54:46 Marco: MacWeldon.com slash ATP for 20% off your first order using promo code ATP.
00:54:54 Marco: So once again, MacWeldon.com slash ATP, code ATP for 20% off your first order.
00:55:00 Marco: I love MacWeldon's clothes and I think you will too.
00:55:03 Marco: Thank you so much to MacWeldon for sponsoring our show.
00:55:09 Casey: Big Sur on existing systems.
00:55:12 Casey: I have put Big Sur on an external drive for my iMac Pro.
00:55:17 Casey: I attempted to do it on the internal, and we'll talk about that in a second, but I couldn't resize my existing container.
00:55:24 Casey: I get my terminology wrong, but apparently...
00:55:26 Casey: Even though it's a four gig drive and I'm only using like half of that right now, I couldn't get disk utility to resize it.
00:55:32 Casey: Maybe I could have done some command line jockeying to do it, but I just gave up and put it on an external.
00:55:36 Casey: And then on my shiny new MacBook Pro, it is on the external and I did...
00:55:41 Casey: I was very thankful to see Daniel Joukot's tweet that warned us not to put it on a... Well, jump in and save me here, John.
00:55:49 Casey: What is the normal way you used to do it?
00:55:51 John: Yeah, so one of the advantages of APFS is within a given APFS container, you can just make volumes all day long.
00:55:58 John: You can just keep adding volumes.
00:55:59 John: Each one of them can be the full size of the container.
00:56:01 John: You can add 100 of them.
00:56:01 John: It doesn't matter.
00:56:02 John: I don't know.
00:56:02 John: There's probably some limit.
00:56:03 John: But making volumes inside an APFS container is cheap because they share all the space with each other.
00:56:08 John: So you might think, and I think we did this with PathOS, is if you have APFS...
00:56:11 John: oh i'll just make a new container and then i'll install the new operating system on that new or make a new volume within this container and i'll install the new operating system on the new volume and you don't have to worry about partitioning it or anything like that it's just like oh yeah you all get all the space and then you they'll just fight over who actually gets the space right but then when you're done with that os you can just delete that volume freeing up all its space and returning it to the other thing no resizing partitions no none of that stuff it's all dynamic right
00:56:35 John: big sir i'm sorry the show is getting to you too late if you're thinking of if you're listening and thinking of installing big sir do not do this with big sir do not take an existing apfs container and quickly make a new volume in it and say great i'm gonna install big sir there because if you do that the limitation is that any other versions of mac os in that same container according to apple uh
00:56:55 John: will no longer get system updates.
00:56:58 John: So that's bad.
00:56:59 John: I don't even know why they allow you to do this.
00:57:03 John: Basically, if you have Catalina and you make a volume and you install Big Sur, you're not getting any more Catalina updates on that particular Catalina.
00:57:10 John: I don't even know if you can reverse it by deleting the Big Sur volume.
00:57:13 John: And honestly, I don't even know why it's possible.
00:57:15 John: Also, Apple says that APS containers with non-default allocation block sizes aren't currently supported.
00:57:20 John: But if you know what that is, presumably you know what you're doing.
00:57:24 John: So what Casey was trying to do is, okay, I'm not going to do that.
00:57:27 John: I'm not going to do the easy thing and make a Big Sur container in my existing container.
00:57:34 John: Big Sur volume.
00:57:35 John: I keep saying container instead of volume.
00:57:36 John: The name nomenclature is annoying.
00:57:38 John: I'm not going to make a new Big Sur volume in my existing container.
00:57:40 John: I'm going to make a new partition, like old school, old fashioned separate section of the disk.
00:57:46 John: And to do that, especially with disk utility, it's cranky about like, oh, if you have data and I can't all squish it into one place.
00:57:52 John: And I don't know what the limitations are, but it's limited.
00:57:55 John: Depending on how much free space you have and where things are arranged, sometimes it says, nope, I can't partition your disk.
00:58:00 John: Because in theory, if you could partition your disk in that second partition, you can make a brand new APFS container and put a single volume in it and do Big Sur into that.
00:58:09 John: Never mind that Big Sur makes umpteen volumes on its own.
00:58:12 John: There's a reason for this, and maybe we'll get to it later depending on how much time we have, because Big Sur makes a bunch of changes to APFS.
00:58:18 John: It makes a bunch of changes that are not compatible with Catalina.
00:58:21 John: So if you're thinking of trying out Big Sur, give it its own partition for sure, but to be safe, give it its own empty disk with nothing else on it that you won't care if it screws it up in some way.
00:58:34 John: Or just don't run the beta.
00:58:35 John: That's also a way to do it.
00:58:37 Casey: It's so pretty, though.
00:58:38 Casey: It's so pretty.
00:58:39 John: Wait, what?
00:58:41 John: Casey really likes it.
00:58:42 John: We'll get to that later.
00:58:44 Casey: Oh, no.
00:58:45 Casey: Don't hate on me, old man.
00:58:46 Casey: It looks good.
00:58:47 John: Hey, it's just Marco saying, oh, no.
00:58:49 John: Not me.
00:58:50 Marco: I have different things to say.
00:58:51 Marco: You should center them so they're easier to listen to.
00:58:54 Casey: Well, yeah, the dialogues are terrible.
00:58:56 Casey: The dialogues are terrible and notifications are terrible.
00:59:00 Casey: We'll get there.
00:59:01 John: We don't have to do this thing because we already talked about the bootleg stuff.
00:59:04 Casey: Excellent.
00:59:04 Casey: Well, I will say thank you, though, to all the people who have signed up for ATP membership.
00:59:10 Casey: We really appreciate it.
00:59:11 Casey: There's no timetable on the bootleg, obviously, but it is forthcoming.
00:59:14 Marco: Coming soon.
00:59:14 Casey: After I rewritten my entire app in SwiftUI.
00:59:17 Casey: Oh, it's never coming.
00:59:18 Casey: I take it all back.
00:59:19 Casey: Definitely before that.
00:59:21 John: Someone put in here a point that is worth making.
00:59:24 John: If and when the bootleg does appear, it will have curses in it because we're not going to edit it.
00:59:28 John: Like, that's the whole point.
00:59:29 John: It's not edited.
00:59:29 John: So if you really are dying to hear Casey curse with that bleeps, which honestly I think is less funny than with the bleeps, then you'll get that as part of the bootleg.
00:59:39 John: adp.fm slash join.
00:59:41 John: The bleeps are funnier than actual curse words.
00:59:45 John: That's what I think, too.
00:59:46 John: But unedited is unedited.
00:59:48 John: So you get what you get.
00:59:52 Mm-hmm.
00:59:52 Casey: All right.
00:59:53 Casey: Let's move right along and let's continue talking about WWDC.
00:59:58 Casey: And I assume we left off where the top of this document left.
01:00:02 John: I shovel things around.
01:00:03 John: I tried to.
01:00:04 John: I did my best.
01:00:05 Casey: All right.
01:00:05 Casey: Well, I appreciate it.
01:00:06 Casey: You shouldn't have done homework, but I appreciate the fact that you have messages in Big Sur specifically.
01:00:13 Casey: Screen sharing still there, John?
01:00:14 John: yeah someone tweeted at me early on like oh screen sharing is gone no it's just hidden where it's always been hidden it's always weird to find it to like click on the the icon of the person you're talking to but it's there you can do screen sharing and messages i mean i didn't actually try it but the feature still exists they they ported it to the catalyst app so i was very excited about that although unfortunately because it is a catalyst app now the apple script dictionary is gone which some people are upset about because apple script is on its way out and there's no good replacing except for shortcuts which is not really a replacement but anyway
01:00:42 John: uh that's one thing to note also anders norberg uh said that you can use command k in the finder you know the thing that brings up connect to server dialogue and if you enter an apple id it will send an invite which is not true because i'm like that can't possibly be true i tried it i'm like it's it's not true right but if you do vnc colon slash slash
01:01:02 John: someone's apple id it will launch the screen sharing app and screen share to that apple id which is almost as good so you can't just enter an apple id right and you know by the way and apple ids these days unless you're still hanging on to an old one they all look like email addresses so it's weird it's not like a it's not clearly not treating it as a as a url because vnc colon slash slash you know jdoe at example.com
01:01:25 John: does not say look up the jdo example.com apple id that's not that it tries you know anyway it works so if you want to try that you can do it but well we'll put in the show notes the full path to the screen sharing app because you say screen sharing app my mac doesn't have a screen sharing app it does there's lots of stuff hidden in system library core services applications and the screen sharing app is one of them and apparently it understands how to find people based on their apple id so try it next time you're trying to help somebody out with something they have to be on a mac obviously
01:01:50 Casey: although the vnc nature of the url means you can probably connect to them if they have a vnc server but that gets complicated yep i use uh command k constantly to do this sort of thing you know vnc into my other macs or and so on and so forth uh to do smb colon slash slash to get to samba shares on my synology yep this is a useful tip i had no idea that you could do it with an apple id that's very cool
01:02:14 John: it's easier in messages like because you'll be messaging because you're probably using this for tech support so if that other person is on a mac and they're on a reasonably modern mac message with them and then while you're in messages you can find the screen sharing thing by clicking on the icon of the person and it says ask to share their screen and you'll be off to the races behind the scenes it's just going to launch a screen sharing app anyway
01:02:31 Casey: One delightful thing that came from me putting Big Sur on both my machines, other than looking at how beautiful it is, right, Marco, is that when you do that, it seems to, from what I can tell, change for the system in its entirety, that it brings back the boot noise.
01:02:48 Casey: And I guess this is optional in Big Sur or optional in Catalina?
01:02:53 Marco: In Catalina, you can do it with that NVRAM hack thing that I did on my laptop that a lot of people did.
01:03:00 Marco: But in Big Sur, it is now an actual checkbox in System Preferences that you can turn on.
01:03:06 John: There you go.
01:03:07 John: Very cool.
01:03:07 John: Yeah, and I did mess with the NVRAM thing.
01:03:09 John: I forget when it went away.
01:03:10 John: Did you have the exact date?
01:03:12 Casey: I thought it was Catalina that it went away.
01:03:14 Marco: It wasn't an OS thing.
01:03:15 Marco: It was hardware-based.
01:03:16 Marco: It went away with all of the 2016 wonderful redesigns of the MacBook Pro and then all the desktops that followed after that.
01:03:24 Marco: So the iMac Pro didn't have it.
01:03:27 Marco: I think anything with the T2 and even the T1...
01:03:32 John: didn't have about that i mean this is why it's confusing for people because a lot of people are like oh thank god i've always wanted to turn that off and i was like but it's been off for years but it's only like it's only on hardware if you buy a new mac frequently like it started the way you would experience it going away is you would buy a new mac right that's the only way you would experience it didn't go away on existing macs right so if you have an old mac it never went away for you
01:03:54 John: uh and now you see this checkbox you're like finally a way to get rid of it but if you've been buying a new mac every year or something it went away for you a while ago and now it's back who would do that yeah so there's a i did the the nvram thing turn it back on just because i like the bong right uh but when i installed and installed big sir
01:04:16 John: The only bong I ever liked.
01:04:17 John: When I installed Big Sur, I checked the checkbox.
01:04:23 John: I mean, I don't know.
01:04:23 John: I forget if it was checked by default.
01:04:24 John: I had already messed with the NVRM thing manually.
01:04:27 John: But I made sure it was on again in Big Sur.
01:04:30 John: And then when I rebooted Big Sur, it made the bong sound, but it was at maximum volume.
01:04:36 John: So loud that it was distorting the tiny, terrible little speaker on my Mac Pro.
01:04:40 John: And even if it wasn't distorting it, it was too loud.
01:04:43 John: Not that that speaker is that loud, but you don't want...
01:04:46 John: to be startled at literally maximum volume like how how the hell did that change is there a volume control i did a bunch of googling a bunch of old macs did have like a system volume thing and vram my mac doesn't but it doesn't matter the system volume is correct i couldn't figure out how to make it quiet again so i unchecked the checkbox i had to go back to silent bong i think it's probably just a big sir beta bug like i think if i was justin catalina i wouldn't have to worry about that but most of the time i'm rebooting i'm rebooting into big sir so that's when i hear the bong so
01:05:11 John: I've got some startup sound issues.
01:05:13 John: But anyway, I'm glad there is a checkbox for it.
01:05:16 John: But, Paul, of all the weird things to give a checkbox to, it's like, look, make up your mind.
01:05:20 John: Are they going to have a startup chime or are they not?
01:05:22 John: You got rid of the Happy Mac and you didn't have an option to bring it back.
01:05:24 John: It just went away.
01:05:25 John: The startup chime went away several years ago on new hardware, but now it's back.
01:05:30 John: I mean, I suppose it serves some diagnostic purpose, but in general...
01:05:33 John: People love to be able to silence that because many librarians say that they are glad that it is silent on new Macs because people are restarting their computers in the middle of the library and constantly going bong.
01:05:46 Casey: Well, that took a turn I was not expecting.
01:05:49 Casey: Are you part of their crack marketing team, John?
01:05:51 Casey: We just didn't know it.
01:05:52 John: Think about this.
01:05:53 John: Of all the things to give options for, we're going to change the GUI of the general preferences or something, and we're going to put a checkbox with a startup chime?
01:06:02 John: So weird.
01:06:03 John: I wonder if it'll last until release.
01:06:05 Casey: That's all right.
01:06:06 Casey: All right.
01:06:06 Casey: So what version is Big Sur?
01:06:07 Casey: Is it 10.16 or 11.0?
01:06:09 Casey: What's the story here?
01:06:10 John: In the last show, it's like, oh, don't tell us because by the time you tell us, we'll have already known because we recorded on the day of the keynote and we didn't know anything yet.
01:06:19 John: But I figured by the next day, we'll have this all sorted out.
01:06:22 John: It turns out the situation is way more complicated than I thought it would be for reasons that are not quite explicable.
01:06:28 John: So you name doesn't give you any good info other than it's Darwin 20.0 instead of 19.5, which is what Catalina was.
01:06:37 John: If you do SW underscore verse to give software version on and you're running Big Sur, you get product version 10.16.
01:06:45 John: And if you look at the about screen, as we saw in the keynote, sure enough, you get 11.0.
01:06:51 John: All right.
01:06:51 John: Well, that's like, OK, well, fine.
01:06:52 John: Maybe the real version is 10.16, but like they just put 11.0 in the about box.
01:06:56 John: It's just the marketing version.
01:06:57 John: Right.
01:06:58 John: Then you go into Xcode and you look at your Mac OS deployment target and you can choose Mac OS 10.16 or you can choose Mac OS 11.
01:07:07 John: And that's where I started to get real confused and like, okay, what's going on here, right?
01:07:13 John: So a lot of people have been experimenting with this.
01:07:16 John: I forget who this was.
01:07:17 John: Maybe this was Guy Rambeau.
01:07:19 John: He said he built an app with a deployment target set to 11.0.
01:07:22 John: Built a Mac app with a deployment target set to 11.0.
01:07:25 John: and you run it on Big Sur running on an Intel Mac.
01:07:28 John: Like, this is not the DTK or anything.
01:07:30 John: You build it on an Intel Mac, and you run it on an Intel Mac on Big Sur, and you get an alert that says, you can't use this version of this application with this version of macOS.
01:07:40 John: You have macOS 10.16.
01:07:42 John: This application requires macOS 11.0 or later.
01:07:44 John: Yeah.
01:07:45 John: Yeah.
01:07:48 John: Yeah.
01:08:09 John: but you pick the deployment target that's newer than the machine you built it on right so the homebrew folks have been looking into this because they've got to deal with this stuff as well and there's a github thread that we'll link in the show notes someone said uh i'm told that for intel sw verse reports 10.16 but if you're on the on apple silicon it reports 11.0 none of us have our ddk so we can't confirm that at the time this was written nobody had any ddk
01:08:33 John: uh fraser hess said he confirmed this with someone in a lab in a later beta 11.0 will get reported to apps but apps built on 10.15 and all your sdks will get the 10.16 reported to them so that's saying if you build it on the 10.15 sdk like if you like if you use that bundle of libraries and everything to build your thing then your app will get 10.16 reported but apparently in a later beta you'll get 11.0 so i don't know i don't know where we stand here but
01:09:02 John: clearly the the big sur beta that we're all running reports 10.16 clearly it really is 10.16 but clearly xcode says you can target 11.0 whatever the hell that is and since we don't have our dtks and even after we get them we probably can't say they may report 11.0 from sw verse so it is all very confusing uh i'm sure it will get sorted out in some reasonable way apple seems very committed to the 11.0 thing so i feel like that's where we're going
01:09:27 John: regardless of any weird 10.16 things that might be there for backward compatibility with, you know, apps built against 10.15 SDK.
01:09:35 John: And the one minor point related to this, which has come up in the discussion in the last week is what happens next year?
01:09:41 John: Do we get 11.1 or 12.0?
01:09:43 John: 11.1 hmm i had just assumed 11.1 until i heard lots and lots of people talking about i'm like well most of the people in this world are used to ios which doesn't do that ios does you know 13.0 13.0.1 like and the next year they go to 14 right that's what ios has always been doing so i'm like well just because mac os did 10.0 10.1 10.2 doesn't mean that it has to keep doing that
01:10:09 John: Maybe they do 11 this year and maybe they do 12 this year.
01:10:11 John: So I have no idea what they're going to do, regardless of this whole 10.16 business.
01:10:15 John: I feel like that will get resolved.
01:10:18 John: it would make some sense to make mac os do the 12 13 14 i think that would be potentially a mistake because like i said ios 14 is already the numbers are getting big like we were going to be running ios 36 it's kind of weird whereas the if you do 11 dot something you got a long runway before you run out of 11s
01:10:39 Marco: I don't know.
01:11:05 Marco: fill it with your content, configure it how you want, and then it stays running without your involvement at all if you don't want.
01:11:13 Marco: So you don't have to worry about things like software upgrades or patches or having to change to the latest version of plugins or you don't have to worry about setting up caching if somebody big links to you or you got a big spike in traffic.
01:11:26 Marco: You don't want to start dropping customers if you got a nice link from somebody.
01:11:30 Marco: You want your site to stay up and running.
01:11:32 Marco: And Squarespace just takes all that off your plate.
01:11:35 Marco: So you can focus on your business, or your portfolio, or your hobby, or whatever your site is.
01:11:41 Marco: Squarespace takes so many little problems off your plate, so you don't have to worry about them.
01:11:45 Marco: And you can focus on making your content, and Squarespace makes it look awesome.
01:11:50 Marco: You can have, of course, all sorts of dynamic functionality too, built-in calendars, events, galleries, all sorts of other stuff, even complicated things normally to host elsewhere, like shopping.
01:12:00 Marco: You can host entire storefronts on Squarespace, you can host podcasts on Squarespace,
01:12:04 Marco: All of it is very well supported.
01:12:06 Marco: None of it requires any coding or any kind of manual text entry of JavaScript or CSS, nothing like that.
01:12:13 Marco: So even if you're not a web developer at all, that doesn't matter.
01:12:16 Marco: Squarespace is all visual.
01:12:18 Marco: It's all what you see is what you get.
01:12:19 Marco: You can preview stuff.
01:12:20 Marco: You can drag stuff around.
01:12:22 Marco: See for yourself at squarespace.com slash ATP, and you can start a free trial site with no credit card required.
01:12:29 Marco: When you decide to sign up for Squarespace, make sure to head back there, squarespace.com slash ATP, and use offer code ATP to get 10% off your first purchase.
01:12:37 Marco: That's squarespace.com slash ATP, offer code ATP for 10% off your first purchase.
01:12:43 Marco: Thank you so much to Squarespace.
01:12:44 Marco: Start building your website today and make a beautiful website with Squarespace.
01:12:49 Casey: All right, tell me about APFS Time Machine and booting changes.
01:12:55 John: So here's all the stuff.
01:12:56 John: I was so sad they didn't have a file system session at WWC where they talk about this stuff, but they didn't.
01:13:00 John: But guess what?
01:13:01 John: File system stuff changed in Big Sur a lot in ways that have an impact on your life to the point where, as I think everyone who has run Big Sur has found out, when you reboot back into Catalina, Catalina does not know what the hell to make of the stuff you just put Big Sur on.
01:13:15 John: It will complain in the Finder that some file system is incompatible.
01:13:20 John: Casey, if you've done this, have you seen a little volume?
01:13:22 John: Do you have volumes on your desktop?
01:13:23 John: You probably don't, do you?
01:13:24 Casey: No, I don't actually.
01:13:27 Casey: Only removable ones.
01:13:28 Casey: But yeah, every time I boot back into Catalina on my laptop, which is the one that I did the partition dance on, and so it can still see one or more of the 34 volumes or containers that's created during the Big Sur installation process.
01:13:45 Casey: Every single time it complains and moans that there's an incompatibility or something.
01:13:50 Casey: I forget exactly what the dialogue is.
01:13:51 Casey: I think I tweeted about it.
01:13:53 John: It's an incompatible file system.
01:13:54 John: It's basically saying one of these volumes, I don't understand the format.
01:13:58 John: It's newer than I can handle, which is absolutely true.
01:14:00 John: This is working as designed.
01:14:02 John: That's why file systems have version numbers so that the operating system can know when it's looking at a file system that it doesn't know how to handle and therefore not touch it and complain to you about it.
01:14:11 Casey: incompatible disk this disk uses features that are not supported on this version of mac os totally true good very good error message there um do you see though do you see a mounted volume called update i believe so let me look hold on i do have it booted so just give me one second we'll put in some jeopardy music or something uh what do i have here
01:14:30 John: uh oh no wait i'm sorry i'm in big sir that doesn't help us never mind uh i would have to if you're in catalina and you and you have your big sir disconnected you will see this random volume called update like what the hell is that is that is that malware am i like is someone hacking me here why is it did i leave a disk image mounted why is there a volume called update
01:14:50 John: So it's all very confusing and it would have really helped if there was a session explaining all this because some of the features are pretty cool.
01:14:55 John: Now, the first thing to know about Big Sur and Apple on Mac OS on ARM and all that stuff is that for predictable reasons, basically the process of booting.
01:15:06 John: and updating the mac on arm is very much like it is on the ipad and the iphone because why wouldn't it be like it's you know that's the hardware that's the system they have there is actually a wwdc session vaguely related to this which is uh explore the new system architecture of silicon mac apple silicon max we'll put the link in the show notes to that one lots of interesting stuff there there are many more technical details that they didn't go into related to the file system one of which is that you know we know in catalina like the system like the os volume was read only
01:15:34 John: Right.
01:15:34 John: And there was a separate data volume with your stuff on it.
01:15:36 John: And then it would sort of merge them together for you to protect the system volume.
01:15:40 John: Well, in iOS and iPadOS, it's even more strict than that.
01:15:44 John: And so it is, too, on Big Sur, on all hardware, not just ARM hardware.
01:15:49 John: the boot volume is not just read-only.
01:15:53 John: It is now what they call sealed.
01:15:55 John: It is a cryptographically signed system volume where every single byte of data has associated checksums.
01:16:03 John: So we've talked in the past about data integrity and data rod or whatever.
01:16:07 John: Well, one volume that is not going to experience data rod without being detected is
01:16:13 John: is a big sir uh operating system volume because it's read-only first of all and if any of the bits get flipped it will know because every piece of data and metadata is checksum all the way up to the very top checksum and it's cryptographically signed basically
01:16:29 John: the running system will know, has any part of this operating system been modified in any way, either through corruption or a malicious thing or whatever.
01:16:38 John: So that's great.
01:16:39 John: That's great for security, and it's great for Apple's first foray into actual data integrity.
01:16:44 John: The bad thing is the only volume that you can do that to right now is the system volume, and that doesn't have any of your data on it.
01:16:50 John: It's just for the operating system that doesn't change.
01:16:53 John: So that's kind of a shame.
01:16:55 John: They basically boot off of a...
01:16:57 John: read-only snapshot of that because apfs support snapshots the updating process is just like it is on your phone i'm assuming your phone and your ipad already do this but uh practically speaking and technically speaking the best and cleanest way to do an update with apfs is let the system run off a snapshot that's read-only
01:17:16 John: And then do your update in essentially another.
01:17:19 John: So like you would, you know, the update system can mount the volume again from someplace other than that snapshot in read write mode and put the update there, like write all the update files, write, you know, write essentially a new cryptograph cryptographically sealed volume.
01:17:33 John: The old volume your system is running off.
01:17:35 John: It's not changing.
01:17:36 John: Every single byte of it is exactly the same.
01:17:37 John: It's running off a snapshot.
01:17:39 John: But then the update process in the background while it's doing the update is building and signing a new sealed volume.
01:17:46 John: And then when you reboot, it just is a switcheroo and say, now we're going to boot from that sealed volume.
01:17:50 John: And you can verify the signatures and integrity of that volume.
01:17:54 John: So you either get all the update or none of the update.
01:17:56 John: And you can be sure that the update didn't screw up, that there wasn't a bad sector.
01:18:02 John: no whatever they call them in ssds there wasn't some bit flipped or cosmic ray or something right so the update process is much more reliable it can happen in the background without disturbing your current system and that's great and speaking of things using snapshots time machine i believe since catalina i forget when they did this
01:18:20 John: does it back up from a snapshot so it doesn't have like the painting the golden gate bridge problem where you start painting the golden gate bridge and by the time you get to the other side you have to start over again because the salt has has rotted away the painting i guess it takes you so long time machine hfs plus would essentially say i'm about to up to back up your four terabyte volume so i'm going to start reading files it would read files and it's reading files and it's right into the backup desk and it's reading files it would take hours to do that and by the time it's done anything that happened in the hours that it's been running
01:18:49 John: hasn't been backed up like depending on where it happened in the disc because it's walking it's like painting a bridge it's walking it's going painting painting painting and then someone puts a dirty footprint where you already painted oh now you got to repaint that but if someone puts a dirty footprint before uh you know ahead of where you've painted so far you'll eventually get to that so you have no idea what happened your time machine backup is just like this temporal temporal smear
01:19:12 John: of things that happened on your disk and time machine would do like hey let me let me just go back to the beginning and catch up okay let me go back to the beginning and catch up like you can keep doing that but you always be behind by some window because you're trying to back up essentially a live file system that's being modified when you take a snapshot in apfs one of the great features is like look this is a point in time snapshot of what the disk looks like
01:19:32 John: Nothing is changing in the snapshot.
01:19:34 John: I'm going to back up this snapshot.
01:19:36 John: This is exactly how the entire disk was at point X in time.
01:19:41 John: And no matter how long that backup takes, it's going to be internally consistent, right?
01:19:46 John: So it's been doing that for a while.
01:19:48 John: Last year, they announced that there was a way to do efficient deltas between snapshots.
01:19:53 John: So you could take one snapshot and then an hour later take a second snapshot and you could efficiently say, what's the difference between these two snapshots without like walking over every single file?
01:20:02 John: And that's a big problem with Time Machine.
01:20:04 John: It's always got to say, what's changed since the last time I backed up?
01:20:07 John: Because I need to know what to put in this new backup, right?
01:20:10 John: APFS last year got a feature that made it efficient for you to get that answer.
01:20:16 John: This year, I think, possibly, that Time Machine is finally using that.
01:20:21 John: So the first thing is that, for the first time, Time Machine can back up to an APFS disk.
01:20:26 John: This has not been possible before.
01:20:27 John: Catalina and Pryor can only do a Time Machine backup to an HFS Plus disk.
01:20:32 John: because ahs plus has all its features like hard links to directories and all sorts of mumbo jumbo the next time machine work apfs didn't have those features apfs still doesn't have those features how exactly it's working under the covers i don't know i've just been experimenting with it a little bit
01:20:48 John: First of all, when you back up to an APFS disk, you can't just format a disk as APFS or take an existing APFS disk and say, oh, back up to that one.
01:20:56 John: When you want to choose an APFS disk to be a Time Machine target, Time Machine says, oh, great, well, can I erase that for you?
01:21:02 John: And you'd be like, why do you need to erase it?
01:21:06 John: For me, it was an empty disk.
01:21:07 John: I had a new empty disk.
01:21:08 John: Why can't you just back up to it?
01:21:09 John: Oh, and the other thing is, the first thing I tried, my old Mac OS X reviewer trick is...
01:21:13 John: You just make a second volume on the same disk, and you make Time Machine back up to that, which is terrible.
01:21:18 John: It's not a real backup, right?
01:21:19 John: And Time Machine used to yell at you and say, you know you're backing up the disk to itself, right?
01:21:25 John: But I'd be like, yeah, I know.
01:21:26 John: I'm not actually making a backup.
01:21:28 John: I just want to turn on Time Machine so I can take screenshots for a review, right?
01:21:31 John: You can't do that now.
01:21:32 John: I made a new APFS volume.
01:21:34 John: on my Big Sur volume, and I went to say, okay, I'm going to select that as my backup disk in Time Machine, and Time Machine wouldn't even list it as a selection.
01:21:42 John: It's like, I don't even see that.
01:21:43 John: That's not even an option.
01:21:44 John: I thought they finally got smart and said, don't let people back up to the same disk because that's stupid.
01:21:48 John: But that's not why.
01:21:50 John: time machine can only back up to an aps volume with the role backup apfs has this concept of volume rolls an example of a volume roll is read-only system volume recovery volume there's a volume used for broadband updates you can see where a lot of these volume rolls came from not from the mac right um and like i forget whether there's a bunch of other ones for like
01:22:11 John: firmware updates system software updates pre-boot this is this whole system where i can boot a miniature version of mac os you can have more stuff running uh on the like the login screen where before you decrypt the disk anyway one of the volume roles is backup so basically you need to make a new apfs volume whose role is backup when you just go to disk utility and make an apfs volume it's not a backup volume what's different about a backup volume
01:22:37 John: i don't know something's different they're weird when i made when i tried to go over it to the command line and it was like operation not permitted anytime i tried to do anything you try to run ls in a directory it's like nope what if i do it as root it's like nope sometimes you can poke around in it i think it's still using hard link somewhere because the link count is high but it only shows one volume i think it might be using snapshots
01:22:59 John: And each snapshot is mounted to its own separate volume.
01:23:02 John: Anyway, there's a bunch of weird technical stuff going on in here.
01:23:05 John: We will link in the show notes Apple's new APFS file system reference, which gives you some clue about the capabilities.
01:23:10 John: You can look at all the different volume rolls.
01:23:12 John: It's really a programmer's reference to say, like, what are the values for all the constants and what bits are flipped in the bit fields for each volume roll thing.
01:23:19 John: One paragraph of text about how sealed volumes work and what the checksum data structures are and how many different Shaw variants it uses for the checksums.
01:23:27 John: And it's very complicated, but there was no sort of session explaining all of this.
01:23:31 John: So I had to I didn't want to go too far into this, but I'm trying to figure out basically, are you using snapshot diffing deltas, you know, the future from last year to make backups fast?
01:23:41 John: So I made a backup in Big Sur to a time machine volume.
01:23:45 John: And then I duplicated one, like, one megabyte image.
01:23:49 John: So now I've made a change to the disk.
01:23:50 John: And now I want to run a time machine backup again.
01:23:53 John: And in theory, obviously stuff's going on in the background, so who knows.
01:23:55 John: But in theory, it has at least one file that needs to backup.
01:23:59 John: I did a second backup.
01:24:01 John: I did one backup, and it was clean.
01:24:03 John: I did the second backup, and it completed in one minute and 20 seconds, which may not sound fast to you, but I would encourage you on the Mac of your choice right now that's not running Big Sur, do a time machine backup and just let it finish, right?
01:24:17 John: And the second it finishes, do a second time machine backup.
01:24:20 John: which you would think is basically a no op backup right especially if it's working off snapshots and you haven't been doing anything obviously some files have changed but it should you think like that's as fast as a backup's ever going to be in fact do it five times do a time machine backup wait for it to finish do another do another do another see how fast you can make a time machine backup in catalina i tried to run this experiment before the show and it was taking a very long time to do a backup like i just did the fastest one i could get was five minutes
01:24:48 John: Does that mean that Big Sur is using the APFS diffing?
01:24:52 John: No, it doesn't.
01:24:52 John: It's a new disk.
01:24:54 John: It doesn't have any data on it.
01:24:55 John: The FS event log isn't very long.
01:24:57 John: It could be doing everything the old-fashioned way.
01:24:59 John: So the jury's still out on that.
01:25:01 John: Anyone at Apple, I asked on Twitter and got no response.
01:25:03 John: If there's someone at Apple who can tell me definitively if Time Machine is using the...
01:25:10 John: inter snapshot efficient diffing mechanism to make time machine faster let me know i'm not obviously brave enough to try it on my real system with my real data uh but so far it seems like there's a possibility that time machine might be faster and even if it's not i do like the idea of backing up the apfs
01:25:28 John: in one of these special volumes that's read only and has all these snapshotting features and everything.
01:25:33 John: Not going to help me backing up to my Synology, unfortunately, because that is over SMB and is decidedly not APFS on the other end of it.
01:25:40 John: But anyway, I was excited to learn through various other people's, you know, tweets and articles that there are a bunch of changes related to this.
01:25:48 John: We'll link in the show.
01:25:49 John: It's the Eclectic Light Company.
01:25:52 John: Yeah, Eclectic Light Company, I think.
01:25:54 John: Howard Oakley is the person who runs it.
01:25:56 John: uh he had two articles about this about the backups and the sealed system volumes so check those out if you're interested do you feel better having some apfs news i know you were yearning for it i do i mean like this has been the slowest the slowest thing ever after they introduced it it's like when are they going to make time machine but i think i talked about it on the show before wwc and the answer seems to be that yeah they did a bunch of apfs related work to time machine so i'm excited to change all my local backup volumes to apfs and
01:26:22 John: Even though they're spinning disks and it's going to be gross because APFS is bad on spinning disks.
01:26:26 John: But if the inter-snapshot diffing is fast, I'll take it.
01:26:32 John: Because it's certainly not fast now back up to HFS+.
01:26:35 John: I can tell you that.
01:26:37 Casey: We haven't done Ask ATP in forever and a day.
01:26:39 Casey: I'm inclined to say let's do some, especially since if you indulge me in the after show, that's going to take a while.
01:26:44 Casey: I disagree.
01:26:46 John: Notice in the show notes what it says.
01:26:48 Casey: Say where?
01:26:50 Casey: Oh, go to Apple platform.
01:26:52 John: Go to, you know, go to, go to fail.
01:26:55 Marco: You put a go to statement in the show.
01:26:57 John: I've done this multiple times in case he continues not to follow him.
01:27:00 John: He's a bad basic interpreter.
01:27:03 John: I'm sorry.
01:27:04 Casey: Why wouldn't you just copy and paste?
01:27:05 John: Because I have these long sections and I had to put dividers.
01:27:08 John: Like we went through like a quarter of follow-up and then I had the stop here.
01:27:12 John: And then I would go through like a couple of topics and then I say stop here.
01:27:16 John: And there's more WWDC if you keep scrolling.
01:27:18 John: There always will be.
01:27:20 John: Right.
01:27:20 John: But I want to skip down to this topic, which just touches on a bunch of stuff that Marco talked about earlier.
01:27:26 John: And I think it's, you know, a lot of people have been asking about it.
01:27:28 John: I want to talk about it before, you know, time goes too long.
01:27:32 Casey: First, exclamation, exclamation, one, one, one.
01:27:35 John: Yes.
01:27:37 Casey: All right, John, tell me about Apple platform unification.
01:27:40 Casey: So it seems clear to anyone that's paying any bit of attention that everything seems to be muddied.
01:27:46 Casey: Everything's getting squished into everything else.
01:27:48 Casey: What's the trash compactor from Star Wars?
01:27:51 Casey: I don't even remember what it's called.
01:27:52 Casey: That's happening, right?
01:27:54 Casey: Trash compactor.
01:27:58 Casey: Oh, I assumed it had some ridiculous name or some world that it was a part of.
01:28:01 Casey: It doesn't matter.
01:28:02 Casey: Anyway, the point being that everything seems to be getting squished together.
01:28:05 Casey: So what's going on here?
01:28:07 John: Well, this gets to what Marco was talking about earlier about, like, what's the deal?
01:28:11 John: I mean, all the stuff he was talking about.
01:28:14 John: What should I write my new UI in?
01:28:17 John: What's happening in the world of applications in terms of do they do custom controls or do they do use all the standard stuff?
01:28:23 John: And what is the nature of the standard stuff?
01:28:25 John: Does it support all sorts of dynamic type and sizing?
01:28:27 John: Is it not pixel perfect?
01:28:29 John: Are you trying to use standard controls so you can follow along with Apple's changes in fashion?
01:28:33 John: uh and on the more technical level i think there still is this question mostly unanswered by anything apple has said which is you've got a lot of apis apple for a lot of different platforms what's your guidance on what people should do and apple's answers they're i mean they've been fine but they say what they always say uh which is like okay well if you're you know if you're making a thing for
01:28:58 John: uh the phone and you have existing code base and ui kit you can keep using that if you got an existing app kit app you keep using that if you want to try swift ui you can but of course it's kind of new and then catalyst is for you know like we know all the answers like there are straightforward answers if you ask any from apple there's an answer they can give you and you say yeah sure that makes sense right
01:29:13 John: But people want to know at this point is, okay, but what's the plan?
01:29:18 John: And Apple's not big about telling you the plan for good reasons.
01:29:22 John: Like, it's a fairly good strategy not to tell people the plan.
01:29:25 John: But I think, you know, here's the thing with plans.
01:29:29 John: You can have a plan, but...
01:29:31 John: the plan might change.
01:29:32 John: And if you didn't tell anybody about the plan, they don't have to know that you have to change the plan.
01:29:36 John: That's Apple's general strategy with this.
01:29:38 Casey: Hello, air power.
01:29:39 John: Yeah.
01:29:40 John: Well, yeah, don't, and don't announce the product, but, but even for stuff like this.
01:29:43 John: So, um, two angles.
01:29:46 John: One last show I talked about like, Oh, it was cool when we, you know, I had a Mac pro that was Intel and I got a machine that could run like unity stuff because Mac OS 10 was Unix and I could run all the Mac native stuff.
01:29:57 John: And also I could run all the windows and windows games, right?
01:29:59 John: It was a,
01:29:59 John: one piece of hardware that i could buy that did everything it was a you know first class pure boot right into windows play all the windows games 100 extremely expensive fancy windows pc also it was an awesome mac also it had a bunch of unix stuff right the machine that could do anything uh and on the keynote episode
01:30:20 John: Uh, we talked about how, well, okay, you're not gonna be able to do all that Intel windows stuff anymore.
01:30:25 John: And arm windows is currently not a thing, but what you have instead is a single platform that can run all the things as long as all those things are Apple.
01:30:36 John: And there's a lot of, I mean, not all of them, but there's a lot of Apple things, uh,
01:30:40 John: That announcement that your Mac will be able to run iPad and iPhone apps in addition to Mac apps and a difference in addition to Catalyst apps.
01:30:46 John: It seems like the Mac has become, in a slightly different way, the platform that runs everything.
01:30:52 John: Which brings us to this Apple platform unification question again.
01:30:55 John: So where are they going with that?
01:30:57 John: The API question is tied into that.
01:31:00 John: If you had asked someone at Apple many years ago...
01:31:03 John: I see you've got this new operating system and you have an API called carbon and this cocoa thing with this weird language with angle brackets and
01:31:13 John: i'm starting a new mac app what should i use that answer has changed like they you know if you'd asked about carbon early like oh if you have an existing map app of course use carbon that's what it's there for it so you can bring your existing mac apps to our new platform you'll have to change some stuff but you know you can reuse a lot of your code use carbon if you're starting a new app try out this coco thing don't be scared of the square brackets they won't hurt you like it'll be cool right
01:31:38 John: eventually and there was a diversion into java let's just set that aside all right eventually uh lots of people started to make new objective c apps and they're like wow a single person can make a really full featured app with coco oh but some controls only available in carbons but you can mix carbon in coco oh well there's here's a new wwc session about this cool new layout or control thing oh but it's only in coco oh but this one's only in carbon hey apple why do you why are carbon why do carbon and coco not have the same feature set
01:32:07 John: Because if I've got an existing Carbon app, I want this new control, but it's only Coco.
01:32:10 John: And some Coco app wants this new thing, but it's only in Carbon.
01:32:13 John: And why do I always have to use Carbon?
01:32:14 John: I use QuickTime and do video things.
01:32:15 John: And like, what's the deal?
01:32:17 John: What is your API strategy?
01:32:19 John: And Apple would never tell you, like up until the very last moment, they would never say, just write a thing in
01:32:24 John: coco because we're getting rid of carbon case you haven't figured that out just write it in coco they would never say that because you wouldn't want to say that to like you know adobe whose photoshop was you know brought over as a carbon application right right up to the point where they did an air power speaking of what casey said they announced a carbon for 64 bit and the last minute they said you know what
01:32:45 John: going to 64-bit is a great time to finally cut the cord on carbon and they said ah even though we announced carbon for 64-bit and actually i think they shipped some version of it in some dev build or something we're not actually going to do that so if you want your app to come over to 64-bit which you probably do eventually because we're going to eventually stop selling 32-bit max you know you can see they're writing on the wall coco is the future
01:33:08 John: But at no point prior to that would they have told you, oh, you should do everything in Cocoa, Carbon is dead.
01:33:14 John: But Carbon was a dead API walking for a long time.
01:33:18 John: And you could have arguments about it and you could say, well, the Finder is in Carbon and Apple supports Carbon and it's a peer and they've been getting better about putting both features in both things all the time.
01:33:28 John: But a good rule of thumb is...
01:33:31 John: if you picture all the api used to write for a platform on like a timeline from left to right the past is on the left the future is on the right and each api has a starting point and an ending point the apis whose starting point is farther to the left they're usually going to stop sooner now it's difficult for things like carbon because like how far back do i do that well carbon is brand new with mac os 10 it starts in year one in 20 2001 well
01:33:56 John: not really because carbon has its roots in mac toolbox stuff which goes back to like 1984 yeah and coco that started in uh mac os 10 right well not really it's from next and that's actually from the late 80s but if you line those things up and you push them back to the farthest point the mac stuff is older than the next stuff so even setting aside the acquisition and the modernness or whatever
01:34:20 John: If you had to bet just based on this heuristic of basically the older API is going to die first, you would say Carbon is going to die first because Carbon was the past.
01:34:28 John: Carbon started before the next step stuff and it ended before the next step stuff.
01:34:33 John: app kit you know still trucks along it is the native mac api for doing mac only stuff but app kit doesn't run on the phone or on your tv or on your watch or anything like that ui kit started with the iphone so it's 2007 or so right so you can extend that line out
01:34:56 John: If you had to bet UIKit versus AppKit, you'd say, well, UIKit is way younger, so you think AppKit is going to die first.
01:35:02 John: But if AppKit dies, what the hell are people going to write Mac apps?
01:35:06 John: Then there's Catalyst.
01:35:07 John: Very new.
01:35:08 John: It's a way for you to get UIKit stuff onto your Mac.
01:35:12 John: So you might think, well, the Catalyst is really new.
01:35:14 John: That's probably going to stick around, but it's really just an extension of the UIKit line, isn't it?
01:35:19 John: And then there's SwiftUI, which is super new.
01:35:22 John: It's only been around for two years.
01:35:24 John: But SwiftUI's intention from the beginning is you can run SwiftUI on all of Apple's platforms.
01:35:29 John: You can run it on the watch.
01:35:30 John: You can run it on the Mac.
01:35:31 John: You're like, really?
01:35:33 John: The same API for that?
01:35:34 John: And it's like, well, it doesn't quite work that great yet, but we're working on it, right?
01:35:38 John: Another way to look at these, and we'll put this image in the show notes because it's unlike the one I just described.
01:35:43 John: It's not just something in my head.
01:35:45 John: Who is it?
01:35:45 John: Dario Rubik made this image on Twitter.
01:35:48 John: which instead of showing the apis along a timeline shows them as bars that extend underneath apple's platforms and so you can see app kit works on mac os for intel and arm and ui kit works on ipad ipad os and mac os and ui kit and catalyst works on just the two mac of the two mac platforms and ui kit works on tv os
01:36:12 John: And then Swift UI at the bottom of this diagram is a bar that goes across every one of the platforms because in theory it works on all of them.
01:36:21 John: So Apple's not going to tell you that AppKit is dead.
01:36:24 John: Apple's not going to tell you that UIKit is dead.
01:36:26 John: Apple's not going to tell you that Catalyst is dead.
01:36:27 John: And Apple's certainly not going to tell you that Swift UI is dead.
01:36:30 John: But one of these things is going to die.
01:36:31 John: They're going to die in an order.
01:36:32 John: They're not all going to go at once and they're not all going to go on perpetually.
01:36:36 John: so if you're looking at apple's platforms and saying what does the future look like outpass where apple's ever going to give me a straight answer outpass where apple even knows because here's the thing i bet if you had asked certain people on year one of mac os 10 they would have said oh coco's the future no question
01:36:52 John: but they haven't they hadn't proved that at that point they can say that all they want but like who's gonna who's gonna learn objective c who's gonna use this weird api all mac apps are carbon right you just have these weird ported next apps that are coco no one's ever going to do that but people would say well i believe i believe that coco is going to be the future i believe new crop of developers will learn objective c and they'll learn it to write on the thing that doesn't exist yet which is the iphone and it'll just you know that'll be the future
01:37:17 John: But at that point, that wasn't clear, right?
01:37:20 John: I bet today, if you ask some people inside Apple, they would say, here's my vision, Swift UI, everywhere.
01:37:26 John: It's the way you write for all of Apple's platforms.
01:37:29 John: It's a single language.
01:37:29 John: It's a single API.
01:37:31 John: You can tailor it to the strengths of each system.
01:37:34 John: That is going to be the future.
01:37:35 John: But like Coco back in 2001, you could say, okay, that's a great idea.
01:37:39 John: But realistically speaking, that's not the reality.
01:37:42 John: You have not convinced me.
01:37:43 John: You have not proven that Swift UI can even do that.
01:37:46 John: Like that's not a thing, right?
01:37:48 John: It's a plan.
01:37:49 John: That's an idea, but it's not a thing.
01:37:51 John: And at some point, not today, maybe not next year, but at some point, like with carbon and cocoa, you hit an inflection point where it's like, seems like cocoa really can do all the things they said.
01:38:03 John: And it seems like carbon is fading.
01:38:05 John: And then for the next three years, Apple will tell you if you ever ask them carbon and cocoa, their peers, they're both great.
01:38:10 John: Use the one that makes the most sense to you right up into the point where they say carbon totally dead.
01:38:14 John: Sorry.
01:38:15 John: Right.
01:38:17 John: Maybe not the best transition they ever had, but that's the reality.
01:38:20 John: So I've been looking at these diagrams and thinking about at the low level and at the high level, what's the future of Apple's platforms look like?
01:38:27 John: And I think,
01:38:28 John: Going from the top and maybe eventually getting into Casey's love of the way Big Sur looks, the last episode we talked a lot about how we don't like certain aspects of the way things look, in particular the similarities between iOS and macOS.
01:38:41 John: I listened back to the show, and I'm not sure this was entirely clear from what I said, although I do think I mentioned it at one point.
01:38:47 John: But you could be forgiven for hearing that and saying, oh, they don't like it because it looks too much like iOS.
01:38:52 John: And they said there's no reason for it to look like iOS, but actually there is a reason.
01:38:55 John: mostly we don't like it because they look bad like that was marco's complaint like it's it's not that we dislike it because it looks like ios because consistency is good and has a purpose i think but we want it to be readable like it's a downgrade in terms of usability so if you want consistency which i think you do want make it consistent but also good across platforms and the consistency argument is compelling i think because if you envision the mac for example as the sort of
01:39:24 John: the mother platform that can run everything.
01:39:27 John: Because on the Mac, you can run iPhone apps, you can run iPad apps.
01:39:30 John: Maybe eventually you'll be able to run watchOS apps outside the simulator.
01:39:33 John: Maybe eventually you'll be able to run tvOS apps, right?
01:39:35 John: Because Apple's platforms will all be on Apple Silicon.
01:39:38 John: They'll all be on APIs that Apple controls with the language that it invented, right?
01:39:42 John: This is the platform unification, this world where you can run all the things.
01:39:46 John: And the Mac is the thing that can build for all of them and run all of them.
01:39:50 John: And if you can run all of them and you can build all of them,
01:39:53 John: You'd want the experience to be unified.
01:39:55 John: You don't want the iPhone apps to look weird running on the Mac.
01:39:57 John: You don't want the iPad apps to look weird running on the Mac.
01:40:00 John: You want it all to look like a piece.
01:40:02 John: So the icons change in Big Sur to look closer to what the icons look like on iOS and iPadOS, right?
01:40:10 John: Everything moves around in the UI to be better for touch targets, right?
01:40:14 John: Said in the last show, touch Macs are coming.
01:40:16 John: How are you going to use iPad and iPhone apps on the Mac without multi-touch?
01:40:21 John: Well, probably the ARM Macs will be touch-based, right?
01:40:25 John: You start to get a picture of a single sort of Apple platform where devices can run all of the apps that make sense for that device.
01:40:34 John: And the biggest and baddest platform can run all of them and has to have all the features, including a touch screen.
01:40:40 John: On the phone, you can't run iPad apps because it's too small, right?
01:40:43 John: What can you run on the phone?
01:40:44 John: Just the iPhone apps.
01:40:45 John: On the iPad, you can run the phone apps and the iPad apps.
01:40:49 John: On the watch, you can just do watch apps.
01:40:51 John: I don't think watch apps make sense on the phone, but technically it would definitely be possible, right?
01:40:55 John: You start to get this picture of a unified Apple world where apps...
01:40:59 John: look similar enough to each other to be comfortable hanging around with each other.
01:41:03 John: And every Apple device gives you all the input methods and interaction models that make sense for that device.
01:41:11 John: So the Macs have to have touch because sometimes it makes sense to use touch.
01:41:15 John: So you need to make it plausible for touch to be useful in the same way that the iPad makes it plausible for keyboards to be useful, plausible for trackpads to be useful.
01:41:25 John: That took effort on the iPad to make the trackpad useful.
01:41:28 John: By the way, there's a great session about cursor on the iPad to show how they did that.
01:41:33 John: It doesn't mean suddenly you never touch the screen on the iPad in the same way that it's not going to mean that you never touch the mouse or keyboard on the Mac.
01:41:39 John: It just needs to be a plausible input method.
01:41:42 John: And if you buy into that model, which I totally do, that plan, that vision, which Apple, by the way, has not articulated, but it's sitting there like staring you in the face if you just look at what they're releasing.
01:41:52 John: They're not going to articulate that grand vision quite yet, but it's there.
01:41:56 John: Then you go back to the API question.
01:41:57 John: How do we get from where we are now to that grand vision?
01:42:00 John: And the answer is obviously SwiftUI.
01:42:02 John: but it's not there yet so apple wisely is not going to tell everybody uh you that's a great app kit app you've got there and ui kit is awesome and catalyst great that's cool port your stuff but like the future eventually
01:42:18 John: is swift ui everywhere they can't say that because it's not true now they have to prove it right they have three or four or five years to prove that swift ui can even freaking do that job and then they have to slowly convince everybody like like adobe and microsoft to get on board that train right if you had told someone back in 2001 apple will eventually convince adobe and microsoft and all these other big companies to
01:42:41 John: to essentially quote-unquote port their apps to coco right what about old school mac developers like bb edit's been around for a million years they're not going to rewrite bb edit and coco there it's going to be carbon forever or the app's going to die guess what bb edit runs in 64 bit and you know it was a mac toolbox application then it was a carbon application and now it is essentially a coco application um
01:43:06 John: Nature finds a way.
01:43:07 John: It is possible, but you have to do it slowly.
01:43:09 John: It's like trying to, you know, introduce the pet to a new home.
01:43:13 John: Like, you can't just all at once say AppKit is dead and UIKit is going away.
01:43:18 John: Because people will flip out.
01:43:20 John: And it's not true.
01:43:21 John: It's not actually true that that's going to happen.
01:43:23 John: that's that's going to happen right eventually it all goes to plan if it doesn't go to plan they end up with other plans but even if that doesn't go to plan in the battle between app kit and ui kit which one of those things is carbon in this scenario ui kit spans a bunch of platforms app kit does not app can only gets to be a longer bar in this diagram because they decided that our mac and intel mac are two platforms you just do mac as one app kit looks like a tiny tiny little thing
01:43:48 John: so as much as i love app kit as much as people love ui kit and as much as catalyst is going to help bring that stuff over i feel like apple's grand vision apple's unarticulated but existing i contend grand vision for their platform relies on the eventual success of swift ui and if swift ui has to coexist with an imperative api
01:44:14 John: I don't know if AppKit is going to... I don't know.
01:44:18 John: I suppose if it takes a long time for SwiftUI to come to primacy, AppKit and UIKit can just continue to exist as the way you bail out of SwiftUI when you can't get something to work.
01:44:28 John: But I'm having a hard time not looking at AppKit especially as today's Carbon.
01:44:34 John: And I'm having a hard time looking at UIKit as...
01:44:37 John: having a super bright future in the face of swift ui which is just absolutely gunning for every single thing that ui kit does and from top to bottom and this is year two already you can make a swift ui app from top to bottom and in theory not touch ui kit which is not true by the way like swift ui uses app kit controls on the mac it uses ui kit trolls and like that's the reality of today that's what i'm saying like say oh swift ui is never going to replace those it uses them just like coco used to use carbon controls just like coco used to have to use carbon to play video right
01:45:07 John: That's where we are today, but this is where I think we're going.
01:45:11 John: Do I sound insane, or is this making sense to you two?
01:45:15 Casey: You absolutely do not sound insane.
01:45:17 Marco: Yeah, I think you're right.
01:45:20 Marco: What's interesting is that Apple has said, like I believe Craig Federighi said exactly in the Gruber interview this year, that you can keep writing your app in UIKit, AppKit, they're not going anywhere.
01:45:34 Marco: You keep running it and everything.
01:45:35 Marco: But I think you're right that
01:45:39 Marco: that's not going to be the case forever.
01:45:42 Marco: These technologies are not all going to die at the same time.
01:45:46 Marco: I think AppKit dies first out of these three.
01:45:53 Marco: UIKit, probably less, significantly longer, but when the time comes, it's going to be the next one to go.
01:45:59 Marco: At this point, if you want to write an app that runs on all of Apple's major platforms,
01:46:06 Marco: AppKit doesn't do that at all.
01:46:08 Marco: You mentioned that awesome tweet graphic where it shows what languages span them all.
01:46:15 Marco: You basically only have two choices.
01:46:17 Marco: Unless you want to write three different code bases.
01:46:21 Marco: But if you're going to have just pretty much one main code base and have most of the UI represented in that code base, you only have two choices really, UIKit or SwiftUI.
01:46:33 Marco: Okay.
01:46:33 Marco: And so AppKit, you know, it's just, it's got to get the boot.
01:46:37 Marco: Like, well, if you're going to only focus on one code base, it's not going to be AppKit.
01:46:42 Marco: At least it shouldn't be AppKit.
01:46:44 Marco: And I say this like, I like parts of AppKit.
01:46:47 Marco: I don't like it or not to write my apps in it very much, but I do, you know, I like what it does.
01:46:51 Marco: I like what other apps are able to do with it.
01:46:53 Marco: There are a lot of things about the Catalyst app that I don't like still, even in Big Sur.
01:46:59 Marco: But as a programmer of an app that has a bunch of UI code and where people on all platforms are demanding ports of it, it is really hard to argue with I should be using probably UIKit everywhere, which I'm already using on the whole app so far on iOS, but I should be taking UIKit to the Mac via Catalyst.
01:47:21 Marco: And also, I should definitely be writing most new stuff that can be written reasonably in SwiftUI in SwiftUI.
01:47:29 Marco: And that is clearly the future.
01:47:31 John: I mean, eventually, maybe not today, because it's like Coco in the beginning.
01:47:36 John: You can think that all you want, but if you try to make...
01:47:40 John: an app that did all the things that a good app needed to do in the early days with Coco, you couldn't, it was weird.
01:47:44 John: It didn't behave right.
01:47:45 John: The features weren't there.
01:47:46 John: Right.
01:47:46 John: And that's where Swift UI is now.
01:47:48 John: But, but like, here's the thing, Swift UI, pretend Swift UI didn't exist.
01:47:52 John: This would be a lot simpler.
01:47:54 John: The fact that they made Swift UI at all means they don't think it's UI kit forever.
01:48:00 John: Because why would you make a second API to do essentially the same job as UIKit?
01:48:05 John: Because UIKit is older.
01:48:07 John: It's not as old as AppKit, but it's older.
01:48:10 John: And you look at the difference between AppKit and UIKit.
01:48:11 John: They learn so much.
01:48:12 John: The AppKit people who, you know, learn all the lessons of AppKit and they use those lessons in UIKit.
01:48:17 John: SwiftUI is very different from both of those.
01:48:20 John: in theory incorporating lessons learned but also kind of a new take on how you do ui and if you listen to apple's pitches for swift ui and you listen closely obviously from the true believers in swift ui from the people who made it they tell you it's not just a different weird way to do things like maybe casey with his combined stuff like it's not it
01:48:41 John: i know they're actually it's related right what they pitch to you is like look if you have to manually do stuff with its imperative ui there's so much that can go wrong you have to worry about lots of things and deal with them manually swift ui lets you not have to worry about a lot of that because of the programming model not because it's a different api with like different function names and different arguments that's not what it is it's because there are certain things that categorically are not
01:49:04 John: an issue like the same reason that casey loves reactive programming certain things categorically you don't have to deal with anymore because they don't happen like the state isn't there it's represented in the call graph right you know all the things that that allow these declarative uis to be simpler and allow you to write good code with fewer bucks like apple itself believes that whether you believe it or not and whether swift ui currently embodies that which arguably it doesn't quite yet but it's two years old right um
01:49:33 John: They made this new API, and that's essentially a vote of no confidence in UIKit and AppKit, saying we think there's a better way.
01:49:41 John: We're going to make a better way because UIKit traces its lineage to AppKit, which traces its lineage to NextStep, which traces its lineage to the 80s.
01:49:49 John: And we've got a new language and we've now we've got a new API that suits it.
01:49:55 John: And that's their, that's their goal could end up like air power.
01:49:59 John: Right.
01:49:59 John: But right now it seems like that's where they're going.
01:50:02 John: So, and unlike the diagram, like, you know, carbon, uh,
01:50:05 John: with this bar diagram in my head that I should have made in real life, but didn't.
01:50:08 John: Carbon has a hard cutoff.
01:50:10 John: It was like, well, 64-bit, see you, Carbon.
01:50:12 John: Like, just not going to happen.
01:50:13 John: But in reality, all the APIs don't die.
01:50:16 John: They just fade away.
01:50:17 John: Like, there's no real reason to do a hard cutoff.
01:50:19 John: So UI kits fade out.
01:50:21 John: Like, the gradient on the right side of that bar is going to be pretty long.
01:50:24 John: Same thing with AppKit, because, like, they work.
01:50:27 John: They're fine.
01:50:29 John: AppKit's going to be around for as long as it takes Adobe and Microsoft to port their apps to SwiftUI.
01:50:33 John: which could take a decade and a half right whatever let's be realistic here right but they don't those lines don't go on forever and the swift ui line has just started and so if it is successful in any possible way it's gonna same thing with i didn't mention this but objective c and swift when swift was announced apple was all like yeah we got the school language it's really nice
01:50:54 John: Yeah, we should check it out at 1.0.
01:50:57 John: We're going to change it.
01:50:58 John: And if you had said in that WWDC, see Objective-C, not going to be any Objective-C.
01:51:04 John: They'd be like, eh, well, this is a new language.
01:51:06 John: We'll see how it goes.
01:51:06 John: And they'd be right.
01:51:07 John: Like, you have to see how it will go.
01:51:09 John: Many years now, if someone said, I think Objective-C will be the preferred way to write apps on Apple's platforms, it's like, it's already not.
01:51:19 John: That time has already passed.
01:51:20 John: Well, I think Objective-C will be around forever.
01:51:23 John: No, I don't think so.
01:51:24 John: It'll be around for a really long time, but its line is fading out.
01:51:27 John: And no one argues that anymore.
01:51:28 John: Like, everything is Swift.
01:51:30 John: As Marco said earlier in the show, everything is Swift.
01:51:34 John: From day one, all the code examples had at least Swift and Objective-C.
01:51:39 John: And today, everything is Swift, right?
01:51:41 John: Swift, I think, has proven itself to Apple, at least, that this is the language of Apple's platform future.
01:51:46 John: Even though, yes, they will continue to support and improve, by the way.
01:51:49 John: There's a bunch of cool Objective-C improvements this year for performance improvements and stuff.
01:51:52 John: They'll continue to support it, but its line is fading.
01:51:55 John: Swift UI's line is fading in at this point instead of fading out.
01:51:59 John: UIKit is totally solid.
01:52:01 John: AppKit, I would argue, is already kind of fading out.
01:52:03 John: And Catalyst is just a way to scribble over AppKit's line even more by saying, ha ha, UIKit, I'm in your base.
01:52:10 John: What is that one?
01:52:11 John: I can't even remember it.
01:52:12 John: Killing your dudes?
01:52:12 John: Yep.
01:52:16 Casey: I don't know.
01:52:16 Casey: It's hard to say, but it does seem to me like it is extremely obvious that AppKit's time is limited.
01:52:25 Casey: And I think it was very obvious before I heard your monologue, and I think it's extremely obvious to me now that AppKit's time is limited.
01:52:31 Casey: And
01:52:32 Casey: I don't see a world where UIKit is going away as quickly as you seem to be implying, but I agree that if there is only one way forward, it is almost certainly SwiftUI, which as someone who really likes UIKit, that slightly pains me, but logically it's the answer that makes the most sense.
01:52:52 John: I mean, yeah, like all the people who love Objective-C and Carbon, like, you'll eventually get over it.
01:52:56 John: Like, the change happens slow enough that it doesn't seem so bad.
01:53:00 John: Like, it happens – the change happens slow enough that even Microsoft and Adobe can handle it.
01:53:05 John: So certainly individual developers will not be bowled over.
01:53:08 John: Again, Carbon is the exception where it was just this hard cutoff that was really tough on even Indies.
01:53:11 John: But everything else that I've talked about, it's a slow, apocryphal, boiling the frog type of thing where Marco has been stewing in Swift for so long –
01:53:20 John: And he's mostly been able to just chill and ignore it and continue to be productive.
01:53:25 John: Now he's feeling the water get a little bit warm, but no one's forcing him to use Swift.
01:53:30 John: He can still get his job done with Objective-C.
01:53:32 John: It's going to be supported for years, if not decades.
01:53:35 John: But that's how these transitions take place.
01:53:38 John: The more interesting story from a consumer's perspective, if you're not a developer listening to all this API mumbo-jumbo, is what I said before about what does the experience look like of using Apple devices?
01:53:46 John: Yeah.
01:53:46 John: And that's the experience that I feel like Apple, I was surprised they didn't more forcefully pitch it.
01:53:52 John: They, again, were timid about it.
01:53:53 John: The idea that five years in the future, there is one app store with apps that can run various platforms.
01:54:01 John: Every app doesn't run on every platform, but you just go to the app store and get an app.
01:54:05 John: And some of the apps will run on every platform.
01:54:07 John: Some will just run on the watch.
01:54:08 John: Some will run on the iPad on the Mac.
01:54:09 John: Some will run on the phone or whatever.
01:54:10 John: And it's all just in one big stew.
01:54:12 John: And the Mac, the whole point that the Mac exists is,
01:54:14 John: it's the place where you can run all the things again maybe it doesn't make that much sense to run anything from watch os on your mac but technically you could tv os i think makes more sense actually to run that on a mac with a big screen or something right but you can do all the things on the mac you can develop on the mac this is another reason by the way that you don't necessarily have to ever have xcode on the mac instead you have ipad apps on the mac
01:54:38 John: in you know instead of the other way around or you know it's like when they eventually make the drafting table touch ipad that i've been begging for since hypercritical days does that have to be an ipad or can that be a mac once max get touch and can run ipad apps there's no reason that needs to be an ipad so the mac will continue to be the shield as i think gruber said in one of his articles to allow the ipad and the iphone to remain sort of lighter in terms of conceptual load and complexity and
01:55:03 John: by doing all the things a touch-based drafting table imac that runs mac os on arm and can run all ipad apps with multi-touch problem solved right so easy to do i don't know how many years we have to wait for that but that's the future i see and by the way yes in that future everything looks similar enough to each other that having it all together on the same screen
01:55:27 John: is not jarring, and that the Mac controls aren't all teeny tiny, and the iPad and iPhone controls are all big.
01:55:35 John: They're getting close enough to each other that there's a family resemblance, and that all input methods that are plausible...
01:55:43 John: can be used.
01:55:45 Marco: Thanks to our sponsors this week, Squarespace, Mac Weldon, and Linode.
01:55:49 Marco: And thanks to our members.
01:55:51 Marco: If you want to become a member, go to atp.fm slash join.
01:55:55 Marco: Otherwise, thank you very much.
01:55:56 Marco: We will talk to you next week.
01:55:59 John: 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
01:56:27 Marco: And if you're into Twitter, you can follow them at C-A-S-E-Y-L-I-S-S.
01:56:36 Marco: So that's Casey Liss, M-A-R-C-O-A-R-M-E-N-T-M-A-R-C-O-R-M-E-N-T-M-A-R-C-O-R-M-E-N-T-M-A-R-C-O-R-M-E-N-T-M-A-R-C-O-R-M-E-N-T-M-E-N-T-M-A-R-C-O-R-M-E-N-T-M-E-N-T-M-E-N-T-M-E-N-T-M-E-N-T-M-E-N-T-M-E-N-T-M-E-N-T-M
01:56:53 Casey: Casey, I noticed that on Twitter you were talking about calorie counting as a thing you were starting.
01:57:07 Marco: I'd like to hear more about that.
01:57:09 Casey: Uh, well, how, how, that's fine.
01:57:13 Casey: Um, so I've been on a meandering fitness journey for the last, I don't know, year or two.
01:57:19 Casey: Um, I don't remember exactly when it started, but, uh, something like a year or two ago, um, Aaron started doing, um, some exercise videos at home and the, the particular one she was doing were through, um, beach body, which, um,
01:57:35 Casey: I think we may have talked about this on the show before, but if you're familiar with Beachbody and going, oh, God, oh, God, oh, God.
01:57:40 Casey: So Beachbody is without doubt 100% an MLM like pyramid scheme, a million percent.
01:57:46 Casey: And you can easily get sucked into the become a coach thing of Beachbody where you're trying to recruit people and blah, blah, blah.
01:57:54 Casey: Total MLM garbage, right?
01:57:56 Casey: Not denying that at all.
01:57:57 Casey: However, the other side of Beachbody is they put out a whole crud load.
01:58:01 Casey: They basically have a Netflix of exercise videos.
01:58:05 Casey: And I've done one of their programs a couple, two or three, maybe even four times through now.
01:58:09 Casey: And I actually really like it.
01:58:11 Casey: And Erin's done several of their programs and she really likes them.
01:58:14 Casey: So putting aside the...
01:58:17 Casey: mlm portion of it if you just focus on the netflixy exercise portion of it it's actually pretty good um and so i've done a kind of weightlifting oriented program a few times through and i also you know like to run on occasion um my achilles heel i've had it looked at about a year ago and it and supposedly my right achilles has a burn a bone spur on it
01:58:41 John: I mean, literally, I was like, my Achilles heel is right.
01:58:47 John: I spent too much time on projects dealing with my garage door.
01:58:49 John: It's like your actual Achilles heel.
01:58:53 Casey: Yeah, my biggest fault is that I can find no faults.
01:58:58 Casey: My literal tendon or something in that region, it gets a little finicky.
01:59:03 Casey: So if I run too much, it's not a good idea.
01:59:05 Casey: Plus running is really kind of terrible for you anyway.
01:59:07 Casey: But I love it.
01:59:08 Casey: I do enjoy running.
01:59:09 Casey: In no small part, thanks to Overcast for the Apple Watch.
01:59:12 Casey: Moving right along.
01:59:17 Casey: But anyway, so we were at the beach last week and this is deeply embarrassing, but I'll just come out and say it.
01:59:23 Casey: There was a couple with two small children, bigger than our small children, but still with two small children.
01:59:28 Casey: And the two of them were like ridiculously toned and stick thin.
01:59:32 Casey: And I just looked over and I was like...
01:59:34 Casey: How do you do that?
01:59:36 Casey: I don't view myself as a particularly large fellow, but these two were ridiculously picturesque adult man and woman, and yet they had children, which is when usually your body falls apart, especially for women, but even for men.
01:59:52 Casey: And so I look over at them, and I'm like, man...
01:59:55 Casey: There's got to be somewhere between where I am and there that I can try to reach for.
02:00:01 Casey: And so when I got home about the same time, Aaron and I both independently thought, you know what, we should start paying attention again.
02:00:10 Casey: Yeah.
02:00:12 Casey: Someone in the chat just said, Timo in the chat said, Casey, this is not a large fellow, but is he a big sir?
02:00:19 Casey: That's very good.
02:00:20 Casey: That's very, very good.
02:00:21 Casey: Sorry, I got totally derailed there.
02:00:23 Casey: Anyways, so we thought to ourselves independently and then said to each other, you know, we should probably start paying more attention to what we eat again.
02:00:30 Casey: And I used, on and off over the years, I've used an app called Lose It to kind of calorie count and track.
02:00:37 Casey: And I mean, again, I don't think I'm in desperate need of
02:00:41 Casey: I don't even really think I need to lose weight as much as I need to move it around.
02:00:45 Casey: I wish I could just push it from my a little bit larger than I want midsection area to like my stick thin legs and arms.
02:00:53 Casey: You know, like if I could just squeeze it to other parts of my body, that'd be great.
02:00:56 Marco: I could do that with hair.
02:00:57 Marco: That'd be wonderful.
02:00:59 Casey: Same thing, right?
02:01:00 Marco: Take it all off my back and just move it straight up.
02:01:02 Marco: I don't think you want the back hair on your head.
02:01:05 Marco: At this point, I'll take whatever I can get.
02:01:10 Casey: Oh, this is going to be the best episode ever.
02:01:12 Casey: So anyway, so I went casting out because I started using Lose It again for literally a day.
02:01:17 Casey: And Lose It is very full-featured.
02:01:19 Casey: Like, you can scan barcodes, and it has a very robust database of foods and calorie counts and nutrition information.
02:01:26 Casey: I haven't paid for it, to be honest.
02:01:29 Casey: But I didn't really feel like I needed any of the perks that came from paying for it.
02:01:34 Casey: And I'm just looking at this app and it's just visually, it's an assault on the eyes.
02:01:41 Casey: It's offensive how ugly it is.
02:01:44 Casey: I just, I hate how it looks.
02:01:45 Casey: And using it is not all that much better.
02:01:49 Casey: And so I went casting about for an alternative to it.
02:01:54 Casey: And what I've been using for the last 48 hours, and I like a lot, I don't know if it's quite perfect, but I like it a lot, and I love the name.
02:02:02 Casey: It's called Food Noms, F-O-O-D-N-O-M-S.
02:02:05 Casey: And it's actually by the husband of a friend of mine, which is super cool.
02:02:10 Casey: And I didn't even know that his husband did this app, which is also super cool.
02:02:15 Casey: I wish I'd known it.
02:02:15 Casey: But anyways, it's very well designed, extremely well designed.
02:02:19 Casey: A couple of interactions I don't totally love, but I've already been exchanging tweets with the developer.
02:02:25 Casey: And he seems super responsive to making changes and improving the app in any way possible.
02:02:31 Casey: But that's many, many, many words to say.
02:02:34 Casey: I think it's probably unwise for me to continue to only lightly pay attention to what I eat.
02:02:40 Casey: And calorie counting is arguably more about weight loss than anything else.
02:02:45 Casey: I don't necessarily need to lose weight as much as I feel like I want to be more conscious of what I eat and get a little bit more toned and just try to be healthier.
02:02:58 Casey: Now, coincidentally, in the show notes in our after-show section, you had made a one-off comment, Marco, at some point about running, and I'd like to explore that, but I'm not trying to necessarily take the spotlight off me if you have any follow-up questions.
02:03:11 Marco: I'll let them keep it on you for a little while longer.
02:03:13 Marco: So, yeah, I mean, basically, I think you seem like you're on the right track here.
02:03:19 Marco: I used to use Lose It, jeez, probably 10 years ago now.
02:03:23 Marco: It's not a new app.
02:03:24 Casey: Yeah, yeah, yeah.
02:03:25 Marco: And it was basically the first time I'd ever tried to diet.
02:03:30 Marco: And so I started there.
02:03:31 Marco: And I read the whole hacker diet thing.
02:03:34 Marco: Calories in and calories out.
02:03:36 Marco: I mean, that's not entirely accurate, but it at least gets you in the ballpark.
02:03:40 Marco: So I actually found calorie counting extremely helpful.
02:03:46 Marco: It basically taught me what is expensive and what is cheap to eat.
02:03:51 Marco: It's hard for me to keep that up as a weight loss tool because I hit a point where I just am miserable all the time, if that's the only thing I'm doing.
02:04:02 Marco: For weight loss, I found it much more effective to reduce carbs than to strictly reduce calories because
02:04:08 Marco: Reducing carbs I have found makes it easier for me to keep the calories down because the things I'm still eating keep me full for longer.
02:04:14 Marco: So that's a whole thing that you will probably discover if you haven't already.
02:04:18 Marco: But I think you are wise to separate out the concerns between fitness and weight loss.
02:04:26 Marco: those are two very different things and I think one of the great failings of American culture is that we seem to have convinced ourselves that they are the same thing that if you want to lose weight the thing you should do is go to the gym sometimes and
02:04:41 Marco: And that is terrible advice.
02:04:57 Marco: But those are two totally separate things that you can do one or the other.
02:05:02 Marco: Ideally, you do some of both.
02:05:05 Marco: But in order to lose weight, running a couple times a week or going to the gym a couple times a week or hell, even if you go to the gym for like an hour a day, if you're still eating a whole bunch of garbage, you're not going to lose any weight.
02:05:20 Marco: It's very helpful to treat those things.
02:05:24 Marco: Sorry for all the thunder sounds.
02:05:25 Marco: There it is.
02:05:26 Marco: It's really getting quite loud over here, but I'm going to keep going.
02:05:30 Marco: I swear it isn't the spooky of a topic.
02:05:32 Marco: You should lose weight.
02:05:33 Marco: Boom.
02:05:35 Casey: Stop eating everything that tastes good.
02:05:36 Casey: Crash.
02:05:37 Marco: Right.
02:05:39 Marco: But I feel like the more that you can do, and you are listeners as well, and I'm talking to myself as much as anybody, the more you can do to separate out fitness from weight loss, the more effective you'll be at both.
02:05:52 Marco: Because they are two very different things.
02:05:54 Marco: Fitness, there's lots of options for.
02:05:56 Marco: Weight loss, you can do it a bunch of different ways.
02:06:01 Marco: There's a whole bunch of stuff that works a little bit.
02:06:03 Marco: There's a whole bunch of stuff that doesn't work at all.
02:06:05 Marco: There's a few things that work a lot.
02:06:06 Marco: Generally, calorie restriction is the way to do it.
02:06:10 Marco: uh, for the most part, again, talk to your doctor, et cetera.
02:06:13 Marco: However, um, there are, you know, healthier and less healthy ways to do calorie restriction.
02:06:19 Marco: And again, like I, I think carb reduction is one of the easiest because like you start seeing like how, how much, for instance, like if you, if you drink calories and I'm not just talking about alcohol, just, you know, stuff like drinking soda or having sugar and milk in your coffee, like,
02:06:34 Marco: that stuff adds up.
02:06:35 Marco: If you can cut out drinking as many calories as possible, that's an easy win because drinking calories don't do anything for you.
02:06:43 Marco: They're not helping you at all.
02:06:44 Marco: They're not keeping you full.
02:06:46 Marco: And then, you know, in the way that calorie counting taught me to start looking at nutrition labels a little more carefully and to start learning, like, you know what?
02:06:57 Marco: Turns out, like, our obsession with things like olive oil and everything...
02:07:02 Marco: you don't need oil in most things and it's horribly unhealthy for you.
02:07:06 Marco: Olive oil is good for you.
02:07:07 John: Hold on, hold on a second.
02:07:09 John: Italian coming in here.
02:07:10 John: Olive oil is the good fat.
02:07:11 John: I'm Italian too.
02:07:12 Marco: Guess what?
02:07:13 Marco: Oils are terrible for you.
02:07:15 Marco: Like you can have a tiny amount of, no, it really, that is also terrible for you.
02:07:19 Marco: Like just don't have much of it and definitely don't heat it.
02:07:23 Marco: Just drink a cup of olive oil a day and you'll be great.
02:07:26 Marco: Yeah, right.
02:07:26 Marco: Oh my goodness.
02:07:27 Marco: God.
02:07:28 Marco: But yeah, like there, there are things that people think are healthy that aren't.
02:07:32 Marco: There are things that you assume that you have to have in your diet that you might not need to or that you might need a lot less of.
02:07:39 Marco: Carb reduction can get you very far down the road of calorie reduction.
02:07:43 Marco: Now, there are ways to do it stupidly and there are ways to do it smartly.
02:07:47 Marco: My way of doing it for the last couple of years has been
02:07:50 Marco: I'm not going to count the carbs in vegetables.
02:07:54 Marco: And I'm not considering a potato a vegetable because that's just cheating.
02:07:57 Marco: But I'm not going to count whatever's in leafy greens.
02:08:01 Marco: I eat as many leafy greens as I want to.
02:08:04 Marco: And it's so ungraceful.
02:08:07 Marco: I will literally buy the boxes of the pre-washed lettuce.
02:08:10 Marco: One of those medium-sized boxes.
02:08:11 Marco: It's about the size of two books stacked up.
02:08:13 Marco: I'll just eat one of those with a meal by hand, just grabbing the lettuce, eating it like chips, just as part of the meal for lunch.
02:08:23 Marco: I'll have a box of lettuce and some chicken salad or something.
02:08:27 Marco: Don't count calories in greens.
02:08:31 Marco: God, that's a big thunder.
02:08:32 Marco: Oh, wow.
02:08:34 Casey: You're about to lose power up there.
02:08:35 Marco: You're assuming Casey eats any greens.
02:08:36 Marco: That's true.
02:08:37 Casey: Excuse me, sir.
02:08:39 Casey: Do you know what I have for lunch every day?
02:08:41 Casey: I have a salad.
02:08:42 Marco: Well, last time we asked you, you said you had a grilled cheese sandwich every day.
02:08:45 Casey: Yeah, and then my cholesterol spiked.
02:08:48 Casey: I thunk it, and so now I eat a salad every day.
02:08:49 John: Grilled cheese is a vegetable, right?
02:08:51 Casey: Yeah, that's how it works.
02:08:54 John: And this thing that Marco set up between fitness and weight loss, my advice to you, Casey.
02:08:59 John: is forget about the weight loss just do the fitness because nobody cares what you look like like you're like not you know what i mean but like you're not a model for your profession you're gonna look like what you're gonna look like within reason obviously if you're you know control your diet in some reasonable way but like don't think that you're gonna have the chiseled physique because you're not like what it takes to get a chiseled physique at your age is way more time and everything you're going to want to put into it that's not going to happen but fitness keeps you alive
02:09:28 John: Like all the things about like, oh, if you're slightly overweight, you're going to die earlier.
02:09:31 John: That's not like – that's not necessarily the case.
02:09:34 John: If you are fit, if your internal organs all work well, if you can get oxygen to your blood easily, if your heart is strong, that will keep you alive until Alzheimer's gets you.
02:09:43 John: But anyway, like fitness is way more important than quote-unquote weight loss because if you're trying to lose weight for some vanity reason –
02:09:53 John: That's the wrong way.
02:09:54 John: You want fitness to live to see your grandkids, right?
02:09:59 John: Fitness is what you want to go for.
02:10:00 John: And by the way, if you go for fitness, you will, as a side effect, experience some amount of what you want, which may not manifest as weight loss, but will manifest as a body shape that is nicer because it's impossible to doggedly pursue fitness and not essentially redistribute your weight at the very least, if not lose weight.
02:10:18 John: So I would say forget about weight loss.
02:10:20 John: Go for fitness.
02:10:22 John: and everything else will follow much of what john is saying is true but i think having like course corrections in both areas are usually better you can't you can't pig out but like look at casey he's not pigging out right casey is not it does not have a massive weight problem that we need to address because he's having 12 dozen eggs every day for breakfast like
02:10:41 John: This is not happening.
02:10:42 John: His diet is reasonable-ish.
02:10:43 John: He's probably eating garbage, but reasonable-ish in terms of calorie count.
02:10:48 John: You're like six foot something, Casey?
02:10:49 John: How much do you weigh?
02:10:50 Casey: I'm six foot.
02:10:53 Casey: I was about 160 this morning, roughly.
02:10:55 John: So what are you even worried about?
02:10:57 John: Fitness is all you care about.
02:10:59 John: And then finding the right way to get fitness.
02:11:00 John: You're six foot 160.
02:11:02 John: Our listeners are screaming at you right now.
02:11:04 John: All of our listeners who are not that are screaming at you and saying...
02:11:08 Marco: You are not that much heavier than me for being so much taller than me.
02:11:14 Casey: The thing of it is that I have not been as consistent with exercise as I'd like, but I'm in probably the best shape I've ever been in my life in terms of my physical abilities.
02:11:29 Casey: Just the other day, it was a week or two back, I ran a mile hard.
02:11:33 Casey: I typically would run about a 5K if I'm going to go for a run.
02:11:36 Casey: And, uh, just a couple of weeks back, I ran a mile hard and I was within like 20 seconds of the fastest mile I ever ran in high school.
02:11:43 Casey: Now, to be clear, I always have been a deeply unathletic human being.
02:11:47 Casey: This is why I'm a computer nerd, but, or maybe, I don't know, maybe the computer nerd came first.
02:11:52 Casey: Who knew?
02:11:52 Casey: But anyway, um, I ran a reasonably quick mile for my body.
02:11:58 Casey: And I think, um,
02:12:00 Casey: Certainly, that's something that I'm proud of.
02:12:03 Casey: I have something that vaguely resembles a bicep and something that vaguely resembles a tricep, which is new for me.
02:12:08 Casey: I've never had those before, so that's kind of neat.
02:12:10 Casey: Now, if anyone else looked at it, they'd be like, huh, what?
02:12:12 Casey: But I can tell, and that's kind of all that really matters.
02:12:17 Casey: And I've been relatively consistent with the fitness over the last year or two, but my choices with regard to diet have ranged from don't care to, well, I should probably be a little more considered than I am.
02:12:35 Casey: And then occasionally I'll go through spits and spurts of, you know, I'm actually doing a really good job.
02:12:39 Casey: I mean, generally speaking, my daily diet is I have...
02:12:43 Casey: a fruit smoothie for breakfast.
02:12:45 Casey: And it's just, you know, like, uh, half a banana, handful of strawberries, handful of blueberries, and some protein powder and some soy milk.
02:12:52 Casey: And that's it.
02:12:52 Casey: That's the whole thing.
02:12:53 Casey: That's my whole breakfast.
02:12:54 Marco: Massive amount of sugar.
02:12:55 Marco: Yeah.
02:12:55 Marco: Huge amount of sugar.
02:12:56 Casey: It is a fair bit of sugar.
02:12:58 Casey: No doubt.
02:12:58 Casey: No doubt.
02:12:59 Casey: But it's, it's a lot better than having, it's a lot better than having a couple of Eggos, which I did 20, 15, 20 years ago.
02:13:06 Casey: You know what I mean?
02:13:06 John: Probably less sugar in the Eggos, but go on.
02:13:08 John: It's, it's, it's slightly better.
02:13:10 John: Maybe.
02:13:11 John: At least you get some fiber with the fruit.
02:13:14 Casey: My point is that there are many, many worse choices that I could be making.
02:13:18 Casey: Can we at least agree that?
02:13:19 John: Yeah, no, that's what I'm saying.
02:13:20 John: I think, I mean, your diet is probably, if you just did the thing where you take the amount of whatever you're currently eating,
02:13:27 John: take less than the normal amount that you would make that small adjustment would probably have you right shedding small amounts of pounds like literally without changing anything and then if you actually go far enough and say well maybe i shouldn't have a sugar-filled smooth fruit smoothie every single day for breakfast but instead have like i don't know something else like just fruit by itself and with like an egg or something one of those days like anyway like minor adjustments would have a big effect on you
02:13:52 John: But like honestly, you're six foot and 160.
02:13:55 John: Like what is your target weight?
02:13:57 John: Like you don't need to lose weight.
02:13:58 John: You just need to redistribute a little bit.
02:14:01 Casey: I don't think I do need to lose very much.
02:14:03 Casey: I just – I look down at my gut and it's not the frigging six-pack that this guy who must have been about the same age as me because his kids were quite a bit older.
02:14:10 John: Again, you're not going to get a six-pack without massive restriction on fat intake and huge amounts of working out.
02:14:16 John: But you can move some of that gut around by just doing a couple more weightlifting exercises.
02:14:19 Casey: Agreed.
02:14:20 Casey: We agree.
02:14:21 Casey: And what I haven't had a chance to say is – because I keep interrupting myself, much less the two of you – is that I – no, I mean that.
02:14:28 Casey: I keep going on these tangents.
02:14:30 Casey: I think one of the benefits that I have from entering the food I consume – and this is not unique to Casey.
02:14:37 Casey: This is a very common thing.
02:14:38 Casey: But one of the biggest benefits I get is just being more considered about it because I will idly go grab something that is truly terrible for me to eat –
02:14:48 Casey: if left my own devices.
02:14:50 Casey: I'll throw down club crackers like they're going out of style.
02:14:56 Marco: Oh, those are so good and so bad for you.
02:14:59 John: They're so good.
02:14:59 John: They're so delicious, but they're terrible.
02:15:02 John: You just eat your cell packs, don't have them in the house, no food after 8 p.m.
02:15:05 John: There's all sorts of very simple rules that you can use to trim the worst of your bad habits.
02:15:09 Marco: Yeah.
02:15:09 Marco: Like, why are you buying club crackers?
02:15:11 Marco: Like I, to me, they taste so good.
02:15:13 Casey: They're like freaking amazing.
02:15:15 Marco: They're like drugs for me, but that's why I haven't bought them in like 15 years because I know that I luckily do not like a lot of these garbage foods.
02:15:22 John: So I'm saved from being tempted by them.
02:15:24 Casey: But, but,
02:15:24 Casey: But the thing of it is just the fact of me entering, like if I were to go and grab a club cracker or two or something.
02:15:32 John: And then you have to shamefully enter that.
02:15:33 Casey: And then I have to shamefully enter it.
02:15:35 Casey: Then I'm going to choose differently.
02:15:36 Casey: And like almost every night after we put the kids to bed, there's a couple hours that Aaron and I will stay up.
02:15:41 Casey: Yeah.
02:15:42 Casey: nine times out of 10, I'll grab something to munch on.
02:15:46 Casey: And what I'm teaching myself over just the last couple of days when I've been entering stuff again is that I'm not hungry.
02:15:54 Casey: I just want to eat.
02:15:55 Casey: I don't need to eat anything.
02:15:57 Casey: I'm not actively hungry most times.
02:15:59 Casey: I just like the act of eating.
02:16:01 Casey: And again, I don't think this is unique to me, but just by virtue of having something, some amount of accountability that
02:16:07 Casey: I think it's made me make better choices, not only in terms of what I grabbed to eat.
02:16:14 Casey: You know, the other day I grabbed an apple instead of 15 club crackers or whatever.
02:16:18 Casey: I mean, I'm overemphasizing how many crackers I eat, but you get my point.
02:16:21 Marco: No, you're not.
02:16:21 Marco: No, because the plastic sleeves of club crackers have the similar problem as the Girl Scout Thin Mint Cookies,
02:16:28 Marco: which is that there's no way to open the package that they come in without exposing like five or six cracker edges to the air.
02:16:37 Marco: And then it's like, well, then you have to eat them.
02:16:38 Marco: Otherwise, they'll go stale.
02:16:40 Marco: Yeah, you have to.
02:16:40 Marco: You have no choice.
02:16:41 Marco: In the process of getting those out of the bag, the crack spreads down the bag and exposes five more crackers.
02:16:48 Marco: And then it's like, well, you have to be able to roll up the bag nicely.
02:16:51 Marco: So you can't stop here.
02:16:52 Marco: You have to just take these five first.
02:16:54 Marco: Then you can dump it.
02:16:55 John: Trust me, they will not be in your house long enough to go stale.
02:16:58 John: That's not actually a concern.
02:17:00 John: You can just wait, Casey.
02:17:03 John: You want a glimpse of your future, by the way.
02:17:05 John: Just wait until your kids enter their teen years and start eating a bazillion calories because they will be modeling a behavior that you cannot and should not follow.
02:17:15 John: Because you remember what it was like when you were a teenage boy and the amount of calories you ate.
02:17:20 John: You see them do that and A, they eat all your food.
02:17:23 John: And B, if you're anywhere near them, you mirror their behavior.
02:17:26 John: Oh, we'll sit down at the table, have lunch together.
02:17:28 John: Here's your lunch and here's my lunch.
02:17:30 John: And you're still in the mode where it's like daddy's lunch is bigger than the kid's lunch.
02:17:34 John: That's going to reverse.
02:17:35 John: It better reverse because you should not be eating the same lunch as your teenage son.
02:17:38 John: So just keep that in mind for your future.
02:17:41 Marco: Whatever you're doing now that maintains your current weight,
02:17:44 Marco: You're going to have to be more strict as time goes on.
02:17:47 Marco: As we get older, if we don't change our habits, it gets harder to get in shape.
02:17:53 Marco: It gets harder to stay in shape.
02:17:54 Marco: It gets harder to maintain weight and easier to gain weight.
02:17:58 Marco: It's good to start this process now and to make minor course corrections if you have to, even if it doesn't seem like anything's urgent right now.
02:18:08 Marco: Also, plan on gaining a pound a year for the rest of your life, just FYI.
02:18:11 Marco: Or say no.
02:18:13 Marco: Say, you know what, I'm not going to.
02:18:14 Marco: It's hard.
02:18:17 Marco: You have to fight against it.
02:18:19 Marco: For example, to control the snacking.
02:18:20 Marco: That is largely a habitual thing.
02:18:23 Marco: There is certainly a habit that many of us get into, I have, of like, oh, when we're sitting there to watch TV, we grab a snack.
02:18:31 Marco: Once you're in that habit, it's hard to break.
02:18:32 Marco: But also,
02:18:34 Marco: Part of that is the food you're choosing to eat.
02:18:36 Marco: If you eat a really protein, fat, heavy dinner, then you're going to be too full to want to eat.
02:18:44 Marco: You're just not going to want to think about it.
02:18:46 Marco: One of the things that I learned going lower carb was the blood sugar up and down cycle that you get on.
02:18:54 Marco: When you're eating a lot of sugary stuff, a lot of carb stuff, you eat, and then your sugar rush eventually crashes, and then a couple hours later, you want a snack.
02:19:04 Marco: And once you break that and you're not having a lot of sugar or carbs anymore, that up and down pattern, that roller coaster levels out big time.
02:19:15 Marco: And it's a lot easier not to eat more.
02:19:19 Marco: It's a lot easier not to snack more.
02:19:20 Marco: It's a lot easier to make better choices.
02:19:23 Marco: And fruit...
02:19:25 Marco: I hate to tell you, fruits up there with oil is like things that most people overestimate the health benefits of and things that are like best enjoyed in extremely small amounts.
02:19:36 Marco: For instance, when you make a smoothie, I don't know what kind of ratio you use, but when one makes a smoothie, when most people make a smoothie, there's quite a bit of fruit in there.
02:19:47 Marco: Not to mention the fact that the other ingredients of a smoothie might also be sugary.
02:19:52 Marco: So things like soy milk, quote unquote milk.
02:19:54 Marco: Right.
02:19:55 Marco: It was just sugar.
02:19:57 Marco: Every milk from cow milk to all the alternatives that tastes like anything is sweetened.
02:20:03 Marco: You know because you can buy unsweetened versions of some of them and they taste like nothing and they're horrible and nobody wants them.
02:20:08 Marco: Almost all of those milks, including actual cow milk that we just call milk, do have a non-trivial amount of sugar in them.
02:20:14 Marco: So that's, you know, you're getting sugar there, you're getting sugar in the fruits.
02:20:18 Marco: Also, the way your body processes sugar
02:20:20 Marco: is different if it's already all ground up versus if you're eating a blueberry and just chewing it once before you swallow it.
02:20:29 Marco: You also don't want to have a rapid spike in sugar, which you get if something's already been blended or processed.
02:20:36 Marco: Versus if you're munching on an apple, that's going to have a slower processing, which is better for you, better for things like insulin resistance over time and stuff like that.
02:20:46 Marco: It's fairly complicated, and we don't have a great understanding of how this works yet, and I'm certainly no pro to even be trying to communicate what our science is these days.
02:20:54 Marco: But all that stuff matters.
02:20:57 Marco: And so if you can get yourself off of that train of like having pretty sweet cuisine, really, and having, you know, carb heavy stuff, which once you eat it, it basically is treated like sugar in your body after not that long of a time.
02:21:12 Marco: And especially, you know, the more refined stuff.
02:21:15 Marco: This stuff all matters, and it all adds to body sugar spikes and, over time, problems like insulin resistance and various things that that causes that are pretty common problems for people.
02:21:27 Marco: So generally reducing the carbs, and that includes both sugars and carbohydrate in other forms.
02:21:34 Marco: really helps a lot.
02:21:36 Marco: And I know it sounds, you know, crazy.
02:21:38 Marco: It sounds ridiculous, but like, trust me, it's, it helps a lot.
02:21:42 Marco: And again, they're like, don't do the thing that I did that everyone does where you just, then you just have like bacon and cheese for every meal because then you're going to have cholesterol problems again.
02:21:50 Marco: Like, so that's, that's not great.
02:21:51 Marco: Like,
02:21:51 Marco: But there are other things.
02:21:53 Marco: Like, for instance, lean meats, having a lot more vegetables that are not potatoes and not just fruits.
02:21:58 Marco: Like having a small amount of fruit as a treat, but having carrots.
02:22:02 Marco: Carrots have some sweetness, but not too bad.
02:22:04 Marco: Have a lot of greens, other green vegetables, zucchini.
02:22:10 Marco: There's a whole bunch of stuff you can eat that is...
02:22:12 Marco: pretty much free health-wise that is filling and nutritious and everything else.
02:22:18 Marco: Occasional dairy and stuff is fine.
02:22:20 Marco: I've found Greek yogurt is a really kind of magical food for health purposes because as long as you can tolerate that much dairy, which is non-trivial for some.
02:22:30 Marco: I can't have a whole ton of it, but
02:22:32 Marco: It's a really good snack to have.
02:22:34 Marco: If you're hungry and it's not a meal time and you want to bridge the gap to the next meal, a couple of spoonfuls of unsweetened Greek yogurt with one blueberry on top of each spoonful makes it a sweet snack that is tasty, but there's almost no sugar in that.
02:22:53 Marco: There's a ton of protein and it keeps you full for a long time.
02:22:56 Marco: This whole world of low-carb eating, there's a lot of value to it in a lot of reasons beyond strictly wanting to lose weight.
02:23:04 Marco: And I highly suggest that since you're already taking steps to lose weight as part of this process, try low-carb also.
02:23:13 Marco: The same way you're looking at calories now...
02:23:15 Marco: look at carbs and try to keep it into the low carb range depending on whatever diet you're looking at that's generally something like you know 20 to 40 grams a day look at the labels of everything and keep it under that and see how it feels and see like you know you don't have to do it for long do it for two weeks and just see like how your body feels do you feel good how is your energy level throughout the day how is the snacking cravings and everything it makes a pretty big difference
02:23:36 John: I was going to say something about low-carb.
02:23:39 John: Sounds like the thing you described before, Marco, of like, I could do that kind of diet where I count calories, but then I'd be miserable.
02:23:45 John: That's what low-carb sounds like to me.
02:23:47 John: Low-carb equals misery.
02:23:48 Marco: Well, because your entire diet is like massive amounts of pasta and stuff, which is great.
02:23:53 Marco: That's not my entire diet, but I do love it.
02:23:56 John: So do I. But I can't do it anymore.
02:24:00 John: I know.
02:24:02 John: I know.
02:24:02 John: I know all the things, too.
02:24:03 Marco: yeah pasta's awesome but you know it's and i'm i'm really good at making and eating pasta but i can't i can't do it like i i very rarely have to i can have it now because i now i've got to the point now where i actually feel bad if i eat like a whole bowl of pasta like if i eat a very carb heavy meal i get like a stomach ache like it's it actually feels bad
02:24:23 John: That's one of the good things about doing any of this stuff, especially even like minor calorie restriction or portion control, is that eventually you can't even eat the portions that you used to eat.
02:24:30 John: Like you physically, they make you feel bad.
02:24:32 John: Like that's what you want to get into the goal state.
02:24:34 John: Like Marco said, where like if you were like, oh, as my treat now, I've been so good for a month.
02:24:38 John: I'm going to have my normal portion of whatever and you eat your normal portion of whatever and you feel so full that you feel like you're going to die.
02:24:44 John: Success.
02:24:45 John: yeah occasionally i do that like i did that recently where we you know we hadn't had indian food in forever and we got takeout i'm like ah and then i like what i think is a normal portion of my like treating myself and i was like nope too much too you don't eat that much food anymore too much
02:25:01 John: And then you're miserable, and you're like, and next time you learn, it's like you can't, even as your treat, you cannot eat that much of that kind of food anymore.
02:25:10 John: You used to be able to when you were acclimated to it, but you become unacclimated, and you want to be unacclimated to it.
02:25:15 John: You want to not be able to pull that off without feeling bad.
02:25:18 John: That's the great pace you get into, because that's sustaining, because then you don't want to make yourself feel sick, so you take half the portion, and success.
02:25:26 John: You got your treat, and you ate half of what you normally would.
02:25:29 Casey: I want to talk to you about your running, Marco, because like I said, you made that one off, but we're running real long.
02:25:35 Marco: There's not much to say yet.
02:25:37 Marco: I started running not even too aggressively yet, but yeah, just started doing it.
02:25:43 Marco: I've been doing various exercise things for a few years now.
02:25:47 Marco: This is just the newest thing that I'm trying.
02:25:49 John: here we are i was going to suggest this you're probably not going to go for this but anyway there is when when i lived in long island my parents always did the summer run series where you have races all over long island uh some of them are at least one of them they usually do a one mile run on the beach at robert moses which sounds like a one mile race that's so stupid try running a mile on the beach
02:26:11 John: It is a hell of a race.
02:26:13 John: Anyway, they do races all over the island, and it is a great way to sort of get out and about and see things.
02:26:18 John: Obviously, this is not applicable in COVID times.
02:26:20 John: So pretend we eventually come out of this.
02:26:23 John: That's a great way to sort of have a fun thing to do on evenings in the summer.
02:26:29 John: Go to see a different new park somewhere.
02:26:31 John: It's usually very scenic.
02:26:32 John: Some of them run beaches.
02:26:33 John: Some of them aren't.
02:26:34 John: And then participate in an actual competitive race where you're in age groups, right?
02:26:38 John: So you have a chance of finishing...
02:26:40 John: uh you know meddling if you are reasonable for your age group and as you get older it gets easier as your competitors die it's really it's great great yeah my uh my dad was dad never got it never got onto the podium until he was like the only 70 plus year old one running and he's like guess what i'm gonna win my age group now um anyway
02:26:59 John: I recommend that because running, unlike other things, like most people don't use to do competitive weightlifting, but running, there is a potential for it to be competitive.
02:27:08 John: And it sounds like, oh, I'm not going to be competitive.
02:27:09 John: I don't care about racing.
02:27:10 John: But it's fun to participate in a race.
02:27:13 John: You're not going to win.
02:27:14 John: You're not going to win your age group.
02:27:16 John: You're not even going to run fast.
02:27:17 John: But just participating in a race with people
02:27:20 John: is fun like if you've never especially if you've never done before you never ran in school or anything like that it's a surprisingly fun social activity of like everyone we're all in this together we're all going to go out and we're going to compete and everyone supports each other and you get to travel all over long island and see nice places and uh get a bunch of junk food at the end as your reward some of the beer at the end too
02:27:41 John: And after you run 5K in the blazing sun, you're allowed to have a beer.
02:27:48 Casey: Well, 5K is a lot more than one mile.
02:27:50 John: I can't remember when I came home from school one year.
02:27:53 John: I'd come home from school and they'd be like, oh, we're going to the summer run series.
02:27:55 John: Do you want to come with us or whatever?
02:27:56 John: I was like, yeah.
02:27:57 John: I forget what year it was in college.
02:27:58 John: It was like maybe a sophomore or junior year.
02:27:59 John: I'll come do the run with you.
02:28:00 John: So I come home from school.
02:28:01 John: It's like a holiday or maybe it was like the end of the school year.
02:28:04 John: I just come home from school.
02:28:05 John: I'm back home.
02:28:06 John: I go do the run with them.
02:28:07 John: I'm like, oh, I guess I'll do it.
02:28:08 John: It was a 10K.
02:28:10 John: It's the longest I've ever run in my entire life.
02:28:12 John: They didn't even tell me.
02:28:12 John: I'm running the race.
02:28:13 John: I'm like, when does this end?
02:28:15 John: We ran by the start finish line a couple of times.
02:28:17 John: Like, are we just going to run forever?
02:28:18 John: And I finished the race.
02:28:20 John: I'm like, oh my God, how long was that?
02:28:21 John: I was at 10K.
02:28:22 John: Tell me ahead of time.
02:28:25 John: To this day, the longest race I ever ran and the most miserable I've ever been ever running.
02:28:30 John: They're fun.
02:28:30 John: Now I just take pictures.
02:28:31 John: It's a lot easier.

Temporal Smear

00:00:00 / --:--:--