Podcast Search

ATP

204: You’re Only Stable When You’re Dead

Select a time to play from there. The line being spoken is highlighted as the audio plays.

0:00:00- Sorry for the fish.

0:00:01- So long and thanks for all of them.

0:00:03- I'm not really, I'm not sorry.

0:00:04- That's a reference, Jon.

0:00:05- I actually, I have not gotten a lot of headphone time

0:00:09since their New Year's show,

0:00:11and I actually haven't even heard

0:00:12the whole New Year's run yet.

0:00:14- Once you see the hot dog flying around the room.

0:00:17- No spoilers.

0:00:18That was a great year though.

0:00:19- I should have said the hot dog bouncing around the room.

0:00:22That's a reference, Marco.

0:00:23- Yeah, I know, my bell was too far away.

0:00:25Also, it was a terrible reference.

0:00:27(phone ringing)

0:00:28A bunch of people wrote in via Twitter and via email telling you you really should have

0:00:35tried Airdrop when you were at, I think it was Tiff's parents, and you were trying to

0:00:40send files around.

0:00:41Now, I will be the first to tell you I have a comically bad memory, a woefully bad memory,

0:00:47but I could swear you said during the show that you had done one of these transfers with

0:00:53Airdrop.

0:00:54Is that not the case, or did you cut it?

0:00:55What happened?

0:00:56I did these transfers via AirDrop,

0:00:58however there's a couple of limitations with AirDrop.

0:01:01Number one, the iPad has to be there.

0:01:03In the first instance, my father-in-law had handed me

0:01:07just the card reader with an SD card in it.

0:01:09So that was problem number one.

0:01:10So the iPad was not actually nearby.

0:01:12Normally I am a big AirDrop user.

0:01:15I use AirDrop probably at least two or three times a week,

0:01:19usually to send files either from my phone to my Mac

0:01:22or between me and Tiff,

0:01:23like if one of us shoots a really cute video or photo

0:01:26and we want it to be like in our,

0:01:28you know, in the other person's photo library,

0:01:30we'll AirDrop it over.

0:01:31They, it usually doesn't work very well.

0:01:33People who have AirDrop troubles who it never works for,

0:01:36my biggest advice to you is to switch it over

0:01:39to everyone mode.

0:01:41I know it sounds crazy.

0:01:42In reality, the risk from having it on everyone receive mode

0:01:47seems fairly nonexistent unless you're like in a subway car

0:01:52packed full every day.

0:01:54Maybe people might try to do weird things to you,

0:01:56but I have never once had an unsolicited airdrop

0:02:00incoming thing and I've had it set to everyone

0:02:02for a very long time.

0:02:04So anyway, when it's set to everyone,

0:02:06it works very reliably.

0:02:08When it's set to contacts only, it almost never works.

0:02:11Even, whatever they're using to match your contacts,

0:02:15I guess it doesn't work for me.

0:02:17And from what I've heard from other people,

0:02:19it seems like it doesn't usually work for them either,

0:02:21But the everyone mode is very reliable for me

0:02:24and works all the time and I use it all the time

0:02:25and it's great.

0:02:26- I was trying to do an AirDrop to my own computer

0:02:29with my own phone.

0:02:30- Oh yeah, it doesn't even, no.

0:02:31- Even with the me card, you know,

0:02:33like the one that's marked as like you,

0:02:35which I assume is the same on my phone and on my Mac,

0:02:38nothing.

0:02:39- Yeah, but if you say that to everyone, it works great.

0:02:41And what a lot of people might not realize about AirDrop

0:02:44is the implementation of it, like,

0:02:46for a while back, there were certain Macs

0:02:49and things that couldn't do it, like certain old models.

0:02:51and people thought that was kinda BSE,

0:02:53but there was actually a good reason for that.

0:02:55Basically what AirDrop does is it uses

0:02:57either a second radio or just like a second mode

0:02:59of the WiFi radio to basically create a second

0:03:03like private WiFi network directly between the two devices.

0:03:07So even if the two devices that you're sharing

0:03:11aren't even on WiFi, or one of them's on a WiFi network

0:03:14and the other one isn't, or they're on different

0:03:15WiFi networks, AirDrop still works.

0:03:17And that's pretty cool.

0:03:18And it saves a lot of hassle.

0:03:21So big fan of AirDrop here.

0:03:23Keep it on everyone mode if you want it to work

0:03:25and it doesn't.

0:03:26- So if you see Marco at WWDC, now you all know what to do.

0:03:29His phone is totally open, you can send him anything.

0:03:31- But it still prompts you to accept things anyway.

0:03:33So there is a risk, it'll show you a preview of the picture.

0:03:37So if somebody wanted to send a vulgar picture,

0:03:39you would see the preview of it before saying deny.

0:03:42So that I think would be the risk.

0:03:44But so far that has yet to happen to me.

0:03:46I know I'm inviting horrible things,

0:03:48but that just doesn't happen in my everyday life.

0:03:51So maybe during WBC week I'll put it on contacts only

0:03:53and just hope for the best.

0:03:55- So I actually have a fun anecdote about this.

0:03:58This was-- - Oh God.

0:03:59- Maybe, this is maybe a year ago,

0:04:01and I don't think I ever told the story on the show.

0:04:05We were, I believe, returning home from your house, Marco.

0:04:08I'm not 100% sure, but we were certainly up

0:04:10in the New York state of mind, if you will.

0:04:13And we were in the Jersey Turnpike,

0:04:15and it was with Declan. - What's that mean?

0:04:16- It's a Billy Joel song.

0:04:18I know the song, I still don't know what it means.

0:04:20I just wanted to drop some sort of reference so Jon would love me again.

0:04:23It's a losing battle, Casey.

0:04:26It really is. So we're on our way back home and we stopped at the Jersey Turnpike

0:04:31and we stopped at one of those rest stops that's on the Turnpike and we went and got a Roy

0:04:36Rogers burger, maybe it was Burger King or whatever it was. And we're sitting there and

0:04:41it's Erin and Declan and me and I'm eating and somebody comes walking up and I see this out of

0:04:46my periphery and I'm and it looks like this person is intent on talking to me which is

0:04:50fine but surprising because nobody knows where I am right now. And it was a very nice person.

0:04:57I don't recall his name and I apologize if this very nice person is listening. But they

0:05:02were very kind and very nice and said, "Oh my gosh, I just wanted to know, are you Casey?

0:05:05I just wanted to introduce myself, blah, blah, blah." And you know, I have to tell you a

0:05:09funny story. I walked in and I was curious if the place had any Wi-Fi. And as I was looking,

0:05:17I noticed that there was somebody broadcasting their iPhone's Wi-Fi and it said, "Casey lists

0:05:24his iPhone." And I thought to myself, "Oh my God, maybe he's here. I should have a quick look."

0:05:31What had happened was I was using my iPad in the car and I had personal tethering or personal

0:05:36hotspot, whatever it's called, on. And I just never bothered turning it off. And so this very

0:05:40enterprising young man decided, or well, happened to see my iPhone in the list and then looked around

0:05:47and happened to spot us and came up and said hi. And he was very, very nice and very kind. And it

0:05:51was very funny. But goodness did it ever take me by surprise that somebody had, like from across the

0:05:57room, figured out that I was there and came over with intention to say hi. It was startling in the

0:06:03in the most flattering way possible and quite funny.

0:06:06So that's, be aware of your personal hotspot and AirDrop,

0:06:10I don't know, aware of your tendencies

0:06:14'cause it could get you in trouble.

0:06:15Although that wasn't trouble for me.

0:06:16- So did you rename your phone to VZW Wireless 15678?

0:06:20(laughing)

0:06:21- Sure.

0:06:22- It's kind of a shame that you can't edit

0:06:24the WiFi network name, like the only thing you could do

0:06:27is like rename your device and then it will take on that name

0:06:30- I guess that's true.

0:06:31Because wouldn't it be amazing if like our thing

0:06:34was to get thousands of people to change their hotspot name

0:06:38to Casey Liss's iPhone?

0:06:39(laughing)

0:06:40And then like you just know like,

0:06:41oh there's an ATP fan in the room.

0:06:43But that would be awesome, but you can't do it on the phone

0:06:46without changing your phone's name to Casey Liss's iPhone.

0:06:50- Yeah, so be aware of your airdrop

0:06:53in personal hotspot hygiene.

0:06:54(upbeat music)

0:06:55- We're sponsored this week by a new sponsor.

0:06:58It's HelloFresh.

0:06:59For $35 off your first week of deliveries,

0:07:01visit hellofresh.com and enter code ATP when you subscribe.

0:07:05Whether you're a busy professional couple

0:07:07or a large family that runs at a breakneck pace

0:07:09or it's somebody who just wants to start cooking more,

0:07:11HelloFresh makes it easier, tastier,

0:07:13and healthier than ever to enjoy the experience

0:07:16of cooking new recipes and eating together at home.

0:07:18From creating the recipes and planning the meals

0:07:20to grocery shopping and even delivering

0:07:22all of the pre-measured ingredients,

0:07:24HelloFresh delivers right to your door

0:07:26so you can skip the trip.

0:07:28They currently offer customers a classic box or veggie box

0:07:31and will soon be launching a family box.

0:07:33Customers can order three, four,

0:07:34or five different meals per week

0:07:36designed for either two or four people,

0:07:38and new recipes are created every week.

0:07:41HelloFresh is the meal kit delivery service

0:07:43that makes cooking fun, easy, and convenient

0:07:46with step-by-step, easy-to-follow instructions

0:07:48designed to take around 30 minutes for everyone,

0:07:50from novices to seasoned home cooks who are short on time.

0:07:54They source the freshest ingredients

0:07:55measured to the exact quantities needed so there's no waste,

0:07:59And HelloFresh employs a full-time registered dietitian

0:08:02on staff who reviews each recipe to ensure

0:08:04it is nutritionally balanced.

0:08:06All of this delivered to your doorstep

0:08:08in a special insulated box for free.

0:08:10Go to hellofresh.com and enter code ATP when you subscribe

0:08:15to get $35 off your first week of deliveries.

0:08:18Once again, for 35 bucks off your first week,

0:08:21visit hellofresh.com and enter code ATP when you subscribe.

0:08:24Thank you very much to HelloFresh for supporting our show.

0:08:27[Music]

0:08:31So we got a series of tweets from Adam Russell, and I thought these were really interesting,

0:08:35and I'll just read them as one contiguous block.

0:08:38"The answer to the Mac progress quandary from John is simple. The Mac is obviously not the future,

0:08:44but you are all legitimately frustrated because the Mac is being functionally

0:08:48deprecated faster than the iPhone and iPad are being empowered.

0:08:52Continuing to argue beyond that right now is pointless. We just need to wait and see what Apple does next.

0:08:58I thought that was a very interesting summary, and by and large I agree with that.

0:09:02I don't know if the Mac is dead or not. We don't need to cross this bridge for the 95th time, at least not yet anyway.

0:09:08But I do agree that while incredible strides are being made on iPhone and iPad, and iOS in general, I guess I should say,

0:09:17it seems like there's more going missing from Mac OS.

0:09:21It just feels that way.

0:09:25Maybe that's not even true.

0:09:27Maybe if we looked at the feature list, maybe we're crazy,

0:09:29but it certainly feels that way.

0:09:32And so I just thought this was a really interesting point.

0:09:34Any thoughts from you, Marco?

0:09:36- I mean, one thing, again, I don't wanna get too far

0:09:39in the weeds on this, 'cause you know we can talk forever

0:09:41about this, 'cause we have and usually do.

0:09:43One idea I've had for a future episode that we should do

0:09:46after we've had a little more time to think about it,

0:09:47is like, what big things are still possible to do

0:09:52and left to do on the desktop?

0:09:54That like, what big challenges aren't being solved?

0:09:57That like, you know, major new directions or advancements

0:10:01that desktop OS's still could use,

0:10:03and in particular Mac OS still could use.

0:10:05And like, there's some low-hanging fruit here.

0:10:07Like obviously, like one of them that I mentioned before

0:10:09was cellular Macs, and the reason why there's no cellular

0:10:13Macs is probably because of the, you know,

0:10:15all the different software needs

0:10:16that would be needed for that.

0:10:17And right now, you can use things like tripmode.ch

0:10:19to kind of fake it.

0:10:21Sorry, tripmode.helvetica.

0:10:23But it would be so much better if there was

0:10:26OS level awareness of cellular connections,

0:10:28which actually there is, but if more things actually used it

0:10:32with the switch to NSURL session,

0:10:34that actually was added in the API,

0:10:36but nothing uses it, at least to any meaningful amount

0:10:39on OS 10, or excuse me, on Mac OS.

0:10:43And sorry Steven.

0:10:44And so there are areas like that where like,

0:10:46yeah, you know what, cellular Macs would be awesome,

0:10:49but why don't we have that?

0:10:51Oh, well, it would take a lot of work in the OS.

0:10:53Well, there's a lot of answers like that

0:10:54where the question is like, why don't we have that,

0:10:56oh, it would take a lot of work on the OS.

0:10:57Why are Mac apps so much harder to develop

0:10:59for iOS programmers than iOS apps?

0:11:01Well, some of those reasons are good reasons

0:11:02that will stay there forever,

0:11:03but part of it is that AppKit and UIKit are very different

0:11:07and in a lot of ways that they don't need to be different.

0:11:10Some ways they need to be different,

0:11:11but a lot of ways they don't, and they are,

0:11:13for legacy reasons.

0:11:14And so there are major advancements

0:11:17could be made in the frameworks.

0:11:18We could talk about things like the security model

0:11:21of what they tried to do with sandboxing,

0:11:23which has mostly failed.

0:11:26Mostly, I think, because not enough apps could fit

0:11:30within what the sandbox requirements were,

0:11:32and then they never really added new sandbox capabilities.

0:11:35But I think with attention and maintenance and iteration,

0:11:38I think that model actually could work.

0:11:40I think the assumption that desktop OSes are,

0:11:44quote, the past, or are finished,

0:11:46or functionally complete,

0:11:48and there's no more advancement to be had,

0:11:49I think that's totally wrong.

0:11:51And you can look at Microsoft just to see,

0:11:53even though Microsoft messes up a lot of things they try,

0:11:56a lot of things they try don't work out,

0:11:58but a lot of things they try are actually,

0:12:01you could see, wow, you know what,

0:12:03if Apple tried to do something similar

0:12:04and did a better job of it,

0:12:06that could be really great.

0:12:07And so, not to mention,

0:12:09not even getting into things like AR and VR,

0:12:11which might be really useful in a general purpose PCOS.

0:12:15We don't know yet.

0:12:16So there are lots of areas where PCOS development

0:12:21could go with effort.

0:12:24So to say that the Mac OS is done or finished

0:12:27or PCs are a solved problem, we can move on,

0:12:30is I think incredibly short-sighted.

0:12:32- I was looking at these tweets and I think I disagree

0:12:36with every single sentence in it.

0:12:38- Really?

0:12:38series of three tweets, mostly in like technical ways, like if you want to get picky, what

0:12:42you, you know, but yeah, we talked about it a lot in the past shows, but I mean I could

0:12:47just start with the first and last sentence, I don't want to go through a blowaway, but

0:12:49the answer to the Mac progress quandary is simple, first of all I don't even know which

0:12:55quandary to talk about, second of all, the answer is never simple, alright?

0:12:57And then the last sentence, skipping over all the stuff in the middle, the last sentence,

0:13:01continuing to argue beyond that right now is pointless.

0:13:05Obviously I disagree with that, if I thought it was pointless we wouldn't talk about it

0:13:07for hours and hours every week.

0:13:08So anyway, I think we've covered all these points,

0:13:11but yes, I guess I agree

0:13:14that we are legitimately frustrated.

0:13:16That's the part I agree with.

0:13:17(laughing)

0:13:19- Wow, well, tough crowd.

0:13:21I thought it was interesting, if nothing else.

0:13:23All right, any other follow-up

0:13:25before we talk about something that's awesome?

0:13:27- Follow-up on the MacBook Pro.

0:13:30The more I use it, the more I like it.

0:13:32The ports still drive me nuts,

0:13:34but the ports drive me nuts and the keyboard arrow key

0:13:39lack of gaps drives me nuts.

0:13:41But so far everything else about it I'm actually enjoying.

0:13:45I've been running some tests and I've been finding,

0:13:48this might make it into a blog post at some point,

0:13:49I don't know, but I've been running some battery tests

0:13:52because Consumer Reports, I figure if their

0:13:54Weeder test counts, maybe I can make my own.

0:13:56And so I made my own kind of similar one,

0:13:59but that involves a little bit heavier workload,

0:14:01things like periodic Xcode compilations,

0:14:05to periodically peg the CPUs for a few seconds

0:14:08and then go back to normal,

0:14:09and to kind of simulate what I do.

0:14:12And what I'm finding so far is that

0:14:14the new one's battery life is really mediocre,

0:14:17but so was the old one.

0:14:20Like I wrote this post a couple years ago

0:14:23about disabling turbo boost,

0:14:24and the effect that it has on battery life.

0:14:27And on the previous generation MacBook Pro,

0:14:30it had a pretty noticeable effect.

0:14:32It added something like 20% battery life roughly,

0:14:35a pretty big effect.

0:14:36What I'm finding with the new one is,

0:14:40by disabling turbo boost, it does work, you can do it,

0:14:42but the savings are much smaller.

0:14:44There is some savings to be had,

0:14:46but instead of adding an hour,

0:14:47it adds like 20 minutes or a half hour or whatever.

0:14:50And of course, this depends on what you do,

0:14:52but basically what I'm finding is

0:14:55that the new one's battery life, while it does suck,

0:14:59I don't think it's actually worse than the previous one.

0:15:01I think it's actually very slightly better under load,

0:15:06but very slightly worse when used lightly.

0:15:09So it depends on what you're doing, but for my uses,

0:15:11the battery life on the new one is actually

0:15:13very slightly better if you really baby it,

0:15:16if you turn off turbo boost,

0:15:17if you turn off the dGPU uses and various things.

0:15:20Like, you can get it to be better.

0:15:22So anyway, I'm kind of enjoying the new MacBook Pro,

0:15:27and it does feel awesome when you have to move it around

0:15:30and pick it up and stuff, it is noticeably better.

0:15:32So kind of enjoying that.

0:15:34The more I use it, the more I like it,

0:15:35and the more I realize, okay, Intel really screwed them

0:15:39on progress here, but this is not that bad.

0:15:42And in some ways, in many ways, and possibly even most ways,

0:15:47it's better than the old one.

0:15:48- Still coming around on the keyboard?

0:15:50- I still hate the key switches,

0:15:52but I still feel when I use the old one

0:15:55that it's mushy and horrible.

0:15:57So, again, it's like I'm ruined.

0:15:59I'm in the middle now.

0:16:01I think it's more of an issue of the reduced gaps

0:16:05between the keys and of the arrow key layout

0:16:08than necessarily the key travel.

0:16:11- When I tried it briefly in the store,

0:16:14and I can't emphasize enough, it was super briefly,

0:16:17I felt like it was 80% of my freaking beloved

0:16:21Magic keyboard, I'm sure I've talked about this

0:16:2318 times on the show, but I'll say it one more time, I love the Magic Keyboard.

0:16:28It's my favorite keyboard I've ever used ever.

0:16:30I personally am not a mechanical keyboard kind of guy.

0:16:32Maybe you are, that's fine, it's not my cup of tea.

0:16:35I love the Magic Keyboard, and I felt like the new MacBook Pro keyboard got me really

0:16:41close, but I wanted just a little bit more travel on the keys, and then it would have

0:16:47been just perfect.

0:16:49So I'm a little surprised if you say

0:16:52that the Key Travel doesn't really bother you.

0:16:55- It's not good, but it is no longer

0:16:58the thing about the keyboard that bothers me.

0:17:00Like the change in layout, you know,

0:17:03certain things are just things you get used to.

0:17:05- Yeah, yeah.

0:17:06- But certain things are actually just like worse over time.

0:17:10And I think one of the things that really

0:17:13negatively affects me about this keyboard,

0:17:14that one of the problems I keep hitting

0:17:16is just the lack of dead space around the keys to feel.

0:17:21As I'm figuring out by using it,

0:17:24turns out I did that a lot.

0:17:25Like feel around the dead spaces around the keys

0:17:27to kind of orient myself physically without looking,

0:17:29and especially around the arrow keys.

0:17:31So to have now the shrunk down little tiny margin

0:17:36between the keys now,

0:17:37the keys are now much bigger, flatter,

0:17:40and because they reduce travel,

0:17:42the edges are actually less noticeable by feel

0:17:45and everything else too.

0:17:46So it's a harder keyboard to type on blindly for me.

0:17:50Like I have to, I make a lot more mistakes,

0:17:53but even now that I'm like more accustomed

0:17:55to the feel of it, I'm making a lot more mistakes

0:17:58with that involve my hands not being oriented correctly

0:18:01on the keys where I thought they were.

0:18:03So that part I still don't love.

0:18:06I still think this is a bad keyboard.

0:18:08But it's only because the bar was pretty high

0:18:11because for a long time Apple has made laptop keyboards

0:18:14that I would never describe them as great,

0:18:17'cause they still had laptop scissor key switches,

0:18:19which are always a compromise, right?

0:18:20But overall, Apple's laptop keyboards,

0:18:23I haven't given them any thought whatsoever, ever,

0:18:28until the MacBook One came out,

0:18:29and now that that keyboard's on,

0:18:31or close enough to that keyboard is on all the new ones.

0:18:34All previous Apple laptops I've had before this,

0:18:37and I've had one of every generation

0:18:38since the PowerBook G3 aluminum,

0:18:40sorry, G4 aluminum, sorry Steven again.

0:18:42(laughing)

0:18:43Steven's having a problem that I have with me.

0:18:45But anyway, yeah, since the G4 aluminum powerbook,

0:18:48every keyboard since then, I've had no problems with

0:18:51and I've enjoyed using it and it's been great and fine.

0:18:53And this is the very first time where they've made,

0:18:55like to me, a very controversial keyboard.

0:18:59And so, anyway, all that is to say, overall I like it.

0:19:04The new giant trackpad I really do love.

0:19:06I've loved that since the beginning.

0:19:08I have not had the issues that people have had

0:19:10with accidental input with your wrist resting on it.

0:19:13Otherwise, yeah, overall, good computer.

0:19:15The SSD speed increase is very, very nice.

0:19:17The GPU speed increase might be affecting me,

0:19:19I don't even know, probably not, but anyway,

0:19:22overall, good computer.

0:19:23I wish the battery lasted longer in heavy use,

0:19:26but it turns out it actually is no worse

0:19:28than the last one in heavy use.

0:19:30- Right, didn't you just say you love the track pad?

0:19:32- Yeah, I do, well, since I, so I love the largeness of it.

0:19:36I do not love force touch, or force click,

0:19:39whatever, oh god, whatever they're calling

0:19:40that feature on the Mac.

0:19:41(laughing)

0:19:42- You just mean clicking?

0:19:43Like clicking in general is what you're talking about.

0:19:45You're not talking about force,

0:19:48like where you press really hard.

0:19:49Like that's not what you're talking about.

0:19:50You're just talking about clicking

0:19:51because your complaint has been like,

0:19:53I don't like the track pads that don't actually move.

0:19:55- Right, I stopped using it.

0:19:57- On two shows you've been raving about this.

0:19:59Is it entirely because you're in

0:20:00tap to click wizard school with Harry?

0:20:02- Yes, if I actually have to invoke a real,

0:20:05like a real like normal click by pushing forcefully

0:20:09or by pushing somewhat hard on the track pad,

0:20:11I hate those clicks, they're terrible.

0:20:12And the fact that everyone thinks they're just as good

0:20:14or okay, baffles me.

0:20:15I have no idea why anybody could think that's a good click.

0:20:18But I can switch to tap to click mode and it's fine.

0:20:20- Any other follow up?

0:20:22- I guess not.

0:20:23I can keep derailing this if you want.

0:20:25We are sponsored this week by Squarespace.

0:20:29Make your next move, make your next website,

0:20:32and make that move on Squarespace.

0:20:35Squarespace is the best website builder I have ever seen

0:20:38in the entire internet for all of time.

0:20:41It is so ridiculously powerful,

0:20:43yet also so incredibly easy to use.

0:20:46And it scales well from novices

0:20:49who don't want to put a lot of time into it,

0:20:50or who don't have the skills to code their way

0:20:54through their customizations,

0:20:55all the way up to nerds like me,

0:20:57who can code if we want to,

0:21:00but usually don't have the time to,

0:21:02or we probably shouldn't be spending our time doing that.

0:21:05But you know, Squarespace can accommodate all these needs.

0:21:08From their simple what you see is what you get,

0:21:10and drag and drop tools to customize their templates

0:21:12and create content, all the way down to,

0:21:14if you wanna be a geek like me, you can inject code,

0:21:17you can inject JavaScript and CSS

0:21:18directly into your template.

0:21:20You have a ridiculous level of control with Squarespace.

0:21:23These tools are amazing.

0:21:25They host your site for you,

0:21:26they support your site for you.

0:21:28If you're making a site for somebody else,

0:21:30you don't wanna support it,

0:21:31you want Squarespace to support it.

0:21:32And you don't want the person you're making the site for

0:21:35calling you for help, Squarespace does that.

0:21:37They take care of that.

0:21:38So if you're making a website for yourself

0:21:40or for somebody else, you need to check out Squarespace.

0:21:43It is by far the best solution I've ever seen

0:21:46for doing this and it covers so many needs

0:21:49that chances are whatever you need to do,

0:21:50Squarespace can already do it with no hacks

0:21:53and not a lot of effort at all.

0:21:54So check it out today.

0:21:56When you wanna make your next move for the new year,

0:21:58make your new site, try new things, start a new business,

0:22:01make your next move with Squarespace.

0:22:03Go to squarespace.com, make sure to use offer code ATP

0:22:06you need to get 10% off your first purchase.

0:22:09Once again, squarespace.com, code ATP

0:22:11for 10% off your first purchase.

0:22:13Make your next move with Squarespace.

0:22:15(upbeat music)

0:22:17- Apparently, Consumer Reports went into

0:22:21a Safari debug area and said, "Hey, guess what?

0:22:26"We are going to turn off the cache."

0:22:28Which, okay, I guess that kinda makes sense

0:22:30because you wanna make sure that it's not

0:22:33cruising along and just regurgitating the same stuff it has over and over and over again,

0:22:39okay fine.

0:22:40But nevertheless, it's still not a completely fair test.

0:22:45And so they spoke with Apple and Apple was like, "Well, you guys probably shouldn't have

0:22:48done this.

0:22:49Most users won't have done that.

0:22:51Maybe some developers do.

0:22:52I can't say that I usually do."

0:22:55But also on top of that, there was some sort of issue that I've heard was related to favicons,

0:23:00favicons, whatever they're called, but I don't know if that was ever confirmed or not.

0:23:05And so there was a legitimate bug here in addition to them just meddling about.

0:23:10So I don't think they're really meddling because the whole point of battery tests is to simulate

0:23:15real user activity.

0:23:16I think we should put a link in the show notes for Jason Snell's article.

0:23:19He went over all this stuff.

0:23:21Having done some battery testing myself, I can relate to this.

0:23:24You can't actually have human beings do your testing because they're too variable.

0:23:29But to try to simulate human activity is actually very difficult because humans are inscrutable,

0:23:34but you need it to be exactly the same every single time.

0:23:39And you also want it to be comparable from year to year and model to model.

0:23:43And what they're doing with the cache is, I mean, it could be argued that they should

0:23:47get thousands upon thousands of unique websites that they need to load, but then you have

0:23:51to worry about the variability of those websites being up and them changing and so on and so

0:23:55forth.

0:23:56So instead they have probably a small set of URLs that they cycle through and they want

0:23:59it to load from the network each time, they don't want it to be a test of how well it

0:24:03can read from the cache, right? So they want to exercise the Wi-Fi and all the other things.

0:24:08In the end, it's all a vague approximation of what an actual person might do with the

0:24:12computer, and it's probably not particularly scientific in terms of, like, we let 100 users

0:24:17use their computer and put metrics on every single input and output, and said how many

0:24:21bytes over Wi-Fi on what intervals with what bursts and what -- like, they don't do that,

0:24:25and then try to find an artificial workload that exactly matches it. Maybe Apple does

0:24:28But Consumer Reports doesn't like it's all kind of guesswork, but in the end

0:24:32It doesn't really matter because I think like Marco said in his thing like

0:24:35The numbers they give you for like X amount of hours that only applies to their test and even if it was done by a human

0:24:41You're not that human you might do different things with your computer

0:24:43All you're looking for is is it better or worse than the last laptop is it you know?

0:24:48you're looking for big swings of like we have a light web browsing test and like an intensive test and

0:24:54What is the difference between them and is the light test like two hours less time than last year or more time or you know?

0:25:01It's all voodoo. So I'm disabling the cache to say

0:25:05We really want to test fetching this information over the network every single time. So don't even bother looking at your disk cache

0:25:12I think that's a perfectly valid thing to do and furthermore that wouldn't explain their widely variable results

0:25:19They're reading like from 19 hours to like three hours or something

0:25:22disabling the cash is nothing to do that except as the story goes that

0:25:27disabling the cash also triggered some other weird Safari bug that I haven't seen a technical explanation for but anyway

0:25:34Apple identified this bug they're gonna fix the bug consumer report says I think they have a beta build that fixes the bug and lo

0:25:41And behold they get sane testing results

0:25:43Marco was cranky about this. He wrote a blog post saying how

0:25:46The real story is this was an Apple bug

0:25:49but Apple's press release about it tries to deflect blame and say it's consumer reports doing a weird thing and

0:25:54Consumer Reports was only doing a weird thing in so far as all artificial battery testing is a weird thing

0:26:00I think everything consumer reports was doing was reasonable. What if you wanted to yell at Consumer Reports about something would be like

0:26:06It's pretty clear some reports that you've identified a bug like you are not privy to some secret information that no other person who owns

0:26:13This laptop has figured out like everyone else is getting anywhere from 19 to 3 hours

0:26:18But they're not saying anything but you consumer reports have revealed this amazing secret

0:26:22So go ahead and publish your story and say we can't recommend these laptops because we're getting crazy results out of the out of our battery

0:26:29Tests that's a sign consumer reports that it's not time for you to publish yet

0:26:32It's time for you to figure out what the hell's going on

0:26:33Because if the entire world was getting three hours to 19 hours, you would have heard about it

0:26:38So that's what I would yell consumer reports about but instead Apple was like, oh they're using a special developer setting

0:26:43The most people don't use it's not reflective of real-world use. Well, no crap. It's not reflective real-world use

0:26:48They have to make an artificial benchmark and it's probably the same thing they've been doing to Mac laptops for years

0:26:52Anyway, I'm gonna work that about it now

0:26:54But Apple Marco didn't like their tone

0:26:57I generally didn't like the the the idea that consumer reports is doing something wrong with their testing

0:27:03But 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

0:27:08Going on, even though they were pretty close to figuring out like if they'd waited an extra week

0:27:12Anyway, there's enough blame to go around here

0:27:14but the bottom line is that the laptop's battery life

0:27:17is pretty much what everyone has been saying about it,

0:27:20which is not fantastically better than the previous ones,

0:27:22worse in some situations, potentially better in others

0:27:24if you learn how to do all the magic things

0:27:26that Marco's doing to it.

0:27:28But certainly not, oh, you're gonna get three hours now,

0:27:31or possibly 19.

0:27:33It's not that variable, that was a bug.

0:27:36- Well, but again, I have seen though,

0:27:38in light usage so far, from what I can tell,

0:27:42it actually is a step back for a lot of,

0:27:44depending on what your usage is, what it includes,

0:27:46what apps you're using, what their needs are.

0:27:49I think Consumer Reports was right to point out

0:27:53the battery life on this laptop is weird, because it is.

0:27:57And that's what, you see that from users,

0:27:59from actual owners of it, you're seeing, yeah,

0:28:01the battery life on this laptop is weird,

0:28:03because what we're seeing is everything is so incredibly,

0:28:07aggressively power managed to the last drop,

0:28:11If any factor takes more power than it should

0:28:15or than you think it is,

0:28:16or if you have anything running away in the background,

0:28:18or turning on the discrete GPU,

0:28:20or burning a CPU core for a while,

0:28:22if anything is not perfect,

0:28:25your battery life can be dramatically reduced.

0:28:28Like on the order of hours less than what you thought

0:28:31or what you usually get.

0:28:32That is a real problem.

0:28:35And in Consumer Reports' case,

0:28:37it was because of seemingly the Safari bug,

0:28:40which you can figure out if it's a bug

0:28:43that only shows up when the cache is disabled

0:28:45and it seems apparently by some other statement

0:28:47to be related to Safari's caching of icons,

0:28:49then that makes a lot of sense.

0:28:50It's almost certainly like the Apple touch icon

0:28:52or favicon infinite loop of fetching those things

0:28:55because it thinks it doesn't have them

0:28:56because they aren't in the cache

0:28:58because the cache is disabled.

0:28:59So it's probably that.

0:29:01Any web programmer can figure out,

0:29:03okay, that's probably what the bug,

0:29:04or the bug is probably in that area.

0:29:05But it doesn't really matter.

0:29:07- If that's what it was,

0:29:08Why would, like, I don't think what Consumer Reports

0:29:10is revealing is what you're talking about,

0:29:11the variability between, you know, idle and regular power.

0:29:14Because as far as I understand

0:29:16from reading the Consumer Reports thing,

0:29:18they were running the same battery test.

0:29:21And from one execution of that same test to the next,

0:29:25getting one time they get three and a half hours,

0:29:28one time they get 19.

0:29:29The same test, not people like users,

0:29:31like one day you're using Xcode

0:29:32and the other day you're browsing the web.

0:29:33Of course your results are gonna vary.

0:29:35And potentially they could vary as much as you said.

0:29:36Like if you spend the entire time playing a game

0:29:40or doing renders in a multi-core ray tracing program,

0:29:44you could get three hours and you could get 19

0:29:46if you're just text editing with everything turned off.

0:29:48But Consumer Reports is like,

0:29:49we're running the same battery test

0:29:51and we're getting these wildly variable results.

0:29:53And that I think is not illuminating

0:29:55in the way that you were describing.

0:29:57To inform consumers that depending on your activity,

0:30:02the battery life can be variable.

0:30:03It's almost like they were saying

0:30:04the thing is broken and unpredictable.

0:30:05that if you buy this laptop,

0:30:06you never know what you're gonna get,

0:30:08which is not the case.

0:30:08- But that's true.

0:30:10No, that's actually, like, that's a real thing.

0:30:12And in this case, like, you know,

0:30:15would this be the first time an Apple bug

0:30:17caused a process to go a little bit crazy?

0:30:19No.

0:30:20- Yeah, I know, but it's related to a bug.

0:30:22I mean, that's true of any laptop.

0:30:24You could have any laptop that has some process

0:30:26grinding through an infinite loop in the background

0:30:27and your fans spin up,

0:30:28and it'll slaughter your battery life.

0:30:29I mean, like, maybe they made the fans too quiet

0:30:31so you don't have any external indication.

0:30:33Remember when you, that used to listen to your computers

0:30:35to tell how they were doing,

0:30:36you'd hear the floppy drive going to know how it's going,

0:30:39or later you'd hear the hard drive going

0:30:41to be able to figure out is the thing in a loop,

0:30:44is it frozen?

0:30:44- It sounds like I need more RAM.

0:30:46- Is it swapping, is something going wrong?

0:30:49Or looking at drive lights blinking and stuff like that,

0:30:51we've slowly lost most of these physical manifestations

0:30:53of the computer.

0:30:55All we have left is on laptops in particular

0:30:58on the Apple line, the terrible fan noise,

0:31:00and now even that is tamped down.

0:31:02- Or, well, no, you feel it like when your phone gets hot.

0:31:04You're like, "Why is my phone so hot?

0:31:05I don't think I'm doing anything.

0:31:06Yeah, or laptops get hot for that matter, you know.

0:31:09But anyway, it is true that performance is variable, but their battery tests giving these

0:31:14results in this thing, we just can't recommend this because we can't get a beat on the battery

0:31:18life.

0:31:19That was not a useful or accurate statement.

0:31:21What they should have said is, "We think we've revealed a bug."

0:31:24And then they could have spun it out into a larger story about variability between idle

0:31:27and whatever power and demonstrated that by saying, "Here we played some game for this

0:31:31amount of time.

0:31:32Look at what it did to the battery life.

0:31:33we just tool around text editor like I don't know I'm not a fan I'm for example

0:31:38I'm not a fan of Consumer Reports reviews of cars because I think they

0:31:41don't understand what makes a good car and in general I haven't been a fan of

0:31:44Consumer Reports reviews of computers because they especially when it comes to

0:31:47Apple they're prone to go to press with something that sounds sensational rather

0:31:54than working out until they figure out what the hell is going on because

0:31:57figuring out what the hell is going on you still have a story there that you

0:31:59can explain, but going to press and saying,

0:32:03"We can't recommend these laptops."

0:32:05Coming from us to show that it's complained

0:32:08about these laptops a lot, that is too far.

0:32:10It's not as if this is a broken product

0:32:12that no one should buy.

0:32:13Maybe it doesn't suit your needs or whatever,

0:32:14but then just say, "We just can't recommend this laptop."

0:32:17That's not a responsible thing to publish

0:32:20given the facts that we know so far.

0:32:22- Well, and to be fair though,

0:32:23they actually did contact Apple beforehand,

0:32:26and Apple gave them some kind of canned response,

0:32:28it sounded like basically, it's just like,

0:32:30basically a non-response from PR.

0:32:33So they did first contact Apple to ask about this.

0:32:37- I know, but it's still on them to figure out

0:32:40what's going, to make the right recommendation.

0:32:43That's their job as a publication.

0:32:44And to backslide three days later when Apple works with them

0:32:47some more and finds out it's a bug, it's like,

0:32:49well, I don't know.

0:32:50As people are pointing in the chat room,

0:32:52can you imagine a non-tech going through the same thing

0:32:55and publishing that, that they'd figure out

0:32:57what was going on?

0:32:58why they're a more trusted source

0:32:59for how good computers are?

0:33:01- Probably yes, but I have a hard time looking at this.

0:33:05I mean, look, Consumer Reports,

0:33:07we all know that they're not perfect

0:33:09and that they are prone to clickbaity headline sensationalism

0:33:12however, what they saw was a real problem

0:33:17and it was not their problem.

0:33:18And they asked Apple about it

0:33:20and Apple gave them a non-response.

0:33:21So what were they supposed to do?

0:33:23These days, sometimes it takes a little bit of pushing

0:33:26for Apple from the outside to get things fixed.

0:33:29I think it's on them, though, to realize that, like, if they haven't heard this from anyone

0:33:33else, maybe it has something to do with the fact that they are, they're testing it under

0:33:37conditions that you have to test it under. They're testing it in an artificial testing

0:33:40condition, which I said aren't bad, but they have to realize that maybe what we're encountering,

0:33:45because we haven't heard anyone else have this problem, is because of something that

0:33:49we have to do as part of our uniform testing procedure, right? For example, the way you

0:33:53can figure this out is take your laptop that you're supposedly testing and give it to

0:33:56to one of your staffers and have them take it home

0:33:59with them at night and use it as their regular work laptop

0:34:01and say, when you use it like a normal person,

0:34:03does it seem okay to you?

0:34:04That's a non-scientific test,

0:34:05but it can definitely tell you whether,

0:34:07like, I used it yesterday and I got this battery life

0:34:10and I used it the next day and did pretty much

0:34:11the same stuff and got like one eighth of that.

0:34:14And if they say no, it's much more consistent

0:34:16when I use it like that, well, like,

0:34:18they can narrow it down to this,

0:34:18maybe it's because we're disabling the cache.

0:34:20Now, granted, that's a little bit of debugging there

0:34:22to understand that, you know, what are you doing

0:34:24to cause this problem and removing variables

0:34:26and stuff like that.

0:34:27But if you're gonna come out as a publication and say,

0:34:30we just can't recommend that,

0:34:31like there's things like, can't recommend this laptop,

0:34:34like you should not buy this product.

0:34:36That is going too far for something that,

0:34:40Consumer Reports would agree if they test it,

0:34:41it does not manifest a normal usage in the way they saw

0:34:44that if you do pretty much the same thing with it,

0:34:47that you get that much variability in your battery life.

0:34:50'Cause again, if that was true,

0:34:51every single publication that reviewed these laptops

0:34:54would say I do pretty much the same thing

0:34:56and sometimes I get 6X the battery life

0:35:00that I do other times and I can't figure out why.

0:35:03- I partly agree with you.

0:35:05I agree with some of the things you're saying

0:35:06but basically the disagreement I think we're having

0:35:09is whether Consumer Reports was reasonable

0:35:11to say what they said or whether they should have done

0:35:14more work and testing or investigation or whatever.

0:35:17And I think, I don't think they were perfect about it

0:35:20but I think given what they were seeing,

0:35:23I think they were mostly reasonable

0:35:25to say what they said at that time.

0:35:27And now that they have new information,

0:35:29they said they are gonna retest it, and that's great.

0:35:31'Cause it would be one thing,

0:35:33if Apple eventually went to them and figured this out,

0:35:36and Consumer Reports said, "Well, no, our test is done.

0:35:38"Sorry, too late.

0:35:39"Try again in 18 months when you release a new one."

0:35:42That would be kind of a bad move on their part.

0:35:44But in the situation they were in,

0:35:46with the very little information they had,

0:35:48and with a non-response from Apple

0:35:50when they asked them about it,

0:35:52I don't think it was unreasonable

0:35:53to publish what they did when they did.

0:35:55Again, I would make a few edits, but for the most part,

0:35:57I think it was in the ballpark.

0:35:58Now that they have new information, now they are retesting.

0:36:01I think that is very reasonable, and I think,

0:36:04the problem I had about this was basically

0:36:07Apple's PR framing of their official statement.

0:36:10Apple's tone is really bitter almost recently.

0:36:17The statement about the Dash developer, Bogdan Povescu,

0:36:21I'm sorry if I mispronounced that.

0:36:23Their statement about that situation was also

0:36:26really a little bit defensive and weird,

0:36:29and as more fact came out from both sides,

0:36:32I think it became a little bit clear,

0:36:34like oh that statement was a little bit too aggressive

0:36:37and bitter and a little unnecessarily so.

0:36:39There's something up,

0:36:40like when Apple gives a defensive statement like that,

0:36:43I think it can use a little more editing

0:36:46than what it's getting before it comes out,

0:36:47because it's like if you wanna write a nasty email,

0:36:50wait till the next morning to send it.

0:36:52It's like, I think Apple needs to do that a little bit

0:36:53with its defensive PR statements here,

0:36:56because they come out with this very overly defensive

0:36:59attitude that's honestly slightly BSE in certain ways.

0:37:04They kinda BS around certain facts of the matter

0:37:07or whatever, and it does not reflect well on them.

0:37:11They're usually a trustworthy, straightforward company

0:37:15with clear communication, and so to have these little

0:37:18defensive PR statements where that's not the case

0:37:23is just off-putting and a little bit concerning

0:37:26for a company that we respect so much.

0:37:28- I agree the PR statement was bad,

0:37:29but I still think it's in reports

0:37:31what they should have published was,

0:37:32we can't tell what's going on,

0:37:34'cause that was the truth.

0:37:35They did not know what was going on.

0:37:37And what they should have said is,

0:37:40when normal people use this,

0:37:41we don't see this kind of variability,

0:37:43but in our battery test we get this variability,

0:37:45we can't explain that.

0:37:46If they want to say, "Therefore, we can't recommend this," that's a matter of semantics.

0:37:50Like, I guess they can't recommend it technically because if they don't get good results on

0:37:54their artificial test, then that's their criteria of recommendation that they can't recommend

0:37:57it.

0:37:58But the way it was written up, it was almost as if they were recommending against it and

0:38:01that it seemed conclusive.

0:38:03There wasn't much of saying, "Look, we were stumped.

0:38:06We can't figure this out.

0:38:08Something here is going on that we obviously don't understand."

0:38:10I think the piece of information that was missing is that we are not privy to special

0:38:15information that the rest of the world doesn't have. The rest of the world is using these

0:38:18laptops. Other publications are testing them. Other people own them. This is a thing that

0:38:22only we are seeing. And that was, you know, if you were to read this and that was your

0:38:27source, your authoritative source, you would say, well, these laptops are obviously haunted,

0:38:33which is not the case. It was just like that Consumer Reports was doing a thing that induced

0:38:37a bug. And the bug is a problem. And you're right, there can be other kinds of bugs. But

0:38:40I don't know. It just rubs me the wrong way. And you're right, there is some history there

0:38:44with Consumer Reports doing similar types of things, and in general I don't like Consumer

0:38:48Reports for, I guess at this point, or the advent of the Wirecard and everything, I don't

0:38:52like Consumer Reports for almost anything anymore.

0:38:55So maybe a little bit of my general attitude about them is showing through.

0:38:58But like I said, and I didn't like the PR statement, for all the reasons you noted,

0:39:02like them framing it as if Consumer Reports was doing a terrible thing, that is the wrong

0:39:06framing when the reality was there was an Apple bug.

0:39:09You should have led with that.

0:39:10It's like, there was a bug, we fixed it, Consumer Reports is retesting.

0:39:13- It's such an easy PR win.

0:39:14- Yeah.

0:39:15- Like if we read that statement, what would we go,

0:39:16we'd be like, all right, well that explains it.

0:39:18Thanks Apple, we all understand that bugs exist,

0:39:20but instead they led with,

0:39:22Consumer Reports doing a weird thing.

0:39:23It's not that weird.

0:39:24Anyway, now I'm mad at everybody.

0:39:26- Right, that's like, they couldn't just say,

0:39:29you know, we discovered the problem they were having

0:39:32was due to a bug, we fixed it, and they're gonna ret--

0:39:34Like that would be the direct, honest way.

0:39:36Instead they had to drill in that Consumer Reports' test

0:39:40was somehow invalid or irrelevant.

0:39:42- A hidden feature, it's a checkbox in the prefs window.

0:39:44- Yeah, they're like implying intent and possible malice

0:39:48that Consumer Reports was using this hidden feature.

0:39:50- They're mad at Consumer Reports too.

0:39:52- Yeah, and it's like Apple couldn't give a statement

0:39:56without showing how mad they were about it.

0:39:58And that's, again, that's becoming more common

0:40:01with their defensive statements here.

0:40:02And I don't think that's a professional way

0:40:07to conduct yourselves in the context of PR.

0:40:09Like that's what PR is not supposed to do.

0:40:12Like, I don't see, it's just,

0:40:15it leaves a sour taste in my mouth is all.

0:40:17- On the flip side of the coin though,

0:40:18you could make the argument to kind of take

0:40:20Jon's point to the next level.

0:40:22It was irresponsible and PRE in a bad way

0:40:26for consumer reports to say,

0:40:29"Oh, we can't recommend it, the battery's crap."

0:40:32You know, the direct report, like Jon said,

0:40:34should have been, "Well, we're not really sure

0:40:37"what's going on, nobody else in the world

0:40:39"seems to be getting similar results,

0:40:40So either don't publish anything or alternatively, you know, right now we're saying no, but we got to get back to it.

0:40:47Whereas it seems like it was, from what I gather, it was a little bit more aggressive than that.

0:40:53Like, I don't think there was malice there, but the same way, Marco, that you're reading all this like malice and

0:40:58propaganda 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,

0:41:06you can take that exact same

0:41:09approach to looking at the Consumer Reports statement,

0:41:12which was in many ways also irresponsible

0:41:14and also premature and also PRE and also just not good.

0:41:19- Consumer Report, maybe it's because my standards

0:41:21are so low for Consumer Reports, because like Jon,

0:41:23I have lost a lot of faith in them over the years.

0:41:25- Yeah, agreed.

0:41:26- So maybe I'm grading them on a curve here,

0:41:28but even if Consumer Reports did something outrageous,

0:41:31I don't think that makes Apple's tone of their response okay.

0:41:35Like Apple should be the bigger person here.

0:41:38- Agreed.

0:41:38exactly the same argument was made by a few people,

0:41:42I think including Matt and Reese,

0:41:44with Bodan Popescu about Dash.

0:41:47Like Apple is Apple, and they're making these statements

0:41:51against this one indie developer,

0:41:53and this magazine/website that has cut its staff

0:41:58to the bone in recent years and is like barely afloat.

0:42:01And they're Apple, right?

0:42:03They are like Goliath here, right?

0:42:07I'm sorry to mess up the metaphor,

0:42:09I know that's kind of how that story goes,

0:42:10but Apple does not,

0:42:13Apple can afford to be the bigger person here

0:42:16with their statements,

0:42:17and to not kind of play the bully almost.

0:42:19And what, the tone they take in these statements is like,

0:42:23we're not gonna just tell you what happened,

0:42:25we are going to discredit the people

0:42:27who are making these accusations against us first.

0:42:29We're gonna make, we're gonna drag them through mud,

0:42:31we're gonna make them look like they were bad

0:42:34and malicious and at fault,

0:42:36and doing crazy and valid things

0:42:38when actually it was our problem.

0:42:39- All right, let's move on.

0:42:42On the Swift evolution email list,

0:42:45which who knew that email lists were still a thing?

0:42:49This is like straight out of '98, but anyway.

0:42:51- They are for language nerds.

0:42:53- They are.

0:42:54There's a post from Chris Latner

0:42:56that the title is Update on the Swift Project Lead.

0:43:00And there's a little bit of preamble

0:43:01and then the meat of it is--

0:43:02- Wait, wait, wait, before you start reading,

0:43:05the subject line of that email.

0:43:08Having worked in corporate America for a long time.

0:43:12- Oh yeah, we all know what this means.

0:43:13- Based solely on the subject line,

0:43:15you can tell what kind of news is gonna be in that email.

0:43:19But having seen enough emails that euphemistically express

0:43:23personnel changes or other bad news about the company, yeah.

0:43:28- The best one is when the subject line is somebody's name.

0:43:31Like the subject line is from someone else in the company

0:43:33and the name is like, and the subject is just

0:43:35like the employee's name, like all right,

0:43:36either they died or they got fired.

0:43:38Like that's one of those two things that's happened here.

0:43:40- Or updates on, update on is another great euphemism

0:43:43is what we have in here.

0:43:44- Yeah, and by the way, the language used

0:43:46when somebody dies versus getting fired is pretty close.

0:43:49- Yeah. - Let's not go there.

0:43:50Okay, not to say you're wrong, but let's not go there.

0:43:52So update on the Swift project lead from Chris Latner,

0:43:56and we'll explain who he is in a second,

0:43:58but the meat of this email is,

0:44:01I'm happy to announce that Ted Kremenick,

0:44:03is that how you pronounce it?

0:44:04Do you guys know?

0:44:06Let's go with it.

0:44:06Okay, I am happy to announce that--

0:44:08- ATP, the kings of pronunciation.

0:44:10- Seriously.

0:44:11That Ted Kremenick will be taking over for me as,

0:44:13quote, project lead, quote, for the Swift project,

0:44:16managing the administrative and leadership responsibility

0:44:18for Swift.org.

0:44:19This recognizes the incredible effort

0:44:21that he has already been putting into the project

0:44:23and reflects the decision I've made

0:44:24to leave Apple later this month

0:44:26to pursue an opportunity in another space.

0:44:28- Way to bury the lead, Chris.

0:44:30Yeah, this decision wasn't made lightly and I want you all to know that I'm still completely

0:44:34committed to Swift.

0:44:35I plan to remain an active member of the Swift core team as well as a contributor to the

0:44:38Swift evolution mailing list.

0:44:41And then there's some very nice comments about working at Apple blah blah blah, everything

0:44:45will be okay, this guy's been following blah blah blah.

0:44:48That was about noonish our time yesterday.

0:44:53Followed a few hours later with a blog post on Tesla.com.

0:44:58Welcome Chris Latner.

0:44:59We would like to welcome Chris Lattner, who

0:45:01will join Tesla as our Vice President of Autopilot

0:45:03Software.

0:45:04Chris's reputation for engineering excellence

0:45:06is well known.

0:45:06He comes to Tesla after 11 years at Apple,

0:45:08where he was primarily responsible for creating

0:45:10Swift, the programming language for building apps on Apple

0:45:12platforms, and one of the fastest growing languages

0:45:14for doing so on Linux.

0:45:16Prior to Apple, Chris was the lead author

0:45:18of the LLVM compiler infrastructure, an open source

0:45:20umbrella project that is widely used in commercial products

0:45:22and academic research today.

0:45:25Whoa.

0:45:26So let's back up a smidge.

0:45:28John, do you want to tell us who Chris Latner is?

0:45:30- Well, I think both of those statements

0:45:31had his various titles in there.

0:45:32I had to actually look this up.

0:45:34I think his title upon departure from Apple

0:45:37was Senior Director and Architect

0:45:40Developer Tools Department.

0:45:42That's a comma inside the title.

0:45:43It's such a long title, not a comma.

0:45:45But he was basically in charge of all dev tools.

0:45:47And when he came on board at Apple,

0:45:49he was lower down, but also doing compiler-y stuff.

0:45:52He is responsible for getting Apple off GCC

0:45:56and onto what was first a GCC work-alike compiler

0:46:00based on the LVM compiler building toolkit that he made,

0:46:05that he started before he came to Apple,

0:46:06it's probably one of the reasons Apple hired him, I'm sure.

0:46:09And then eventually Clang, which is the replacement for GCC,

0:46:12and of course the Swift programming language

0:46:14that we all know and love and/or are avoiding.

0:46:18(laughing)

0:46:21So that's who Chris Lattner is.

0:46:23He's the, in sort of nerds who follow Apple parlance,

0:46:28but don't know him personally,

0:46:29he's the guy who was on stage announcing Swift at WWDC.

0:46:34So that's the dude.

0:46:35So a very important person in Apple

0:46:37has had a very illustrious career.

0:46:39Obviously the driving force behind

0:46:42many of the biggest changes having to do

0:46:44with developer tools at Apple,

0:46:46with the platform on which you develop them.

0:46:48'Cause at this point, his final title,

0:46:50I think he was in charge of all Xcode,

0:46:51not just like the compiler nitty bit,

0:46:52He started off just doing compiler stuff

0:46:55and moved all the way up until he's ahead of all dev tools.

0:46:57So a wide ranging influence.

0:47:00And unquestionably Swift is the biggest thing to happen

0:47:03to develop on Apple platforms in many, many, many years.

0:47:06And so he's leaving and he's going to Tesla.

0:47:11And the first thing that occurred to me

0:47:13about this announcement was that it took place,

0:47:17the first place I saw it anyway,

0:47:18and I'm pretty sure the first place

0:47:19that it appeared anywhere publicly

0:47:22was on the Swift evolution mailing list,

0:47:25which is a public mailing list about the open source

0:47:28development of the Swift programming language,

0:47:30because Swift is open source,

0:47:32thanks to Chris's efforts inside Apple.

0:47:35And that's where he chose to announce his departure,

0:47:37not on Twitter, not an Apple press release,

0:47:39not in any other channel, not on his blog,

0:47:42but on the open source mailing list.

0:47:44And then he buried it, you know,

0:47:46two paragraphs down in email about a change

0:47:48and leadership of the open source effort,

0:47:50which I think in itself is a statement about

0:47:52his dedication to open source

0:47:55and his respect for the community,

0:47:57the few nerds who are following a mailing list

0:48:00of all things, can you believe who people,

0:48:03oh, people like me who still subscribe to mailing lists,

0:48:05still happens, and that he's telling not the public at large

0:48:09and not a bunch of press outlets,

0:48:12but the people who contribute to the evolution

0:48:15of the Swift language.

0:48:17So I thought that made a statement.

0:48:19And at the time they announced he was leaving,

0:48:23I didn't know where he was going,

0:48:24but as Casey points out, we didn't have to wait very long.

0:48:27Only an hour or two later and the mystery was solved.

0:48:30- Yeah, this is a big deal as far as I'm concerned.

0:48:34I mean, it's hard to say from an outsider's point of view

0:48:38how much Chris was involved in,

0:48:43well, I shouldn't even say that since it is open source,

0:48:46But I personally don't keep up with the day-to-day doings on the Swift project.

0:48:52And certainly, since Apple was kind enough—and I mean that genuinely, I'm not trying to be

0:48:57snarky—Apple was kind enough to upload the entire commit history for Swift to GitHub.

0:49:02And people went digging through the early commits for Swift.

0:49:09And it really was Latner's baby for like a year or something like that.

0:49:12And then gradually and gradually and gradually more and more Apple engineers came on board.

0:49:16But I mean, this is the language in which I write code every weekday.

0:49:22And this is in many ways how I pay for the roof over my head this very moment.

0:49:27So I mean, I personally owe a great debt of gratitude to Chris Latner.

0:49:32And I think Marco does as well by virtue of Xcode being under Chris Latner as well.

0:49:37Yeah, and LLVM and a lot of other stuff too.

0:49:41Not just Swift.

0:49:42You know, there were a lot of other things that he, like,

0:49:43you know, I don't use Swift yet, as everyone knows, ha ha,

0:49:46but, like, he also did tons of stuff

0:49:48for the entire rest of the developer stack,

0:49:50including the compiler and Objective-C.

0:49:53- Yeah, yeah, so this certainly strikes me

0:49:57as a pretty darn big deal.

0:50:00It's a pretty big blow to see somebody that important,

0:50:04that high up, and from everything I've ever heard

0:50:09that well-liked leave Apple, and then it's just turning the darn knife for him to be

0:50:14going to Tesla.

0:50:15That's not a bad thing necessarily, but I've got to imagine that Apple's pretty sensitive

0:50:20to these sorts of defections, and this one's got a sting.

0:50:24And he's not the only one, as people are pointing out right now.

0:50:27There have been several relatively high-profile, although I don't think as high-profile, Apple

0:50:32departures on their way to Tesla.

0:50:35So this is kind of a bummer for Apple, for sure.

0:50:37Yeah, we have a link in the show notes for Christina Warren's article where she gathered

0:50:42this big list of recent departures and the companies that they're going to, and you see

0:50:46a lot of Tesla in that list.

0:50:47I mean, obviously this is not a scientific sample.

0:50:50We have no idea what Apple's normal turnover is and if this is more than usual or whatever,

0:50:54but high profile ones like this, those are the ones that we notice, and it's a good occasion

0:50:59to see if people are leaving Apple, where are they going?

0:51:01And it looks like right now, perhaps more people than perhaps people thought were leaving

0:51:07Apple to go to Tesla, which I guess would seem weird if there hasn't been rumors of

0:51:11an Apple car related project for so many years, but now just like, yeah, that kind of makes

0:51:15sense, right?

0:51:16- I mean, and it depends on the person too.

0:51:19Like somebody like Latner, I mean, this is, he's obviously an incredibly smart engineer,

0:51:26and that's like understating things, right?

0:51:29Also is apparently a really good woodworker.

0:51:32But anyway, really smart engineers tend to do two things.

0:51:37Either they get a job at one company

0:51:40and work there forever for their entire career,

0:51:43like a place like Google or something.

0:51:44They go there and they stay forever.

0:51:47This is often what more academic programmers

0:51:49tend to like to do, because that tends to enable them

0:51:53to be a little bit more academically free in a way

0:51:56and to really get established and to really not

0:51:58have to worry about the employment situation much

0:52:01and just do great intellectual things.

0:52:04And then the other pattern you usually see

0:52:06for really talented, very smart people,

0:52:09in engineering at least, they'll do one thing

0:52:12for a couple years and then they'll wanna do something else

0:52:14because they just wanna keep attacking

0:52:17new crazy interesting problems.

0:52:20And once they have kinda gotten something stable

0:52:24or released or whatever, they get antsy

0:52:26and wanna move to something else.

0:52:28Usually you see those two extremes

0:52:30with very smart engineers.

0:52:31Because we know Chris is that level of talent,

0:52:36it could have just been the latter.

0:52:38It's hard to look at this and to really read anything

0:52:42into this one person changing jobs.

0:52:46And that's not to say the aggregate

0:52:48doesn't maybe say something,

0:52:49but this one person changing jobs to a different company,

0:52:53somebody who's that smart,

0:52:54it is not unheard of for them to change.

0:52:58And he's been an Apple for a long time.

0:53:00And so, to change, what was it, 11 years, I forgot, 11?

0:53:03Something like that. - I believe that's right.

0:53:04- It's a long, and that's a long,

0:53:05for somebody of that caliber, that's a long time.

0:53:08So, the fact that he just left,

0:53:10and even though he left us somewhere

0:53:12that's possibly like a bit of a red flag,

0:53:16that alone, I don't think is reason for concern.

0:53:18Now, if you look, there's a couple of things about this

0:53:21that are interesting and possibly concerning

0:53:24if you're looking at Apple.

0:53:26One, I think, is the timing is a little odd.

0:53:30Apple is, at this point, it's barely even secret anymore

0:53:36that Apple is working on a car project

0:53:38and that they're devoting a lot of resources to it.

0:53:41You can look around what they're doing

0:53:42in the rest of their product lines

0:53:43and it seems like they're having a hard time

0:53:46keeping up with pretty much everything

0:53:48and they're devoting a lot of resources to something.

0:53:52- Well, less than before, though,

0:53:53if the rumors are to be believed.

0:53:55Because before they were devoting way more resources

0:53:57when they were supposedly making an actual physical car,

0:54:00and then supposedly rumor says that they laid off

0:54:02a whole bunch of people and said,

0:54:03"No, we're not actually making a physical car.

0:54:05Instead, we're making self-driving software for cars."

0:54:08- Well, it sounds more like the answer was,

0:54:10"We're not making a car yet."

0:54:11I think that was the actual pivot is,

0:54:13or at least we're not making this car

0:54:15that we have been working on.

0:54:16- Anyway, all we've got is rumors

0:54:17'cause Apple didn't say anything about this,

0:54:19but the non-rumor thing is,

0:54:21what is Chris Lander gonna do at Tesla?

0:54:24vice president of autopilot software.

0:54:26So if Chris was actually interested

0:54:28in working on software for self-driving cars,

0:54:32obviously we know for a fact Tesla

0:54:34has a department working on that.

0:54:35And supposedly Apple possibly,

0:54:38maybe if you believe the rumors

0:54:39also had a department doing that.

0:54:40So it's not even as if he had to leave Apple

0:54:44to work on car things maybe.

0:54:47But that's why we're saying it's like

0:54:50twisting the knife to go to Tesla,

0:54:51because it's kind of strange to compare rumors of what Apple is supposedly doing with the

0:54:57concrete reality of what we know Tesla is doing, but in tech news circles and the fact

0:55:03that Tesla and Apple have this open door policy apparently with their personnel going in both

0:55:09directions and the slight animosity about poaching each other's employees, the competition

0:55:14between Apple and Tesla seems to be a real thing. Whether it's founded on an actual overlap

0:55:18in product efforts is still unknown.

0:55:22- Yeah, that's the thing, is that irrespective

0:55:23of whether or not Apple is working on a car

0:55:26or car-related things, it seems pretty clear,

0:55:30even from all the way on the other coast,

0:55:32that there is increasing amounts of animosity

0:55:34between the two companies about defections

0:55:37from one to the other.

0:55:39- Yeah, and that's why, like, you know,

0:55:41the company he went to is interesting,

0:55:45you know, for that reason.

0:55:46What he went there to do when Apple allegedly,

0:55:50rumor-wise, has that department in active development

0:55:54is interesting, and the timing, I think, is interesting

0:55:58because I don't, Casey, does Swift seem like it's in

0:56:03a very stable place right now?

0:56:04Honestly, I don't know, I don't follow it.

0:56:06(laughing)

0:56:07- Okay, so I can't answer that question

0:56:10because no matter what I say, half of the Swift users

0:56:14will say I am dead wrong.

0:56:16So the simple answer is it is not yet totally stable,

0:56:21but we are told that Swift 4 will bring ABI stability

0:56:26and at that point, all the bumps on the road

0:56:29should really start to smooth out.

0:56:31I'm not saying that's accurate,

0:56:33but I'm saying that's what everyone is being told.

0:56:35So take that for what you,

0:56:37you can interpret that to be whatever you mean,

0:56:39but that should be soon.

0:56:42Also next year's the year of Linux on the desktop.

0:56:45Well, you know, stability, another word for stability, you know, you're only stable when

0:56:49you're dead.

0:56:50Like, it's never actually going to be stable.

0:56:51It's always going to be growing.

0:56:52You know, it's, the question is like, so Swift is Chris Lattner's baby, right?

0:56:59And timing-wise, if you were to look at it in terms of the Swift language, it's a little

0:57:04bit weird to move on to other things before you're sure that like, that, you know, your

0:57:11child has grown into an adult or at the very least is potty trained.

0:57:15I'm not going to say ABI compatibility is potty training, but having to bundle all the

0:57:23libraries with your application because you can't be guaranteed binary compatibility with

0:57:28the next version of the standard library and stuff, that to me still feels like a language

0:57:32that is not yet fully formed.

0:57:35It's not like it's unstable or too much is changing because their source compatibility

0:57:40is there.

0:57:41They're on the source compatibility train at that point.

0:57:43And even so, even when they weren't on the source compatibility training, I don't think

0:57:46it was that bad and Xcode was good about helping you update your stuff.

0:57:48Like it wasn't, you know, it's on version three.

0:57:51It's not version, you know, 0.09 or whatever.

0:57:54Like they, they incremented the major versions pretty quickly because they did change major

0:57:58changes to the language during that time.

0:58:01One last thing, like Casey said, is ABI compatibility.

0:58:03I feel like after that, it's not as if it's stable.

0:58:06It's still going to improve and get better, but I think it will have crossed the line

0:58:09into a language that you can use without any more caveats, any more implementation caveats,

0:58:15because now your caveats may be like, "Oh, well, I don't like this feature or that feature,"

0:58:19but once it works like Objective-C and that it's like a language that you can write in to be,

0:58:24you know, and your application will be compatible with the next version of the OS and all the

0:58:28frameworks and libraries and all that other stuff without you having to bundle all that

0:58:31crap with your app, like that's a sign of a language that isn't quite done. So to have

0:58:35Chris leave before the, you know, the baby leaves the nest. I keep searching for new

0:58:40analogies and I don't know which one we're going to pick as a favorite, but like, because

0:58:44it's so bad to say like, "Oh, he left before Swift is done." Swift is never going to be

0:58:46done. The language is never done, but like before, I feel like it crosses the line. Now,

0:58:51he didn't leave right after 1.0 because that would be a much worse time to leave. And Swift

0:58:55is certainly in good hands. It's not like it was hinging on him being there, but purely

0:58:59from the perspective of, wouldn't you like to be there to see this thing through, even

0:59:04Even if, as he expresses in his letter, it's not, you know, the language is fine.

0:59:08It's in good hands.

0:59:09There is a roadmap.

0:59:10There are people executing on it.

0:59:12He is not super essential to that.

0:59:13And even if he was, he can still contribute to it in open source.

0:59:16Like that's fine.

0:59:17It's not as if he's, it's not as if him leaving is a problem for Swift the language at all.

0:59:22But emotionally speaking, it, you know, it seems, you know, if I put myself in his place,

0:59:29I would want to like, say you were going to retire or whatever.

0:59:32You would choose not to retire until, "Let me just get this swift thing and just see

0:59:36it off into the sunset and say, 'Here's my great accomplishment.'"

0:59:39And he can do that now, but I don't know.

0:59:42I think I would want to see it along a little bit farther before I considered it a mission

0:59:50accomplish and now it can continue to grow and blossom into a successful adult or whatever.

0:59:57And so that gets me into the next larger point here about big departures like this, reasons

1:00:04people might leave Apple.

1:00:06Marco touched on a lot of these already, like really smart people, you get bored.

1:00:09Or if you just want to try something else, you decide you don't want to be a programmer

1:00:16anymore.

1:00:17You don't feel like you can advance in the organization anymore.

1:00:20But I feel like at this very high level, when you start getting into people with senior

1:00:24and director in their title. I have to think that the only reason people leave aside from

1:00:30what Marco said of like, "I just want to do something else," which is definitely a thing,

1:00:34is that there's some fundamental disagreement about something important. If that important

1:00:40thing is your own advancement in the organization, that could be it for people who feel like

1:00:46their careers always have to be advancing and if they feel like they'll never be able

1:00:48to advance farther. I don't, you know, even though Chris climbed up the ladder very quickly,

1:00:53I don't feel like he was going to be CEO, so I don't think that's his barrier.

1:00:59I have no information here, nobody does, no one is going to talk about this, but I have

1:01:03to think it's just a disagreement about something.

1:01:06And it doesn't need to be a disagreement that involves any animosity, and it doesn't need

1:01:10to be a disagreement in which either Apple or the person leaving is right or wrong and

1:01:15the company is doomed or the person is doomed or anything like that, but just sometimes

1:01:20is just a fundamental, intractable disagreement,

1:01:22and you either live with it, or you decide,

1:01:26I don't have to live with it,

1:01:27because I can go do whatever I want,

1:01:28and maybe I wanna try something different,

1:01:30because, you know, whatever.

1:01:31So in the absence of any other information,

1:01:35which will obviously never be forthcoming,

1:01:37because nice people don't talk about these things

1:01:40until many, many years later, and perhaps not even then,

1:01:43it seems to me an amicable departure

1:01:47based on a fundamental disagreement about a thing that is probably not particularly

1:01:54consequential to Apple, but was obviously very consequential to Chris Latner. And so

1:02:00I think that is a reasonable reason to move on to something else, just as reasonable as

1:02:07I'm bored and want to try something else.

1:02:10So as an illustrative example, let's suppose that Latner really, really wanted to open

1:02:16source Swift. And you know, this is three or four years ago or two years ago, whatever

1:02:19it was, and that hadn't happened yet. An example of something that Apple may not be that big

1:02:24a deal, but to Chris, maybe a huge deal is he goes to his higher ups, to Craig or whomever

1:02:29at Apple and says, I want to open source Swift. And Craig or whomever says, not going to happen.

1:02:34And Chris says, well, you know what? I'm out. You know, obviously that isn't the case, but

1:02:37that's the sort of thing, Jon, I think you're talking about just as a hypothetical example.

1:02:42Is that fair?

1:02:43Yeah, that's a perfect example, because that's the type of thing that he might care deeply about.

1:02:48His dream might not just be, "I'm going to make this new language called Swift," but also that

1:02:55he wants to be open source because he wants to see the language spread beyond the walls of Apple.

1:02:59Now, arguably, if they told him no open source after the language had been announced,

1:03:05like it's a little bit late for that or whatever, but obviously they did announce the language,

1:03:08And it wasn't open source, and only was open source later.

1:03:10So he was a driver for that inside Apple, which is no secret.

1:03:17He says it himself on his own website, if you want to read it.

1:03:19And anyone who's heard him speak about it before it was open source

1:03:23could tell that he was in favor of it, because if he was asked in interviews

1:03:27or whatever about it, Swift open source, he'd be like, "Oh, you could tell that he wanted it."

1:03:30And eventually he got it.

1:03:31If he hadn't gotten it, maybe that would have been something that said,

1:03:34you know, this has really crushed my dream about Swift, and I really wanted to be open source,

1:03:40and this is a deal breaker for me. And it's the type of thing that Apple would know. I mean,

1:03:44they would know that this important person who's been important to the company wants this thing,

1:03:49and if we decide no on it, it could cause him to leave. Like, that's, you know,

1:03:53turnover is a possibility. And so, like, it's not as if I think this is a mystery or surprise to

1:03:58anyone involved in it. And, like, that's how these things go down. If you have a super important

1:04:02person in the company, you will be willing to do things to retain that person that you

1:04:06wouldn't otherwise. That's another one of these bullet points. How do you retain? How do you

1:04:10retain the best people in your company? One of the ways you retain them is finding out what's

1:04:14important to them and wherever possible, without compromising the good of the whole company or the

1:04:20rest of the people who work there, being willing to bend over backwards to keep them there. I'm

1:04:25sure, I don't know what kind of things they had to do to keep Johnny Ive there, but I'm sure there

1:04:29there are a lot of them and you know apple will be entirely willing to do them oh you

1:04:32want to work from england for a few years oh you want to you know make this product

1:04:35you want to do the apple watch edition you want to make a 300 book like whatever like

1:04:39those are easy easy sure we're going to keep johnny eiv we're going to make him happy that's

1:04:44how you retain employees but at a certain point if johnny eiv says i want to stop making

1:04:49iphones and start making pens only with ink in them and they're going to and if you don't

1:04:55let me do this i'm leaving the company apple's going to say well johnny we're of a market

1:04:59something?" Yeah, well, I don't know. They're gonna say, "Well, Johnny, we're gonna have to part ways

1:05:02here because we're not gonna stop making iPhones no matter how much you want to make pens." So,

1:05:07there's no bad guy in that situation. It's just an amicable parting of ways among titans of industry.

1:05:15- Yeah, it's wild. And I mean, a lot of people have been saying for a long time that retention

1:05:22is one of the biggest threats to Apple.

1:05:26And not that Chris Lattner leaving alone proves that theory,

1:05:31but certainly it gives credence to that theory

1:05:35'cause this certainly seems like a big deal.

1:05:37Now, a lot of people in the chat seem to think that this is,

1:05:40well, I'm filling in some blanks here,

1:05:42but seem to be perseverating on the thought

1:05:45that he's now going to be a VP at Tesla.

1:05:47So this is in principle an upgrade in title.

1:05:52And that could be enough. I don't think that's the case. I mean, I don't know Chris, but

1:05:57the impression of him that I got is that he's not the kind to chase a title. He's the kind that just

1:06:03wants to do interesting work. But it could be as simple as he wanted to be a VP and, you know,

1:06:09Craig isn't going anywhere. And I don't even know if he reported up to Craig, but it seems logical.

1:06:13And so he decided, you know what, I want to be a VP somewhere and Tesla's doing interesting stuff. So

1:06:18off I go.

1:06:19I tend to think that John is right,

1:06:21that it's something deeper than that,

1:06:23but you never know.

1:06:24People do odd things for odd reasons,

1:06:26and it very well could be that.

1:06:28- I mean, honestly, like,

1:06:29if I were to take a job in Silicon Valley,

1:06:33that's a massive if, I know,

1:06:34and that's very unlikely to ever happen.

1:06:36- I can't even compute that.

1:06:38- We should make a reality show of that

1:06:39if that ever happens, by the way.

1:06:40- Oh my God, yes.

1:06:41- But if I were to ever take a job at Silicon Valley,

1:06:43I think Apple and Tesla would be my top two picks,

1:06:47And I think it might be more interesting for me

1:06:50to work at Tesla, I don't know.

1:06:52I would honestly very heavily consider both

1:06:56if I got offers from both.

1:06:58And I think I might lean towards Tesla

1:06:59because I think that might be kind of the more exciting

1:07:03place to be right now for my interests.

1:07:06I don't know.

1:07:07I could totally see why somebody would make that decision.

1:07:09So anyway, my summary of this is basically like,

1:07:13there are lots of legitimate reasons why somebody

1:07:16would go from Apple to Tesla that are not

1:07:20like bad signs for Apple.

1:07:23However, there are enough possible bad signs for Apple here,

1:07:28especially with things like the timing

1:07:30and what he's going there to do with Apple

1:07:32possibly having that same position

1:07:34in active development right now.

1:07:35There are reasons here for people to be concerned.

1:07:39I don't think this is a massive story on its own,

1:07:45but it might be part of a bigger story.

1:07:48We don't know, like is Tesla poaching tons

1:07:51of people from Apple?

1:07:52We don't really know because typically when people

1:07:54go to Apple from anywhere else,

1:07:56Apple tends to keep that pretty quiet.

1:07:59So we're only seeing one side of this.

1:08:02I think when Tesla takes people,

1:08:03they're not that quiet about it and they don't really care.

1:08:06But when Apple hires people,

1:08:07they tend to wanna keep that very quiet.

1:08:08So we're only really seeing one direction of this.

1:08:11It could be a more balanced exchange of people,

1:08:15We don't know.

1:08:16However, if you look at the scraps that we're getting,

1:08:21scraps of info and rumors and knowledge about Apple,

1:08:25it's getting increasingly hard to look at this

1:08:29in a way that doesn't look bad.

1:08:31Like it looks like something is going wrong

1:08:33in a pretty serious way.

1:08:36And that could be wrong, 'cause again,

1:08:37we don't have that much information here.

1:08:39But it's getting harder and harder to look at this

1:08:43and explain it in a way where, oh yeah, everything's fine.

1:08:47- Well what do you think a serious issue is?

1:08:49Give a hypothetical where this would be concerning.

1:08:51You mentioned the fact that Apple

1:08:53potentially has a self-driving software thing too,

1:08:55so why couldn't he just stay at Apple

1:08:57and do the self-driving software thing?

1:08:58Is that the only situation you think looks bad,

1:09:01or are there other ones?

1:09:03- It's seeming like we are eating a lot of costs

1:09:06as Apple customers in order to fund the Apple Car project.

1:09:10It seems like they're putting a whole lot of talent

1:09:12on something big there that almost everyone seems to agree

1:09:16is almost certainly a car project.

1:09:19Even Apple has been like,

1:09:21decreasingly secretive about that.

1:09:23Like in like Tim Cook's statements and everything,

1:09:24like it doesn't seem like they're trying to hide it.

1:09:26I think the cat's out of the bag on that.

1:09:27- But we don't know who they're putting on it.

1:09:29They could be hiring all new people for the car team,

1:09:31for all we know.

1:09:32- That's true, but we're hearing a lot of rumblings

1:09:37from a lot of different places over time

1:09:40that it's actually becoming a significant talent suck

1:09:43to the organization.

1:09:44So basically Apple's putting a lot of resources

1:09:49and sacrificing some attention on their existing

1:09:53product lines into this car project.

1:09:56And it doesn't seem like it's going well internally

1:10:01through whatever reasons, like whether it's interpersonal

1:10:04issues, management issues, bad direction, who knows.

1:10:07We're probably never gonna know that.

1:10:08but it doesn't appear that whatever's happening there

1:10:11doesn't look good.

1:10:12It seems like we're seeing a lot of cracks

1:10:15and symptoms on the outside that indicate

1:10:18things are not going the way they were expected to go.

1:10:21And so if Apple is pouring all of these resources

1:10:25into something, I sure hope that we're getting

1:10:27something out of it.

1:10:28I sure hope that this is gonna be worth it to some end,

1:10:31because if not, this is a serious management problem.

1:10:36That is my main concern, that it seems like we're seeing

1:10:41increasing signs, you know, over the last couple years,

1:10:45we're seeing increasing signs that Apple

1:10:48might be having serious management problems.

1:10:50And almost any one of these individual problems

1:10:54or symptoms or failures that we see that trickles out,

1:10:58almost any individual one could be explained away by like,

1:11:00oh well, you know, that was Intel's fault,

1:11:02that was just, you know, happenstance,

1:11:04or that just didn't go well or whatever else.

1:11:07But they're sure a lot of these things piling up

1:11:09and it's getting increasingly harder

1:11:11to draw any other conclusion

1:11:12than they're having serious management problems.

1:11:15- I don't know, my position on this is always

1:11:17that I don't know enough about the internal workings

1:11:18of Apple to assign blame.

1:11:20And the few things I do know,

1:11:22the most I know about the internal workings of Apple

1:11:24are things from the past,

1:11:26because that's when people talk years and years

1:11:28after it already happened,

1:11:28then you find out what really went on.

1:11:30And organizationally, personality-wise

1:11:33management wise, you know, Apple seemed to be just as big a pit of vipers around the

1:11:40time that Apple introduced the iPhone, you know, their greatest success as it was at

1:11:45any other time.

1:11:46So I just don't know what goes on inside Apple.

1:11:50I don't know if it's any worse than it was before.

1:11:52All I have to judge them by are the products that they put out, right?

1:11:57And in that respect, as we've talked about in past shows, you feel like they're slacking

1:12:00off in some areas where you think they shouldn't be and so on and so forth, but I personally

1:12:06can't make a leap from my satisfaction with the products they're putting out to internal

1:12:13management-related things.

1:12:14Because I just feel like I don't have enough visibility there, because there's such a black

1:12:17box, I have no idea what's going on in there.

1:12:19Maybe it's ten times better than it was when the iPhone was introduced, right?

1:12:24Maybe it's ten times worse.

1:12:25I don't know.

1:12:26I can't match it up.

1:12:28Chris leaving is not really a point on that graph because, as we discussed earlier, there

1:12:33are so many reasons I feel like he could leave.

1:12:35Even if the getting back to the scenario was like, "Why didn't you just stay at Apple

1:12:38and do self-driving car stuff?"

1:12:40If I was Apple management, I wouldn't really want Chris Latner working on self-driving

1:12:44car stuff, no matter how much he wants to.

1:12:46I feel like that would almost be a situation where it's like, "Well, Chris, if you really

1:12:49want to work on self-driving car stuff, we've already got a team doing that, and even though

1:12:54it seems cool to you, we have someone managing that team and Chris's value to Apple, your

1:13:00value to Apple is higher leading the SWIFT effort right now. And Chris may disagree with

1:13:05that and say, "Well, I don't care. I don't want to do that." And there may be parting

1:13:08a ways there and say, "We want you to do this. You know what I mean?" I just feel like I

1:13:14don't have enough visibility into that type of stuff to know. As we've discussed in the

1:13:19past, I'm personally concerned about some of the products they're putting out and decisions

1:13:24they're making about the products,

1:13:25but I can't draw the line to the internals

1:13:27'cause it's just a big cloud to me.

1:13:29- Well again, that's why I think it's important

1:13:31to not jump on the something's going wrong at Apple train

1:13:36with any one of these things.

1:13:37'Cause again, any one of these, you're right,

1:13:39any one of these various things that happen

1:13:41that one explanation could be a management issue.

1:13:45You can't conclude that from just one point.

1:13:49But what I'm saying is that we're seeing

1:13:52over the last year or two, an increasing number

1:13:56of seeming cracks in the foundation

1:13:58where that's one of the explanations.

1:14:00And eventually, it's hard to make other conclusions

1:14:05when you have a lot of things that all could be explained

1:14:09by, oh, well, maybe this thing just went badly,

1:14:12or maybe there's some other explanation.

1:14:14But one of the explanations is problems going on.

1:14:18- I mean, that certainly could be,

1:14:20But I tend to come down on Jon's side on this in that it could be that it's management issues,

1:14:27but we can't know.

1:14:29I mean, especially someone at Chris's level, and I mean that both in terms of org chart

1:14:33and just brute intelligence.

1:14:36After a while, it wouldn't surprise me if he just got bored.

1:14:38Like comparatively, compared to Chris Ladner, I'm a friggin idiot, and I get bored after

1:14:43a few years at most jobs I've ever had.

1:14:46And so he was at Apple 11 years.

1:14:49And granted, he worked on different things while he was there, and he has a lot to be

1:14:52proud of, but it could be something as simple as boredom.

1:14:55I still come back to what Jon said.

1:14:56I think this was some sort of disagreement with somebody.

1:14:58But I don't personally see such a direct line from Lattner and others leaving to management

1:15:06problems.

1:15:07And let's go back to what one of you said about the iPhone, when everyone was getting

1:15:10sucked into the iPhone.

1:15:11It's the beginning of that multi-year process that probably looked kind of not good and if we were around

1:15:18Well, we were around but if we were a podcast then if we were all all three of us Apple fans

1:15:23Then we would probably be saying wow the iPod really looks like crap compared to a year ago

1:15:27I wonder what's going on in there and as it turns out what was going on in there was the iPhone now is

1:15:32Project Titan or whatever it's called today. Is that going to be the next iPhone? Who knows but it doesn't necessarily mean

1:15:40that bad things are happening if

1:15:42Talent is getting sucked into Titan. It doesn't necessarily mean that bad things are happening if talent is leaving Apple

1:15:49All that being said we are certainly getting enough data points to point to something not being good

1:15:57Examine up to management it may or may not like I think I'm I'm beating you up a little bit about it being management

1:16:03but I agree with you Marco that

1:16:05something looks

1:16:07amiss here, I just don't know what.

1:16:10- Oh yeah, and when I say management,

1:16:11I'm not saying this one particular person

1:16:14should be fired or whatever, I'm saying,

1:16:16in the sense of it's a manager's job to fix this,

1:16:19and management level decisions might be problematic.

1:16:23So things like resource allocation,

1:16:25choosing what direction things should go in,

1:16:27personnel changes, those all rest on management.

1:16:32And so if it appears that Apple's having problems

1:16:35in those kinds of areas over a decent amount of time

1:16:39and with enough of these data points where like

1:16:42that looks like a likely explanation,

1:16:45that is up to management to fix.

1:16:47And so it's up to either the lower level people

1:16:51who these various problems might be under,

1:16:53but ultimately it's up to Tim.

1:16:54Like that is the CEO's job is to be the ultimate manager.

1:16:58Like if things are going wrong with management

1:17:01inside the company, the ultimate responsibility to fix it

1:17:04eventually rests at the CEO.

1:17:07Again, I do think there might be other explanations

1:17:12for these things.

1:17:14Maybe everyone's doing a great job,

1:17:17but there sure are a lot of cracks showing in the foundation

1:17:20and at some point, I think we as Apple commentators

1:17:23have to consider the possibility

1:17:25that maybe things aren't going so well.

1:17:27- Yeah, I don't think anyone's debating,

1:17:29well, I don't think the two of us are debating with you

1:17:31that things may not be going well.

1:17:33It's such a big black box that it's so hard to pontificate, and arguably that's what we're

1:17:38supposed to do, but it's hard to pontificate with any sort of accuracy and reliability

1:17:44of what's going on in there.

1:17:45But it's certainly interesting, and it is even more interesting, like one of you guys

1:17:50said, because everything we know is that there's an equivalent project happening within Apple.

1:17:57But I mean, to use a silly example, so a couple of jobs ago I was doing a whole bunch of SharePoint

1:18:02development, which if you've ever touched SharePoint, you'll know it's a miracle I'm

1:18:06not bald right now from ripping my hair out. But anyway.

1:18:09>> No, there's anything wrong with that. >> Not that there's anything wrong with that,

1:18:11of course. But I had been doing it for like four years and I had begged and begged and

1:18:18begged to do anything other than SharePoint. And eventually it was made clear to me that

1:18:25that wasn't going to happen because I was too valuable as a SharePoint developer to

1:18:30to move me off to do something else.

1:18:34And so I left.

1:18:35Now, to Marco's point,

1:18:36that is to some degree a management problem.

1:18:38- Yeah. - But, but--

1:18:40- That is absolutely a management problem.

1:18:42- But what I'm driving at is,

1:18:43it isn't necessarily indicative of a problem

1:18:46throughout the entire company,

1:18:47it's a problem with how I was handled.

1:18:50And either I was not valuable enough to them

1:18:54to acquiesce and to do what I wanted them to do,

1:18:59Or they just didn't care, or they didn't realize how serious I was about how cranky I was.

1:19:04You know, there's any number of reasons.

1:19:05But the moral of the story is, I eventually left, because I couldn't do the thing I wanted

1:19:10to do.

1:19:11And I think John had said, "Latner's valuable to Apple doing the crazy compiler nerdery

1:19:19that he does."

1:19:20Or at least that's the way it seems, right?

1:19:22He's also in charge of a hundred-some people.

1:19:24So maybe all of us are reading this wrong.

1:19:26he's just tired of being a manager and just wants to sling code again. Now as a VP, it sounds to me

1:19:30like he's probably going to be a manager again, but you get what I'm talking about.

1:19:32Yeah, it sounds like he's still a manager.

1:19:34And he was still writing code at Apple. Like, you can go look at the commits. It's not like he was,

1:19:38you know, he didn't give up writing code.

1:19:40No, no, but you see what I'm driving at, though. So I guess all I'm saying is there are lots of

1:19:45different explanations, some of which are management, some of which are not, that all

1:19:48are feasible, but may or may not be indicative of a fundamental problem at Apple. I agree with you,

1:19:56you Marco that I still agree with you that there is a possibility that

1:20:00something is not good and it certainly seems that way but man it's hard for us

1:20:05to tell. Well and ultimately we don't need to tell like again like we we can't

1:20:11know unless they both talk like which I can't imagine we can't know what the

1:20:18cause here was and what it means like again this one incident this one person

1:20:23and leaving is not itself a massive deal

1:20:27because we don't know these things, right?

1:20:29It might be a massive deal, but we can't say, right?

1:20:32'Cause we don't know.

1:20:33I'm just talking about the overall pattern,

1:20:36like the trend of the graph, the way things are going.

1:20:40It just seems like we're getting increasingly

1:20:43more problems where the explanation

1:20:46could be something's wrong.

1:20:48And it might not be, for any one of those problems,

1:20:51It might not be that, but there's sure a lot building up.

1:20:55Basically, I don't know how anybody could be

1:20:59a really big Apple fan and look at the way things are

1:21:02right now and not be a little bit worried.

1:21:05- Yeah, I think that's fair.

1:21:06- If you don't care about the Mac,

1:21:07I'm not quite sure why you'd be that worried

1:21:09because I still think iPhones and iPads are great.

1:21:12The iPad is the best it's ever been.

1:21:13The iPhone is arguably the best it's ever been,

1:21:15if you don't mind that the case looked

1:21:16the same three years in a row.

1:21:17So if you don't care about the Mac,

1:21:19I think Apple's still doing pretty well.

1:21:21I mean, like, but getting back to what I was saying before about the state of the internals

1:21:25of Apple and the parts that we actually do know about because enough time has passed.

1:21:30Like think of when, you know, Tony Fidele, father of the iPhone, apparently didn't get

1:21:34along with a lot of people inside Apple and eventually got booted out.

1:21:38And then you have Scott Forstall, who was he not getting along with?

1:21:41Johnny Ive or something?

1:21:42Everybody, it sounded like.

1:21:43But then Steve liked him.

1:21:44Like, it was a friggin' mess in there.

1:21:46And people were leaving and getting kicked out.

1:21:47And it's like, if he stays, then I'm not gonna stay.

1:21:49they have to make these hard choices between two people who are arguably, you know, how

1:21:53do you kick out the guy who, you know, was the origins of the iPod project?

1:21:58It's like, well, but he disagrees with this other person who's even more important to

1:22:00the company.

1:22:01It's like, what can you do?

1:22:02Like, they're doing the best they can.

1:22:03And yet, during that time, the company was producing the iPhone, for crying out loud.

1:22:08So you know, good old Ed Catanil, Success Hides Problems, or you know, or Bob Mansfield

1:22:12and him leaving and then coming back.

1:22:14Like, there's always been a lot of drama at the visible top levels of the things, but

1:22:17But nobody cares when you're releasing the iPhone, but go a few years and don't have

1:22:21an iPhone-like hit, and then all of a sudden now we're going to look at all your high-level

1:22:25departures and wring our hands about them.

1:22:28I'm not saying that—I don't endorse the political infighting and personality disagreements

1:22:34among these multimillionaire, city-level executives.

1:22:38Like that's—whatever, that's a Silicon Valley sport that I'm not really interested

1:22:43in engaging in.

1:22:44But the proof is in the pudding.

1:22:45You can have an apparently personally dysfunctional upper ranks of Apple and produce great products,

1:22:52and I'm assuming you could have everybody getting along but the company going down the

1:22:55tubes.

1:22:56So that's why I'm hesitant to connect those two things, both because I have no visibility

1:23:01into it and also because I think maybe it's not even connected.

1:23:05Maybe you have the most dysfunctional group of children fighting with each other and produce

1:23:10a world-shattering product at the same time.

1:23:13Steve Jobs certainly wasn't the most pleasant person to get along with and they did a lot

1:23:17of good work under him too.

1:23:19Fair enough.

1:23:20We are sponsored tonight by Betterment.

1:23:24Go to betterment.com/ATP.

1:23:27Betterment investing made better.

1:23:29It is never too early or too late to start saving for retirement or your other financial

1:23:35goals.

1:23:36Nobody has ever said, "I wish I started investing later in life."

1:23:40No, you gotta start now, 'cause these things add up

1:23:43over time, and if you're gonna invest your money,

1:23:45it is much more wise to do it in a way

1:23:49that does not charge you a lot of fees,

1:23:51because all those fees also add up over time,

1:23:54so if you can get something with very, very low fees

1:23:56up front over the course of the rest of your life,

1:23:58that's gonna add up to a massive difference

1:24:01in what you're actually saving.

1:24:02So Betterment is the largest independent

1:24:05automated investing service out there,

1:24:07managing more than five and a half billion dollars

1:24:09for over 180,000 customers as of this past September,

1:24:13and of course they're always growing.

1:24:15And with Betterment, they take the same strategies

1:24:18that financial advisors use with clients

1:24:20who have millions of dollars,

1:24:22and through this automated technology

1:24:23you're able to bring it to everyone

1:24:25and at a fraction of the fees

1:24:28that traditional financial services would charge

1:24:30for similar types of services.

1:24:32Of course any excess cash your portfolio generates

1:24:34is automatically reinvested with their algorithms,

1:24:37so every dollar you invest is always put to work

1:24:39your portfolio is always balanced.

1:24:41Investing always involves risk.

1:24:44Right now, check out Betterment.

1:24:45Get up to six months of no fees.

1:24:47To learn more, visit betterment.com/ATP.

1:24:50That's betterment.com/ATP.

1:24:53Betterment, investing made better.

1:24:55- So the only thing that I still think

1:25:00is worth discussing here is what does this mean for Swift?

1:25:04One of us is really enthusiastic about Swift,

1:25:07And I'm curious what this means.

1:25:09I mean, it sounds like if you were to read,

1:25:12if you were to take Chris's mailing list post,

1:25:15mailing it at face value,

1:25:17it sounds like Ted Kraminek has been doing

1:25:18all the work anyway.

1:25:20Now, if I were Chris and I wanted a smooth transition

1:25:23and I wanted to be a nice guy,

1:25:25I would give all the credit to whoever's taking over.

1:25:27But there's presumably some amount of truth to that.

1:25:30And unfortunately, while I do write Swift every day,

1:25:33I don't follow the ins and outs, day-to-day stuff that goes on, so I personally don't

1:25:41have a good feel for how much of this is true or false.

1:25:43But I mean, this is the—Lattner is the daddy.

1:25:46What was—what do they call—is it the Python guy that has a really funny nickname?

1:25:49Somebody has a really funny nickname.

1:25:51Anyway.

1:25:52John, you should know this.

1:25:53Python is like Perl, right?

1:25:54I don't follow Python.

1:25:55Guido?

1:25:56I don't know what Guido's nickname is.

1:25:57It's like Supreme Ruler of—it's like something like that.

1:26:00- Benevolent dictator for life, something like that.

1:26:02- Yeah, maybe that's it, maybe that's it.

1:26:04So anyway, so Latner is sort of

1:26:06the benevolent dictator for life.

1:26:09And now, we can debate whether his full-time job

1:26:14at Apple was working on Swift.

1:26:17I mean, given that he had 100 people under him

1:26:20and from his own website, in additional languages,

1:26:22Swift and Objective-C, compilers and low-level tools

1:26:24that took on responsibility for the Xcode IDE,

1:26:26Instruments Performance Analysis tool, Apple Java releases,

1:26:29a variety of internal tools. It doesn't sound like Latner's full-time job was swift anyway,

1:26:33but how much time is he really going to have to dedicate to it if he's working full-time at Tesla?

1:26:40Is that a problem? Is that just a change? I mean, it seems like he's let this beautiful

1:26:47bird fly all on its own and he's let go of the leash, but I don't know, it's slightly alarming,

1:26:54right? It's a change no matter how you slice it. Well, he was not benevolent at

1:26:59did it for life, but everyone took that for life. I'm familiar with this concept because

1:27:02it was adopted by the Pearl community as well, and it was bestowed on Larry Wall. As an interesting

1:27:07way for nerds to deal with each other and consensus building and everything, to have

1:27:16one trusted person who everyone agrees both has a credible claim to dictatorship, like

1:27:26invented the language in the case of Larry Wall. It's like, you know, well, if one guy's going to

1:27:29be in charge of Pearl, it's going to be Larry Wall, right? And also has proven to be like,

1:27:34level headed and reasonable, you know, and like that everyone agrees, like, you may agree with

1:27:39Larry Wall or disagree with them, but we think he's a reasonable person. So you bless him as

1:27:43benevolent dictator for life. And then you have an open source process where everyone

1:27:47argues with each other and tries to come to some consensus. But every once in a while,

1:27:51there's some big disagreement about some big important thing, and it has to go to, you know,

1:27:55the ultimate tiebreaker and you defer everyone agrees that we all agree we're going to defer to

1:28:00the benevolent dictator for life and that person makes the call and hopefully that rarely happens

1:28:05and most of the time the open source community works out among themselves but you have this one

1:28:08person as the backstop as the tiebreaker as the one that everyone agrees is the authority and has

1:28:15a rightful claim to make the decision but and that person part of being benevolent is they don't use

1:28:20that they don't abuse that power they don't use it to override other people they wait to be called

1:28:24called a pawn, most of the time they defer to the community when there's consensus.

1:28:28Like, that's the benevolent part.

1:28:29It's really important.

1:28:30This is, by the way, a terrible system for government because, as we all know, absolute

1:28:33power corrupts absolutely, and you should not do this, but in open source projects,

1:28:37in these specific cases with these specific people who are really nice nerds, like I assume

1:28:41Guido is and I know Larry is, it has worked out.

1:28:44But that's not what Chris Lautner is in the Swift open source community.

1:28:48It's a much more democratic process.

1:28:50Now here's the twist.

1:28:52He's kind of a de facto, he was kind of a de facto benevolent dictator for term of employment

1:29:00at Apple because he was the boss of the most powerful contributors to the code.

1:29:06So he was their boss in the company, which is a powerful position, right?

1:29:09They kind of had to do what he said because he was their boss.

1:29:12And they were working on Swift on Apple employee time, like not just in their free time as

1:29:16their hobby or whatever.

1:29:19And he would be leading the meetings discussing the community proposals for the Swift language.

1:29:25And the impression from the outside, at least, is that Chris would deliver the result of

1:29:28those meetings.

1:29:29We had a meeting about this proposal.

1:29:30This is a community proposal.

1:29:32The Swift evolution processes you propose, and then the Swift core team, or whatever

1:29:36they're called – I forgot what this – probably some name for this.

1:29:37You know, they have like a governance process.

1:29:39We decide whether your proposal will be adopted or not.

1:29:42And then Chris usually, especially in the beginning, will write to the list, say, "The

1:29:46core team met.

1:29:47Here were our comments.

1:29:48was the conclusion we made. The problem with that is the core team had a lot of Apple employees

1:29:53on it and Chris was their boss. So even though he was not anointed as the benevolent dictator

1:29:58for life, it seemed like he had a, let's say he had a larger influence on decisions related

1:30:06to the Swift language than any other single person, which I don't think anyone would argue

1:30:10with. It doesn't mean he was like he was in charge of everything and made every decision.

1:30:13Far from it. Like he mostly, like a good benevolent dictator might defer to the community. And

1:30:18In fact, the process does not have him in an anointed position of controlling everything,

1:30:23which means as he leaves Apple, I think he's going to now have less control over the evolution

1:30:28of Swift than he did before.

1:30:30But in actuality, he was never benevolent dictator for life.

1:30:32That's not how Swift's open source effort looks.

1:30:34And so to get back to Casey's question, what does this mean for Swift?

1:30:37I think Swift will be fine.

1:30:39It may end up going in a different direction that would have gone in had Chris stayed at

1:30:43Apple, but that's not necessarily a worse direction.

1:30:47And there are so many smart, good people working on Swift, both inside and outside of Apple.

1:30:54And especially with the force of Apple behind it, if Apple remains dedicated to Swift, as

1:30:58they seem to be over these past many years, it will be perfectly fine.

1:31:02The only change will be is that it may end up going in slightly different directions

1:31:06than it would have gone if Chris was there.

1:31:08But who's to say whether that's good or bad?

1:31:10So what is he doing for Tesla?

1:31:12I understand what it said on the tin, that he's going to be what was a VP of autopilot

1:31:16software. But why Latner? Like, what do you think he uniquely brings to the table?

1:31:23Well, I think that's pretty easy. Like, if you look at his resume, like, he came to Apple as

1:31:28this guy who started this C++ compiler building toolkit, right, and took that into a company that

1:31:35already had an entire IDE and toolchain for developing for the new operating system,

1:31:40and slowly but surely replace their compiler from the bottom up first by cloning it and then

1:31:46replacing it entirely and then you know by by proving the worth of his little compiler thing

1:31:51i can use my little compiler tools to help you in this area of the company i can use it to compile

1:31:55shaders in a platform agnostic format i can uh you know rip out the guts of the back end of gcc

1:32:03and replace it with this thing and i can replace all of gcc with my own compiler and then guess

1:32:07what? I've been looking at your language and it's kind of crap. I can replace that too.

1:32:10That type of being able to come into an organization and eventually solve huge

1:32:20organization community ecosystem spanning problems is, you know, that's a hell of a resume. That's a

1:32:25unique ability. So you're going to drop this person into this project. In some respects,

1:32:30Tesla is so much simpler and more narrow than Apple because Apple has so many stakeholders

1:32:36and so many complicated things in software development ecosystem. Tesla's just got cars

1:32:40at this point. I mean, at least that's only what he's going to be involved in. He's not

1:32:43in solar roofs or whatever, right? They've got cars, and he's a specific aspect of the

1:32:48cars, not all aspects of the cars, just the self-driving part, which again is a huge problem.

1:32:53But if anyone can get dropped into that situation and figure out how to make a team of people

1:32:57successful at accomplishing the goals put for them, he's proven that he can do that in the

1:33:02in the context of a big important company with millions of customers.

1:33:05Now, how much of that experience translates to cars?

1:33:09I don't really know, but if the problem the team is currently having has anything to do

1:33:16with tools, languages, compilers, or anything he has any familiarity with, he can hit the

1:33:20ground running.

1:33:21And even if it doesn't, he's smart and he's proven he can navigate large organizations

1:33:25and get things done.

1:33:26So I feel like he's a no-brainer hire to anybody who has some portion of their

1:33:32product that involves software and needs someone to lead that effort, because he's shown he

1:33:38can do that.

1:33:39You know, imagine if Tesla wanted to have a single language that could go from embedded

1:33:46systems all the way up to server-side programming.

1:33:49If only there was a man or woman who had invented such a thing, that would be so convenient

1:33:55to have hired.

1:33:56Yeah, I'm not entirely sure he'll be using Swift at Tesla.

1:34:00Maybe he will, but maybe he won't.

1:34:02I don't know what the software staff looks like for self-driving car tech at this point.

1:34:07>> Yeah, neither do I.

1:34:08>> Well, and I think maybe that's part of why he would be so valuable to them is if

1:34:13you look at like the kinds of, like, you know, most programmers, you know, people like me,

1:34:18like the work I do, it's almost unimportant whether I get my code correct or not. Like

1:34:26it's like does it work most of the time? Yes. Okay. Good enough. And I think that applies

1:34:30to almost every working programmer. Very few programmers really need to get things correct

1:34:38all the time or it really matters. And if you look at the job of autopilot software,

1:34:44this is a really big deal. People's lives are at stake. That's on the order of space

1:34:51shuttle software. This really has to be correct. And not only does a compiler author have similarly

1:34:59high requirements, right? Because compilers really have to be correct. You can't have

1:35:05a bug in a compiler, that's a really bad thing for a lot of people. So that really has to

1:35:10be correct. So not only that, but Chris has also proven himself to be really good at making

1:35:16tools to tell whether your code is correct. To do things like static analysis and things

1:35:22like that. That was all him too, right? Or at least rooted in his stuff.

1:35:25>> Yeah, that was all LVM tech enabling those features.

1:35:28So like that's if you look at like the the the specific needs of autopilot software that needs

1:35:34somebody leading it who is both really good at writing correct code and also able to

1:35:39Improve the correctness of the code of the rest of the organization. It's interesting point

1:35:44yeah, the only thing that gives me pause here is that like

1:35:46Everything he did at Apple

1:35:50Were things that if you were to present the the possibility of doing them to anybody else

1:35:57You know versed in the art as the the legalese saying go and patent law. They would be like, yeah, that's a possibility

1:36:03It's possible to do that right self-driving cars are still in the realm of

1:36:07Nobody has done it yet. Like we've come close. We're getting better. We're doing this but like

1:36:12It's not a straightforward thing. It's not even clear what the correct approach is

1:36:16I mean there was a good YouTube video I said that day but someone gave a presentation all the different

1:36:20problems that self-driving cars and different approaches and you know

1:36:23One of the ones being promoted by Nvidia of all companies,

1:36:26because they sell GPUs that do it,

1:36:27is like the neural net type of thing,

1:36:29where instead of the Tesla way,

1:36:32which seems more straightforward and programmatic,

1:36:34instead you get this learning network that you train,

1:36:38and you're not even really programming it,

1:36:41you're just kind of treating it like a little living thing,

1:36:44and you don't even know how it works internally,

1:36:45you just know what the results are,

1:36:48and you can train it in the real world

1:36:49and in simulations or whatever,

1:36:51versus the approach of having a rule-based approach

1:36:54where it's lots of sensors, lots of rules,

1:36:56and lots of intelligence and systems

1:36:59conversing with each other and coming to consensus,

1:37:01but in an inexplicable way, right?

1:37:03And that's more of the Tesla approach right now,

1:37:05which I think Chris is better suited

1:37:07to manage a project like that

1:37:09because it fits more with his other things.

1:37:11He's not, as far as I know, an academic

1:37:13versed on machine learning and neural networks and stuff,

1:37:16right, so that's a good fit.

1:37:17But if you were to go to somebody and say,

1:37:20"Hey, can you take that approach

1:37:22"and build self-driving software that gets good enough

1:37:24"that you can remove the steering wheel from cars?"

1:37:27Nobody knows, 'cause nobody's done it, right?

1:37:29And that is, that's both exciting,

1:37:31it's an exciting challenge, right?

1:37:33But also, it's a big question mark.

1:37:35I mean, in addition to the question mark of like,

1:37:37"Hey, will Tesla still be in business?

1:37:39"Will they run out of money?

1:37:40"Will somebody buy them?"

1:37:41Because there's one thing you don't have to worry about

1:37:42at Apple, at least in the short term,

1:37:44is will they be able to pay my paycheck?

1:37:47Answer, yes.

1:37:48Tesla on the other hand has not actually been making money.

1:37:51And I'm not sure when the prospects of them making money is

1:37:54and I'm not sure whether they'll be bought or whatever.

1:37:56But if you're looking for,

1:37:58it's exciting at many levels,

1:37:59you're looking for a challenge,

1:38:00this is definitely a challenge,

1:38:01I'm just not entirely sure that Chris has any more

1:38:05of a chance of solving this problem.

1:38:07Especially if the correct approach turns out

1:38:09to be like the neural net thing

1:38:10and that's not the approach Tesla's taking,

1:38:12then he's not gonna do it and someone else is.

1:38:16But if it is the right approach and it can be done,

1:38:19I guess he's got a punch's chance, right?

1:38:22It's just, it's a much bigger question mark

1:38:25than can you figure out how to fix

1:38:27Apple's compiler infrastructure and make a new language

1:38:29that will be backward compatible with Objective-C

1:38:32and also work with, you know, like, he did a great job

1:38:35and that is a tremendously hard problem,

1:38:37but it is a thing that has been done before

1:38:39in different forms versus self-driving cars,

1:38:41which is this big, you know,

1:38:43pie in the sky question mark at this point.

1:38:46Thanks to our three sponsors this week,

1:38:48HelloFresh, Betterment, and Squarespace,

1:38:50and we will see you next week.

1:38:52(upbeat music)

1:38:55♪ Now the show is over ♪

1:38:57♪ They didn't even mean to begin ♪

1:39:00♪ 'Cause it was accidental ♪

1:39:01♪ Accidental ♪

1:39:02♪ Oh, it was accidental ♪

1:39:04♪ Accidental ♪

1:39:05♪ John didn't do any research ♪

1:39:07♪ Marco and Casey wouldn't let him ♪

1:39:10♪ 'Cause it was accidental ♪

1:39:12♪ Accidental ♪

1:39:13♪ Oh, it was accidental ♪

1:39:15♪ Accidental ♪

1:39:16And you can find the shown notes at ATP.FM

1:39:20And if you're into Twitter, you can follow them

1:39:25@C-A-S-E-Y-L-I-S-S

1:39:30So that's Casey, Liszt, M-A-R-C-O-A-R-M

1:39:34Auntie Marco, Armin, S-I-R-A-C

1:39:39USA, Syracuse, it's accidental

1:39:45They didn't mean to accidental

1:39:48Accidental

1:39:50Tech Podcast

1:39:52So long

1:39:54How is John not using Swift yet?

1:39:57Why the hell would he?

1:39:58Because he basically caused it to exist

1:40:01[Laughter]

1:40:03I'll go that far

1:40:04Seriously, how are you not using it?

1:40:06Well, I don't have, I would use it if I had occasion to use it

1:40:09But I don't have occasion to use it at work

1:40:11And I don't have time for anything at home because I'm always podcasting

1:40:14And I just added support for a certain feature that Marco was aware of to my blog recently,

1:40:20but my blog is not written in Swift.

1:40:22Why not?

1:40:23Swift didn't exist when I made it, and I haven't touched it since, and it's a pile of crap.

1:40:26Well apparently you touched it somehow to add this feature.

1:40:29Well, yeah, it was not that big of a feature.

1:40:31It would be like the programmer thing to do to spend more time on the engine than on writing

1:40:35posts.

1:40:36I think I still have achieved that goal, because I write so few posts that it's still come

1:40:40out ahead.

1:40:41Right, exactly.

1:40:42Good point.

1:40:43I'm at this point. I'm such a high language

1:40:45Dilaton high level language dilaton that I just can't bear to deal with anything that even yeah

1:40:50I know Swift is not you know not down in the muck, but right like what is too low for you within Swift?

1:40:56It's got unsafe stuff in there. You know yeah, but you don't have to use it for God's sake

1:41:00I know, but sometimes you do depending what frameworks you want to use with it and

1:41:03Yeah, and and types and like another high level thing

1:41:07so much about types and

1:41:10- Well, any moment of my life I spend wrangling

1:41:14a type system, I feel like is a wasted moment

1:41:16'cause I'm so used to not doing it.

1:41:17- Oh my God, that's a feature, not a bug, John.

1:41:19- Wait, so hold on. - I know, I understand.

1:41:21- Using Perl, I assume, is your holy grail here.

1:41:24- No, it is not a holy grail, but JavaScript is the same way

1:41:28where you have to worry less about types, less.

1:41:31- Oh my God. - Obviously,

1:41:32you have to worry about them somewhat.

1:41:33- Not true, oh my God, okay.

1:41:35- Less than Swift, certainly.

1:41:36- John, as a JavaScript fan,

1:41:39I like JavaScript and even I will tell you

1:41:42that appealing to authority with JavaScript

1:41:45was not the right word.

1:41:46- It's not appealing to authority,

1:41:46I'm just saying it's a language that I use

1:41:48that has the same characteristics

1:41:50and that you don't have to type everything.

1:41:52- Okay, well so going back to your earlier complaint,

1:41:55like about unsafe things, like you're using Perl.

1:41:57Perl is just calling out to libraries

1:41:59written in C half the time.

1:42:01So like-- - Yeah, but they all work.

1:42:02- Oh yeah, okay, right.

1:42:04- So like time tested, not modified for the past 15 years.

1:42:09Yeah, that's, that's, yeah, okay.

1:42:13The great thing about using a language like that though, by the way, as I've said many

1:42:15times, is when it's segfaults, it's not your fault.

1:42:19That is, that should be a slogan on, you know, if Perl was still a popular language, people

1:42:22could put up a whole, "segfaults, not your fault."

1:42:25Whereas when you get segfaults, Marco, guess what?

1:42:27It's your fault.

1:42:28But you do that in Perl, and it's like, "I couldn't have done anything to cause that,

1:42:32because I'm writing Perl.

1:42:33It's some stupid C programmers problem."

1:42:35And you're right.

1:42:37I don't get segfaults.

1:42:38I get like, you know, uncaught exceptions and things.

1:42:41- I know, everyone's got a different name.

1:42:43You have no pointer exceptions in Java, yes I know.

1:42:46- Well no, Marco doesn't have that problem.

1:42:47I do, but it's all within the Swift compiler

1:42:50segfaulting left and right.

1:42:51- Yeah, I was gonna, when Marco was saying before,

1:42:52compilers, those can't have bugs.

1:42:54I can feel everyone on the Swift mailing list saying,

1:42:57oh yeah, compilers never have bugs.

1:42:58- Yeah, no, they don't.

1:42:59- Yeah, I mean, I was referring more to like

1:43:00the generated code, but I, yeah,

1:43:02I know about that kind of thing.

1:43:06- Yeah, but you're right, the standard is higher,

1:43:08which is why when there is a bug, it's noteworthy.

1:43:09But in the world of Swift's compiler,

1:43:12we are still definitely in the realm

1:43:14of regularly having actual bugs in the compiler.

1:43:17Otherwise, all those people at Apple

1:43:18working on the Swift compiler

1:43:19wouldn't have anything to do,

1:43:20but rest assured that they do.

1:43:21- Well, let me tell you, type inference is magical

1:43:23until it stops working and then it's the worst.

1:43:26- Yeah, you're worrying about types.

1:43:28- John, oh my God.

1:43:30(John laughing)

1:43:31- The correct argument against JavaScript for types

1:43:33is all their inane coercions that,

1:43:37Like they made a few bad choices with

1:43:38coercion and truth valuness and it's why

1:43:41everyone has all their religion about triple equals

1:43:43'cause they just want to avoid any of that stuff

1:43:45'cause it behaves in ways that people don't agree with.

1:43:47- Well that's what drives me nuts,

1:43:49like people have written off PHP entirely

1:43:52for exactly that kind of thing

1:43:54and now they're all using JavaScript.

1:43:56It has the same problems.

1:43:57- But they're not using JavaScript 'cause they love it.

1:44:00You know why they're using JavaScript.

1:44:01They have no choice 'cause it's in every freaking browser.

1:44:03- What about people who use Node, they have a choice?

1:44:06No, they don't, because the reason they're using JavaScript on the server side is because

1:44:10it's used on the client side, and when you can share code behind the client side and

1:44:13the server side, it is a win.

1:44:15And also because Node is actually a reasonable way to do async stuff server side, as compared

1:44:21to the other languages that offer similar features.

1:44:23But totally, it's like, JavaScript wins not because anybody loves it, but because you've

1:44:27got to use it because it's in the friggin' browser.

1:44:29I mean, I chose Node willingly.

1:44:31I could have done Ruby when I wrote Camel.

1:44:33Yeah, but it would have been slower.

1:44:36faster. It never would have scaled for those millions and millions of bits I get every

1:44:41day. But no, I chose Node because I was familiar with JavaScript, but I didn't, I mean, I don't

1:44:45even know.

1:44:46Yeah, but why were you familiar with JavaScript?

1:44:47Because of the web, for sure.

1:44:48Exactly. That's why.

1:44:49Well, it's slow down though, but I don't have jQuery on 99% of the blog posts I write. In

1:44:55fact, I don't even have it on the standard template because I use it so rarely.

1:44:59Oh, but you know the language and you know little bits of the standard library and you

1:45:02you know, kind of how the regular expression things work.

1:45:05And it's, yeah, JavaScript is a mess.

1:45:08Have you done any ES6 stuff in JavaScript?

1:45:12Where they tried to make it less of a mess?

1:45:13- No, nor have I touched like TypeScript

1:45:15or CoffeeScript or any of that stuff.

1:45:17- Next time you do something in Node,

1:45:19upgrade to a reasonably recent version of Node

1:45:21and do the whole thing in the ES6

1:45:23and see how you feel about it.

1:45:24- Well, to be honest,

1:45:25I really want to convert camel from static-ish

1:45:31to full bore static like you two knuckleheads do.

1:45:35And I started, I have a branch with it.

1:45:38- I actually wanted to move away from that, but go ahead.

1:45:40- Really?

1:45:41- Yeah, I wanna go back to server base,

1:45:42to dynamic generation.

1:45:44Basically, I have some experience with web scalability.

1:45:48Basically, the language speed is never your problem.

1:45:53If that's your problem, you are not doing something right.

1:45:57Dynamic serve pages can be almost as fast

1:46:02as a static site served through Nginx if you do it right.

1:46:07If you have things like, you know,

1:46:09what all the servers do to serve static pages quickly,

1:46:12you have things like caching.

1:46:13You know, the basic caching required.

1:46:16Like, we're getting into an era now where,

1:46:20I think like as the web is shifting

1:46:24into the new era of mobile and whatever else,

1:46:27I think we more than ever need things like

1:46:31publishing API support so we can use tools on the go

1:46:35and stuff like that, as well as various

1:46:37dynamic format generation like AMP

1:46:40and whatever garbage is thrust upon us in the future.

1:46:42And also, servers are so cheap and powerful now,

1:46:49and web traffic is pretty much down for everybody,

1:46:52So it's getting increasingly harder to justify static only site generation when a decently

1:47:03written conscientious modern dynamic application can do things just as well and provide some

1:47:09pretty nice benefits for the world of mobile.

1:47:12>> But when you do a static site, you lose the opportunity for a programming bug to make

1:47:18your site unresponsive.

1:47:20And so we go back to doing dynamic,

1:47:21you finally get that ability back.

1:47:23- How complex is your blog CMS, John?

1:47:26- Now I can make a programming error

1:47:28that brings me back to the good old days

1:47:30when sites would get slash dotted.

1:47:32Whereas if it's static, the worst you can do

1:47:33is make your site look ugly because your static generator

1:47:35produced a bunch of crap.

1:47:36But that ugliness will load real fast.

1:47:38- You guys have obviously not used PHP.

1:47:41- Why, you think, why, because it can also make things ugly?

1:47:43I don't know.

1:47:44- Well, that too, but no, I mean,

1:47:45Honestly, modern web languages and tool chains

1:47:50and stacks are really fast.

1:47:53You'd be shocked how fast they are.

1:47:54- I know, I'm just saying, you make a programming error

1:47:57that causes, you put something that goes

1:47:59into an infinite loop somewhere,

1:48:00and then all of your child processes get tied up

1:48:04in the infinite loop and now you have no more responders.

1:48:06It's an error, you're not doing it on purpose,

1:48:08not saying it's performing correctly,

1:48:09but when you have no code and you just have static files,

1:48:13that whole class of errors is gone.

1:48:14And so that's why people do static stuff.

1:48:17It's like, well, it will have predictable performance.

1:48:21And there's nothing I can do to mess up

1:48:23that predictable performance, because I'm not

1:48:24serving the files.

1:48:25Nginx is, or Apache is, and I haven't upgraded it in 17 years.

1:48:29And it's just doing what it always does.

1:48:30And it is 100% predictable.

1:48:32Once you add your own code to the mix,

1:48:34you open up the window, however small,

1:48:35for you making a silly programmer error that causes

1:48:38your thing to hang when it gets much traffic or something.

1:48:40I think you might be overestimating the complexity

1:48:42of a PHP blog engine.

1:48:43(laughing)

1:48:45No, I said it as a good thing, it's not very hard.

1:48:47There's not much code and there's not much opportunity

1:48:51for things like infinite loops.

1:48:52- Oh, there's always opportunity for infinite loops.

1:48:54Just you can do that in a regular expression

1:48:56for crying out loud.

1:48:56(laughing)

1:48:57Not an infinite loop. - No, John, you could.

1:48:59- But I hate Death of the Universe.

1:49:01- A Perl programmer can do that with a regular expression.

1:49:03- No, anybody, anybody, even a PHP,

1:49:06even a JavaScript programmer can make a regular expression

1:49:09that does not terminate. - No way.

1:49:10- Well, I don't know, does PHP only use DFAs

1:49:12than its reg extension, do you know?

1:49:14- I don't even know what that means.

1:49:15- Well, someone in the chat room will know

1:49:17and tell me the answer. - Discrete finite automata?

1:49:19Or deterministic?

1:49:21- The non-deterministic finite automata

1:49:23are the ones that you can make a regular expression

1:49:25that tries a bazillion permutations of how to match

1:49:28and it won't succeed or fail for a huge amount of time,

1:49:32so it effectively looks like a hang.

1:49:34- I think if you are using regular expressions

1:49:36to that level of complexity,

1:49:38you might be using the wrong tool for the job.

1:49:40- It's not, it's not a complex thing.

1:49:41It's really, you can make a trivial example

1:49:43with like six characters, with just like characters

1:49:46and pluses and a couple of parens,

1:49:47and you can make one that goes like that.

1:49:49But some regular expressions, like e-grep, I believe,

1:49:52from the command line, only does DFAs,

1:49:53and those don't have that problem.

1:49:55But to use the fancier features that Perl has

1:49:57in its regular ops engine,

1:49:58you have to have an NFA engine in there as well.

1:50:00And I think Perl switches between them,

1:50:01uses a DFA when it's faster.

1:50:03And anyway, this is all esoteric.

1:50:05But the point is, infinite loops are everywhere,

1:50:07if you look hard enough.

1:50:08- What are you doing with your blog?

1:50:10Like honestly, I've written a number of blog CMSs

1:50:14ill advisedly over the years,

1:50:15and I don't think I've ever even needed anything

1:50:19that complex, like what are you doing?

1:50:21- I'm not doing anything, I have static files,

1:50:22I'm just saying, you've seen it done.

1:50:23I mean, the most common case is what you said before,

1:50:25that someone doesn't,

1:50:26someone either implements caching wrong

1:50:28or doesn't implement it at all,

1:50:29and then you get to see their MySQL connection errors

1:50:32when they're being slash dotted, like the bad old days.

1:50:34It's not like the language isn't fast enough,

1:50:35it's like they didn't realize that they might need

1:50:38to have 7,000 simultaneous connections

1:50:39their MySQL database and they didn't do any form of caching and their page gets popular

1:50:43and all you get to see is their lovely MySQL error on a white error page.

1:50:47Like remember those days?

1:50:49That used to happen a lot.

1:50:50That still happens.

1:50:51I know.

1:50:52Well, that's the magic of a dynamically generated website combined with, you know.

1:50:56That's just a bad site.

1:50:57Like it's...

1:50:58Yeah.

1:50:59I know.

1:51:00You should do caching, but you know, then you've got to worry about cache invalidation

1:51:01and it's just another...

1:51:02It's a whole class of bugs that doesn't exist when you do static sites.

1:51:05No, you don't.

1:51:06You know what you can do?

1:51:07because of the scale we're talking about here,

1:51:08like the most simple caching in the world works just fine.

1:51:12You know what you do?

1:51:12You put a caching proxy in front of your application

1:51:16and your application sends a cache header

1:51:18with a TTL of one second.

1:51:20Because then it will, in most cases,

1:51:22only ever have to generate one page per second dynamically,

1:51:25which they can all do.

1:51:26And you can be serving that to a thousand people per second

1:51:28on the front end and that's fine

1:51:30because the caching server can do that.

1:51:31- You still get cache stampedes though.

1:51:33You still get stampedes for when the one second expires.

1:51:36- Only for badly written caching servers.

1:51:39We have better ones now, they avoid that.

1:51:40- But there are so many ways you can screw this up.

1:51:42That's what I'm saying.

1:51:44The reason people do static sites

1:51:46is because it eliminates this entire class

1:51:47of performance related problems.

1:51:49And you trade it for the other problem,

1:51:50which is that your site takes longer to update

1:51:52and potentially you could host your entire site

1:51:53if you make a bug there.

1:51:55But that trade off is why people do static sites.

1:51:57- And you're more limited in the kind of features

1:52:00your site can support, which sometimes can be important.

1:52:03- Yeah, well you can have your site be entirely static

1:52:06just have a little sub URL be dynamic. But anyway, Casey's proof of this, because his

1:52:09node site was what, it was 100% dynamic, right? You were doing like the stupidest dynamic

1:52:12thing ever. Like, were you doing any caching? Or were you just caching it in memory? Whatever

1:52:16it was, it was like...

1:52:17How do you really feel?

1:52:20No, like it was not stupid. Like the most naive. Like it wasn't like you were going

1:52:23through great efforts to have some...

1:52:24Oh, that's much better.

1:52:25You're not stupid, Casey. You're naive.

1:52:26Yeah, for real. I feel like a million bucks right now.

1:52:29Naive is a term of art. A naive approach to serving pages.

1:52:33To answer your question, what happens is the first time, actually it's upon load, basically

1:52:38when the engine is spun up, it looks through the file system and it looks at a bunch of

1:52:42markdown files, converts those to HTML, renders full bore HTML for each page, and then holds

1:52:50that in memory.

1:52:51So in principle, once the thing is spun up, it should never have to think about anything

1:52:57again.

1:52:58It just has to figure out where in memory that page is.

1:53:02Yeah.

1:53:03Obviously that approach doesn't work for a site with a billion pages on it, like archive.org

1:53:07or something, but it works fine for a blog, and it's technically dynamic because it's

1:53:12not like it's hitting the disk every time you make a request, right?

1:53:15But it's also basically static.

1:53:17It's static dynamic.

1:53:18Right, and that's exactly the point.

1:53:20Like, what did I put on the readme?

1:53:21Where did that go?

1:53:22I just had this damn window open.

1:53:23Maybe it's in an infinite loop and you can't find it.

1:53:26Yeah, you know what?

1:53:27I think you're right.

1:53:28I think that's exactly what happened.

1:53:29Yeah, I'll send you guys some good infinite loop breakers.

1:53:31I gotta find out, maybe JavaScript doesn't suffer from this.

1:53:33It wouldn't be surprising me if JavaScript resolved DFAs

1:53:35because I suspect that I would see more of it on the web

1:53:37if it was a thing.

1:53:39- So this conversation was probably meant to have me

1:53:42like start learning Swift, but now instead I just wanna do

1:53:46the worst possible use of my time

1:53:47because I wanna write a new blogging engine in PHP.

1:53:50- Why don't you write a new blogging engine in Swift?

1:53:52Combine two into one.

1:53:53- Are the server-side frameworks there yet?

1:53:56'Cause like honestly I would consider that.

1:53:58- I think so, there's a bunch of projects that,

1:54:00- I mean, I'm sure they're not mature or probably even good,

1:54:03but I think you can get the job done,

1:54:05'cause like you said, blogging engine

1:54:07is not that complicated.

1:54:08- The one that IBM is working on,

1:54:09from what I understand, isn't bad.

1:54:11I can't remember the name off the top of my head.

1:54:14- It's very easy to do this kind of thing

1:54:16in one of the very popular old languages,

1:54:19like PHP or Python or Ruby,

1:54:21because there's libraries to do everything

1:54:23that blogs ever need.

1:54:24So markdown processors, things like that.

1:54:27That's really easy to just bolt on,

1:54:29because it's right there.

1:54:30Like there's a million libraries to do it

1:54:32and it's great, right?

1:54:33- Right, that's the thing.

1:54:34- Yeah, so like I am, and things like image resizing,

1:54:38thumbnailing if that's ever necessary, stuff like that.

1:54:41Like the kind of stuff that blog CMSs tend to need.

1:54:46It's fairly simple but there are a few components

1:54:48that are somewhat complex and it's nice to have

1:54:50like good support for them from like a webby type

1:54:55of language that's been around for a while.

1:54:58and things like PHP and Ruby and Python,

1:55:01those have tons of good libraries out there

1:55:03for that kind of stuff.

1:55:04Something that's brand new

1:55:06or that hasn't been really used in a web context very much,

1:55:09like Swift.

1:55:10I've also had this problem with Go, honestly.

1:55:12Go has a lot of built-in libraries

1:55:14for stuff like math and stuff,

1:55:16but once you get into more webby type needs,

1:55:19you very quickly hit walls of like,

1:55:21oh, there just isn't a library to do this,

1:55:23or there's this one library that just shells out

1:55:25to this obscure C library that won't compile

1:55:29or whatever else.

1:55:29I've had a lot of issues with Go in that regard.

1:55:32But yeah.

1:55:34I'm kinda down on Go now, honestly.

1:55:36Like I feel like Swift kinda did Go better than Go.

1:55:41And so now I just kinda want Swift to be on the server

1:55:43so I could just use that.

1:55:45- Should try Rust next.

1:55:46Maybe Rust has better server-side libraries.

1:55:48I don't know anything about their library situation

1:55:50but it's in the similar vein

1:55:51if you're into those type of languages.

1:55:53- Yeah, I haven't looked at Rust recently.

1:55:54I did look at it about two years ago,

1:55:57but I would expect it might have the same issues as Go,

1:56:02where it probably doesn't have a lot of those

1:56:04rich client-side libraries,

1:56:07'cause I think it's more of a low-level thing.

1:56:09It is also very new and not incredibly popular yet.

1:56:14- I don't know, there's a couple

1:56:15of different options for Swift.

1:56:16There's Taylor, which is funny,

1:56:18but just woefully badly named,

1:56:21because then you're searching for Taylor Swift.

1:56:23There's "Perfect" and then there's "Katura" which is,

1:56:26well, "Perfect" is just an obnoxious name.

1:56:28And then "Katura" which is probably the best kind of name

1:56:31because I've never heard that word

1:56:32used anywhere else before.

1:56:34And so that theoretically should work.

1:56:37- Does "Perfect" have a bug tracker?

1:56:39(laughing)

1:56:42- I don't know, I would assume so.

1:56:43That's funny as hell.

1:56:44That's on GitHub, so yes, it does.

1:56:46- The first heading, what is "Perfect"?

1:56:48I think in my head, like nothing.

1:56:50I don't know, not this, obviously.

1:56:51But you're saying nothing is so perfect.

1:56:55There we go.

1:56:56Obviously not.

1:56:57I'll leave an issue on there.

1:56:58They're not bugs, they're issues.

1:57:00Issue number one, nothing is so perfect.

1:57:03(beeping)