Home Lex Fridman Episode
Lex Fridman · 2021-09-23

Travis Oliphant: NumPy, SciPy, Anaconda, Python & Scientific Programming | Lex Fridman Podcast #224

Travis Oliphant, creator of NumPy and SciPy, traces how he built the foundations of scientific Python and the economics of open source.

Travis Oliphant: NumPy, SciPy, Anaconda, Python & Scientific Programming | Lex Fridman Podcast #224
The guest

Travis Oliphant: Creator of NumPy and SciPy and co-founder of Anaconda, he built the array and scientific-computing libraries that underpin most of Python data science and machine learning. A former biomedical-engineering professor turned open-source entrepreneur, he now runs Quansite and OpenTeams.

What this episode covers

Travis Oliphant tells the story of how a poor graduate student scratching his own itch ended up creating the libraries that power modern scientific Python. He walks through writing SciPy in 1998-2001, unifying the fractured array community by writing NumPy in four months, and later founding Anaconda and conda to solve Python's packaging problem. Throughout, he wrestles with a question that has driven him for 25 years: how to reconcile the cooperative ethos of open source with the need to make a living, leading him deep into economics and entrepreneurship. He closes with hard-won advice on programming, hiring, marketing, and building rather than destroying.

Recommended on this episode

BookRecommendedISBN verified

Economic Calculation in the Socialist Commonwealth

Ludwig von Mises

“a pre-order paper in 1920 that still should be read more than it is”
“he wrote a pre-order paper in 1920 that still should be read more than it is it's got i mean it was the economic calculation problem of the socialist commonwealth”— Travis Oliphant

The guest's own work

BookBy the guestISBN verified

Guide to NumPy

Travis Oliphant

“so i wrote a book and i said i'm going to write a book and i'm going to charge for it it was called guide to numpy”— Travis Oliphant

Also referenced (named, not recommended)

ProductReferenced

Atari 800

Atari

“just a simple uh loop in basic basic basic on an atari 800 atari 400 i think or maybe there's an atari 800”— Travis Oliphant
ProductReferenced

Timex Sinclair

Timex Sinclair

“my dad got us a t a timex sinclair and uh he was excited about the spreadsheet capability”— Travis Oliphant
ProductReferenced

TI-99/4A

Texas Instruments

“then we got a ti-99 ti-994a when i was about 12 and i would just it had sprites and graphics and music”— Travis Oliphant
BookReferencedISBN verified

The Wealth of Nations

Adam Smith

“they were the inheritors adam smith but adam smith for the first time right which is the wealth of nations”— Travis Oliphant
ProductReferenced

MATLAB

MathWorks

“i remember being driven by you know i like matlab but i didn't like the fact that like so i'm not opposed proprietary software”— Travis Oliphant
ProductReferenced

Roomba

iRobot

“so for example irobot i just had a conversation with them they make roombas sure and uh they i think i love the incredible robots”— Travis Oliphant

Big reveals from this episode

  • Oliphant wrote the first version of NumPy in four months only because two students dropped his MRI class, leaving him with empty teaching time.
  • He took on unifying the split array community partly out of duty, knowing his electrical-engineering department would not appreciate the open-source work for tenure.
  • His 2006-07 tenure bid split the department all the way to the university president; they told him to reapply in two years, and he left academia instead.
  • To fund his lab he self-published 'Guide to NumPy' with a market-determined price, selling 30,000 copies and using the money to pay his grad student.
  • Microsoft offered to buy Anaconda in 2014, but the offer came from two levels below Satya Nadella while Microsoft was doubling down on R, so it went nowhere.
  • Oliphant calls TensorFlow's original Python API so bad he publicly told the team to never show it at a PyData conference again.
  • His business relationship with M-thot co-founder Eric Jones ended badly over Oliphant starting Anaconda, and the two are no longer friends.
  • He admits NumPy's array community split exists largely because he could never raise enough money to work on NumPy full-time.

Worth remembering

  • Oliphant believes language shapes thought, citing how Russian's history of suffering is encoded in its sad, hopeful songs and untranslatable poetry.
  • APL pioneered array-based programming in the 1960s but needed an entirely new keyboard to type its dense glyphs, which doomed adoption.
  • His book's deal was self-imposed: once he earned $250,000 or five years passed, it would become free; he stopped early and opened it up.
  • He considers Python 3.3 the real Python 3.0, arguing earlier 3.x releases changed too much without adding enough worth switching for.
  • Andrej Karpathy got a real speedup by switching from np.sqrt to math.sqrt, and plain Python x**0.5 can be even faster on scalars.
  • Anaconda built the very first CUDA JIT compiler in 2013, letting a Python function run on GPUs with up to 1000x speedups.
  • Oliphant notes the U.S. spent over six trillion dollars in the Middle East after 9/11, contrasting it with how little funds the programmers who build the world's tools.
  • He once deleted a tweet saying Emacs is better than Vim after getting overwhelmed by the backlash.
  • Oliphant pitches a repeatable model: every venture fund should have an associated open-source research lab funded by its carried interest.
  • Oliphant's recurring hope: 'nations that code together don't go to war together.'