Since August 2017 I have been building incredibly cool things at Google in the TensorFlow team. I lead infrastructure efforts, including hardware support (CPU, GPU, TPU), low-level runtime, and language efforts. Details are in my Resume.
In early 2017, I briefly ran the Tesla Autopilot team. We built a lot of
great things, but Tesla wasn't the right fit for me. Details are in my Resume.
I worked for Apple from July 2005 to January 2017, holding a number of
different positions over the years (a partial history is available in the Apple section of my résumé). This included managing the Developer Tools department, which was responsible for Swift Playgrounds for the
iPad, Xcode, and Instruments,
as well as compilers, debuggers, and related tools.
I started work on the Swift
in July of 2010. I implemented much of the basic language
structure, with only a few people knowing of its existence. A few other (amazing)
people started contributing in earnest late in 2011, and it became a major focus
for the Apple Developer Tools group in July 2013.
The Swift language is the product
of tireless effort from a team of language experts, documentation gurus, compiler
optimization ninjas, and an
incredibly important internal dogfooding group who provided feedback to help
refine and battle-test ideas. Of course, it also greatly benefited from the
experiences hard-won by many other languages in the field, drawing ideas from
Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others
to list. As of Dec 2015, Swift is open source! Join its development at http://swift.org.
The Xcode Playgrounds feature and REPL were a personal passion of mine, to
make programming more interactive and approachable. The Xcode and LLDB teams
have done a phenomenal job turning crazy ideas into something truly great.
Playgrounds were heavily influenced by Bret Victor's ideas,
by Light Table and by
many other interactive systems.
I hope that by making programming more approachable and fun, we'll appeal
to the next generation of programmers and to help redefine how Computer
Science is taught. Swift
Playgrounds for the iPad is a crucial piece of this: it uses real Swift
code to teach programming fundamentals, while also providing a full featured
native iOS development experience that allows access to almost the entire
iOS SDK. Swift Playgrounds includes high production value assets and
curriculum produced by Apple, which provides a appealing and safe introduction
to programming concepts for everyone.
I lead and am the original author of the LLVM
Compiler Infrastructure, an open source umbrella project that
includes all sorts of toolchain related technology: compilers, debuggers,
JIT systems, optimizers, static analysis systems, etc. I started both
LLVM and Clang and am still the individual with the most commits.
Of course, as the community has grown, my contribution is being dwarfed by those from a
wide range of really amazing folks.
LLVM has enjoyed broad industry success - being widely used in commercial
products - as well supporting hundreds of academic papers. LLVM is now overseen
by the LLVM Foundation a 501(c)(3)
nonprofit, and I serve on its Board of Directors. For its contribution to the software
industry, LLVM has been recognized with the ACM Software System Award.
For more details about LLVM, see:
- LLVM Compiler Infrastructure home page
- Invited talks about LLVM and other topics
- Random notes on LLVM - Unofficial notes and thoughts
on LLVM extensions and todo items.
Here are some of my more notable publications from my graduate school work.
A more complete list can be found on my