Linked List: January 10, 2017

Chris Lattner Lands at Tesla 

Tesla:

We would like to welcome Chris Lattner, who will join Tesla as our Vice President of Autopilot Software. Chris’ reputation for engineering excellence is well known. He comes to Tesla after 11 years at Apple where he was primarily responsible for creating Swift, the programming language for building apps on Apple platforms and one of the fastest growing languages for doing so on Linux.

This is a “holy shit!” hiring by Tesla. A year or two ago it felt like Apple was gunning for Tesla’s lead in electric cars. Now, it feels like Apple is out of the car game, and Tesla is gunning for Apple’s lead in computing. You can’t overstate what a star Chris Lattner is.

Update: Lattner’s only public comment to date is retweeting this observation by Daniel Jalkut:

I hope folks will not overlook that amid all the drama of @clattner_llvm leaving Apple, @tkremenek remains a huge asset for them.

Apple Statement on Consumer Reports’ MacBook Pro Battery Testing 

From a statement Apple sent to TechCrunch:

We appreciate the opportunity to work with Consumer Reports over the holidays to understand their battery test results. We learned that when testing battery life on Mac notebooks, Consumer Reports uses a hidden Safari setting for developing web sites which turns off the browser cache. This is not a setting used by customers and does not reflect real-world usage. Their use of this developer setting also triggered an obscure and intermittent bug reloading icons which created inconsistent results in their lab. After we asked Consumer Reports to run the same test using normal user settings, they told us their MacBook Pro systems consistently delivered the expected battery life. We have also fixed the bug uncovered in this test.

So there’s a bug in Safari when you disable the cache (Develop: Disable Caches — and the entire Develop menu is off by default). Disabling the cache should decrease battery life in a test like CR’s. And if there’s a bug, I can see why it might dramatically decrease battery life. But that still doesn’t explain how Consumer Reports’s testing showed results ranging from 3.75 hours (poor) to 19.5 hours (seemingly too good to be true).

I still think something was/is wrong with Consumer Reports’s testing (19.5 hours?) but I don’t think it’s fair to say that disabling the caches is unfair or a flawed method. And while the preference setting is obscure, I wouldn’t call it “hidden”. To me, hidden preferences are the ones you can only enable from calls to defaults in Terminal. You can turn the Develop menu on by clicking a visible checkbox in the “Advanced” tab of Safari’s preferences.

Chris Lattner Is Leaving Apple 

Chris Lattner, in an email on the Swift Evolution mailing list:

I’m happy to announce that Ted Kremenek will be taking over for me as “Project Lead” for the Swift project, managing the administrative and leadership responsibility for Swift.org. This recognizes the incredible effort he has already been putting into the project, and reflects a decision I’ve made to leave Apple later this month to pursue an opportunity in another space. This decision wasn’t made lightly, and I want you all to know that I’m still completely committed to Swift. I plan to remain an active member of the Swift Core Team, as well as a contributor to the swift-evolution mailing list.

Sounds like an orderly, no-drama (and perhaps long-planned?) transition. Sure am curious what his “opportunity in another space” is, though.

Lattner is a really smart, very well-liked, and deeply respected guy. His leaving is a loss for Apple.

Swift really is Lattner’s baby — he developed the earliest versions of it by himself starting in 2010, before work expanded to a larger group in Apple’s Developer Tools group. (Swift wasn’t announced publicly until June 2014.) The Apple developer community is still in the middle of the transition to Swift. I’m a little surprised he’d leave in the midst of the upheaval. It’s a thriving language, but it is far from a completed project — neither the language itself nor the OS frameworks.