You’re Only Stable When You’re Dead

Episode 204 • Released January 13, 2017 • Speakers detected

Episode 204 artwork
00:00:00 Marco: Sorry for the fish.
00:00:01 Marco: So long and thanks for all of them.
00:00:03 Marco: I'm not really, I'm not sorry.
00:00:04 Casey: That's a reference, John.
00:00:06 Marco: I actually, I have not gotten a lot of headphone time since their New Year's show and I actually haven't even heard the whole New Year's run yet.
00:00:15 Casey: Once you see the hot dog flying around the room.
00:00:17 Casey: No spoilers.
00:00:18 Casey: That was a great year though.
00:00:19 Casey: I should have said the hot dog bouncing around the room.
00:00:21 Casey: That's a reference, Marco.
00:00:23 Marco: Yeah, I know.
00:00:24 Marco: My bell was too far away.
00:00:25 Marco: Also, it was a terrible reference.
00:00:28 Casey: A bunch of people wrote in via Twitter and via email telling you you really should have tried AirDrop when you were at, I think it was Tiff's parents and you were trying to send files around.
00:00:41 Casey: Now, I will be the first to tell you I have a comically bad memory, a woefully bad memory, but I could swear you said during the show that you had done one of these transfers with AirDrop.
00:00:53 Casey: Is that not the case, or did you cut it?
00:00:55 Casey: What happened?
00:00:56 Marco: I did these transfers via AirDrop.
00:00:58 Marco: However, there's a couple of limitations with AirDrop.
00:01:01 Marco: Number one, the iPad has to be there.
00:01:03 Marco: In the first instance, my father-in-law had handed me just the card reader with an SD card in it.
00:01:09 Marco: So that was problem number one.
00:01:11 Marco: So the iPad was not actually nearby.
00:01:12 Marco: Normally, I am a big AirDrop user.
00:01:15 Marco: I use AirDrop probably at least two or three times a week, usually to send files either from my phone to my Mac or between me and TIFF.
00:01:24 Marco: If one of us shoots a really cute video or photo and we want it to be in the other person's photo library, we'll AirDrop it over.
00:01:31 Marco: uh they they it usually does work very well people who have airdrop troubles who it never works for my biggest um advice to you is to switch it over to everyone mode uh i know it sounds crazy in reality the the risk from having it on everyone receive mode uh seems fairly non-existent unless you're like in a subway car packed full every day maybe people might try to do weird things to you but
00:01:56 Marco: I have never once had an unsolicited airdrop incoming thing, and I've had it set to everyone for a very long time.
00:02:04 Marco: So anyway, when it's set to everyone, it works very reliably.
00:02:08 Marco: When it's set to contacts only, it almost never works.
00:02:11 Marco: even you know whatever whatever they're using to match your contacts i guess it doesn't work for me but and from what i've heard from other people it seems like it doesn't usually work for them either uh but the everyone mode is very reliable for me and works all the time and i use it all the time and it's great i was trying to do an airdrop uh to my own computer with my own phone oh yeah now it doesn't even even with the me card you know like the one that's marked as like you which i assume is the same on my phone and on my mac nothing
00:02:39 Marco: Yeah.
00:02:40 Marco: But if you said it to everyone, it works great.
00:02:41 Marco: And what a lot of people might not realize about AirDrop is the implementation of it.
00:02:46 Marco: Like, for a while back, there were certain Macs and things that couldn't do it, like certain old models.
00:02:51 Marco: And people thought that was kind of BSE.
00:02:53 Marco: But there was actually a good reason for that.
00:02:55 Marco: Basically, what AirDrop does is it uses either a second radio or just like a second mode of the Wi-Fi radio to basically create a second...
00:03:03 Marco: like private wi-fi network directly between the two devices so it so even if the two devices that you're sharing aren't even on wi-fi or one of them's on a wi-fi network and the other one isn't or they're on different wi-fi networks airdrop still works and that's pretty cool and it just it saves a lot of hassle uh so big fan of airdrop here keep it on everyone mode if you want it to work and it doesn't so if you see marco wwdc now you all know what to do his phone is totally open you can send him anything you want
00:03:31 Marco: But it still prompts you to accept things anyway.
00:03:34 Marco: So there is a risk.
00:03:35 Marco: It'll show you a preview of the picture.
00:03:37 Marco: So if somebody wanted to send a vulgar picture, you would see the preview of it before saying deny.
00:03:42 Marco: So that, I think, would be the risk.
00:03:44 Marco: But so far, that has yet to happen to me.
00:03:46 Marco: I know I'm inviting horrible things, but that just doesn't happen in my everyday life.
00:03:51 Marco: So maybe during WWDC week, I'll put it on contacts only and just hope for the best.
00:03:55 Casey: So I actually have a fun anecdote about this.
00:03:57 Casey: This was maybe a year ago, and I don't think I ever told the story on the show.
00:04:05 Casey: We were, I believe, returning home from your house, Marco.
00:04:08 Casey: I'm not 100% sure, but we were certainly up in the New York state of mind, if you will.
00:04:13 Casey: And we were in the Jersey Turnpike, and it was with Declan.
00:04:16 Casey: It's a Billy Joel song.
00:04:18 Casey: No, I know the song.
00:04:19 Casey: I still don't know what it means.
00:04:20 Casey: I just wanted to drop some sort of reference so John would love me again.
00:04:23 Casey: It's a losing battle, Casey.
00:04:26 Casey: It really is.
00:04:27 Casey: So we're on our way back home, and we stopped at the Jersey Turnpike, and we stopped at one of those rest stops that's on the Turnpike, and we went and got a Roy Rogers burger.
00:04:37 Casey: Maybe it was Burger King or whatever it was.
00:04:39 Casey: And we're sitting there, and it's Aaron and Declan and me, and I'm eating, and somebody comes walking up, and I see this out of my periphery, and it looks like this person is intent on talking to me, which is fine, but...
00:04:51 Casey: It's surprising because nobody knows where I am right now.
00:04:55 Casey: And it was a very nice person.
00:04:57 Casey: I don't recall his name.
00:04:59 Casey: And I apologize if this very nice person is listening.
00:05:02 Casey: But they were very kind and very nice and said, oh, my gosh, I just wanted to.
00:05:05 Casey: Are you Casey?
00:05:05 Casey: I just wanted to introduce myself, blah, blah, blah.
00:05:07 Casey: And, you know, I have to tell you a funny story.
00:05:09 Casey: I walked in and I was curious if the place had any Wi-Fi.
00:05:15 Casey: And as I was looking, I noticed that there was somebody broadcasting their iPhone's Wi-Fi and it said Casey Liss's iPhone.
00:05:25 Casey: And I thought to myself, oh, my God, maybe he's here.
00:05:29 Casey: I should have a quick look.
00:05:31 Casey: What had happened was I was using my iPad in the car and I had personal or tethering or personal hotspot, whatever it's called, on.
00:05:38 Casey: And I just never bothered turning it off.
00:05:39 Casey: And so this very enterprising young man decided or, well, happened to see my iPhone in the list and then looked around and happened to spot us and came up and said hi.
00:05:49 Casey: And he was very, very nice and very kind.
00:05:51 Casey: And it was very funny.
00:05:52 Casey: Yeah.
00:05:52 Casey: Goodness did it ever take me by surprise that somebody had like from across the room figured out that I was there and came over with intention to say hi.
00:06:02 Casey: It was startling in the most flattering way possible and quite funny.
00:06:06 Casey: So that's be aware of your personal personal hotspot and airdrop.
00:06:11 Casey: I don't know, aware of your tendencies because it could get you in trouble.
00:06:15 Casey: Although that wasn't trouble for me.
00:06:16 John: So did you rename your phone to VZW Wireless 15678?
00:06:19 Marco: It's kind of a shame that you can't edit the Wi-Fi network name.
00:06:26 Marco: The only thing you could do is rename your device, and then it will take on that name.
00:06:30 Casey: I guess that's true.
00:06:31 Marco: Because wouldn't it be amazing if our thing was to get thousands of people to change their hotspot name to Casey Lewis's iPhone?
00:06:39 Marco: And then you just know, oh, there's an ATP fan in the room.
00:06:43 Marco: That would be awesome.
00:06:44 Marco: But you can't do it on the phone without changing your phone's name to Casey Liss's iPhone.
00:06:50 Casey: Yeah, so be aware of your airdrop in personal hotspot hygiene.
00:06:55 Marco: We're sponsored this week by a new sponsor.
00:06:58 Marco: It's HelloFresh.
00:06:59 Marco: For $35 off your first week of deliveries, visit HelloFresh.com and enter code ATP when you subscribe.
00:07:05 Marco: Whether you're a busy professional couple or a large family that runs at a breakneck pace or somebody who just wants to start cooking more, HelloFresh makes it easier, tastier, and healthier than ever to enjoy the experience of cooking new recipes and eating together at home.
00:07:18 Marco: Thank you.
00:07:41 Marco: HelloFresh is the meal kit delivery service that makes cooking fun, easy, and convenient with step-by-step, easy-to-follow instructions designed to take around 30 minutes for everyone from novices to seasoned home cooks who are short on time.
00:07:54 Marco: They source the freshest ingredients, measured to the exact quantities needed so there's no waste.
00:07:59 Marco: And HelloFresh employs a full-time registered dietitian on staff who reviews each recipe to ensure it is nutritionally balanced.
00:08:06 Marco: All of this delivered to your doorstep in a special insulated box for
00:08:09 Marco: for free go to hellofresh.com and enter code atp when you subscribe to get 35 off your first week of deliveries once again for 35 bucks off your first week visit hellofresh.com and enter code atp when you subscribe thank you very much to hellofresh for supporting our show
00:08:31 Casey: So we got a series of tweets from Adam Russell, and I thought these were really interesting, and I'll just read them as one contiguous block.
00:08:39 Casey: The answer to the Mac progress quandary from John is simple.
00:08:43 Casey: The Mac is obviously not the future, but you are all legitimately frustrated because the Mac is being functionally deprecated faster than the iPhone and iPad are being empowered.
00:08:52 Casey: Continuing to argue beyond that right now is pointless.
00:08:56 Casey: We just need to wait and see what Apple does next.
00:08:59 Casey: I thought that was a very interesting summary.
00:09:00 Casey: And by and large, I agree with that.
00:09:03 Casey: I don't know if the Mac is dead or not.
00:09:04 Casey: We don't need to cross this bridge for the 95th time, at least not yet anyway.
00:09:08 Casey: But I do agree that while incredible strides are being made on iPhone and iPad and iOS in general, I guess I should say, it seems like there's...
00:09:20 Casey: There's more going missing from Mac OS.
00:09:24 Casey: It just feels that way.
00:09:25 Casey: Maybe that's not even true.
00:09:26 Casey: You know, maybe if we looked at the feature list, maybe we're crazy, but it certainly feels that way.
00:09:32 Casey: And so I just thought this was a really interesting point.
00:09:34 Casey: Any thoughts from you, Marco?
00:09:36 Marco: I mean, one thing... Again, I don't want to get too far in the weeds on this because you know we could talk forever about this because we have and usually do.
00:09:43 Marco: One idea I've had for a future episode that we should do after we've had a little more time to think about it is like, what big things are still possible to do and left to do on the desktop?
00:09:54 Marco: What big challenges aren't being solved?
00:09:57 Marco: That like...
00:09:58 Marco: major new directions or advancements that desktop OS still could use, and in particular, macOS still could use.
00:10:06 Marco: And there's some low-hanging fruit here.
00:10:07 Marco: Obviously, one of them that I mentioned before was cellular Macs.
00:10:11 Marco: And the reason why there's no cellular Macs is probably because of all the different software needs that would be needed for that.
00:10:17 Marco: And right now, you can use things like tripmode.ch to kind of fake it.
00:10:21 Marco: Sorry, tripmode.helvetica.
00:10:23 Marco: But it would be so much better if there was OS-level awareness of cellular connections, which actually there is, but if more things actually used it with the switch to NSURL session, that actually was added in the API, but nothing uses it, at least to any meaningful amount, on OS X. Or excuse me, on Mac OS.
00:10:43 Marco: Sorry, Steven.
00:10:44 Marco: And so there are areas like that where like, yeah, you know what?
00:10:47 Marco: Cellular Macs would be awesome, but why don't we have that?
00:10:51 Marco: Oh, well, it would take a lot of work in the OS.
00:10:53 Marco: Well, there's a lot of answers like that where the question is like, why don't we have that?
00:10:56 Marco: Oh, it would take a lot of work on the OS.
00:10:57 Marco: Why are Mac apps so much harder to develop for iOS programmers than iOS apps?
00:11:01 Marco: Well, some of those reasons are good reasons that we'll stay there forever.
00:11:03 Marco: But part of it is that AppKit and UIKit are very different and in a lot of ways that they don't need to be different.
00:11:10 Marco: Some ways they need to be different, but a lot of ways they don't and they are for like legacy reasons.
00:11:15 Marco: And so like there's...
00:11:15 Marco: There are major advancements could be made in the frameworks.
00:11:18 Marco: We could talk about things like the security model of what they tried to do with sandboxing, which has mostly failed.
00:11:26 Marco: Mostly, I think, because not enough apps could fit within what the sandbox requirements were, and then they never really added new sandbox capabilities.
00:11:35 Marco: But I think with attention and maintenance and iteration, I think that model actually could work.
00:11:40 Marco: I think the assumption that desktop OSs are, quote, the past or are finished or functionally complete and there's no more advancement to be had, I think that's totally wrong.
00:11:51 Marco: And you can look at Microsoft just to see, even though Microsoft messes up a lot of things they try, a lot of things they try don't work out, but a lot of things they try are actually, you could see, like, wow, you know what?
00:12:03 Marco: If Apple tried to do something similar and did a better job of it, that could be really great.
00:12:07 Marco: Yeah.
00:12:07 Marco: And so not to mention, not even getting into things like AR and VR, which might be really useful in a general purpose PCOS.
00:12:15 Marco: We don't know yet.
00:12:16 Marco: So there are lots of areas where PCOS development could go with effort.
00:12:24 Marco: So to say that the Mac OS is done or finished or PCs are a solved problem, we can move on, is I think incredibly short-sighted.
00:12:33 John: I was looking at these tweets and I think I disagree with every single sentence in it.
00:12:38 Casey: Really?
00:12:38 John: The entire series of three tweets, mostly in like technical ways.
00:12:41 John: Like if you want to get picky of what you, you know, but yeah, we talked about it a lot in the past shows, but I mean, I could just start with the first and last sentence.
00:12:48 John: I don't want to go through a blowout with, you know, the answer to the Mac progress quandary for,
00:12:52 John: is simple.
00:12:54 John: First of all, I don't even know which quantity to talk about.
00:12:55 John: Second of all, the answer is never simple.
00:12:57 John: And then the last sentence, skipping over all the stuff in the middle, the last sentence, continuing to argue beyond that right now is pointless.
00:13:05 John: Obviously, I disagree with that.
00:13:06 John: If I thought it was pointless, we wouldn't talk about it for hours and hours every week.
00:13:09 John: Anyway, I think we've covered all these points, but yes, that we...
00:13:12 John: I guess I agree that we are legitimately frustrated.
00:13:16 John: That's the part I agree with.
00:13:19 Casey: Wow.
00:13:20 Casey: Well, tough crowd.
00:13:21 Casey: I thought it was interesting, if nothing else.
00:13:23 Casey: All right.
00:13:24 Casey: Any other follow up before we talk about something that's awesome?
00:13:28 Marco: Follow up on the MacBook Pro.
00:13:29 Marco: the more i use it the more i like it the ports still drive me nuts but the uh the ports drive me nuts and the and the keyboard arrow key lack of gaps uh drives me nuts but so far everything else about i'm actually enjoying i've been running some tests and i'm i've been finding this might make it into a blog post at some point i don't know but
00:13:50 Marco: I've been running some battery tests because Consumer Reports, I figure if their waiter test counts, maybe I can make my own.
00:13:57 Marco: And so I made my own kind of similar one, but that involves a little bit heavier workload, things like periodic Xcode compilations to periodically peg the CPUs for a few seconds and then go back to normal and to kind of simulate what I do.
00:14:11 Marco: And what I'm finding so far is that the new one's battery life is really mediocre, but so was the old one.
00:14:20 Marco: Like, I wrote this post a couple years ago about disabling Turbo Boost and the effect that it has on battery life.
00:14:27 Marco: And on the previous generation MacBook Pro, it had a pretty noticeable effect.
00:14:32 Marco: It added something like 20% battery life, roughly, a pretty big effect.
00:14:36 Marco: What I'm finding with the new one
00:14:39 Marco: is by disabling turbos, it does work, you can do it, but the savings are much smaller.
00:14:44 Marco: There is some savings to be had, but instead of adding an hour, it adds like 20 minutes or a half hour or whatever.
00:14:50 Marco: And of course, it'll depend on what you do.
00:14:52 Marco: But basically what I'm finding is that the new one's battery life, while it does suck,
00:14:59 Marco: I don't think it's actually worse than the previous one.
00:15:01 Marco: I think it's actually very slightly better under load, but very slightly worse when used lightly.
00:15:09 Marco: So it depends on what you're doing, but for my uses, the battery life on the new one is actually very slightly better if you really baby it, if you turn off Turbo Boost, if you turn off the DGPU uses and various things.
00:15:20 Marco: You can get it to be better.
00:15:22 Marco: So anyway, I'm kind of enjoying the new MacBook Pro, and it does feel awesome when you have to move it around and pick it up and stuff.
00:15:31 Marco: It is noticeably better.
00:15:32 Marco: So kind of enjoying that.
00:15:33 Marco: The more I use it, the more I like it, and the more I realize, like, okay...
00:15:37 Marco: Intel really screwed them on progress here, but this is not that bad.
00:15:42 Marco: And in some ways, in many ways, and possibly even most ways, it's better than the old one.
00:15:48 Marco: Still coming around on the keyboard?
00:15:50 Marco: I still hate the key switches, but I still feel when I use the old one that it's mushy and horrible.
00:15:57 Marco: So again, it's like I'm ruined.
00:15:59 Marco: I'm in the middle now.
00:16:01 Marco: I think it's more of an issue of the reduced gaps between the keys and of the arrow key layout than necessarily the key travel.
00:16:12 Casey: When I tried it briefly in the store, and I can't emphasize enough, it was super briefly...
00:16:17 Casey: I felt like it was 80% of my freaking beloved Magic Keyboard.
00:16:22 Casey: I'm sure I've talked about this 18 times on the show, but I'll say it one more time.
00:16:26 Casey: I love the Magic Keyboard.
00:16:28 Casey: It's my favorite keyboard I've ever used ever.
00:16:30 Casey: I personally am not a mechanical keyboard kind of guy.
00:16:32 Casey: Maybe you are.
00:16:34 Casey: That's fine.
00:16:34 Casey: It's not my cup of tea.
00:16:36 Casey: I love the Magic Keyboard.
00:16:37 Casey: And I felt like...
00:16:38 Casey: The new MacBook Pro keyboard got me really close, but I wanted just a little bit more travel on the keys and then it would have been like just perfect.
00:16:49 Casey: So I'm a little surprised if you say that the key travel doesn't really bother you.
00:16:55 Marco: It's not good, but it is no longer the thing about the keyboard that bothers me.
00:17:00 Marco: Like the change in layout, you know, certain things are just things you get used to.
00:17:06 Marco: Yeah, yeah.
00:17:06 Marco: But certain things are actually just like worse over time.
00:17:10 Marco: And I think one of the things that really negatively affects me about this keyboard, that one of the problems I keep hitting is just the lack of...
00:17:18 Marco: of dead space around the keys to feel.
00:17:22 Marco: As I'm figuring out by using it, it turns out I did that a lot, like feel around the dead spaces around the keys to kind of orient myself physically without looking, and especially around the arrow keys.
00:17:31 Marco: So to have now the shrunk down little tiny margin between the keys now, the keys are now much bigger, flatter, and because of the reduced travel, the edges are actually less flat.
00:17:44 Marco: less noticeable by feel and everything else too so it's a harder keyboard to type on blindly for me like i i have to i i make a lot more mistakes even even now that i'm like more accustomed to the feel of it i'm making a lot more mistakes with that involve my hands not being oriented correctly on the keys where i thought they were so i that part i still don't love i still think this is a bad keyboard
00:18:08 Marco: but um it's only because the bar was pretty high because for a long time apple has made laptop keyboards that i would never describe them as great uh because you know they still had laptop scissor key switches which are always a compromise right but overall apple's laptop keyboards i have never i haven't given them any thought whatsoever ever until the macbook one came out and now now that that keyboard's on they're close enough to that keyboard is on all the new ones
00:18:33 Marco: all previous apple laptops i've had before this and i've had one of every generation since the powerbook g3 aluminum uh sorry g4 aluminum sorry steven again steven's having a problem tonight with me but uh anyway yeah since the g4 aluminum powerbook every keyboard since then i've had no problems with and i've enjoyed using and it's been great and fine uh and this is this this is the very first time where they've made like a to me a very controversial keyboard um and so
00:19:01 Marco: Anyway, all that is to say, overall, I like it.
00:19:04 Marco: The new giant trackpad, I really do love.
00:19:06 Marco: I've loved that since the beginning.
00:19:08 Marco: I have not had the issues that people have had with accidental input with your wrist resting on it.
00:19:13 Marco: Otherwise, yeah.
00:19:14 Marco: Overall, good computer.
00:19:15 Marco: The SSD speed increase is very, very nice.
00:19:17 Marco: The GPU speed increase might be affecting me.
00:19:19 Marco: I don't even know.
00:19:20 Marco: Probably not.
00:19:21 Marco: But anyway, overall, good computer.
00:19:24 Marco: I wish the battery lasted longer in heavy use, but it turns out it actually is no worse than the last one in heavy use.
00:19:29 John: Wait, did you just say you love the trackpad?
00:19:32 Marco: Yeah, I do.
00:19:33 Marco: Well, so I love the largeness of it.
00:19:36 Marco: I do not love force touch or force click, whatever they're calling that feature on the Mac.
00:19:42 John: You just mean clicking?
00:19:43 John: Like clicking in general is what you're talking about.
00:19:45 John: You're not talking about...
00:19:46 John: uh forced like where you press really hard like that's not what you're talking about you're talking about clicking because your your complaint has been like i don't like the the trackpads that don't actually move and then you know you keep on two shows you've been raving about this is entirely because you're in uh tap to click wizard school with harry
00:20:02 Marco: yes if i actually have to invoke a real like a real like normal click by pushing you know forcefully or by pushing somewhat hard on the trackpad i hate those clicks they're terrible and the fact that everyone thinks they're just as good or okay baffles me i have no idea why anybody could think that's a good click but i just switched to tap to click mode and it's fine any other follow-up i guess i can keep derailing us if you want
00:20:26 Marco: We are sponsored this week by Squarespace.
00:20:29 Marco: Make your next move.
00:20:31 Marco: Make your next website and make that move on Squarespace.
00:20:35 Marco: Squarespace is the best website builder I have ever seen in the entire internet for all of time.
00:20:41 Marco: It is so ridiculously powerful, yet also so incredibly easy to use.
00:20:46 Marco: And it scales well from novices who don't want to put a lot of time into it or who don't have the skills to code their way through their customizations all the way up to nerds like me who can code if we want to, but usually don't have the time to or we probably shouldn't be spending our time doing that.
00:21:05 Marco: But, you know, Squarespace can accommodate all these needs from their simple what you see is what you get and drag and drop tools to customize their templates and create content all the way down to if you want to be a geek like me, you can inject code.
00:21:17 Marco: You can inject JavaScript and CSS directly into your template.
00:21:20 Marco: You have a ridiculous level of control with Squarespace.
00:21:23 Marco: These tools are amazing.
00:21:25 Marco: They host your site for you.
00:21:26 Marco: They support your site for you.
00:21:28 Marco: If you're making a site for somebody else, you don't want to support it.
00:21:31 Marco: You want Squarespace to support it.
00:21:33 Marco: And you don't want the person you're making the site for calling you for help.
00:21:36 Marco: Squarespace does that.
00:21:37 Marco: They take care of that.
00:21:38 Marco: So if you're making a website for yourself or for somebody else,
00:21:41 Marco: you need to check out Squarespace.
00:21:43 Marco: It is by far the best solution I've ever seen for doing this.
00:21:47 Marco: And it covers so many needs that chances are whatever you need to do, Squarespace can already do it with no hacks and not a lot of effort at all.
00:21:55 Marco: So check it out today.
00:21:56 Marco: When you want to make your next move for the new year, make your new site, try new things, start a new business, make your next move with Squarespace.com.
00:22:03 Marco: Go to squarespace.com.
00:22:05 Marco: Make sure to use offer code ATP to get 10% off your first purchase.
00:22:09 Marco: Once again, squarespace.com, code ATP for 10% off your first purchase.
00:22:13 Marco: Make your next move with Squarespace.
00:22:17 Casey: Apparently, Consumer Reports went into a Safari debug area and said, hey, guess what?
00:22:26 Casey: We are going to turn off the cache, which, okay, I guess that kind of makes sense because you want to make sure that it's not just cruising along and...
00:22:35 Casey: And just regurgitating the same stuff it has over and over and over again.
00:22:39 Casey: Okay, fine.
00:22:40 Casey: But nevertheless, it's still not a completely fair test.
00:22:45 Casey: And so they spoke with Apple and Apple was like, well, you guys probably shouldn't have done this.
00:22:49 Casey: Most users won't have done that.
00:22:51 Casey: Maybe some developers do.
00:22:52 Casey: I can't say that I usually do.
00:22:55 Casey: But also on top of that, there was some sort of issue that I've heard was related to favicons, favicons, whatever they're called.
00:23:02 Casey: But I don't know if that was ever confirmed or not.
00:23:04 Casey: And so there was a legitimate bug here in addition to them just meddling about.
00:23:11 John: So I don't think they're really meddling because the whole point of battery tests is to simulate real user activity.
00:23:16 John: I think we should put a link in the show notes for Jason Snell's article.
00:23:19 John: He went over all this stuff.
00:23:20 John: And having done some battery testing myself, I can relate to this.
00:23:24 John: You can't actually have human beings do your testing because they're too variable.
00:23:29 John: Yeah.
00:23:29 John: But to try to simulate human activity is actually very difficult because humans are inscrutable, but you need it to be exactly the same every single time.
00:23:39 John: And you also want it to be comparable from year to year and model to model.
00:23:43 John: And what they're doing with the cache is, I mean...
00:23:46 John: It could be argued that they should get thousands upon thousands of unique websites that they need to load.
00:23:51 John: But then you have to worry about the variability of those websites being up and them changing and so on and so forth.
00:23:55 John: So instead, they have probably a small set of URLs that they cycle through and they want it to load from the network each time.
00:24:01 John: They don't want it to be a test of how well it can read from the cache.
00:24:05 John: Right.
00:24:05 John: So they want to exercise the Wi-Fi and all the other things like.
00:24:08 John: in the end it's all a vague approximation of what an actual person might do with the computer and it's probably not particularly scientific in terms of like we let you know 100 users use their computer and put metrics on every single input and output and said how many bytes over wi-fi on what intervals with what bursts and what like they don't do that and then try to find an artificial workload that exactly matches it maybe apple does that but consumer reports doesn't like it's all kind of guesswork but in the end it doesn't really matter because uh i think like marco said in his thing like
00:24:36 John: the numbers they give you for like X amount of hours, that only applies to their test.
00:24:39 John: And even if it was done by a human, you're not that human.
00:24:42 John: You might do different things with your computer.
00:24:43 John: All you're looking for is, is it better or worse than the last laptop?
00:24:48 John: Is it, you know, you're looking for big swings of like, we have a light web browsing test and like an intensive test.
00:24:54 John: And what is the difference between them?
00:24:56 John: And is the light test like two hours less time than last year or more time or, you know,
00:25:01 John: It's all voodoo.
00:25:03 John: So them disabling the cache to say, we really want to test fetching this information over the network every single time.
00:25:10 John: So don't even bother looking at your disk cache.
00:25:13 John: I think that's a perfectly valid thing to do.
00:25:15 John: And furthermore, that wouldn't explain their widely variable results.
00:25:19 John: They're waiting like from 19 hours to like three hours or something.
00:25:23 John: Disabling the cache has nothing to do with that except...
00:25:25 John: as the story goes, that disabling the cache also triggered some other weird Safari bug that I haven't seen a technical exclamation for.
00:25:33 John: But anyway, Apple identified this bug.
00:25:37 John: They're going to fix the bug.
00:25:38 John: Consumer report says, I think they have a beta build that fixes the bug.
00:25:40 John: And lo and behold, they get same testing results.
00:25:43 John: Marco was cranky about this.
00:25:45 John: He wrote a blog post saying how the real story is that this was an Apple bug, but Apple's press release about it tries to deflect blame and say it's Consumer Reports doing a weird thing.
00:25:54 John: And Consumer Reports was only doing a weird thing insofar as all artificial battery testing is a weird thing.
00:26:00 John: I think everything Consumer Reports was doing was reasonable.
00:26:03 John: If you wanted to yell at Consumer Reports about something, it would be like...
00:26:07 John: It's pretty clear, Consumer Reports, that you've identified a bug.
00:26:10 John: You are not privy to some secret information that no other person who owns this laptop has figured out.
00:26:16 John: Everyone else is getting anywhere from 19 to 3 hours, but they're not saying anything.
00:26:19 John: But you, Consumer Reports, have revealed this amazing secret.
00:26:22 John: So go ahead and publish your story and say, we can't recommend these laptops because we're getting crazy results out of our battery tests.
00:26:30 John: That's a sign, Consumer Reports, that it's not time for you to publish yet.
00:26:32 John: It's time for you to figure out what the hell's going on.
00:26:34 John: Because if the entire world was getting three hours to 19 hours, you would have heard about it.
00:26:38 John: So that's what I would yell consumer reports about.
00:26:40 John: But instead, Apple was like, oh, they're using a special developer setting that most people don't use.
00:26:44 John: It's not reflective of real world use.
00:26:46 John: Well, no crap.
00:26:47 John: It's not reflective of real world use.
00:26:48 John: They have to make an artificial benchmark.
00:26:50 John: And it's probably the same thing they've been doing to Mac laptops for years.
00:26:52 John: Anyway, I'm getting worked up about it now.
00:26:54 John: But Marco didn't like their tone.
00:26:58 John: I generally didn't like the idea that Consumer Reports was doing something wrong with their testing, but I also didn't like the idea that Consumer Reports decided to go ahead and publish before they'd actually figured out what the hell was going on, even though they were pretty close to figuring out, like if they'd waited an extra week.
00:27:12 John: anyway uh there's enough blame to go around here but the bottom line is that the laptop's battery life is pretty much what everyone has been saying about it which is not fantastically better than the previous ones worse in some situations potentially better than others if you learn how to do all the magic things that marco's doing to it um but certainly not oh you're gonna get three hours now whereas or possibly 19 it's not that variable that that was a that was a bug
00:27:36 Marco: Well, but again, I have seen, though, in light usage so far, from what I can tell, it actually is a step back for a lot of, depending on what your usage is, what it includes, what apps you're using, what their needs are.
00:27:49 Marco: I think Consumer Reports was right to point out
00:27:53 Marco: the battery life on this laptop is weird because it is.
00:27:57 Marco: And you see that from users, from actual owners of it.
00:28:00 Marco: You're seeing like, yeah, the battery life on this laptop is weird because what we're seeing is everything is so incredibly aggressively power managed to the last drop.
00:28:11 Marco: If any factor...
00:28:13 Marco: takes more power than it should or than you think it is, or if you have anything running away in the background or turning on the discrete GPU or burning a CPU core for a while, if anything is not perfect, your battery life can be dramatically reduced on the order of hours less than what you thought or what you usually get.
00:28:33 Marco: That is a real problem.
00:28:35 Marco: And, you know, in Consumer Reports' case, it was because of seemingly the Safari bug, which, you know, you can figure out, like, you know, if it's a bug that only shows up when the cache is disabled and it seems apparently by some other statement to be related to Safari's caching of icons, then that makes a lot of sense.
00:28:50 Marco: It's almost certainly like the Apple Touch icon or Favicon infinite loop of fetching those things because it thinks it doesn't have them because they aren't in the cache because the cache is disabled.
00:28:59 Marco: So it's like it's probably that you can you can any web programmer can figure out, OK, that's probably what the bug or the bug is probably in that area.
00:29:05 Marco: But it doesn't really matter if that's what it was.
00:29:08 John: Why?
00:29:08 John: Like, I don't think what Consumer Reports was revealing is what you're talking about.
00:29:11 John: The variability between, you know, idle and regular power, because as far as I understand from reading the Consumer Reports thing.
00:29:18 John: they were running the same battery test and from one execution of that same test to the next getting one time they get three and a half hours one time they get 19 the same test not people like users like one day you use an x code and the other day you're browsing the web of course your your results are going to vary and potentially they could vary as much as you said like if you spend the entire time you know playing a game or doing renders in a you know multi-core or
00:29:42 John: like ray tracing program like you could get three hours and you could get 19 if you're just text editing with everything turned off right but consumer reports is like we're running the same battery test and we're getting these wildly variable results and that i think is not illuminating in the way that you were describing like to to inform consumers that
00:29:59 John: The you know that depending on your activity, the battery life can be variable.
00:30:03 John: It's almost like they were saying the thing is broken and unpredictable that if you buy this laptop, you never know what you're going to get, which is not the case.
00:30:08 John: But that's true.
00:30:10 Marco: No, that's actually like that's a real thing.
00:30:12 Marco: And in this in this case, like, you know, would this be the first time an Apple bug caused a process to go a little bit crazy?
00:30:19 John: no yeah i know but but but it's related to a bug i mean that's true of any laptop you could have any laptop that has some process grinding through an infinite loop in the background and your fans spin up and it'll slaughter your battery life i mean like maybe they made the fans too quiet so you don't have any external indication remember when you but used to listen to your computers to tell how they were doing you'd hear the floppy drive going to know how it's going or later you'd hear the hard drive going
00:30:41 John: to be able to figure out is the thing in a loop?
00:30:44 John: Is it frozen?
00:30:44 John: It sounds like I need more RAM.
00:30:46 John: Is it swapping?
00:30:47 John: Is something going wrong?
00:30:49 John: Or looking at drive lights blinking and stuff like that.
00:30:51 John: We've slowly lost most of these physical manifestations of the computer.
00:30:55 John: All we have left is on laptops in particular on the Apple line, the terrible fan noise, and now even that is tamped down.
00:31:02 John: Well, no, you feel it like when your phone gets hot.
00:31:04 John: You're like, why is my phone so hot?
00:31:05 John: I don't think I'm doing anything.
00:31:06 John: Yeah, or laptops get hot for that matter, you know?
00:31:08 John: uh but anyway i like it is true the performance is variable but their battery tests giving these results in the same we just can't recommend this because we just we can't get a beat on the battery life that that was not that was not a useful or accurate statement what they should have said is we think we've revealed the bug and then he could have spun it out into a larger story about a variability between idle and whatever power and demonstrated that by saying here we played some game for this amount of time look what it did to the battery life and here we just tooled around text editor like
00:31:35 John: I don't know.
00:31:36 John: I'm not a fan.
00:31:38 John: For example, I'm not a fan of Consumer Reports reviews of cars because I think they don't understand what makes a good car.
00:31:43 John: And in general, I haven't been a fan of Consumer Reports reviews of computers because especially when it comes to Apple, they're prone to...
00:31:50 John: go to press with something that sounds sensational rather than working on until they figure out what the hell's going on because figuring out what the hell's going on you still have a story there that you can explain but like going to press and saying we can't recommend these laptops that is you know from coming from us a show that has complained about these laptops a lot that is too far it's not as if this is a broken product that no one should buy like maybe it doesn't suit your needs or whatever for them to say we just can't recommend this laptop that's
00:32:18 John: That's not a responsible thing to publish, given the facts that we know so far.
00:32:22 Marco: Well, and to be fair, though, they actually did contact Apple beforehand and Apple gave them some kind of like, you know, canned response.
00:32:28 Marco: But it sounded like basically it's just like, you know, basically a non-response from PR.
00:32:33 Marco: So they did first contact Apple to, you know, to ask about this.
00:32:37 John: I know, but it's still on them to figure out what's going... To make the right recommendation.
00:32:43 John: That's their job as a publication.
00:32:44 John: And to backslide three days later when Apple works with them some more and finds out it's a bug, it's like, well, I don't know.
00:32:50 John: As people are putting in the chat room, can you imagine a non-tech going through the same thing and publishing that same... They'd figure out what was going on.
00:32:58 John: That's why they're a more trusted source for how good computers are.
00:33:01 Marco: Probably, yes, but...
00:33:03 Marco: I have a hard time looking at this.
00:33:05 Marco: I mean, look, Consumer Reports, we all know that they're not perfect and that they are prone to clickbaity headline sensationalism.
00:33:13 Marco: However, what they saw was a real problem, and it was not their problem.
00:33:18 Marco: And they asked Apple about it, and Apple gave them a non-response.
00:33:22 Marco: So what were they supposed to do?
00:33:23 Marco: These days, sometimes it takes a little bit of pushing for Apple from the outside to get things fixed.
00:33:29 John: I think it's on them, though, to realize that, like, if they haven't heard this from anyone else, maybe it has something to do with the fact that they are they're testing it under conditions that you have to test it under.
00:33:39 John: They're testing an artificial testing, which I said aren't bad, but they have to realize that maybe what we're encountering because we haven't heard anyone else have this problem.
00:33:47 John: is because of something that we that we have to do as part of our uniform testing procedure right for example the way you can figure this out is take your laptop that you're supposedly testing and give it to one of your staffers and have them take it home with them at night and use it as their regular work laptop and say when you use it like a normal person does it seem okay to you that's a non-scientific test but it can definitely tell you whether like i use it yesterday and i got this battery life and i use the next day did pretty much the same stuff and got like one eighth of that uh and if they say no or it's much more consistent when i use it like that well like
00:34:17 John: they can narrow down this house maybe it's because we're disabling the cache now granted that's that's a little bit of debugging there to understand that maybe you know what are you doing to cause this problem and removing variables and stuff like that but if you're going to come out as a publication and say we just can't recommend that that you know like there's things like we can't recommend this laptop like you should not buy this product
00:34:36 John: that is going too far for something that you know consumer reports would agree if they test it does not manifest in normal usage in the way they saw that if you do pretty much the same thing with it that you get you get that much variability in battery life because again if that was true every single publication that reviewed these laptops would say i do pretty much the same thing and sometimes i get you know 6x the battery life that i do other times and i can't figure out why
00:35:03 Marco: I partly agree with you.
00:35:05 Marco: I agree with some of the things you're saying.
00:35:06 Marco: But basically, the disagreement I think we're having is like whether Consumer Reports was reasonable to say what they said or whether they should have done more work and testing or investigation or whatever.
00:35:17 Marco: And I think – I don't think they were perfect about it.
00:35:20 Marco: But I think given what they were seeing –
00:35:23 Marco: I think they were mostly reasonable to say what they said at that time.
00:35:27 Marco: And now that they have new information, they said they are going to retest it.
00:35:31 Marco: And that's great.
00:35:31 Marco: Because, you know, it would be one thing, like, if, you know, if Apple eventually went to them and figured this out and Consumer Reports said, well, no, our test is done.
00:35:38 Marco: Sorry.
00:35:38 Marco: Too late.
00:35:39 Marco: You know, try again in 18 months when you release a new one.
00:35:41 Marco: You know, that would be kind of a bad move on their part.
00:35:44 Marco: But, like...
00:35:45 Marco: In the situation they were in, with the very little information they had, and with a non-response from Apple when they asked them about it, I don't think it was that unreasonable to publish what they did when they did.
00:35:55 Marco: Again, I would make a few edits, but for the most part, I think it was in the ballpark.
00:35:58 Marco: Now that they have new information, now they are retesting.
00:36:01 Marco: I think that is very reasonable.
00:36:03 Marco: And I think the problem I had about this was basically Apple's PR framing of their official statement.
00:36:10 Marco: It really...
00:36:11 Marco: Ooh, Apple's tone is really bitter almost recently.
00:36:16 Marco: Like the statement about the Dash developer, Bogdan Popescu, sorry if I mispronounced that.
00:36:23 Marco: Their statement about that situation was also really a little bit defensive and weird.
00:36:29 Marco: And as more fact came out from both sides, I think it became a little bit clear, like, oh, that statement was a little bit too aggressive and bitter and a little unnecessarily so.
00:36:39 Marco: there's something up like when apple gives a defensive statement like that i i think it can use some a little more editing than what it's getting before it comes out because it's it's like if you want to like write a nasty email like you wait till the next morning to send it it's like i think apple needs to do that a little bit with this with its uh defensive pr statements here because they come out with this with this very overly defensive attitude that's that's honestly slightly bs-y in in certain ways like they kind of bs around certain certain facts of the of the matter or whatever and
00:37:08 Marco: And it does not reflect well on them.
00:37:11 Marco: They're usually a trustworthy, straightforward company with clear communication.
00:37:16 Marco: And so to have these little defensive PR statements where that's not the case is just off-putting and a little bit concerning for a company that we respect so much.
00:37:28 John: I agree.
00:37:28 John: The PR statement was bad, but I still think Consumer Reports, what they should have published was, we can't tell what's going on, because that was the truth.
00:37:35 John: They did not know what was going on.
00:37:37 John: And what they should have said is...
00:37:40 John: when normal people use this we don't see this kind of variability but in our battery test we get this variability we can't explain that if they want to say therefore we can't recommend this that's a matter of semantics like i guess they can't recommend it technically because if they don't get good results on their artificial test then that's their criteria recommendation that they can't recommend it but
00:37:58 John: The way it was written up, it was almost as if they were recommending against it and that it seemed conclusive.
00:38:03 John: There wasn't much of saying, like, look, we were stumped.
00:38:06 John: We can't figure this out.
00:38:07 John: Something here is going on that we obviously don't understand.
00:38:10 John: I think the piece of information that was missing is that, you know, we are not privy to special information that the rest of the world doesn't have.
00:38:17 John: The rest of the world is using these laptops.
00:38:18 John: Other publications are testing them.
00:38:20 John: Other people own them.
00:38:21 John: This is a thing that only we are seeing.
00:38:24 John: And...
00:38:25 John: That was, you know, if you were to read this and that was your source, your authoritative source, you would say, well, these these laptops are obviously haunted, which is not the case.
00:38:34 John: It was just like that the consumer reports was doing a thing that induced a bug.
00:38:38 John: And the bug is a problem.
00:38:39 John: And you're right.
00:38:39 John: There can be other kinds of bugs.
00:38:40 John: But I don't know.
00:38:42 John: It just rubs me the wrong way.
00:38:43 John: And you're right.
00:38:43 John: There is some history there with Consumer Reports doing similar types of things.
00:38:46 John: And in general, I don't like consumer reports for, I guess at this point with the advent of the wire cut and everything, I don't like consumer reports for almost anything anymore.
00:38:55 John: So maybe a little bit of my general attitude about them is showing through.
00:38:58 John: But like I said, I didn't like the PR statement for all the reasons you noted, like them framing it as a consumer resource was doing a terrible thing.
00:39:05 John: that is the wrong framing when the reality was there was an apple bug you should have led with that it's like there was a bug we fixed it consumer reports is retesting that's such an easy pr win yeah like if we read that statement where would we go we'd be like all right well that explains it thanks apple we all understand that bugs exist but instead they led with consumer reports doing a weird thing like it's not that weird anyway now now i'm mad at everybody
00:39:26 John: Right.
00:39:26 Marco: They couldn't just say, you know, we discovered the problem they were having was due to a bug.
00:39:32 Marco: We fixed it and they're going to reach it.
00:39:34 Marco: Like that would be the direct, honest way.
00:39:37 Marco: Instead, they had to drill in that Consumer Reports' test was somehow invalid or irrelevant.
00:39:42 John: A hidden feature.
00:39:43 John: It's a checkbox in the preps window.
00:39:44 Marco: yeah which like they're like implying intent and possible malice that consumer reports were you know using this hidden feature they're mad at consumer reports too yeah and it's it's like apple couldn't give a statement without showing how mad they were about it and and that's that's that's again that's becoming more common with their defensive statements here and i don't think that's that's a a professional way to conduct yourselves in in the context of of pr like that's
00:40:10 Marco: That's what PR is not supposed to do.
00:40:13 Casey: It leaves a sour taste in my mouth, is all.
00:40:17 Casey: On the flip side of the coin, though, you could make the argument to kind of take John's point to the next level.
00:40:22 Casey: It was irresponsible and PR-y in a bad way for...
00:40:27 Casey: For consumer reports to say, oh, we can't recommend it.
00:40:30 Casey: The battery's crap.
00:40:32 Casey: The direct report, like John said, should have been, well, we're not really sure what's going on.
00:40:38 Casey: Nobody else in the world seems to be getting similar results.
00:40:41 Casey: So either don't publish anything or alternatively.
00:40:44 Casey: You know, right now we're saying no, but we got to get back to it.
00:40:48 Casey: Whereas it seems like it was from what I gather, it was it was a little bit more aggressive than that.
00:40:53 Casey: Like, I don't think there was malice there.
00:40:55 Casey: But the same way, Marco, that you're reading all this like malice and and and propaganda in the Apple response, which I think there's truth to that, or at least it appears to be true from my point of view.
00:41:06 Casey: You can take that exact same approach to looking at the Consumer Reports statement, which was in many ways also irresponsible and also premature and also PRE and also just not good.
00:41:19 Marco: Consumer Reports, maybe it's because my standards are so low for Consumer Reports, because like John, I have lost a lot of faith in them over the years.
00:41:26 Marco: So maybe I'm grading them on a curve here.
00:41:28 Marco: But even if Consumer Reports did something outrageous, I don't think that makes Apple's tone of their response okay.
00:41:35 Marco: Yeah.
00:41:35 Marco: Apple should be the bigger person here.
00:41:38 Marco: Exactly the same argument was made by a few people, I think including Matt and Reese, with Bogdan Popescu about Dash.
00:41:47 Marco: Apple is Apple, and they're making these statements against this one indie developer and this magazine slash website that has cut its staff to the bone in recent years and is barely afloat.
00:42:01 Marco: Like,
00:42:01 Marco: and they're apple right they are they are like goliath here right like they don't i'm sorry to mess up the metaphor i know that's kind of how that story goes but apple does not apple can afford to be the bigger person here with their statements and to not kind of play the bully almost and and what the the tone they take in these statements is like we're not going to just tell you what happened we are going to discredit the people who are making these accusations against us first we're
00:42:29 Marco: We're going to drag them through mud.
00:42:31 Marco: We're going to make them look like they were bad and malicious and at fault and doing crazy, invalid things when actually it was our problem.
00:42:40 Casey: All right.
00:42:41 Casey: Let's move on.
00:42:43 Casey: On the Swift Evolution email list, which who knew that email lists were still a thing?
00:42:49 Casey: This is like straight out of 98.
00:42:50 Casey: But anyway.
00:42:51 Marco: They are for language nerds.
00:42:53 Casey: They are.
00:42:54 Casey: There's a post from Chris Latner that the title is Update on the Swift Project Lead.
00:43:00 John: And there's a little bit of a preamble, and then the meat of it is... Wait, before you start reading the subject line of that email...
00:43:08 John: Having worked in corporate America for a long time, based solely on the subject line, you can tell what kind of news is going to be in email.
00:43:19 John: But having seen enough emails that euphemistically express...
00:43:24 John: personnel changes or other bad news about the company yeah the best one is when the subject line is somebody's name like the subject line is from someone else in the company and the name is like the employee's name like all right either they died or they got fired like that's one of one of those two things has happened here
00:43:40 Casey: or updates on update on is another great euphemism is what we have in here yeah and by the way the language used when somebody dies versus getting fired is pretty close yeah let's not go there okay not to say you're wrong but let's not go there so update on the swift project lead from chris latner and we'll explain who he is in a second but the meat of this email or is i'm happy to announce that ted kremenich is that how you pronounce it do you guys know
00:44:05 Casey: Let's go with it.
00:44:06 Casey: Okay.
00:44:07 Casey: I am happy to announce that Ted Kremenich will be taking over for me as, quote, project lead, quote, for the SWIFT project, managing the administrative and leadership responsibility for SWIFT.org.
00:44:19 Casey: This recognizes the incredible effort that he has already been putting into the project and reflects the decision I've made to leave Apple later this month to pursue an opportunity in another space.
00:44:28 John: Way to bury the lead, Chris.
00:44:30 Casey: Yeah, this decision wasn't made lightly, and I want you all to know that I'm still completely committed to Swift.
00:44:35 Casey: I plan to remain an active member of the Swift core team as well as a contributor to the Swift Evolution mailing list.
00:44:41 Casey: And then there's some very nice comments about working at Apple, blah, blah, blah.
00:44:45 Casey: Everything will be okay.
00:44:46 Casey: The sky isn't falling, blah, blah, blah.
00:44:48 Casey: That was about noon-ish our time yesterday.
00:44:53 Casey: Thank you.
00:45:16 Casey: Prior to Apple, Chris was the lead author of the LLVM Compiler Infrastructure, an open source umbrella project that is widely used in commercial products and academic research today.
00:45:25 Casey: Whoa.
00:45:26 Casey: So let's back up a smidge.
00:45:28 Casey: John, you want to tell us who Chris Lattner is?
00:45:30 John: Well, I think both of those statements had his various titles in there.
00:45:33 John: I had to actually look this up.
00:45:34 John: I think his title upon departure from Apple was Senior Director and Architect Developer Tools Department.
00:45:42 John: That's a comma inside the title.
00:45:43 John: It's such a long title.
00:45:45 John: But he was basically in charge of all dev tools.
00:45:47 John: And when he came on board Apple, he was lower down, but also doing compiler stuff.
00:45:52 John: He is responsible for getting Apple off GCC and onto what was first a GCC work-alike compiler based on the LLVM compiler building toolkit that he made, that he started before he came to Apple.
00:46:07 John: It's probably one of the reasons Apple hired him, I'm sure.
00:46:09 John: um and then eventually clang which is the replacement for gcc uh and of course the swift programming language that we all know and love and or are avoiding um and that and you know so that that's who chris latner is he's the for in uh in sort of nerds who follow apple parlance but don't know personnel he's the guy who was on stage announcing swift at wwdc so that's that's the dude
00:46:35 John: So a very important person.
00:46:36 John: Apple has had a very illustrious career.
00:46:38 John: Obviously, the driving force behind many of the biggest changes having to do with developer tools at Apple with the platform on which you develop.
00:46:48 John: Because at this point, his final title, I think he was in charge of all Xcode, not just like the compiler nitty bit.
00:46:53 John: He started off just doing compiler stuff.
00:46:54 John: and moved all the way up until he's, you know, ahead of all dev tools.
00:46:57 John: So, uh, wide ranging influence and, uh, unquestionably Swift is the biggest thing to happen to develop on Apple platforms in many, many, many years.
00:47:06 John: Um, and so he's leaving, uh, and he's going to Tesla.
00:47:12 John: And, uh, the first thing that occurred to me about this announcement was that it took place, the first place I saw it anyway, and I'm pretty sure the first place that it appeared anywhere publicly, uh,
00:47:22 John: was on the Swift Evolution mailing list, which is a public mailing list about the open source development of the Swift programming language, because Swift is open source, thanks to Chris's efforts inside Apple.
00:47:35 John: And that's where he chose to announce his departure, not on Twitter, not on Apple press release, not in any other channel, not on his blog, but on the open source mailing list.
00:47:44 John: And then he buried it, you know, two paragraphs down in an email about a change in leadership of the open source effort, which I think in itself is a statement about
00:47:52 John: his dedication to open source and his respect for the community that the the the few nerds who are following a mailing list of all things you can you believe who people oh people like me who still subscribe to my list it still happens and that he that he's telling not the public at large and not a bunch of press outlets uh but the people who contribute to the the evolution of the swiss language um so i i thought that made a statement um
00:48:20 John: And at the time they announced he was leaving, I didn't know where he was going, but as Casey points out, we didn't have to wait very long.
00:48:26 John: It's just only an hour or two later, and the mystery was solved.
00:48:31 Casey: Yeah, this is a big deal as far as I'm concerned.
00:48:34 Casey: I mean, it's hard to say from an outsider's point of view—
00:48:39 Casey: And how much Chris was involved in, well, I shouldn't even say that since it is open source, but I personally don't keep up with the day-to-day doings on the Swift project.
00:48:52 Casey: And certainly since Apple was kind enough, and I mean that genuinely, I'm not trying to be snarky.
00:48:58 Casey: Apple was kind enough to upload the entire commit history for Swift to GitHub.
00:49:02 Casey: And people went digging through the early commits for Swift.
00:49:09 Casey: And it really was Lattner's baby for like a year or something like that.
00:49:12 Casey: And then gradually and gradually and gradually more and more Apple engineers came on board.
00:49:16 Casey: But, I mean, this is the language in which I write code every weekday.
00:49:21 Casey: And this is...
00:49:23 Casey: in many ways, how I pay for the roof over my head this very moment.
00:49:27 Casey: So, I mean, I personally owe a great debt of gratitude to Chris Lattner.
00:49:32 Casey: And I think Marco does as well by virtue of Xcode being under Chris Lattner as well.
00:49:38 Marco: Yeah, and LLVM and a lot of other stuff too, like not just Swift.
00:49:42 Marco: You know, there were a lot of other things that he, like, you know, I don't use Swift yet, as everyone knows, ha ha.
00:49:46 Marco: But like, he also did tons of stuff for the entire rest of the developer stack, including the compiler and Objective-C.
00:49:53 Casey: Yeah, yeah.
00:49:54 Casey: So this certainly strikes me as a pretty darn big deal.
00:50:00 Casey: It's a pretty big blow to see somebody that important, that high up, and from everything I've ever heard that well-liked, leave Apple.
00:50:12 Casey: And then it's just turning the darn knife for them to be going to Tesla.
00:50:15 Casey: That's not a bad thing, necessarily, but I've got to imagine that Apple's pretty sensitive to these sorts of defections and
00:50:23 Casey: This one's got a sting.
00:50:24 Casey: And he's not the only one, as people are pointing out right now.
00:50:27 Casey: There have been several relatively high profile, although I don't think as high profile, Apple departures on their way to Tesla.
00:50:35 Casey: So this is this is kind of a bummer for Apple, for sure.
00:50:38 John: yeah we have a link in the show notes for christina warren's article where she gathered this big list of recent departures and the companies that they're going to and you see a lot of tesla in that list i mean obviously this is not a scientific sample apple we have no idea what apple's normal turnover is and if this is more than usual or whatever but high profile ones like this like those are the ones that we notice and it's a good occasion to see like if people are leaving apple where are they going and it looks like
00:51:02 John: Right now, you know, perhaps more people than perhaps people thought were leaving Apple to go to Tesla, which I guess would seem weird if there hasn't been rumors of an Apple car related project for so many years.
00:51:13 John: But now just like, yeah, that kind of makes sense.
00:51:16 John: Right.
00:51:17 Marco: I mean, like, and it depends on the person to like, you know, somebody like like Latner.
00:51:21 Marco: I mean, this is you know, he's obviously an incredibly smart engineer.
00:51:26 Marco: Yeah.
00:51:26 Marco: And that's like understating things, right?
00:51:29 Marco: Also is apparently a really good woodworker.
00:51:32 Marco: But anyway, really smart engineers tend to do two things.
00:51:38 Marco: Either they get a job at one company and work there forever for their entire career, like a place like Google or something.
00:51:44 Marco: They go there and they stay forever.
00:51:47 Marco: This is often what more academic programmers tend to like to do because that tends to enable them to be a little bit more academically focused
00:51:55 Marco: free in a way and and to really get established and to really not have to worry about like the employment situation much and just do great intellectual things and then the other pattern usually see for really talented very smart people in engineering at least they'll do one thing for a couple of years and then they'll want to do something else because they just want to keep like attacking new crazy interesting problems and once they have have
00:52:22 Marco: gotten something stable or released or whatever, they get antsy and want to move to something else.
00:52:28 Marco: Usually you see those two extremes with very smart engineers.
00:52:31 Marco: Because we know Chris is that level of talent, it could have just been the latter.
00:52:38 Marco: It's hard to look at this and to really read anything into this one person changing jobs.
00:52:47 Marco: That's not to say the aggregate doesn't maybe say something, but
00:52:49 Marco: This one person changing jobs to a different company, somebody who's that smart, it is not unheard of for them to change.
00:52:58 Marco: And he's been an Apple for a long time.
00:53:00 Marco: And so to change, was it 11 years?
00:53:02 Marco: I forgot.
00:53:02 Marco: 11, something like that.
00:53:04 Marco: I believe that's right.
00:53:05 Marco: And for somebody of that caliber, that's a long time.
00:53:07 Marco: uh so the fact that he just left and even though he he left us somewhere that's that's possibly like a bit of a red flag um that alone i don't think is reason for concern now if you look there's a couple of things about this that are interesting uh and and possibly concerning if you're looking at apple um one i think is the timing is a little odd um
00:53:31 Marco: you know apple is at this point it's barely even secret anymore that apple is working on a car project and that they're devoting a lot of resources to it um you can look around what what they're doing and the rest of their product lines and it seems like they're having a hard time keeping up with pretty much everything and they're devoting a lot of resources to something well less than before though if the rumors are to be believed
00:53:55 John: Because before they were devoting way more resources when they were supposedly making an actual physical car.
00:54:00 John: And then supposedly rumor says that they laid off a whole bunch of people and said, no, we're not actually making a physical car.
00:54:05 John: Instead, we're making self-driving software for cars.
00:54:08 Marco: Well, it sounds more like the answer was we're not making a car yet.
00:54:11 Marco: I think that was the actual pivot.
00:54:13 Marco: Or at least we're not making this car that we have been working on.
00:54:16 John: Anyway, well, all we've got is rumors because Apple doesn't say anything about this.
00:54:19 John: But the non-rumor thing is what is Chris Landon going to do at Tesla?
00:54:23 John: Vice President of Autopilot Software.
00:54:26 John: So if Chris was actually interested in working on software for self-driving cars, obviously, we know for a fact Tesla has a department working on that.
00:54:35 John: And supposedly, Apple possibly, maybe if you believe the rumors, also had a department doing that.
00:54:40 John: So it's not even as if he...
00:54:43 John: had to leave apple to work on car things maybe um but that's that's that's why we're saying it's like twisting the knife to go to tesla because it's i mean it's it's kind of strange to to compare rumors of what apple supposedly doing with the concrete reality what we know tesla is doing but
00:55:00 John: uh in in tech news circles uh and and the fact that apple that tesla and apple have this uh open door policy apparently with their personnel going in both directions and the slight animosity about poaching each other's employees the competition the competition between apple and tesla seems to be a real thing whether it's founded on an actual overlap in product efforts is still unknown
00:55:21 Casey: Yeah, that's the thing is that irrespective of whether or not Apple is working on a car or car related things, it seems pretty clear, even from all the way on the other coast, that there is increasing amounts of animosity between the two companies about defections from one to the other.
00:55:38 Marco: Yeah, and that's why the company he went to is interesting for that reason.
00:55:46 Marco: What he went there to do when Apple allegedly, rumored-wise, has that department in active development is interesting.
00:55:56 Marco: And the timing, I think, is interesting because...
00:55:59 Marco: I don't... Casey, does Swift seem like it's in a very stable place right now?
00:56:04 Marco: Honestly, I don't know.
00:56:05 Casey: I don't follow it.
00:56:08 Casey: Okay, so I can't answer that question because no matter what I say, half of the Swift users will say I am dead wrong.
00:56:16 Casey: So the simple answer is it is not yet totally stable, but we are told that Swift 4 will bring ABI stability.
00:56:27 Casey: And at that point, all the bumps in the road should really start to smooth out.
00:56:31 Casey: I'm not saying that's accurate, but I'm saying that's what everyone is being told.
00:56:35 Casey: So take that for what you can interpret that to be whatever you mean.
00:56:40 Casey: But that should be soon.
00:56:42 Casey: Also, next year is the year of Linux on the desktop.
00:56:45 John: well you know the stability another word for stability you know you're only stable when you're dead like it's never actually be stable it's always going to be growing you know it's the question is like so swift is uh chris latner's baby right and i timing wise if you were to look at in terms of the swift language it's a little bit weird to move on to other things before you're sure that like
00:57:10 John: that you know your child has grown grown into an adult or at the very least is potty trained right and i'm not going to say abi compatibility is potty training but like having to bundle like you know the all the libraries with your application because you can't be guaranteed uh binary compatibility with the next version of the standard library and stuff that to me still feels like a language that is not yet
00:57:33 John: not yet fully formed it's not like it's you know it's not like unstable or too much is changing because they're they're you know source compatibilities they're they're on the source compatibility train at that point and even so even when they weren't on the source compatibility train i don't think it was that bad and xcode was good about helping you update your stuff like it wasn't
00:57:49 John: you know it's on version 3 it's not version you know 0.09 or whatever like they they incremented the major versions pretty quickly um because they did change major changes to the language during that time the one last thing like he said is abi compatibility i feel like after that it's not as if it's stable it's still going to improve and get better but i think it will have crossed the line into uh
00:58:11 John: a language that you can use without any more caveats, any more implementation caveats.
00:58:16 John: Because now your caveats may be like, oh, well, I don't like this feature, that feature.
00:58:19 John: But once it works like Objective-C and that it's like a language that you can write in to be, you know, and your application will be compatible with the next version of the US and all the frameworks and libraries and all that other stuff without you having to bundle all that crap with your app, like that's a sign of a language that isn't quite done.
00:58:34 John: So to have Chris leave before...
00:58:37 John: the you know the baby leaves the nest i keep searching for new analogies i don't know which one we're gonna pick it's a favorite but like because it's so bad to say like oh he left before swift is done swift is never gonna be done the language is never done but like before i feel like it crosses the line now he didn't leave right after 1.0 because that would be a much worse time to leave and swift is certainly in good hands it's not like it was hinging on him being there but purely from the perspective of wouldn't you like to
00:59:02 John: Yeah.
00:59:04 John: Yeah.
00:59:23 John: emotionally speaking it you know it it seems you know if i put myself in his place i would want to like say you were going to retire or whatever you would choose not to retire until let me just get the swift thing and just like see it off into the sunset and say here's my great accomplishment and he can do that now but i don't know i i think i would want to
00:59:46 John: see it along a little bit farther before i before i considered it like a mission accomplished and now it can now it can continue to grow and blossom into a successful adult or whatever um and so that's that gets me into the the next larger point here about uh big departures like this reasons people might leave apple uh marco touched on a lot of these already like you know really smart people you get bored
01:00:09 John: or um you know if you're you just want to try something else you decide you don't want to be a programmer anymore you know you don't feel like you can advance in the organization anymore but i i feel like at this at this very high level when you start getting into like people with senior and director in their title i have to think that the only reason people leave aside from when the marco said of like i just want to do something else which is definitely a thing
01:00:33 John: is that there's some fundamental disagreement about something important.
01:00:40 John: If that important thing is your own advancement in the organization, that could be it for people who feel like their careers always have to be advancing and if they feel like they'll never be able to advance farther.
01:00:50 John: Even though Chris climbed up the ladder very quickly, I don't feel like he was going to be CEO.
01:00:56 John: So I don't think that's his barrier.
01:00:58 John: I have no information here.
01:01:01 John: Nobody does.
01:01:01 John: No one is going to talk about this.
01:01:02 John: But I have to think it's just a disagreement about something.
01:01:06 John: And it doesn't need to be a disagreement that involves any animosity.
01:01:10 John: And it doesn't need to be a disagreement in which either Apple or the person leaving is right or wrong and the company is doomed or the person is doomed or anything like that.
01:01:17 John: But just sometimes...
01:01:19 John: uh there is just a fundamental intractable disagreement and you know you either live with it or you decide i don't have to live with it because i can go do whatever i want and maybe i want to try something different because you know whatever so in in the absence of any other information which will obviously never be forthcoming because you know nice people don't talk about these things until many many years later and perhaps not even then
01:01:44 John: It seems to me an amicable departure based on a fundamental disagreement about a thing that is probably not particularly consequential to Apple, but was obviously very consequential to Chris Latner.
01:01:59 John: And so I think that is a reasonable reason to move on to something else, just as reasonable as I'm bored and want to try something else.
01:02:09 Casey: So as an illustrative example, let's suppose that Lattner really, really wanted to open source Swift.
01:02:17 Casey: And, you know, this is three or four years ago or two years ago, whatever it was.
01:02:20 Casey: And that hadn't happened yet.
01:02:21 Casey: An example of something that to Apple may not be that big a deal, but to Chris, maybe a huge deal is he goes to his higher ups to Craig or whomever at Apple and says, I want to open source Swift.
01:02:31 Casey: And Craig or whomever says, not going to happen.
01:02:34 Casey: And Chris says, well, you know what?
01:02:35 Casey: I'm out.
01:02:36 Casey: You know, obviously that isn't the case, but that's the sort of thing, John, I think you're talking about just as a hypothetical example.
01:02:42 Casey: Is that fair?
01:02:43 John: Yeah, that's a perfect example because that's the type of thing that like he might care deeply about.
01:02:48 John: Right.
01:02:49 John: And then it might, you know, like this, his his dream might not just be I'm going to make this new language called Swift, but also that he wants to be open source because he wants to see the language spread beyond the walls of Apple.
01:03:00 John: Now.
01:03:01 John: um arguably if they told him no open source after the language had been announced like it's a little bit late for that or whatever but obviously they did announce the language and it wasn't open source and only was open source later so he you know he he was a driver for that inside apple um
01:03:16 John: which is no secret.
01:03:17 John: He says it himself on his own website if you want to read it.
01:03:20 John: And anyone who's heard him speak about it before it was open source could tell that he was in favor of it because if he was asked in interviews or whatever about it, Swift open source, he'd be like, oh, you could tell that he wanted it.
01:03:30 John: And eventually he got it.
01:03:32 John: If he hadn't gotten it, maybe that would have been something that said, you know, this has really crushed my dream about Swift and I really wanted it to be open source and this is a deal breaker for me.
01:03:42 John: And it's the type of thing that Apple would know.
01:03:44 John: I mean, they would know that
01:03:46 John: this important person who's been important to the company wants this thing.
01:03:49 John: And if we decide no on it, it could cause him to leave.
01:03:52 John: Like that's the, you know, turnover is a possibility.
01:03:55 John: And so like, it's not as if I think this is a mystery or surprise to anyone involved in it.
01:03:59 John: And like that, that's how these things go down.
01:04:01 John: If you have a super important person in the company, you will be willing to do things to retain that person that you wouldn't otherwise.
01:04:07 John: That's, that's another one of these bullet points.
01:04:09 John: How do you retain, how do you retain the best people in your company?
01:04:12 John: One of the ways you retain them is finding out what's important to them and
01:04:15 John: and wherever possible without compromising the good of the whole company or the rest of the people who work there being willing to do to bend over backwards to keep them there i'm sure i don't know what kind of things they had to do to keep johnny ive there but i'm sure there are a lot of them and you know apple will be entirely willing to do them oh you want to work from england for a few years oh you want to you know make this product you want to do the apple watch edition you want to make a 300 book like whatever like
01:04:39 John: those are easy easy sure we're gonna keep johnny i've we're gonna make him happy that's how you retain employees but at a certain point if johnny i've says i want to stop making iphones and start making pens only with ink in them and they're gonna and if you don't let me do this i'm leaving the company apple's gonna say well johnny more of a mark newson thing yeah well i don't know
01:05:00 John: They're going to say, well, Johnny, we're going to have to part ways here because we're not going to stop making iPhones no matter how much you want to make pens.
01:05:07 John: So there's no bad guy in that situation.
01:05:10 John: It's just an amicable parting of ways among titans of industry.
01:05:16 Casey: It's wild.
01:05:17 Casey: And I mean, a lot of people have been saying for a long time that retention is one of the biggest threats to Apple.
01:05:26 Casey: And not that Chris Lattner leaving alone proves that theory, but certainly it gives credence to that theory because this is...
01:05:36 Casey: This certainly seems like a big deal.
01:05:37 Casey: Now, a lot of people in the chat seem to think that this is, well, I'm filling in some blanks here, but seem to be perseverating on the thought that he's now going to be a VP at Tesla.
01:05:47 Casey: So this is, in principle, an upgrade in title.
01:05:52 Casey: And that could be enough.
01:05:54 Casey: I don't think that's the case.
01:05:56 Casey: I mean, I don't know, Chris, but the impression of him that I got is that he's not the kind to chase a title.
01:06:02 Casey: He's the kind that just wants to do interesting work.
01:06:05 Casey: But it could be as simple as he wanted to be a VP and, you know, Craig isn't going anywhere.
01:06:10 Casey: And I don't even know if he reported up to Craig, but it seems logical.
01:06:13 Casey: And so he decided, you know what, I want to be a VP somewhere and Tesla's doing interesting stuff.
01:06:18 Casey: So off I go.
01:06:20 Casey: I tend to think that John is right, that it's something deeper than that.
01:06:23 Casey: But you never know.
01:06:24 Casey: People do odd things for odd reasons.
01:06:26 Casey: And it very well could be that.
01:06:28 Marco: i mean honestly like if i were to take a job in silicon valley that's a massive if i know and that's very unlikely to ever happen i can't even compute that we should make a reality show of that if that ever happens oh my god yes but if i were to ever take a job at silicon valley i i think apple and tesla would be my top two picks and i think it would it might be more interesting for me to work at tesla i don't know
01:06:52 Marco: I would honestly very heavily consider both if I got offers from both.
01:06:57 Marco: And I think I might lean towards Tesla because I think that might be kind of the more exciting place to be right now for my interests.
01:07:06 Marco: I don't know.
01:07:06 Marco: I could totally see why somebody would make that decision.
01:07:09 Marco: So anyway...
01:07:10 Marco: My summary of this is basically like, there are lots of legitimate reasons why somebody would go from Apple to Tesla that are not like bad signs for Apple.
01:07:23 Marco: However, there are enough...
01:07:26 Marco: like possible bad signs for apple here especially with things like the timing and what he's going there to do with apple possibly having that same position in active development right now um there are reasons here for people to be concerned i don't think this is a massive like story on its own but it might be a bit it might be part of a bigger story um
01:07:48 Marco: We don't know.
01:07:49 Marco: Is Tesla poaching tons of people from Apple?
01:07:52 Marco: We don't really know because typically when people go to Apple from anywhere else, Apple tends to keep that pretty quiet.
01:07:59 Marco: So we're only seeing one side of this.
01:08:01 Marco: I think when Tesla takes people, they're not that quiet about it and they don't really care.
01:08:06 Marco: But when Apple hires people, they tend to want to keep that very quiet.
01:08:08 Marco: So we're only really seeing one direction of this.
01:08:11 Marco: It could be a more balanced exchange of people.
01:08:14 Marco: We don't know.
01:08:16 Marco: However, if you look at the scraps that we're getting, scraps of info and rumors and knowledge about Apple, it's getting increasingly hard to look at this in a way that doesn't look bad.
01:08:31 Marco: It looks like something is going wrong in a pretty serious way.
01:08:35 Marco: And that could be wrong because, again, we don't have that much information here.
01:08:39 Marco: But it's it's getting harder and harder to look at this and explain it in a way where, oh, yeah, everything's fine.
01:08:47 John: Well, what do you think a serious issue like give a give a hypothetical where this would be concerning?
01:08:51 John: Like you mentioned that the fact that Apple potentially has a self-driving software thing, too.
01:08:56 John: So why couldn't he just stay at Apple and do the self-driving software thing?
01:08:58 John: Is that the only situation you think looks bad or are there other ones?
01:09:03 Marco: It's seeming like we are eating a lot of costs as Apple customers in order to fund the Apple Car Project.
01:09:11 Marco: It seems like they're putting a whole lot of talent on something big there that almost everyone seems to agree is almost certainly a car project.
01:09:19 Marco: Even Apple has been decreasingly secretive about that.
01:09:22 Marco: like in like tim cook statements and everything like it doesn't seem like they're trying to hide it i think the cat's out of the bag but we don't know who they're putting on it they could be hiring all new people for the car team for all we know like that's true but i we we're hearing a lot of rumblings uh from a lot of different places over time that like it's actually becoming a significant talent suck to the organization so
01:09:45 Marco: basically apple's putting a lot of resources and and sacrificing some attention on their existing product lines uh into this car project and it doesn't seem like it's going well internally through whatever reasons like whether it's you know interpersonal issues management issues bad direction who knows we we're probably never going to know that but
01:10:09 Marco: It doesn't appear that whatever's happening there doesn't look good.
01:10:12 Marco: It seems like we're seeing a lot of cracks and symptoms on the outside that indicate like things are not going the way they were expected to go.
01:10:21 Marco: And so if Apple is pouring all of these resources into something, I sure hope that we're getting something out of it.
01:10:28 Marco: I sure hope that this is going to be worth it to some end, because if not, this is a serious management problem.
01:10:36 Marco: That is my main concern, that it seems like we're seeing increasing signs over the last couple years.
01:10:45 Marco: We're seeing increasing signs that Apple might be having serious management problems.
01:10:51 Marco: And almost any one of these individual problems or symptoms or failures that we see that trickles out,
01:10:58 Marco: Almost any individual one could be explained away by like, oh, well, you know, that was Intel's fault.
01:11:02 Marco: That was just, you know, happenstance or that just didn't go well or whatever else.
01:11:07 Marco: But there sure are a lot of these things piling up and it's getting increasingly harder to draw any other conclusion than they're having serious management problems.
01:11:15 John: My position on this is always that I don't know enough about the internal workings of Apple to assign blame.
01:11:21 John: And the few things I do know, the most I know about the internal workings of Apple are things from the past, because that's when people talk years and years after it already happened, then you find out what really went on.
01:11:31 John: And organizationally, personality-wise and management-wise, Apple seemed to be just as big a pit of vipers around the time that Apple introduced the iPhone, their greatest success, as it was at any other time.
01:11:46 John: So I just don't know what goes on inside Apple.
01:11:50 John: I don't know if it's any worse than it was before.
01:11:52 John: All I have to judge them by are the products that they put out, right?
01:11:56 John: And in that respect, as we've talked about in past shows...
01:11:59 John: you feel like they're you know they're slacking off in some areas we think they shouldn't be and so on and so forth but i can't i personally can't make a leap from my satisfaction with the products they're putting out to internal management related things i just because i just feel like i don't have enough visibility there because like there's such a black box i have no idea what's going on in there
01:12:19 John: Maybe it's 10 times better than it was when the iPhone was introduced.
01:12:24 John: Right.
01:12:24 John: Maybe it's 10 times worse.
01:12:25 John: I don't know.
01:12:26 John: I can't I can't match it up.
01:12:27 John: Certainly, Chris leaving doesn't is not really a point on that graph, because as we discussed earlier, like there are so many reasons I feel like he could leave, even if getting back to the scenario was like, why didn't you just stay at Apple and do self-driving car stuff?
01:12:40 John: If I was Apple management, I wouldn't really want Chris Lattner working on self-driving car stuff, no matter how much he wants to.
01:12:46 John: I feel like that would almost be a situation where it's like, well, Chris, if you really want to work on self-driving car stuff, we've already got a team doing that.
01:12:53 John: And even though it seems cool to you, we have someone managing that team.
01:12:59 John: Chris's value to Apple, your value to Apple is higher leading the Swift effort right now.
01:13:04 John: And Chris may disagree with that and say, well, I don't care.
01:13:06 John: I don't want to do that.
01:13:07 John: And there may be a parting of ways there and say, well, we want you to do this.
01:13:11 John: You know what I mean?
01:13:12 John: I just feel like I don't have enough visibility into that type of stuff to know.
01:13:16 John: As we've discussed in the past, I'm personally concerned about some of the products they're putting out and decisions they're making about the products.
01:13:25 John: But I can't draw the line to the internals because it's just a big cloud to me.
01:13:29 Marco: Well, again, that's why I think it's important to not jump on the like something's going wrong at Apple train with any one of these things, because, again, any one of these, you know, you're right.
01:13:39 Marco: Any one of these various things that happen that like one explanation could be a management issue.
01:13:45 Marco: Right.
01:13:45 Marco: Like it's you can't conclude that from just one point.
01:13:49 Marco: But what I'm saying is that we're seeing over the last year or two an increasing number of seeming cracks in the foundation where that's one of the explanations.
01:14:01 Marco: And eventually, it's hard to make other conclusions when you have a lot of things that all could be explained by, oh, well, maybe this thing just went badly or maybe there's some other explanation.
01:14:14 Marco: But one of the explanations is problems going on.
01:14:17 Casey: I mean, that certainly could be, but I tend to come down on John's side on this in that it could be that it's management issues, but we can't know.
01:14:29 Casey: I mean, especially someone at Chris's level, and I mean that both in terms of org chart and just brute intelligence.
01:14:35 Casey: After a while, it wouldn't surprise me if you just got bored.
01:14:38 Casey: Like, comparatively, compared to Chris Ladner, I'm a friggin' idiot, and I get bored after a few years at most jobs I've ever had.
01:14:46 Casey: And so he was at Apple 11 years.
01:14:49 Casey: And granted, he worked on different things while he was there, and he has a lot to be proud of, but it could be something as simple as boredom.
01:14:55 Casey: I still come back to what John said.
01:14:56 Casey: I think this was some sort of disagreement with somebody, but...
01:14:59 Casey: I don't personally see such a direct line from Latner and others leaving to management problems.
01:15:06 Casey: And let's go back to what one of you said about the iPhone when, you know, everyone was getting sucked into the iPhone.
01:15:13 Casey: At the beginning of that multi-year process, that probably looked kind of not good.
01:15:17 Casey: And if we were around, well, we were around, but if we were a podcast then, if we were all three of us Apple fans then, we would probably be saying, wow, the iPod really looks like crap compared to a year ago.
01:15:27 Casey: I wonder what's going on in there.
01:15:29 Casey: And as it turns out, what was going on in there was the iPhone.
01:15:32 Casey: Now, is Project Titan or whatever it's called today, is that going to be the next iPhone?
01:15:36 Casey: Who knows?
01:15:37 Casey: But...
01:15:38 Casey: It doesn't necessarily mean that bad things are happening if talent is getting sucked into Titan.
01:15:45 Casey: It doesn't necessarily mean that bad things are happening if talent is leaving Apple.
01:15:50 Casey: All that being said, we are certainly getting enough data points to point to something not being good.
01:15:58 Casey: Exactly.
01:15:58 Casey: It may or may not be management.
01:16:00 Casey: I think I'm beating you up a little bit about it being management, but I agree with you, Marco, that something looks...
01:16:07 Marco: amiss here i just don't know what oh yeah and you know when i say management you know i'm not saying like this one particular person should be fired or whatever i'm saying like in in the sense of like it's a manager's job to fix this and like manage management level decisions might be problematic so things like resource allocation choosing what direction things should go in personnel changes like those are all those those all rest on management
01:16:32 Marco: And so if it appears that Apple's having problems in those kinds of areas over a decent amount of time and with enough of these data points where that looks like a likely explanation, that is up to management to fix.
01:16:47 Marco: And so it's up to either the lower level people who these various problems might be under...
01:16:53 Marco: But ultimately, it's up to Tim.
01:16:55 Marco: The CEO's job is to be the ultimate manager.
01:16:58 Marco: If things are going wrong with management inside the company, the ultimate responsibility to fix it eventually rests at the CEO.
01:17:07 Marco: And again, I do think...
01:17:11 Marco: There might be other explanations for these things.
01:17:14 Marco: Maybe everyone's doing a great job, but there sure are a lot of cracks showing in the foundation.
01:17:20 Marco: And at some point, I think we as Apple commentators have to consider the possibility that maybe things aren't going so well.
01:17:27 Casey: Yeah, I don't think anyone's debating.
01:17:29 Casey: Well, I don't think the two of us are debating with you that things may not be going well.
01:17:32 Casey: It's such a big black box that it's so hard to pontificate.
01:17:37 Casey: And arguably, that's what we're supposed to do.
01:17:39 Casey: But it's hard to pontificate with any sort of accuracy and reliability what's going on in there.
01:17:45 Casey: But it's certainly interesting.
01:17:47 Casey: And it is even more interesting, like one of you guys said, because everything we know is that there's an equivalent project happening within Apple.
01:17:57 Casey: But I mean, to use a silly example.
01:17:59 Casey: So a couple of jobs ago, I was doing a whole bunch of SharePoint development, which if you've ever touched SharePoint, you'll know.
01:18:05 Casey: It's a miracle I'm not bald right now from ripping my hair out.
01:18:08 Casey: But anyway.
01:18:09 Casey: Is there anything wrong with that?
01:18:10 Casey: Not that there's anything wrong with that, of course.
01:18:13 Casey: But I had been doing it for like four years and I had begged and begged and begged to do anything other than SharePoint.
01:18:22 Casey: And eventually it was made clear to me that that wasn't going to happen because I was too valuable as a SharePoint developer to move me off to do something else.
01:18:33 Casey: And so I left.
01:18:35 Casey: Now, to Marco's point, that is to some degree a management problem.
01:18:49 Casey: And if and either I was not valuable enough to them to to to acquiesce and to do what I wanted them to do, or they just didn't care or they didn't realize how serious I was about how cranky I was.
01:19:05 Casey: You know, there's any number of reasons.
01:19:06 Casey: But the moral of the story is I eventually left because I couldn't do the thing I wanted to do.
01:19:10 Casey: And I think John had said Lattner's valuable to Apple.
01:19:15 Casey: doing the crazy compiler nerdery that he does, or at least that's the way it seems, right?
01:19:22 Casey: He's also in charge of 100-some people.
01:19:24 Casey: So maybe all of us are reading this wrong.
01:19:26 Casey: Maybe he's just tired of being a manager and just wants to sling code again.
01:19:29 Casey: Now, as a VP, it sounds to me like he's probably going to be a manager again, but you get what I'm driving at.
01:19:32 John: Yeah, it sounds like he's still a manager.
01:19:34 John: And he was still writing code at Apple.
01:19:36 John: You can go look at the commits.
01:19:37 John: It's not like he didn't give up writing code.
01:19:40 Casey: No, no, but you see what I'm driving at, though.
01:19:42 Casey: So...
01:19:43 Casey: I guess all I'm saying is there are lots of different explanations, some of which are management, some of which are not, that all are feasible, but may or may not be indicative of a fundamental problem at Apple.
01:19:55 Casey: I agree with you, Marco, that I still agree with you that there is a possibility that something is not good.
01:20:01 Casey: And it certainly seems that way.
01:20:03 Casey: But, man, it's hard for us to tell.
01:20:06 Marco: And ultimately, we don't need to tell.
01:20:09 Marco: Again, we can't know unless they both talk, which I can't imagine.
01:20:16 Marco: We can't know what the cause here was and what it means.
01:20:20 Marco: Again, this one incident, this one person leaving is not itself a massive deal because we don't know these things.
01:20:29 Marco: It might be a massive deal, but we can't say because we don't know.
01:20:33 Marco: I'm just talking about the overall pattern, the trend of the graph, the way things are going.
01:20:39 Marco: It just seems like we're getting increasingly more problems where the explanation could be something's wrong.
01:20:49 Marco: And it might not be.
01:20:50 Marco: For any one of those problems, it might not be that.
01:20:53 Marco: But there sure are a lot building up.
01:20:55 Marco: Basically, I don't know how anybody could be a really big Apple fan and look at the way things are right now and not be a little bit worried.
01:21:05 John: yeah i think that's fair you don't care about the mac i'm not quite sure why you'd be that worried because i still think iphones and ipads are great the ipad is the best it's ever been the iphone is arguably the best it's ever been if you don't mind that the case look the same three years in a row so if you don't care about the mac i think apple's still doing pretty well i mean like but getting back to what i was saying before about uh the state of the internals of apple and and the the parts that we actually do know about because enough time has passed
01:21:30 John: Like, think of when, you know, Tony Fidel, father of the iPhone, apparently didn't get along with a lot of people inside Apple and eventually got booted out.
01:21:38 John: And then you have Scott Forstall, who wasn't... Who was he not getting along with?
01:21:41 John: Johnny Ive or something?
01:21:42 John: Everybody, it sounded like.
01:21:43 John: But then Steve liked him.
01:21:44 John: Like, it was a friggin' mess in there.
01:21:46 John: And people were leaving and getting kicked out.
01:21:48 John: And it's like, if he stays, then I'm not gonna stay.
01:21:49 John: And they had to make these hard choices between two people who are arguably...
01:21:52 John: How do you kick out the guy who was the origins of the iPod project?
01:21:58 John: It's like, well, but he disagrees with this other person who's even more important to the company.
01:22:01 John: It's like, what can you do?
01:22:02 John: They're doing the best they can.
01:22:03 John: And yet, during that time, the company was producing the iPhone, for crying out loud.
01:22:08 John: So good old Ed Catmull, success hides problems.
01:22:10 John: Or Bob Mansfield and him leaving and then coming back.
01:22:14 John: There's always been a lot of drama at the visible top levels of the things.
01:22:17 John: But nobody cares when you're releasing the iPhone.
01:22:19 John: but go a few years and don't have an iPhone like it.
01:22:22 John: And then all of a sudden now we're going to look at your, all your high level departures and wring our hands about them.
01:22:27 John: And, you know, I'm not, I'm not saying that I don't endorse the political inviting that, and, and personality disagreements among these, you know, multimillionaire C level executives.
01:22:38 John: Like that's,
01:22:39 John: whatever that's a silicon valley sport that i'm not really interested in engaging in but the proof is in the pudding you can have an apparently personally dysfunctional upper ranks of apple and produce great products and i'm assuming you could have everybody getting along but the company going down the tubes so i'm not that's why i'm i'm hesitant to connect those two things
01:23:00 John: both because i had no visibility into it and then and also because i think maybe it's not even connected maybe you have the most dysfunctional group of children fighting with each other and produce a world-shattering product at the same time i mean steve jobs certainly wasn't the most uh you know pleasant person to get along with and they did a lot of good work under him too so fair enough
01:23:22 Marco: We are sponsored tonight by Betterment.
01:23:24 Marco: Go to betterment.com slash ATP.
01:23:27 Marco: Betterment, investing made better.
01:23:29 Marco: It is never too early or too late to start saving for retirement or your other financial goals.
01:23:36 Marco: Nobody has ever said, I wish I started investing later in life.
01:23:40 Marco: No, you got to start now because these things add up over time.
01:23:44 Marco: And if you're going to invest your money, it is...
01:23:46 Marco: much more wise to do it in a way that does not charge you a lot of fees, because all those fees also add up over time.
01:23:54 Marco: So if you can get something with very, very low fees up front over the course of the rest of your life, that's going to add up to a massive difference in what you're actually saving.
01:24:03 Marco: So Betterment is the largest independent automated investing service out there, managing more than $5.5 billion for over 180,000 customers as of this past September.
01:24:13 Marco: And of course, they're always growing.
01:24:15 Marco: And with Betterment,
01:24:16 Marco: They take the same strategies that financial advisors use with clients who have millions of dollars and through this automated technology are able to bring it to everyone and at a fraction of the fees that traditional financial services would charge for similar types of services.
01:24:32 Marco: Of course, any excess cash your portfolio generates is automatically reinvested with their algorithms, so every dollar you invest is always put to work and your portfolio is always balanced.
01:24:41 Marco: Investing always involves risk.
01:24:44 Marco: Right now, check out Betterment.
01:24:45 Marco: Get up to six months of no fees.
01:24:47 Marco: To learn more, visit betterment.com slash ATP.
01:24:50 Marco: That's betterment.com slash ATP.
01:24:53 Marco: Betterment.
01:24:53 Marco: Investing made better.
01:24:58 Casey: So the only thing that I still think is worth discussing here is what does this mean for Swift?
01:25:04 Casey: One of us is really enthusiastic about Swift.
01:25:08 Casey: And I'm curious what this means.
01:25:10 Casey: I mean, it sounds like if you were to read, if you were to take Chris's mailing list post, mailing it at face value, it sounds like Ted Kramonek has been doing all the work anyway.
01:25:20 Casey: Now, if I were Chris and I wanted a smooth transition and I wanted to be a nice guy, I would give all the credit to whoever's taking over.
01:25:27 Casey: But there's presumably some amount of truth to that.
01:25:30 Casey: And unfortunately, while I do write Swift every day, I don't follow the ins and outs, day-to-day stuff that goes on.
01:25:39 Casey: So I personally don't have a good feel for how much of this is true or false.
01:25:43 Casey: But, I mean, Latner is the daddy.
01:25:46 Casey: What do they call it?
01:25:47 Casey: Is it the Python guy that has a really funny nickname?
01:25:50 John: Somebody has a really funny nickname.
01:25:52 Marco: John, you should know this.
01:25:53 John: Python is like Pearl, right?
01:25:54 John: I don't follow Python.
01:25:55 John: Guido?
01:25:56 John: I don't know what Guido's nickname is.
01:25:58 Marco: It's like Supreme Ruler.
01:25:59 Marco: It's like something like that.
01:26:01 John: Benevolent Dictator for Life.
01:26:02 Casey: Yeah, maybe that's it.
01:26:03 Casey: Maybe that's it.
01:26:04 Casey: So anyway, so Latner is sort of the benevolent dictator for life.
01:26:09 Casey: And now...
01:26:10 Casey: We can debate whether his full-time job at Apple was working on Swift.
01:26:17 Casey: I mean, given that he had 100 people under him and from his own website, in additional languages, Swift and Objective-C, compilers and low-level tools that took on responsibility for the Xcode IDE instruments performance analysis tool, Apple Java releases, and a variety of internal tools.
01:26:30 Casey: It doesn't sound like Latner's full-time job was Swift anyway, but how much time is he really going to have to dedicate to it if he's working full-time at Tesla?
01:26:42 Casey: Is that a problem?
01:26:43 Casey: Is that just a change?
01:26:45 Casey: I mean, it seems like he's let this beautiful bird fly all on its own, and he's let go of the leash, but...
01:26:53 Casey: I don't know.
01:26:53 Casey: It's, it's slightly alarming, right?
01:26:55 Casey: It's, it's, it's a change no matter how you slice it.
01:26:57 John: he, he was not benevolent dictator for life, benevolent dictator for life.
01:27:00 John: I'm familiar with this concept because it was adopted by the Pearl community as well.
01:27:04 John: And it was bestowed on Larry wall as an interesting way for nerds to, uh, to deal with, uh, you know, to deal with each other and consensus building and everything.
01:27:16 John: Um,
01:27:16 John: To have one trusted person who everyone agrees both has a credible claim to dictatorship, like they invented the language in the case of Larry Wall.
01:27:28 John: It's like, you know, well, if one guy's going to be in charge of Pearl, it's going to be Larry Wall, right?
01:27:32 John: And also has proven to be like...
01:27:34 John: level-headed and reasonable uh you know and like that everyone agrees like you may agree with larry wall or disagree with them but we think he's a reasonable person so you you bless him as benevolent dictator for life and then you have an open source process where everyone argues with each other and tries to come to some consensus but every once in a while there's some big disagreement about some big important thing and it has to go to you know the ultimate tiebreaker and you defer everyone agrees that we all agree we're going to defer to the benevolent dictator for life
01:28:02 John: and that person makes the call and hopefully that rarely happens and most of the time the open source community works that out among themselves but you have this one person as the backstop as the tiebreaker as the one that everyone agrees is the authority and has a rightful claim to make the decision but and that person part of being benevolent is they don't use that they don't abuse that power they don't use it to override other people they wait to be called upon most of the time they defer to
01:28:26 John: to the community when there's consensus like that's the benevolent part it's really important this is by the way a terrible system for government because as we all know absolute power corrupts absolutely and you should not do this but in open source projects in these specific cases with these specific people who are really nice nerds like i assume guido is and i know larry is um it has worked out but that's not what chris latner is in the swift open source community it's a much more democratic process now here's the twist
01:28:52 John: He's kind of a de facto.
01:28:55 John: He was kind of a de facto benevolent dictator for term of employment at Apple because he was the boss of the most powerful contributors to the code.
01:29:06 John: So he was their boss in the company, which is a powerful position, right?
01:29:09 John: They kind of had to do what he said because he was their boss and they were working on Swift on Apple employee time, like not just in their free time as their hobby or whatever.
01:29:18 John: Um,
01:29:19 John: And he would be leading the meetings discussing the community proposals for the Swift language.
01:29:25 John: And the impression from the outside, at least, is that Chris would deliver the result of those meetings.
01:29:29 John: We had a meeting about this proposal.
01:29:30 John: This is a community proposal.
01:29:32 John: The Swift evolution processes you propose and then the Swift core team or whatever they're called.
01:29:36 John: I forget what this probably some name for this.
01:29:37 John: You know, they have like a governance process.
01:29:39 John: We decide whether your proposal will be adopted or not.
01:29:42 John: And then.
01:29:42 John: Chris usually, especially in the beginning, will write to the list, say, the core team met, here were our comments, here was the conclusion we made.
01:29:50 John: The problem with that is the core team had a lot of Apple employees on it, and Chris was their boss.
01:29:55 John: So even though he was not anointed as the benevolent dictator for life, it seemed like he had a...
01:30:02 John: let's say he had a larger influence on decisions related to the swift language than any other single person, which I don't think anyone would argue with.
01:30:10 John: It doesn't mean he was like, he was in charge of everything and made every decision far from it.
01:30:13 John: Like he mostly like a good benevolent dictator might defer to the community.
01:30:17 John: And in fact, the process does not have him in an anointed position of controlling everything, which means as he leaves Apple, I think he's going to now have less control over the evolution of swift than he did before.
01:30:29 John: Um,
01:30:29 John: But in actuality, he was never benevolent dictator for life.
01:30:32 John: That's not how Swift's open source effort looks.
01:30:34 John: And so to get back to Casey's question, what does this mean for Swift?
01:30:37 John: I think Swift will be fine.
01:30:39 John: It may end up going in a different direction that would have gone in had Chris stayed at Apple.
01:30:44 John: But that's not necessarily a worse direction.
01:30:46 John: And there are so many smart, good people.
01:30:49 John: people working on swift both inside and outside of apple that i you know and especially with the force of apple behind it if apple remains dedicated to swift as they seem to be over these past many years it will be perfectly fine the only change will be is that it may end up going in slightly different directions than it would have gone if chris was there but who's to say whether that's good or bad
01:31:10 Casey: So what is he doing for Tesla?
01:31:12 Casey: I mean, I understand what it said on the tin that he's going to be what was a VP of autopilot software.
01:31:17 Casey: But why Latner?
01:31:19 Casey: Like what what do you think he brings?
01:31:22 Casey: He uniquely brings to the table.
01:31:24 John: Well, I think that's pretty easy.
01:31:25 John: Like if you look at his resume, like he came to Apple as this guy who started this, you know, C++ compiler building toolkit.
01:31:32 John: Right.
01:31:33 John: And took that into a company that already had.
01:31:37 John: an entire IDE and tool chain for developing for the new operating system.
01:31:40 John: And slowly but surely,
01:31:43 John: replace their compiler from the bottom up first by cloning it and then replacing it entirely and then you know by by proving the worth of his little compiler thing i can use my little compiler tools to help you in this area of the company i can use it to compile shaders in a platform agnostic uh format um i can uh you know rip out the guts of the back end of gcc and replace it with this thing and i can replace all of gcc with my own compiler and then guess what i've been looking at your language it's kind of crap i can replace that too
01:32:11 John: That type of being able to come into an organization and eventually solve, you know, huge organization, community, ecosystem spanning problems is, you know, that's a hell of a resume.
01:32:25 John: That's a unique ability.
01:32:26 John: So you're going to drop this person into this project.
01:32:29 John: You know, in some respects, Tesla is so much simpler and more narrow than,
01:32:34 John: than apple because apple has so many stakeholders and so many complicated things and you know software development ecosystem tesla's just got cars at this point i mean you know at least that's only what he's going to be involved in he's not in solar roofs or whatever right they've got cars and he's a specific aspect of the cars not all aspects of the cars just the self-driving part which again is a huge problem but if anyone can get dropped into that situation and figure out how to make a team of people successful at accomplishing the goals put before them
01:33:00 John: uh you know he's proven that he can do that in the context of a big important company with millions of customers now how much of that how much of that experience translates to cars i don't really know but if you know if the problem the team is currently having has anything to do with tools languages compilers or anything he has any familiarity with he can hit the ground running and even if it doesn't
01:33:22 John: He's smart and he's proven he can navigate large organizations and get things done.
01:33:26 John: So, you know, I feel like he's a no-brainer hire to anybody who wants, who has some portion of their product that involves software and needs someone to lead that effort because he's shown he can do that.
01:33:39 Casey: Imagine if Tesla wanted to have a single language that could go from embedded systems all the way up to server-side programming.
01:33:49 Casey: If only there was a man or woman who had invented such a thing.
01:33:54 Casey: That would be so convenient to have hired.
01:33:56 John: I'm not entirely sure he'll be using Swift at Tesla.
01:33:59 John: Maybe he will, but maybe he won't.
01:34:01 John: Like, you know, I don't know what the software staff looks like for self-driving car tech at this point.
01:34:07 Marco: Yeah, neither do I. Well, and I think maybe that's part of why he would be so valuable to them is if you look at, like, the kinds of, like, you know, most programmers, you know, people like me, like, the work I do, it's almost...
01:34:21 Marco: It's almost unimportant whether I get my code correct or not.
01:34:26 Marco: Like, it's like, does it work most of the time?
01:34:28 Marco: Yes.
01:34:28 Marco: Okay, good enough.
01:34:29 Marco: And I think that applies to almost every working programmer.
01:34:33 Marco: Like, very few programmers really need to get things correct properly.
01:34:37 Marco: all the time or it really matters.
01:34:40 Marco: And if you look at the job of autopilot software, this is a really big deal.
01:34:46 Marco: People's lives are at stake.
01:34:48 Marco: That's like on the order of space shuttle software of like
01:34:52 Marco: this really has to be correct and not only does a compiler author have similarly high requirements right like because compilers really have to be correct like you can't have a bug in a compiler like that that's a really bad thing for a lot of people so like
01:35:09 Marco: That really has to be.
01:35:10 Marco: So not only that, but Chris has also proven himself to be really good at making tools to tell whether your code is correct, to do things like static analysis and things like that.
01:35:22 Marco: That was all him too, right?
01:35:24 Marco: Or at least rooted in his stuff.
01:35:25 Marco: Yeah, that was all LVM tech enabling those features.
01:35:28 Marco: Right.
01:35:28 Marco: So if you look at the specific needs of autopilot software, that needs somebody leading it who is both really good at writing correct code and also able to improve the correctness of the code of the rest of the organization.
01:35:44 Casey: That's an interesting point.
01:35:45 John: Yeah, the only thing that gives me pause here is that...
01:35:48 John: everything he did at apple were were things that if you were to present the the possibility of doing them to anybody else you know versed in the art as the the legalese saying go and patent law they would be like yeah that's a possible it's possible to do that right self-driving cars are still in the realm of nobody has done it yet like we've come close we're getting better we're doing this but like
01:36:13 John: It's not a straightforward thing.
01:36:14 John: It's not even clear what the correct approach is.
01:36:17 John: There was a good YouTube video I saw the other day, but someone gave a presentation on all the different problems with self-driving cars and different approaches.
01:36:22 John: One of the ones being promoted by NVIDIA, of all companies, because they sell GPUs that do it, is like the neural net type of thing, where instead of...
01:36:30 John: uh, the, the Tesla way, which seems more straightforward and programmatic.
01:36:34 John: Instead you get this, you know, this learning network that you train, right.
01:36:39 John: And you don't even, you're not even really programming it.
01:36:41 John: You're just kind of treating it like a little, a little living thing.
01:36:44 John: And you don't even know how it works internally.
01:36:46 John: You just know what the results are.
01:36:47 John: Um,
01:36:48 John: And you can train it in the real world and in simulations or whatever, like versus the approach of having a rule based approach where it's lots of sensors, lots of rules and lots of intelligence and systems conversing with each other and coming to consensus, but in an explicable way.
01:37:02 John: Right.
01:37:03 John: And that's more of the Tesla approach right now, which I think Chris is, you know, better suited to manage a project like that because it fits more with his other things.
01:37:11 John: He's not, as far as I know, an academic versed on machine learning and neural networks and stuff.
01:37:16 John: Right.
01:37:16 John: So that's a good fit.
01:37:18 John: if you were to go to somebody and say hey can you take that approach and build self-driving software that gets good enough that you can remove the steering wheel from cars nobody knows because nobody's done it right and and that is that's both exciting it's an exciting challenge right but also it's a big question mark i mean in addition to the question mark of like hey will tesla still be in business will they run out of money will somebody buy them because there's one thing you don't have to worry about at apple at least in the short term is uh will i will they be able to pay my paycheck answer yes
01:37:47 John: tesla on the other hand has not actually been making money uh and i'm not sure when the prospects of them making money is and i'm not sure whether they'll be bought or whatever but if you're looking for you know it's exciting at many levels you're looking for a challenge this is definitely a challenge i'm just not entirely sure that chris has any more of a chance of solving this problem like especially if the if the correct approach turns out to be like the neural net thing and that's not the approach tesla's taking uh
01:38:13 John: then he's not going to do it and someone else is but if it is the right approach and it can be done i guess he's got a puncher's chance right uh it's just it's a much bigger question mark than can you figure out how to fix apple's compiler infrastructure and make a new language that will be backward compatible with objective c and also work with you know like
01:38:34 John: He did a great job, and that is a tremendously hard problem, but it is a thing that has been done before in different forms versus self-driving cars, which is this big pie-in-the-sky question mark at this point.
01:38:46 Marco: Thanks to our three sponsors this week, HelloFresh, Betterment, and Squarespace.
01:38:50 Marco: And we will see you next week.
01:38:55 Casey: Now the show is over.
01:38:57 Casey: They didn't even mean to begin.
01:38:59 Casey: Because it was accidental.
01:39:02 Casey: Accidental.
01:39:02 Casey: Oh, it was accidental.
01:39:04 Casey: Accidental.
01:39:05 John: John didn't do any research.
01:39:07 John: Marco and Casey wouldn't let him because it was accidental.
01:39:13 John: It was accidental.
01:39:15 John: And you can find the show notes at ATP.FM.
01:39:21 Marco: And if you're into Twitter, you can follow them at C-A-S-E-Y-L-I-S-S.
01:39:30 Marco: So that's Casey Liss.
01:39:31 Marco: M-A-R-C-O-A-R-M-E-N-T.
01:39:35 Marco: Marco Arment.
01:39:37 Marco: S-I-R-A-C-U-S-A Syracuse.
01:39:42 Marco: It's accidental.
01:39:44 Marco: Accidental.
01:39:46 Marco: They did it.
01:39:46 Marco: How is John not using Swift yet?
01:39:57 Marco: Why the hell would he?
01:39:58 Marco: Because he basically caused it to exist.
01:40:03 John: I don't go that far.
01:40:04 John: Seriously, how are you not using it?
01:40:06 John: Well, I don't have... I would use it if I had occasion to use it, but I don't have occasion to use it at work, and I don't have time for anything at home because I'm always podcasting.
01:40:15 John: I just added support for a certain feature that Marco was aware of to my blog recently, but my blog is not written in Swift.
01:40:22 John: Why not?
01:40:23 John: Swift didn't exist when I made it, and I haven't touched it since, and it's a pile of crap.
01:40:26 Casey: Well, apparently you touched it somehow to add this feature.
01:40:29 John: Well, yeah, it was not that big of a feature.
01:40:31 Marco: It would be like the programmer thing to do to spend more time on the engine than on writing posts.
01:40:36 Marco: I think I still have achieved that goal because I write so few posts.
01:40:40 John: Right, exactly.
01:40:41 John: Good point.
01:40:41 John: I know.
01:40:42 John: Anyway, at this point, I'm such a high-level language dilettante that I just can't bear to deal with anything.
01:40:50 John: I know Swift is not down in the muck.
01:40:53 Casey: Right.
01:40:54 Casey: What is too low for you within Swift?
01:40:56 John: it's got unsafe stuff in there you know yeah but you don't have to use it for god's sake i know but sometimes you do depending on what frameworks you want to use with it and oh yeah and and types and like another high level thing is not yeah so much about types and uh i you know any moment of my life i spend wrangling a type system i feel like is a wasted moment because i'm so used to not doing it oh my god that's a future not about john
01:41:19 John: Wait, so hold on.
01:41:20 John: I know.
01:41:20 Marco: You're using Perl, I assume, as your holy grail here.
01:41:24 John: No, it is not a holy grail, but JavaScript is the same way, where you have to worry less about types.
01:41:31 John: Less.
01:41:31 John: Oh, my God.
01:41:32 Marco: Obviously, you have to worry about them somewhat.
01:41:33 Marco: That's so not true.
01:41:34 Marco: Oh, my God.
01:41:35 Marco: Okay.
01:41:35 Casey: Less than Swift, certainly.
01:41:37 Casey: John, as a JavaScript fan, I like JavaScript, and even I will tell you that appealing to authority with JavaScript was not the right move.
01:41:46 John: it's not appealing to authority i'm just saying it's like it's a language that i use that has the same characteristics in that you don't have to type everything okay well so go back to your earlier complaint like about unsafe things like you're using pearl pearl is just calling out to libraries written in c half the time so like yeah but they all work oh yeah okay right so like time tested not modified for the past 15 years
01:42:09 John: yeah that's that's yeah okay the great thing about using a language like that though by the way as i've said many times is when it's seg vaults it's not your fault that is that should be a slogan on you know if pearl was still a popular language people could put up on all seg vaults not your fault whereas when you get seg vaults marco guess what it's your fault
01:42:28 John: But you do that in Perl and it's like, I couldn't have done anything to cause that because I'm right in Perl.
01:42:33 John: It's some stupid C programmer's problem.
01:42:36 John: And you're right.
01:42:37 Marco: I don't get seg faults.
01:42:38 Marco: I get like, you know, uncaught exceptions and things.
01:42:42 Marco: I know.
01:42:42 Marco: Everyone's got a different name.
01:42:43 John: No, no, no.
01:42:44 John: Exceptions in Java.
01:42:45 John: Yes, I know.
01:42:45 Casey: Well, no, Marco doesn't have that problem.
01:42:47 Casey: I do, but it's all within the Swift compiler seg-faulting left and right.
01:42:52 John: When Marco was saying before, compilers, those can't have bugs.
01:42:54 John: I can feel everyone on the Swift mailing list saying, oh, yeah, compilers never have bugs.
01:42:59 Marco: I mean, I was referring more to, like, the generated code, but, yeah, I know about that kind of thing.
01:43:06 John: But you're right, the standard is higher, which is why when there is a bug, it's noteworthy.
01:43:10 John: But in the world of Swift's compiler, we are still definitely in the realm of regularly having actual bugs in the compiler.
01:43:17 John: Otherwise, all those people at Apple working on the Swift compiler wouldn't have anything to do, but rest assured that they do.
01:43:21 Casey: Well, let me tell you, type inference is magical until it stops working, and then it's the worst.
01:43:25 John: yeah you're worrying about types the correct argument against javascript for types is all their inane uh coercions that like they made a few bad choices with coercions and truth valueness and it's why everyone has all their religion about triple equals because they just want to avoid any of that stuff because it behaves in ways that people don't agree with
01:43:47 John: well like that's like what drives me nuts like people have written off php entirely for exactly that kind of thing and now they're all using javascript i was like it has the same problems like but they're not using javascript because they love it you know why they're using javascript they have no choice because it's in every freaking browser what about people who use node they have a choice i know they don't because the reason they're using the reason they're using javascript on the server side is because it's used in the client side and when you can share code because the client side and the server side it is a win
01:44:15 John: and also because node is actually a reasonable way to do async stuff server side you know as as compared to the other languages that offer similar features but totally it's like javascript wins not because anybody loves it but because you got to use it because it's in the freaking browser i mean i chose node willingly i could have done ruby when i wrote um camel and i chose but it would have been slower well it's faster
01:44:36 Casey: It never would have scaled for those millions and millions of hits I get every day.
01:44:41 Casey: But no, I chose Node because I was familiar with JavaScript.
01:44:44 Casey: But I didn't, I mean, I don't... Yeah, but why were you familiar with JavaScript?
01:44:47 Casey: Because of the web, for sure.
01:44:49 Casey: Exactly.
01:44:49 Casey: That's why.
01:44:50 Casey: Well, but slow down, though.
01:44:50 Casey: But I don't have jQuery on 99% of the blog posts I write.
01:44:55 Casey: In fact, I don't even have it on the standard template because I use it so rarely.
01:44:59 John: Oh, but you know the language, and you know little bits of the standard library, and you know kind of how the regular expression things work, and it's, yeah...
01:45:06 John: JavaScript is a mess.
01:45:08 John: Have you done any ES6 stuff in JavaScript where they tried to make it less of a mess?
01:45:14 Casey: No, nor have I touched TypeScript or CoffeeScript or any of that stuff.
01:45:17 John: Next time you do something in Node, upgrade to a recent version of Node and do the whole thing in ES6 and see how you feel about it.
01:45:24 Casey: Well, to be honest, I really want to convert Camel from static-ish to full-bore static, like you two knuckleheads do.
01:45:36 Casey: And I started... I have a branch with it.
01:45:38 Marco: I actually wanted to move away from that, but go ahead.
01:45:40 Marco: Really?
01:45:41 Marco: Yeah, I want to go back to server base, to dynamic generation.
01:45:44 Marco: Basically, I have some experience with web scalability.
01:45:48 Marco: Basically, the...
01:45:50 Marco: The language speed is never your problem.
01:45:54 Marco: If that's your problem, you are not doing something right.
01:45:58 Marco: Dynamic serve pages can be almost as fast as a static site served through Nginx if you do it right.
01:46:07 Marco: If you have things like... What all the servers do to serve static pages quickly, you have things like caching.
01:46:14 Marco: The basic caching required.
01:46:16 Marco: We're getting into an era now where...
01:46:19 Marco: I think as the web is shifting into the new era of mobile and whatever else, I think we more than ever need things like publishing API support so we can use tools on the go and stuff like that, as well as various dynamic format generation like AMP and whatever garbage is thrust upon us in the future.
01:46:45 Marco: And also...
01:46:46 Marco: Servers are so cheap and powerful now, and web traffic is pretty much down for everybody.
01:46:52 Marco: So it's getting increasingly harder to justify static-only site generation when a decently written, conscientious, modern, dynamic application can do things just as well and provide some pretty nice benefits for the world of mobile.
01:47:12 John: But when you do a static site, you lose the opportunity for a programming bug to make your site unresponsive.
01:47:20 John: And so we go back to doing dynamic, you finally get that ability back.
01:47:23 Marco: How complex is your blog CMS, John?
01:47:26 John: Now I can make a programming error that brings me back to the good old days when sites would get slashed out.
01:47:32 John: Whereas if it's static, the worst you can do is make your site look ugly because your static generator produced a bunch of crap.
01:47:36 John: But that ugliness will load real fast.
01:47:38 John: You guys have obviously not used PHP.
01:47:40 Marco: what you think why because it can also make things ugly i don't know well that too but no i mean i honestly like modern web languages and and tool chains and and stacks are really fast you'd be shocked how fast they are i know i'm just saying you make it you make a programming error that causes like you put you put something that goes into an infinite loop somewhere and then all of your your uh you know child processes get tied up in the infinite loop and now you have no more responders and and you know like
01:48:06 John: it's an error you're not doing it on purpose not saying it's performing correctly but when you have no code and you just have static files you that whole class of errors is gone and so that's i mean that's why people do static stuff it's like well um it will have predictable performance right and there's nothing i can do to mess up that predictable performance because i'm not serving the files you know nginx is or apache is and i haven't upgraded it in 17 years and it's just doing what it always does and it is 100 predictable once you add your own code to the mix you
01:48:34 Marco: you open up the window however small for you making a silly programmer error that causes your thing to hang when it gets much traffic or something i think you might be overestimating the complexity of a php blog engine no i said it's a good thing like it's not very hard there's not much code and there's not much opportunity for things like infinite loops oh there's always opportunity for infinite loops just you can do that in a regular expression for crying out loud
01:48:57 John: Or not an infinite.
01:48:58 Marco: No, John, you could.
01:48:59 John: But I hate death of the universe.
01:49:01 Marco: A Perl programmer can do that with a regular expression.
01:49:04 John: No, anybody.
01:49:05 John: Even a PHP, even a JavaScript programmer can make a regular expression that does not terminate.
01:49:10 John: Well, I don't know.
01:49:11 John: Does PHP only use DFAs in its reg extension?
01:49:13 John: Do you know what that is?
01:49:14 Casey: I don't even know what that means.
01:49:15 John: well i don't know someone someone in the chat room will know and tell me the answer yeah like the ones deterministic the the non-deterministic finite automata is the one are the ones that you can make a regular expression that tries like a bazillion permutations of how to match and it won't succeed or fail in you know for a huge amount of time so it effectively looks like a hang i think if you are using regular expressions to that level of complexity you're you might be using the wrong tool for the job
01:49:40 John: It's not.
01:49:40 John: It's not a complex thing.
01:49:41 John: It's really, you can make a trivial example with, like, six characters, with just, like, characters and pluses and a couple parens, and you can make one that goes like that.
01:49:49 John: But some regular expressions, like EGREP, I believe, from the command line only does DFAs, and those don't have that problem.
01:49:55 John: But to use the fancier features that Perl has in its regreps engine, you have to have an NFA engine in there as well.
01:50:00 John: And I think Perl switches between them, uses a DFA when it's faster.
01:50:03 John: Anyway, this is all esoteric.
01:50:05 John: But the point is, infinite loops are everywhere if you look hard enough.
01:50:08 Marco: What are you doing with your blog?
01:50:10 Marco: Honestly, I've written a number of blog CMSs ill-advisedly over the years, and I don't think I've ever even needed anything that complex.
01:50:19 John: What are you doing?
01:50:21 John: I'm not doing anything.
01:50:22 John: I have static files.
01:50:22 John: I'm just saying you've seen a ton.
01:50:23 John: I mean, the most common case is what you said before, that someone doesn't
01:50:26 John: Someone either implements caching wrong or doesn't implement it at all.
01:50:29 John: And then you get to see, like, their MySQL connection errors when their page gets slashed out, like the bad old days.
01:50:34 John: It's not like the language isn't fast enough.
01:50:35 John: It's like they didn't realize that they might need to have 7,000 simultaneous connections to their MySQL database.
01:50:41 John: And they didn't do any form of caching.
01:50:42 John: And their page gets popular.
01:50:43 John: And all you get to see is their lovely MySQL error on a white error page.
01:50:47 John: Yeah.
01:50:47 John: Remember those days?
01:50:49 John: That used to happen a lot.
01:50:49 John: That still happens.
01:50:51 John: I know.
01:50:51 John: Well, that's the magic of a dynamically generated website combined with... That's just a bad site.
01:50:58 John: Yeah.
01:50:58 John: I know.
01:50:58 John: You should do caching, but then you've got to worry about cache and validation.
01:51:02 John: It's a whole class of bugs that doesn't exist.
01:51:04 Marco: when you do static sites.
01:51:05 Marco: You know what you can do?
01:51:06 Marco: Because of the scale we're talking about here, the most simple caching in the world works just fine.
01:51:12 Marco: You know what you do?
01:51:12 Marco: You put a caching proxy in front of your application and your application sends a cache header with a TTL of one second.
01:51:19 Marco: because then it will in most cases only ever have to generate one page per second dynamically which they can all do and you can be serving that to a thousand people per second on the front end and it's fine because the caching server can do that you still get cash stampedes though you can still get stampedes for when uh the the one second expires and like it
01:51:36 Marco: Only for badly written caching servers.
01:51:39 Marco: We have better ones now.
01:51:40 Marco: They avoid that.
01:51:40 John: But there are so many ways you can screw this up.
01:51:42 John: That's what I'm saying.
01:51:43 John: The reason people do static sites is because it eliminates this entire class of performance-related problems.
01:51:49 John: And you trade it for the other problem, which is that your site takes longer to update and potentially you could host your entire site if you make a bug there.
01:51:55 John: But that trade-off is why people do static sites.
01:51:57 Marco: And you're more limited in the kind of features your site can support, which sometimes can be important.
01:52:04 John: Yeah, although you can have your site be entirely stacked and just have a little sub-URL be dynamic.
01:52:07 John: But anyway, Casey's proof of this because his Node site was 100% dynamic, right?
01:52:11 John: You were doing the stupidest dynamic thing ever.
01:52:13 John: Were you doing any caching or were you just caching it in memory?
01:52:16 John: Whatever it was, it was like...
01:52:18 John: How do you really feel?
01:52:20 John: No, like it was not stupid, like the most naive.
01:52:22 John: Like it wasn't like you were going through great efforts.
01:52:24 Casey: Oh, that's much better.
01:52:25 John: You're not stupid, Casey.
01:52:26 John: You're naive.
01:52:27 Casey: Yeah, really.
01:52:28 Casey: I feel like a million bucks right now.
01:52:29 John: Naive is a term of art.
01:52:30 John: A naive approach to serving pages.
01:52:33 Casey: To answer your question, what happens is the first time – actually, it's upon load.
01:52:38 Casey: Basically, when the engine is spun up, it looks through the file system.
01:52:41 Casey: And it looks at a bunch of markdown files, converts those to HTML, renders full bore HTML for each page, and then holds that in memory.
01:52:51 Casey: So in principle, once the thing is spun up, it should never have to think about anything again.
01:52:57 Casey: It just has to figure out where in memory that page is.
01:53:02 John: Yeah.
01:53:02 John: So, I mean, obviously that approach doesn't work for a site with a billion pages on it, like archive.org or something, but it works fine for a blog.
01:53:09 John: And it's technically dynamic because it's not like it's hitting the disk every time you make a request, right?
01:53:14 John: But it's also basically static.
01:53:17 John: It's static dynamic.
01:53:19 Casey: And that's exactly the point.
01:53:20 Casey: Like, what did I put on the readme?
01:53:21 Casey: Where did that go?
01:53:22 Casey: I just had this damn window open.
01:53:24 John: Maybe it's in an infinite loop and you can't find it.
01:53:26 Casey: Yeah, you know what?
01:53:27 Casey: I think you're right.
01:53:27 Casey: I think that's exactly what happened.
01:53:29 John: I'll send you guys some good infinite loop where I go spread.
01:53:31 John: I've got to find out.
01:53:32 John: Maybe JavaScript doesn't suffer from this.
01:53:33 John: It wouldn't surprise me if JavaScript was all DFAs because I suspect that I would see more of it on the web if it was a thing.
01:53:39 Marco: So this conversation was probably meant to have me start learning Swift.
01:53:44 Marco: But now instead, I just want to do the worst possible use of my time because I want to write a new blogging engine in PHP.
01:53:50 John: why don't you write a new blogging engine in swift you combine two into one are the are the server-side frameworks there yet because like honestly i i would consider that i think so there's a bunch of projects that i mean i'm sure they're not like mature or probably even good but i think like you can get the job done because like you said blogging engine is not that complicated
01:54:08 Casey: The one that IBM is working on, from what I understand, isn't bad.
01:54:11 Casey: I can't remember the name off the top of my head.
01:54:14 Marco: It's very easy to do this kind of thing in one of the very popular old languages, like PHP or Python or Ruby, because there's libraries to do everything that blogs ever need.
01:54:24 Marco: So like markdown processors, things like that.
01:54:27 Marco: That's really easy to just bolt on because it's right there.
01:54:30 Marco: There's a million libraries to do it, and it's great, right?
01:54:33 Casey: Right, that's the thing.
01:54:34 Marco: And things like image resizing, thumbnailing, if that's ever necessary, stuff like that.
01:54:42 Marco: The kind of stuff that blog CMSs tend to need.
01:54:45 Marco: It's fairly simple, but there are a few components that are somewhat complex, and it's nice to have good support for them from a web-y type of language that's been around for a while.
01:54:58 Marco: And...
01:54:59 Marco: Things like PHP and Ruby and Python, those have tons of good libraries out there for that kind of stuff.
01:55:04 Marco: Something that's brand new or that hasn't been really used in a web context very much, like Swift.
01:55:10 Marco: I've also had this problem with Go, honestly.
01:55:12 Marco: Go has a lot of built-in libraries for stuff like math and stuff.
01:55:16 Marco: But once you get into more webby-type needs, you very quickly hit walls of like, oh, they're just...
01:55:22 Marco: isn't a library to do this or there's this one library that just shells out to this obscure c library that won't compile or whatever else like i've i've had a lot of issues with go in that regard um but yeah i'm kind of down on go now honestly like i feel like swift kind of did go better than go and so now i just kind of want swift to be on the server so i could just use that
01:55:45 John: Should try Rust next.
01:55:46 John: Maybe Rust has better server-side libraries.
01:55:48 John: I don't know anything about their library situation, but it's in a similar vein if you're into those type of languages.
01:55:53 Marco: Yeah, I haven't looked at Rust recently.
01:55:55 Marco: I did look at it about two years ago, but I would expect it might have the same issues as Go, where it probably doesn't have a lot of those rich client-side libraries, because I think it's more of a low-level thing.
01:56:09 Marco: It is also very new and not incredibly popular yet.
01:56:14 Casey: I don't know.
01:56:14 Casey: There's a couple of different options for Swift.
01:56:16 Casey: There's Taylor, which is funny, but just woefully badly named because then you're searching for Taylor Swift.
01:56:23 Casey: There's Perfect.
01:56:24 Casey: And then there's Keturah, which is, well, Perfect is just an obnoxious name.
01:56:28 Casey: And then Keturah, which is probably the best kind of name because I've never heard that word used anywhere else before.
01:56:34 Casey: And so that theoretically should work.
01:56:37 Marco: Does Perfect have a bug tracker?
01:56:41 John: i don't know i would assume so that's that's funny as hell that's on github so yes it does oh the first heading what is perfect i think in my head like nothing like i don't know not this obviously but you're saying nothing is so perfect there we go i'll leave an issue on there i think they're not bugs they're issues issue number one nothing is so perfect

You’re Only Stable When You’re Dead

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