
121 segments available
Travis Oliphant is a data scientist, entrepreneur, and creator of NumPy, SciPy, and Anaconda. Please support this podcast by checking out our sponsors: - Novo: https://banknovo.com/lex - Allform: https://allform.com/lex to get 20% off - Onnit: https://lexfridman.com/onnit to get up to 10% off - Athletic Greens: https://athleticgreens.com/lex and use code LEX to get 1 month of fish oil - Blinkist: https://blinkist.com/lex and use code LEX to get 25% off premium EPISODE LINKS: Travis's Twitter: https://twitter.com/teoliphant Travis's Wiki Page: https://en.wikipedia.org/wiki/Travis_Oliphant NumPy: https://numpy.org/ SciPy: https://scipy.org/about.html Anaconda: https://www.anaconda.com/products/individual Quansight: https://www.quansight.com PODCAST INFO: Podcast website: https://lexfridman.com/podcast Apple Podcasts: https://apple.co/2lwqZIr Spotify: https://spoti.fi/2nEwCF8 RSS: https://lexfridman.com/feed/podcast/ Full episodes playlist: https://www.youtube.com/playlist?list=PLrAXtmErZgOdP_8GztsuKi9nrraNbKKp4 Clips playlist: https://www.youtube.com/playlist?list=PLrAXtmErZgOeciFP3CBCIEElOJeitOr41 OUTLINE: 0:00 - Introduction 1:11 - Early programming 22:52 - SciPy 39:46 - Open source 51:29 - NumPy 1:28:44 - Guido van Rossum 1:41:02 - Efficiency 1:49:54 - Objects 1:56:52 - Numba 2:05:58 - Anaconda 2:10:25 - Conda 2:26:01 - Quansight Labs 2:29:37 - OpenTeams 2:37:10 - GitHub 2:42:40 - Marketing 2:47:18 - Great programming 2:58:08 - Hiring 3:02:06 - Advice for young people SOCIAL: - Twitter: https://twitter.com/lexfridman - LinkedIn: https://www.linkedin.com/in/lexfridman - Facebook: https://www.facebook.com/lexfridman - Instagram: https://www.instagram.com/lexfridman - Medium: https://medium.com/@lexfridman - Reddit: https://reddit.com/r/lexfridman - Support on Patreon: https://www.patreon.com/lexfridman
Travis Oliphant, a pivotal figure in programming and data science, discusses his contributions to NumPy, SciPy, and Anaconda. He emphasizes how these tools have transformed scientific programming and made Python accessible to a broader audience, impacting millions of lives by empowering scientists and engineers.
"the following is a conversation with travis oliphant one of the most impactful programmers and data scientists ever he created numpy scipy and anaconda numpai formed the foundation of tensor-based mac..."
Travis recalls his early experiences with programming, starting with a simple loop in BASIC on an Atari 800. He reflects on the principles of programming he learned, including the importance of avoiding 'goto' statements, and how these early lessons shaped his understanding of software engineering.
"what was the first computer program you've ever written do you remember whoa that's a good question i think it was in fourth grade just a simple uh loop in basic basic basic on an atari 800 atari 400 ..."
Travis shares the moment he fell in love with programming at the age of 10, when he first started using a Timex Sinclair. He describes the excitement of writing instructions for the computer and how his passion grew with the TI-99, which allowed him to create graphics and music.
"in c um but i haven't done much in pascal just that ap computer science course now sorry for the romanticized question but when did you first fall in love with programming oh man good question i think..."
Travis discusses how his love for math and problem-solving drew him to programming. He explains that programming is an applied form of problem-solving, which he found particularly engaging, and how early exposure to math influenced his approach to programming.
"so what not the type of ti yeah the timex sinclair was one of the very first it was a cheap cheap like i think it was well it was still expensive but it was 2k of memory we got the 16k add-on pack but..."
Travis reflects on the evolution of his perception of computers, initially viewing them as puzzles. He later recognized them as extensions of his mind, particularly when he began to think in Python, likening it to dreaming in a foreign language.
"and so that's always kind of been the draw kind of coupled with the mathematics did you ever see the computer as like an extension of your mind like something able to achieve not till later okay yeah ..."
Travis and Lex discuss how language shapes thought processes. They explore the cultural nuances embedded in languages like Russian and how these nuances can influence emotional expression and understanding, particularly in the context of translation.
"believe that language limits or expands your thinking uh there are some languages that actually lead you to certain thought processes yeah like uh so i speak russian fluently and that's certainly uh a..."
Travis expresses concern over the limitations imposed by language barriers on understanding global genius. He emphasizes the importance of democratization in knowledge and how authoritarian structures can stifle innovation and creativity.
"that the story does a lot of the work but there's a bunch of things that are untranslatable certainly the poetry is not translatable i actually have a few conversations coming up offline and also in t..."
Travis recounts his first encounter with Python in 1997 while studying biomedical engineering. He explains how Python's array capabilities and the Numeric library attracted him, filling a crucial gap in his programming toolkit.
"there's a lot of genius out there that we miss and it's sort of sort of fortunate when it when it bubbles up into something that we can understand or process there's a lot we miss so i tend to lean to..."
Travis discusses the significance of shared abstractions in programming, particularly in relation to complex numbers and mathematical concepts. He highlights how these shared tools enable collective programming and enhance problem-solving capabilities.
"something and encounter python and because python had an array had two things that made me not filtered away because i was filtering a bunch of stuff as yorick i looked at yorick i looked at a few oth..."
Travis describes how he fell in love with Python during his PhD studies, noting its accessibility and ease of understanding compared to other languages like Perl. He appreciates how Python allows scientists and engineers to solve problems without demanding extensive programming expertise.
"yeah it will continue for many years i think as it builds more and more and more abstractions yes i often think about you know we have we have a world that's built on these abstractions that were they..."
Travis contrasts Python's indentation-based syntax with the compactness of Perl. He discusses the readability and accessibility of Python, emphasizing how it allows programmers to focus on problem-solving rather than getting bogged down by complex syntax.
"would say a few peculiar things about python so maybe compared to pearl compared to some of the other languages so there's no braces yeah so you space is used indentation i should say is used as part ..."
Travis reflects on the legacy of APL and its influence on array-based programming. He discusses the cultural challenges faced by programming languages that prioritize compactness over readability, and how this impacts the understanding of complex programming concepts.
"what i really liked is many programming languages really demand a lot of you and you can get a lot you know you do a lot if you learn it but python enables you to do a lot without demanding a lot of y..."
Oliphant reflects on APL's unique characteristics, including its dense glyphs and specialized keyboard, which contributed to its limited adoption. He explains how APL's concepts influenced modern programming languages and how they allow for a different mindset when dealing with complex data structures.
"first language to understand that it was in the 60s right the challenge of apl is apl had very dense not only glyphs like new characters new glyphs they even had a new keyboard because to produce thos..."
Travis shares his appreciation for Python's readability and ease of use compared to other programming languages. He discusses how Python allows users to translate their thoughts into code more seamlessly, making it accessible for engineers and scientists without requiring deep expertise.
"individual numbers in the n-dimensional array you can think of it as an object in itself and all of a sudden this world can open up now you're saying matlab and apl were like the early c i don't know ..."
Oliphant introduces SciPy, a library he created to fill the gaps he encountered while using Python for scientific computing. He outlines the initial goals of SciPy, including the need for tools like differential equation solvers and optimization functions, which were missing from existing libraries.
"what was your favorite feature of python do you remember like what yeah it's so interesting to linger on like the what what really makes you connect with the language i'm not sure it's obvious to intr..."
Travis recounts the early days of developing SciPy, emphasizing the collaborative nature of the project. He shares how feedback from the community helped shape the library and how his personal experiences as a graduate student fueled his motivation to create useful tools for others.
"came out but guido was very open to users and one of the sets of users were people like jim hugin and david asher and paul dubois and conrad hinson these were people that were on the main list and the..."
Oliphant discusses how his experiences with Linux inspired him to share his code and contribute to the scientific community. He highlights the importance of collaboration and sharing knowledge in science, which motivated him to make his tools available for others to use.
"really my baby what is it uh what was its goal what is its goal how does it work yeah fantastic so scipy was effectively here i'm using python to do stuff that i previously used matlab to use and i wa..."
Travis elaborates on his journey of creating libraries for Python, detailing the challenges he faced in making them accessible. He explains the significance of providing binary installers to ease the installation process for users, which ultimately contributed to the growth of the SciPy community.
"i'll just start this project and so in 99 98 was when i first started to write libraries for python particularly when i fell in love with python 98 i thought well there's just a few things missing lik..."
Oliphant shares his excitement about receiving feedback from users around the world as he developed SciPy. He reflects on the sense of community that emerged from this collaboration and how it contrasted with the competitive nature of academic life.
"modules you end up having to think about so it's harder when i was just in python i could just think about mri and high-level writing but i could do that and that kind of i liked it i found that to be..."
Travis discusses the importance of community in software development, sharing how contributions from users helped improve SciPy. He emphasizes the value of collaboration and how it fosters innovation and growth within the programming community.
"wrench cut integration to python and making an ordinary digital equation solver and then releasing that as a package so we could call od pack i think i called it then quad pack and then i just made th..."
Oliphant explains how the introduction of binary installers for SciPy significantly increased its user base. He highlights the importance of making software easy to install and use, which is crucial for attracting new users and fostering a thriving community.
"that's um i would say i was inspired i'd been inspired by linux i've been inspired by you know linus linus and him making his code available and i was starting to use linux at the time and i went this..."
Travis shares his experiences in teaching programming to individuals without a technical background. He discusses the challenges of simplifying concepts and making programming accessible, emphasizing the importance of reducing friction in the learning process.
"a few folks now that don't program like on the creative side and the video side the audio side and because my whole life is running on scripts i have to try to get them to i'm have now the task of tea..."
Oliphant concludes by discussing the significance of fostering a culture of sharing and collaboration in programming. He reflects on how this culture can empower individuals and enhance the effectiveness of scientific research and development.
"that's a huge responsibility and ultimately has to do with the amazon one-click buy like how how frictionless can you make the early steps frictionless is actually really key to growing any community ..."
Travis Oliphant shares his early experiences in programming, detailing how he built a cluster of Mac computers running Yellow Dog Linux to perform MRI simulations. He discusses the importance of ordinary differential equations in this process and how his personal interests aligned with his academic work, leading to innovative solutions in scientific computing.
"hard drive he did some kernel programming to to make the hard drive work i mean not programming but modification to the kernel so i could actually hard drive working i i love that aspect of it i was a..."
Travis recounts the origins of SciPy, a scientific computing library for Python, which emerged from his collaboration with friends Eric Jones and Travis Vott. He explains how they combined various tools and modules to create a comprehensive distribution that catered to the needs of scientists and engineers, emphasizing the importance of accessibility in scientific programming.
"ode solver and so that's but i actually did that it doesn't happen at the same time that's why it kind of what you're working on and what you're interested in they're coinciding i was definitely scrat..."
In this segment, Travis discusses the challenges faced in open source projects like SciPy, particularly the difficulties of managing consensus among contributors. He highlights the intrinsic cooperation limits that arise as projects scale, leading to political dynamics that can hinder progress and decision-making.
"use the tools thinking about what i want to go from here there was a company there's a guy actually eric jones and travis vott they were two friends who founded a company called nthot it's here in aus..."
Travis reflects on the evolution of SciPy since its official release in 2001, sharing anecdotes about the technical hurdles they faced, including bugs related to complex numbers in Windows compilers. He emphasizes the importance of product management in delivering a cohesive software package and the lessons learned from early development experiences.
"vision of scipy was to have plotting was to have you know replied you know the rebel environment and kind of a whole really a whole data environment um that you could then install and get going with a..."
Travis shares his journey of balancing academia with entrepreneurship, detailing how he accepted a tenure-track position while simultaneously working on SciPy. He discusses the challenges of transitioning from a stable academic career to the uncertainties of the startup world, driven by a desire to create impactful tools for the scientific community.
"and we have to come up with different approaches so sci-fi came out officially in 2001 was the first release most the time i remember the days of getting that release ready it was a windows installer ..."
In this segment, Travis emphasizes the critical role of documentation in making scientific libraries like SciPy accessible to users. He discusses the importance of clear, informative function names and comprehensive documentation to help scientists and engineers effectively utilize the tools, highlighting the ongoing need for quality resources in open source projects.
"okay so that that's i left i've got the mayo clinic graduated wrote my thesis using sci-fi wrote you know there's there's images that were created now the plotting tool i used was something from yoric..."
Travis discusses his perspective on the balance between open source and proprietary software, expressing his appreciation for both models. He reflects on the challenges of developing code that requires proprietary software for execution, and the cultural implications of using such tools in the scientific community.
"he released in 2001. about the same time that scipy came out and it was separate library separate install use numeric sci-fi use numeric and so scipy you know 2001 released scipy and then m-thot creat..."
Travis shares his insights on the economic challenges of maintaining open source projects while supporting a family. He recounts his exploration of economic theories and the necessity of creating sustainable models for open source development, emphasizing the importance of understanding economics for software creators.
"right and there's also culture around matlab as much because i've talked to a few folks math works great it's my life yeah i mean there's just a culture they try really hard but it's just there's this..."
In this segment, Travis reflects on the lack of economic education in the academic system and its implications for future generations. He discusses his own journey of learning about economics while developing SciPy, stressing the need for a foundational understanding of economic principles in education.
"it really was i'm actually i'm embarrassed for educational system that they could let me and i was valedictorian in my high school class and i did super well in college and like academically i did gre..."
Travis elaborates on the significance of pricing as a signaling mechanism in the software development community. He discusses how understanding pricing can impact resource allocation and community productivity, drawing parallels between economic principles and software engineering.
"they'll they want their economic friends they want their economist to back them up right or to to be there to be their magicians like the magicians in pharaoh's court right the people that are going t..."
Travis concludes this segment by discussing his ongoing journey in entrepreneurship, highlighting the importance of creating systems that allow developers to benefit from their contributions. He reflects on the challenges and rewards of building impactful software while navigating the complexities of the open source ecosystem.
"money is just a bartering tool right so this is the first time i've encountered any of this concept right and the fact that oh this is actually really critical like it's so critical to our prosperity ..."
Travis Oliphant discusses the long journey of developing SciPy, emphasizing the importance of documentation, interactive environments, and plotting capabilities. He reflects on the challenges faced due to limited funding and volunteer labor, and how these factors shaped the growth of the project over a decade.
"that was actually a so we thought about several things one is we wanted plotting we wanted interactive environment we wanted good documentation these are things we knew we wanted the reality is those ..."
Oliphant shares his experiences as a professor at BYU, highlighting the difficulties he faced in calibrating his teaching style to meet students' understanding. He recounts a pivotal moment when he shifted from using overhead transparencies to a chalkboard, which improved student engagement and comprehension.
"set i mean that's one of the some of the greatest teachers do that yeah and i agree and that was kind of what was inspiring me but but you know you also have to i i cannot say i was uh i was articulat..."
Travis emphasizes the didactic aspect of SciPy, discussing the importance of effectively conveying knowledge. He reflects on the challenges of creating a comprehensive tool that meets the diverse needs of users, particularly in the context of scientific computing.
"teaching so that that entered scipy's world in terms of we always understood that there's a didactic aspect of sci-fi kind of how do you take the knowledge and then produce it the challenge we had was..."
In this segment, Oliphant explains the origins of NumPy, detailing how he merged the features of Numeric and Numarray to create a unified array library. He discusses the challenges of backward compatibility and the need for a robust array structure to support scientific computing.
"luhongza is his name great guy he wrote a bunch of stuff for iterative iterative linear algebra like got into writing some of the iterative literary algebra uh tools that are currently there in sci-fi..."
Oliphant reflects on the importance of community support in the development of NumPy and SciPy. He shares anecdotes about collaboration with other developers and the significance of fostering a culture of stewardship and shared purpose within the scientific programming community.
"goes on you're basically creating a thing which enables science in the 21st century right um maybe don't emphasize that so much in your for your tenure right it illustrates some of the challenges yeah..."
Travis discusses the risks he faced while prioritizing open-source contributions over traditional academic pursuits. He shares insights on balancing personal and professional responsibilities while pursuing a passion for developing tools that empower scientific research.
"went in the first documentation for numpy for numeric sorry this is paul dubois david asher connor hinson and myself i got credit because i wrote this chapter which is all the c api of numeric all the..."
In this segment, Oliphant articulates his philosophy of contribution to the scientific community. He emphasizes the importance of being helpful and optimistic, and how his beliefs shape his approach to software development and community engagement.
"possible and it's extremely helpful and there's a willingness there yeah but but but the challenge is there's usually not a willingness to fund it yeah there's not a willingness to you know like i was..."
Oliphant elaborates on the vision for NumPy, describing it as a tool for representing n-dimensional arrays and facilitating mathematical operations. He discusses the significance of advanced indexing and broadcasting features that enhance its usability for scientific computing.
"practically this is what one person actually could do uh and actually build because that is important because you can get over your skis yeah you can definitely get over your skis and i had in fact th..."
Travis shares the complexities involved in ensuring backward compatibility between Numeric and Numarray while developing NumPy. He highlights how these challenges have influenced the design and functionality of the library, creating lasting implications for its evolution.
"who don't know maybe you can elaborate yeah numpy i guess the vision in the narrowest sense is to have this object that represents n-dimensional arrays and like at any level of abstraction you want bu..."
In this segment, Oliphant discusses the importance of empathy in software development, particularly in understanding the needs and preferences of users. He emphasizes the need for collaboration and listening to diverse perspectives to create effective tools.
"goal of backward compatibility these other communities which if you didn't have that you'd do something different which is instructive because a lot of things are there you know what is that there for..."
Travis reflects on the significant impact of individual contributors in the software community, citing examples like Linus Torvalds and Guido van Rossum. He discusses how these figures have shaped the landscape of scientific programming and the importance of recognizing their contributions.
"that helped absolutely helped it makes me wonder in a philosophical like looking at human civilization as one object it makes me wonder how we can copy and paste travis's in the circle well in some as..."
Oliphant recounts the growth of NumPy from its inception to becoming a foundational tool in scientific computing. He highlights the role of community support and collaboration in its success, particularly the integration of NumPy with other libraries like Matplotlib.
"better off how do we make more of west west mckinney like west mckinney was critical to the success of python because of his creation of pandas which is the roots of that were all the way back in uh a..."
In the concluding segment, Oliphant reflects on the future of scientific programming and the ongoing evolution of tools like NumPy. He emphasizes the importance of community engagement and the need for continued innovation in the field.
"coaster and then 2006 to 2009 and then i've been floored by the by what it's done like i had i knew it would help i didn't have no idea how much it would help right so and it has to do with again the ..."
Travis shares his transition from academia to the entrepreneurial world, discussing the polarizing nature of his tenure application and his desire to explore industry. He reflects on the balance between academic freedom and the practicalities of building a business.
"thing i mean there's a few other competitors i guess but python i think really really took over i agree there's a lot of stories here that are kind of during this journey because this is sort of the s..."
Oliphant expresses his admiration for MIT's collaborative environment while critiquing the bureaucratic challenges that can stifle innovation. He emphasizes the importance of maintaining the 'magic' of academic research amidst administrative hurdles.
"called my friend eric here who had his company was going i said hey could i join you and start this trend and and he would at that time they were using sci-fi a lot they were trying to get clients and..."
Travis discusses his motivations for pursuing entrepreneurship, highlighting the importance of connecting capital markets with innovative ideas. He reflects on the role of profit-seeking as a mechanism for resource allocation and community building.
"that and we need that flame going and um it's the same thing as exactly as you said it has the same kind of elements like the open source community does and but then if you like the reason i stepped a..."
Oliphant shares his experience of writing a book on NumPy to fund his graduate student, illustrating how documentation-driven development played a crucial role in NumPy's success. He discusses the challenges and rewards of monetizing educational resources.
"years 2007 2007. so you were still so no i was just emerging just right one thing i've done i've done it's worth mentioning because it emphasized the exploratory nature of my thinking at the time i sa..."
Travis reflects on the open-source model and its implications for software development. He discusses the balance between sharing knowledge and the need for sustainable funding models in the open-source community.
"there was actually a lot of people like no it's fine you know you can charge for a book that's no big deal we know that's a way you can you can try to make money around open source so so what i did wh..."
Oliphant addresses the technical challenges faced by NumPy, particularly regarding its type system. He discusses the limitations of the current implementation and the potential for improvements that could enhance usability and integration with modern computing technologies.
"fact that paypal existed and had a way to make to get the money the distribution was simple this is pre-amazon book stuff so it was just published in a website it was the popularity of sci-fi emerging..."
Travis introduces the concept of a unified array API that could streamline the use of different computing architectures, including GPUs. He emphasizes the need for a flexible framework that can adapt to emerging technologies in data science.
"excited by a number of things that steps in from that like so i came here worked at nthot for four years uh graciously you know eric made me president and we started to work closely together we actual..."
In this segment, Oliphant reflects on the collaborative nature of scientific programming and the importance of community in driving innovation. He discusses the challenges and successes of building tools that support the scientific community.
"as possible like they didn't they tried i mean it was not just because it was just because the business aspect so and i wanted to build a company that could do that could get venture funding right bet..."
Travis Oliphant discusses the challenges and historical context of integrating GPU support into NumPy. He highlights the need for better typing and design to facilitate contributions from developers, emphasizing that NumPy should seamlessly work with GPUs rather than relying on separate libraries like CuPy. This segment sheds light on the evolution of scientific computing and the importance of adapting to new technologies.
"actually have python when you add number plus better typing could actually be a uh you'd smooth out a lot of rough edges but there's already there's like but are you talking about from the perspective..."
Oliphant introduces the initiative at Quansight Labs to develop a unified API for data science, aimed at bridging the gaps between various array libraries. He reflects on his experiences with TensorFlow and PyTorch, discussing the fragmentation in the array community and the importance of collaboration among developers to enhance efficiency and innovation in scientific programming.
"that tangent briefly is you have pi torch and other library like tensorflow that basically tried to mimic uh yeah like you've created a sort of platonic form basically yeah exactly well the problem wa..."
In this segment, Oliphant shares his thoughts on the competitive landscape of programming libraries like TensorFlow and PyTorch. He acknowledges the benefits of competition while stressing the need for collaboration and refactoring to improve efficiency. He reflects on the evolution of these libraries and the importance of community engagement in shaping their development.
"labs uh it's not unifying all the arrays it's creating an api that is unified um so we do care about this and trying to try to work through it actually the chance to go and meet with the tensorflow te..."
Travis Oliphant discusses the balance between catering to corporate clients and the broader community of developers. He emphasizes the importance of nurturing the hacker community to ensure long-term success and innovation in programming. This segment highlights the challenges of maintaining open-source projects while addressing the needs of both corporate and individual users.
"yeah innovative and then maybe on the infrastructure right uh whatever however you define infrastructure right maybe it's nice to have controversial exactly i agree and i think but it was interesting ..."
Oliphant reflects on the challenges of leadership in open-source projects, particularly the criticism that comes with making impactful decisions. He shares insights on how to handle negative feedback and the importance of projecting positive intent in the community. This segment underscores the emotional and social dynamics involved in leading open-source initiatives.
"is reasonable but um they bolted it on facebook did too like facebook had their own c plus library for doing inference and they also had the same you know reaction they had to do this one big differen..."
In this segment, Oliphant discusses his experiences with Microsoft and the evolving relationship between the tech giant and the open-source community. He reflects on the missed opportunities during the early days of Anaconda and how Microsoft's approach to open source has changed over time, particularly with the hiring of key figures like Guido van Rossum.
"happy i lean that way too totally but then you have to find the right date but it's a balance yeah it's because you can lean to the hackers and run out of money yeah exactly exactly which has been som..."
Travis Oliphant shares valuable lessons learned from Guido van Rossum, the creator of Python. He discusses their interactions and how Guido's openness to ideas and willingness to listen have influenced his own approach to programming and community engagement. This segment highlights the importance of collaboration and communication in the development of programming languages.
"really nice actually especially given uh what microsoft has since done for the open source community yes i think they're doing well i really like some of the stuff they've been doing they're still wor..."
Oliphant delves into the challenges faced during the transition from Python 2 to Python 3, discussing the inertia of existing users and the difficulties in breaking backward compatibility. He reflects on the lessons learned from this process and the importance of gradual adoption of new features to ensure a smooth transition for the community.
"was to get it into python 3 and maybe be part of python so we talked about that that's cool about that approach right i would have loved to be a fly in the world that was a that was good and over over..."
In this segment, Oliphant discusses the controversial introduction of the walrus operator in Python and the pressures of leadership that come with making significant changes. He reflects on the challenges of maintaining a balance between innovation and community acceptance, emphasizing the importance of understanding user needs and fostering a positive environment.
"science for everybody we kind of have this early on desire to oh maybe we should be pushing programming to more people so he had this populist notion i guess or populist sense um so learn that there's..."
Travis Oliphant emphasizes the importance of projecting positive intent within the programming community. He discusses the tendency for negativity in social media and the impact it has on collaboration and innovation. This segment encourages listeners to adopt a more optimistic perspective and to support one another in the pursuit of technological advancement.
"something else it just means assignment so he stepped down over this what do you think about the pressure of leadership some of the you mentioned the letter i wrote in umpire at the time that was a ha..."
Travis Oliphant discusses the challenges and lessons learned during the transition from Python 2 to Python 3. He reflects on the long timeline and the backward compatibility issues that made the switch painful for users. Oliphant emphasizes the importance of user empathy and the inertia of established user bases in adopting new technologies.
"are we pushing that why are we promoting that so deeply let's assume friend until proven otherwise yes yeah so because you have such a fascinating mind and all this let me just ask you these questions..."
In this segment, Oliphant elaborates on the inertia within programming communities, highlighting how difficult it is to shift users from established tools. He discusses Guido van Rossum's vision for Python and the challenges of implementing changes that may not resonate with the existing user base.
"was it was but it also illustrated a truism that you know it's when you have inertia when you have a pop when you have a group of people using something it's really hard to move them away from it you ..."
Travis Oliphant shares insights on the funding realities of open source projects, noting that many contributors are volunteers. He reflects on the impact of limited funding on the development of Python and its libraries, emphasizing the need for sustainable financial support for open source initiatives.
"exactly maybe this is essential part of it because i do think about that in terms of i currently have an incubator for open source startups like what i'm trying to do right now is create the environme..."
Oliphant discusses the trade-offs between usability and efficiency in NumPy, using examples from the Tesla autopilot team. He highlights how certain implementations can lead to performance improvements and the importance of understanding the underlying mechanics of mathematical functions in Python.
"tesla autopilot team and uh he's also one of the most like legit uh programmers uh i know it's like he builds stuff from scratch a lot and that's how he builds intuition about how a problem works he j..."
In this segment, Oliphant explains the concept of universal functions (ufuncs) in NumPy, detailing how they allow for efficient operations on arrays. He discusses the implications of using Python scalars versus NumPy arrays and the performance considerations that come into play.
"broadly in numpy but also on these like specific weird quirks of like a single function yep so on that point if you use a numpy math function on a scalar it's going to be slower than using a python fu..."
Travis Oliphant emphasizes the extensibility of Python as a key strength, allowing developers to optimize performance through compiled code. He contrasts this with other languages and discusses the importance of pre-compilation in scientific computing.
"could be faster just using python straight up python see but also and then this is the so sorry to introduce there's the fundamental questions when you look at the long arc of history it's very possib..."
Oliphant reflects on the role of abstractions in programming, particularly in Python. He discusses how abstractions can simplify complex tasks but may also lead to misunderstandings about underlying implementations, using dictionaries as a prime example.
"that you can write functions using all of it it has implicit looping right so you don't worry about this n-dimensional for loop with you know four loops four four statements you just say oh big four-d..."
In this segment, Oliphant talks about the importance of human interpretability in data structures, particularly in NumPy. He discusses the need for labeling arrays and how this concept led to the development of libraries like Pandas.
"if i can do a one-dimensional array against a two-dimensional array and have it make sense well that's what numpy does is it challenges you to reformulate rethink your problem yes as a multi-dimension..."
Travis Oliphant shares his vision for funding open source contributions, discussing the challenges he faced in supporting developers working on NumPy and SciPy. He emphasizes the importance of creating financial mechanisms to support innovation in scientific programming.
"compilation step to install sci-fi it takes about two hours if you have many machines maybe you can get it down to one hour but to compile those libraries takes about takes a while you don't want to d..."
Oliphant reflects on the broader implications of resource allocation in society, comparing the funding of open source projects to government spending. He argues for a reevaluation of how resources are distributed to support the programmers who build essential tools.
"it does everything with x-rays yeah so it is it's powerful order dictionaries came later but it is very very powerful it took me a little while coming from just the array programming entirely to under..."
In this final segment, Oliphant discusses the global nature of open source collaboration, highlighting the connections made across borders. He emphasizes the humanizing aspect of working with diverse teams and the potential for technology to bridge cultural divides.
"one thing i love about open source is it's global it's multinational like there aren't national boundaries one of the challenges with business and open source is the fact that business is national lik..."
Oliphant predicts that future conflicts may manifest in the cyber realm rather than traditional warfare. He discusses the importance of collaboration among major powers like the U.S., Russia, and China in preventing cyber warfare and fostering a more peaceful global environment.
"reflection of the reality of what people are well if you look at the major power centers that are leading to something like cyber war in the next few decades it's united states it's russia and china r..."
Travis Oliphant addresses the historical perception of Python as a slower programming language compared to C and C++. He introduces Numba, a tool designed to enhance Python's performance by allowing developers to write high-level code while still achieving speed.
"right no i think that's good that's good prediction nations that code together uh don't go to war yeah they don't go to war together that's that's a hope right that's one of the philosophical hopes bu..."
In this segment, Oliphant explains the goals of Numba, focusing on its ability to compile Python functions into fast, efficient code. He discusses the challenges of vectorization and how Numba addresses these issues to improve performance in Python programming.
"what is uh number what is its goal how does it work great yeah yes that's what the argument and the reality was people would write high-level code and use compiled code but there's still user story us..."
Oliphant shares the story behind the development of Numba, detailing the early challenges and the vision to create a tool that could compile Python code efficiently. He discusses the importance of feedback and iterative development in refining Numba's capabilities.
"worked on a scalar like you could make a like the classic case was a simple function and if then statement in it so uh sine x over x function sync function if x equals zero return one otherwise do sin..."
Travis Oliphant explains how Numba utilizes LLVM to enhance Python's performance. He discusses the technical aspects of mapping Python bytecode to LLVM and the benefits of this approach for achieving faster execution times.
"that's a different topic but i've learned to you know raise money from friends family and fools as they say and that's a good line oh that's a good sign but you know so i we're trying to do something ..."
In this segment, Oliphant reflects on the complexities of writing compilers and the lessons learned throughout the development of Numba. He emphasizes the importance of understanding computer science principles in creating effective compilers.
"from the perspective of wanting to produce a vectorized improvement they were from perspective of speeding up the runtime of python which is fundamentally hard because python allows for some construct..."
Oliphant discusses how Numba is primarily written in Python and its goal of translating Python bytecode to LLVM. He highlights the unique challenges and advantages of developing a compiler within the Python ecosystem.
"and and have them use for numpy arrays like the needed support numpy race and so uh how does it work you have a comment within python that tells to do like how do you help out compiler yeah so there i..."
Travis Oliphant shares insights into the funding mechanisms behind Numba's development, including the role of Anaconda and DARPA grants. He discusses how these resources were utilized to advance Numba's capabilities and support its growth.
"the subset it would actually compile was small and so if you wrote python code and said to the way it worked did you write a function and you say at jit use decorators so decorators just these little ..."
In this segment, Oliphant reflects on how Numba has transformed the landscape of data science by enabling faster computations and enhancing the performance of Python applications. He discusses its significance in the broader context of scientific programming.
"python but then the whole goal of number is to translate python byte code to llvm and so lvm actually does the code generation in fact a lot of times they'd say yeah it's super easy to write a compile..."
Travis Oliphant outlines the vision behind Anaconda, focusing on scaling Python for data science and analytics. He discusses the importance of user interfaces and web integration in making Python accessible to a wider audience.
"in language because one uh every browser has a javascript jet it does real-time compilation of the javascript to machine code for people who don't know jet is just in time compilation thank you yeah j..."
In this segment, Oliphant shares the history of Anaconda, detailing its origins as Continuum Analytics and the transition to its current name. He discusses the company's mission to support the Python community and foster innovation in data science.
"targeted gpus so we had the very first cuda jit and the very first jit compiler that in 2013 for 13 you could run not just a vue funk on cpu but a u function gpus and it was awesome automatically para..."
Oliphant highlights several significant projects that have emerged from Anaconda, including Dask, Bokeh, and Jupyter Lab. He discusses their relevance in building applications and enhancing the Python ecosystem.
"friends family and fools so uh anaconda is yet another so there's a company but there's also a project correct that is exceptionally impactful uh in in terms of uh for many reasons but one of which is..."
Travis Oliphant discusses the role of funding in the development of projects like Bokeh and Numba. He shares anecdotes about securing grants and the impact of financial support on advancing innovative technologies.
"not pass by the python community that we had a ways to translate your data science to the web so those are the two kind of technical areas we thought oh we'll build products in this space and that was..."
In this segment, Oliphant explains the purpose of Conda, a package manager designed to address the challenges of managing dependencies in Python. He discusses its significance in the Python ecosystem and its role in facilitating data science workflows.
"on some interesting projects super excited about what came out of our energy there like a lot did so what are some of the interesting things dask number bokeh conda uh there was a data shader panel ho..."
Oliphant shares insights into the history of Python packaging, discussing the challenges faced by developers in managing libraries and dependencies. He reflects on the evolution of packaging solutions and the importance of community-driven initiatives.
"cases of python plotting yeah but there's a difference between static plots versus interactive plots versus i'm an end user i just want to write a simple you know pandas started the idea of here's a d..."
Travis Oliphant discusses the inception of Anaconda and the formation of NumFocus, emphasizing the importance of addressing the packaging problem in Python. He highlights the dual mission of building a corporation while fostering community through a nonprofit, showcasing the collaborative spirit of the Python ecosystem.
"like i said with scipy sci-fi was a distribution masculine library and he said talk to me talking about compiler issues and trying to get the stuff shipped and the fact that people can use your librar..."
In this segment, Oliphant shares a conversation with Guido van Rossum regarding the challenges of packaging in Python. He reflects on Guido's indifference towards packaging issues, which underscores the philosophical divide between language creators and the practical needs of developers.
"pause real quick and and uh can you say what is pi pi the python package index like this whole story yeah of packaging in python yeah that's what i'm going to get to actually this is exactly the journ..."
Travis Oliphant elaborates on the evolution of Python package management, discussing the limitations of existing tools like pip and the need for a more robust solution. He emphasizes the importance of user-centric design in package management, particularly for data science applications.
"the in the difference today conda always was a user i'm i'm going to use python to do data science i'm going to use python to do something how do i get this installed it was always focused on that so ..."
Oliphant contrasts pip and conda, detailing the challenges faced by users when installing complex libraries. He explains how conda was designed to address these issues, particularly for data science workflows, and highlights the importance of a seamless installation experience.
"gonna do it all right the origin story right there all right you said okay you said to do this ourselves so at the same time people did start to work on the packaging story in python it just took a li..."
In this segment, Oliphant discusses the design decisions behind creating a cross-platform package manager with conda. He explains the necessity of supporting multiple operating systems and programming languages to enhance usability for developers.
"don't do it i'm like wait okay so now we're not making changes to a library because of the installation problem that it'll cause for end users okay there's a problem with pac there's a problem with in..."
Travis Oliphant shares the story of scikit-learn's emergence as a key project within the Python ecosystem. He praises the community's initiative in creating smaller, focused libraries and highlights the importance of documentation and community support in its success.
"neighboring design question is do you also create a package manager that spans multiple programming languages correct exactly that was the world we faced and we decided to go multiple operating system..."
Oliphant discusses the usability challenges within the SciPy ecosystem, particularly regarding installation complexities. He emphasizes the need for solutions that simplify the installation process for users, ensuring that libraries like SciPy can be effectively utilized.
"also incredible this was incredible exactly i don't know who did that but they did a great job a lot of people in inria a lot of people a lot of european contributors um andreas there's some andreas u..."
In this segment, Oliphant reflects on the importance of community engagement in the development of package management tools. He discusses the balance between company-backed open source projects and the need for community-driven contributions to ensure long-term success.
"times pip is mentioned over conda is like 100x to one correct correct so they just haven't that was increasing it wasn't true early because pip didn't exist like conda came first so but that's like th..."
Travis Oliphant advocates for a hybrid approach to package management, suggesting that developers can benefit from using both conda and pip. He provides insights into best practices for managing dependencies and installations in Python projects.
"of a package you can actually have different compilation versions of a package so not just the version's different but oh this is compiled with these optimizations so kana does have an answer to those..."
Oliphant discusses the future of Anaconda and the importance of community engagement in driving innovation. He emphasizes the need for continued improvements in package management and the role of community contributors in shaping the ecosystem.
"empowering people governance around it and there was and what happened with khan in the early days pip emerged and we did we did do some good things condo forge the kind of forage community is sort of..."
In this segment, Oliphant introduces Quansight and its mission to connect data to an open economy. He explains the company's focus on consulting within the PyData ecosystem and its commitment to supporting open-source projects through community-driven initiatives.
"things with pip and docker right so especially with the web development community that part of it again is this is the there's a lot of different kind of developers in the python ecosystem and there's..."
Travis Oliphant discusses the funding mechanisms for Quansight Labs, emphasizing its mission to improve open-source software like NumPy and SciPy. He explains how companies can contribute to the development of these projects through community work orders, allowing developers to prioritize community needs while enhancing the software's capabilities.
"have at quansite a portion of the money goes directly to quansite labs to help keep it funded so we've gotten several mechanisms we keep quansite labs funded and currently so i'm really excited about ..."
In this segment, Oliphant highlights the impact of new hardware, such as GPUs and Tesla's Dojo chip, on the evolution of scientific programming. He discusses the need for scalable solutions in NumPy and SciPy, and how advancements in hardware drive the demand for updates and improvements in scientific computing tools.
"so that's one big area have you gotten a chance to chat with andre and elon about partic because like no i would love to by the way i have not but i'd love to i just saw their tesla ai days uh video y..."
Travis introduces the concept of Open Teams, a business development model aimed at connecting open-source communities with enterprise needs. He explains how this model can foster innovation and create new companies while ensuring that profits are reinvested into open-source projects, thus benefiting the broader ecosystem.
"open teams i'm super excited about open teams because it's one of the i mentioned my idea for investing directly in open source so that's a concept called ferro ss but one of the things we when we sta..."
Oliphant shares his vision for the future of enterprise software, emphasizing the importance of open-source solutions. He discusses how companies can leverage open-source tools to create customizable solutions, reducing reliance on expensive proprietary software and consultants, ultimately leading to more efficient operations.
"fascinating brother so you use the power of the organic formation of teams in the open source community and then like naturally that leads to a business that can make there are so many yeah correct it..."
In this insightful discussion, Oliphant reflects on the challenges of marketing open-source projects to enterprise clients. He emphasizes the need for effective communication and understanding of the value that open-source solutions can bring to businesses, advocating for a shift in how companies approach their marketing strategies.
"they're constantly given products from the from enterprise software here's open source lead enterprise software now i buy it and they have to stitch it together into a solution open source is fantasti..."
Travis critiques traditional marketing practices, arguing that true innovation comes from taking risks and anticipating future trends. He discusses the importance of aligning marketing efforts with open-source development to create meaningful connections with developers and enhance the overall impact of marketing initiatives.
"transmission layer between companies and open source communities producing enterprise software solutions like eventually we want to like today we're taking on sas and matlab and tools that we know we ..."
Oliphant analyzes Microsoft's acquisition of GitHub, discussing the implications for developers and the open-source community. He reflects on Microsoft's strategy to attract developers and the potential for GitHub to serve as a platform for fostering open-source innovation, while questioning the long-term vision behind the acquisition.
"enterprise software um it's we're still early like this idea just percolated over the past year as we've kind of grown quan sight and realize the extensibility of it uh we just finished in our seed ro..."
In this segment, Oliphant discusses the importance of investing in open-source projects to attract top talent and drive innovation. He suggests that companies should allocate resources to support key open-source initiatives, highlighting the potential benefits for both the companies and the broader developer community.
"they're doing and and even work alongside them uh you know as a consultant uh using my using open source and trying how do we make this work inside of our large organization some of it is actually for..."
Travis Oliphant discusses the challenges of effective marketing, emphasizing that true innovation in marketing comes from doing something novel and unique rather than repeating past successes. He critiques the tendency of marketers to rely on outdated strategies and stresses the importance of taking risks to anticipate future trends.
"google ads or am i spent on facebook ads or do i not hire a content creator and say like like there's an operational aspect to that that some that you have to be the cmo right or the ceo you have to g..."
In this segment, Oliphant highlights the importance of authenticity in marketing communications. He shares his experiences with companies like iRobot, advocating for a focus on the engineering and innovation behind products rather than superficial marketing tactics. This authenticity resonates with users and builds trust.
"point is taking the big risk that's a great being the first one to risk yeah and there's an aspect of data observation from that risk right that's that's that's you i think because shared what they're..."
Travis emphasizes the significance of word-of-mouth marketing and the need for companies to connect with their engineering teams. He argues that showcasing the talent and dedication of developers can inspire confidence in products, ultimately leading to greater consumer trust and engagement.
"and to me the incredible maybe wrong in the case of irobot i don't know but to me when you're talking about engineering systems it's really nice to show off the magic of the engineering and the softwa..."
Oliphant shares insights on hiring great programmers, suggesting that producing an open-source project can be an effective way to identify talent. He reflects on the challenges of hiring based solely on interviews and resumes, advocating for a deeper understanding of candidates' skills and experiences.
"that realization there's this halo effect right and also influences your general marketing i interesting for some stupid reason i do have a platform and it seems that the reason i have a platform many..."
In this segment, Travis discusses the qualities that make a great programmer, emphasizing curiosity and the importance of breaking down problems into manageable parts. He encourages aspiring programmers to embrace iteration and learn from their mistakes, highlighting that innovation often comes from persistence.
"there are times in my life i'd probably answer this even better than i hope maybe give an answer today because i've thought about this at numerous times like right now i've spent on so much time recen..."
Travis reflects on his experiences with different programming languages, particularly Lisp. He discusses the initial challenges he faced with Lisp's syntax and how his appreciation for the language has grown over time, recognizing its influence on logical thinking and programming culture.
"know defining the inputs and outputs to finding what you want to get done um even just talking about that in like writing down before you write code just what are you trying to accomplish and being ve..."
Oliphant shares the emotional challenges of building projects like SciPy and NumPy, emphasizing the need for inner drive and belief in one's vision. He discusses the importance of perseverance and the time it takes to see the impact of new projects, encouraging innovators to stay committed despite setbacks.
"everything you need what lessons do you draw from you having created numpy and scipy like in service of sort of answering the question of what it takes to be a great programmer and giving advice to pe..."
In this segment, Travis discusses the timeline of product development, stressing that it often takes 18 months to truly understand the viability of a new project. He highlights the importance of patience and the need to navigate the inertia of human behavior when introducing new ideas.
"this is the right approach the right thing to do with scipy it was like oh yeah the world needs libraries in python clearly python is popular enough with enough influential people that to start and it..."
Travis shares his preferences for operating systems, discussing his journey from Linux to Mac for development. He reflects on the practicalities of using different systems for programming and the importance of having reliable tools for effective work.
"inertial inertia energy that just doesn't change that quickly so let me ask a silly question but uh you know like you said you're focused on the sales side of things currently but you know back when y..."
In this final segment, Oliphant elaborates on the complexities of hiring programmers, emphasizing the need for a multi-dimensional approach to evaluating candidates. He discusses the balance between open-source contributions and product development experience, advocating for a holistic view of a candidate's capabilities.
"concept and uh also of course github is uh and then git lab make git definitely consumable um but that came later did you ever touch lisp at all like what were you what yeah emotional feelings about t..."
In this segment, Travis Oliphant shares valuable advice for young people navigating their careers. He emphasizes the importance of building meaningful relationships, staying curious, and being open to changing perspectives over time. Oliphant encourages a proactive approach to innovation, urging young individuals to focus on creating solutions rather than merely criticizing existing systems. His insights are grounded in the values of family, friendship, and love, which he believes are essential for a fulfilling life.
"learning right and you know i've spent a lot of time learning right other people spend a lot more time but i've spent a lot of time learning i mean my whole goal was to get a phd because i loved schoo..."