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)