Logo

    #341 – Guido van Rossum: Python and the Future of Programming

    Mypy is an add-on static type checker for Python that does not require any changes to Python, and TypeScript is a similar language that is becoming more popular in the JavaScript community.

    enNovember 26, 2022

    About this Episode

    Guido van Rossum is the creator of Python programming language. Please support this podcast by checking out our sponsors: - GiveDirectly: https://givedirectly.org/lex to get gift matched up to $1000 - Eight Sleep: https://www.eightsleep.com/lex to get special savings - Fundrise: https://fundrise.com/lex - InsideTracker: https://insidetracker.com/lex to get 20% off - Athletic Greens: https://athleticgreens.com/lex to get 1 month of fish oil EPISODE LINKS: Guido's Twitter: https://twitter.com/gvanrossum Guido's Website: https://gvanrossum.github.io/ Python's Website: https://python.org 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/ YouTube Full Episodes: https://youtube.com/lexfridman YouTube Clips: https://youtube.com/lexclips SUPPORT & CONNECT: - Check out the sponsors above, it's the best way to support this podcast - Support on Patreon: https://www.patreon.com/lexfridman - Twitter: https://twitter.com/lexfridman - Instagram: https://www.instagram.com/lexfridman - LinkedIn: https://www.linkedin.com/in/lexfridman - Facebook: https://www.facebook.com/lexfridman - Medium: https://medium.com/@lexfridman OUTLINE: Here's the timestamps for the episode. On some podcast players you should be able to click the timestamp to jump to that time. (00:00) - Introduction (07:26) - CPython (12:38) - Code readability (17:00) - Indentation (33:36) - Bugs (45:04) - Programming fads (1:00:15) - Speed of Python 3.11 (1:25:09) - Type hinting (1:30:27) - mypy (1:35:43) - TypeScript vs JavaScript (1:51:42) - Best IDE for Python (2:01:43) - Parallelism (2:19:36) - Global Interpreter Lock (GIL) (2:29:14) - Python 4.0 (2:41:31) - Machine learning (2:51:13) - Benevolent Dictator for Life (BDFL) (3:02:49) - Advice for beginners (3:09:21) - GitHub Copilot (3:12:47) - Future of Python

    🔑 Key Takeaways

    • Python 11 is 10-60% faster than its predecessor and provides a style guide, "PEP 8", to help programmers write better code for improved readability.
    • Formatting conventions such as indentation, spacing, symbols and shortcuts help to make computer programs easier to read, debug and maintain, thus allowing teams to work together more effectively.
    • Python uses 4 spaces per block as a compromise between readability and space usage, and indentation is a fundamental part of the language. It allows for the addition of structure to code without the use of brackets which makes it easier for beginners to understand.
    • Programming requires great attention to detail and an understanding of various concepts such as algorithms, data structures, variables, loops, functions, recursion classes, expressions and operators. PHP scripting language is a great example of how decisions from the past still affect the back end of the internet today.
    • Error-correcting and self-correcting mechanisms must be used during the software development process to reduce the number of bugs. Additionally, users should try to reload the page a few times before assuming there is a problem, and mature software typically contains one bug per thousand lines of code, which highlights the importance of thorough testing.
    • Guido van Rossum stresses the importance of typing skills and encourages coders to use arrow keys and mouse to increase productivity. He also suggests accepting who you are and finding a setup that works for you.
    • Learning to program can open up a lot of possibilities, even if you take the road less traveled. Investing time and effort to learn a new language or technology can be rewarding and can lead to unexpected discoveries and innovations.
    • When making a decision about which technology to use for a project, it is important to consider the time and effort needed to learn something new, the community and culture associated with the technology, and existing skillset and comfort. Having a plan B in mind is also beneficial.
    • When learning a programming language, it is important to consider the language's impact, the systems that use it, and how it compares to other languages. Additionally, making an informed decision requires both careful analysis and a gut feeling. Increased performance can also be achieved through rewriting algorithms and remembering previous results.
    • Python Interpreter helps to understand recipes, improve performance and reduce search base by 50%. Furthermore, the algorithm can be improved by using the square root of the number and by skipping all the even numbers except for two.
    • Python has been improved to specialize in adaptive functions and its interpreter has been tweaked to make it more efficient and user-friendly. The compiler takes user-entered code and compiles it into bytecode, which is easily digested by the interpreter and used to run the code.
    • Using the same data type multiple times can result in faster code execution, but an additional check should be made to ensure the data is the same type.
    • Heuristics is a powerful tool for efficiently creating dynamic languages like Python. Type hinting is an optional feature of Python, but it does not currently speed up the interpreter. Third-party libraries are available to help with manual static typing, if desired.
    • Mypy is an add-on static type checker for Python that does not require any changes to Python, and TypeScript is a similar language that is becoming more popular in the JavaScript community.
    • TypeScript is a great tool to help developers keep their code error-free, and it helps ensure that code is written correctly and efficiently.
    • Static type checkers can help developers find bugs that the compiler doesn't detect and create code with fewer errors. While there is no current plan to integrate static type checkers into the language, they are a great tool to help developers write clean and bug-free code.
    • A Static Type Checker can be used to discover errors and potential issues before a program is released into the wild, and can be incorporated into a Continuous Integration Cycle to ensure the highest quality code is released. Type Hinting is also becoming increasingly popular, with estimates of 20-30% of Python code bases making use of it.
    • Investing in learning to type with 10 fingers and using digital formats for consuming books and content can help to increase productivity, efficiency and improve life in the long run. Switching to vs Code or PiCharm for Python can help unlock more features and further increase efficiency.
    • Synchronizing tasks and managing multiple operations at the same time requires conscious effort and practice, which can increase a programmer's productivity.
    • Keep track of variables, think ahead and be prepared, use locks or signs when working with multiple people, and use the right library for asynchronous IO.
    • Guido van Rossum proposed a new module in the Python standard library for asynchronous networking IO, which is based on the task-based model and is now widely used. People prefer this approach to using callbacks.
    • The Global Interpreter Lock (GIL) was introduced to provide a safe way of introducing multi-threading to Python programs, but with the advancement of Moore's Law, hardware vendors began to include multiple CPUs on a single chip, causing pressure to use parallelism. To address this, plans are now in place to introduce multiple sub-interpreters which will allow multiple Python programs to run without the need for the GIL, helping Python programmers to avoid difficult concurrency bugs.
    • The Python core developers are evaluating the potential of a version of Python with no global interpreter lock and free threading, but are concerned about the complexity and potential software bugs. If this version is created, the transition will be planned differently to avoid the same pain as the transition to Python 3.0.
    • Python 4.0 will require developers of third-party extensions to recompile their modules and make changes to ensure compatibility. Guido van Rossum encourages developers to get a head start on these changes by testing the waters early and take a look at the standard library to consider if any changes are necessary. Spring cleaning may also occur by removing modules that haven't been updated in a long time.
    • Python is popular for its versatility, compatibility, faster and more comprehensive regular expression engine, computational steering capabilities, and extensibility. These features have made Python the language of choice for data science, machine learning, and AI.
    • Python has been successful due to its open source approach which encourages software developers to build and share packages, driven by the excitement of using the language and growing the community. Despite differences in culture between companies, the great people involved have kept Python's path ahead clear.
    • Business leaders should focus on their company's core values, invest in good engineering practices and keep what works well, and constantly learn and optimize processes for product efficiency.
    • Leaders have the ability to create and grow new products, build teams, and create a vision. With the right skillset and motivation, great things can be achieved.
    • Pre-trained models and tutorials can help get interesting results with just one hour of effort, but practice and experience are key to becoming a successful coder.
    • Python is a powerful programming language that enables developers to quickly and efficiently build complex applications with its wide range of features and advanced tools. It is a language that is both powerful and easy to learn, and is constantly evolving, allowing developers to explore new levels of abstraction and create increasingly advanced projects.
    • Learning is a lifelong process that can be achieved by exploring the similarities between cells, organisms and societies, and appreciating the complexity of life on earth and importance of learning from mistakes.

    📝 Podcast Summary

    Learning Programming with Python 11

    Learning a programming language is like following a recipe.Instructions are provided in a clear and unambiguous way to get the desired result.Different people can interpret the same instructions differently depending on the context and their own experiences.Python is an example of a language, and its most recent version, Python 11, is 10-60% faster than its predecessor.It is implemented in another language, C, which is a low-level language of zeros and ones.To make code more readable, the creators of Python, including Guido van Rossam, have developed a style guide, "PEP 8", to help programmers write better code.

    Making Programming Easier Through Formatting Conventions

    Writing computer programs is a very social activity.It must be readable both to computers and other programmers.To make it easier to read, a programmer must follow conventions on how to format instructions given to the computer.This includes indentation and spacing, and even the use of symbols and shortcuts.Achieving this allows easier debugging, and makes the code easier to maintain and improve.All of this makes it easier for teams of people to work together on a project, just like a cookbook author and an amateur chef working together to recreate a dish.

    Indenting Code in Python

    Indenting code is an important part of coding as it helps us see the structure and hierarchy of the code without cluttering the page.Different programming languages have different conventions for indentation and Python uses 4 spaces per block as a compromise between readability and space usage.Some languages have indentation as a recommendation rather than a requirement, but most people follow the same rule for the sake of clarity.Python is slightly different as indentation is a fundamental part of the language, but it can be indented with different amounts of spaces.It allows us to add structure to code without using brackets which makes it easier to understand for beginners.

    Understanding the Concepts Behind Programming

    Learning to program requires a great attention to detail and an understanding of various concepts like algorithms, data structures, variables, loops, functions, recursion classes, expressions and operators.A great example is the PHP scripting language, which uses the dollar sign before a variable as a clever way to make parsing of things that contain both variable and fixed parts easier in a simple script processor.This is a fascinating example of how decisions from the past are still affecting the back end of the internet today.

    Reducing Software Bugs Through Self-Correction and Testing

    Software development is an intricate and complex process.While it is possible to create programs with a few lines of code, the reality is that these programs often contain many bugs.To help reduce the number of bugs, developers must use error-correcting and self-correcting mechanisms at multiple levels.Additionally, when something unexpected happens, users should try to reload the page a few times before assuming there’s a problem, as this is often enough to fix the issue.Finally, research has shown that mature software typically contains one bug per thousand lines of code.This highlights the importance of taking the time to thoroughly test code before releasing it.

    Maximizing Productivity Through Typing Skills

    Guido van Rossum, the creator of Python, talks about the development process and the importance of typing skills.He explains that when typing in code, mistakes are inevitable and one should be prepared for the backspacing that will come with it.He suggests that for a more experienced coder, the use of arrow keys and mouse can be faster than backspacing.Finally, he encourages people to accept who they are and to find the setup that maximizes productivity for them.

    Learning Programming for Personal Growth

    Learning to program is an important skill that can open up a lot of possibilities.It's important to keep up with the latest technology and trends, but it's also important to find the tools and techniques that work best for you.Taking risks and making mistakes is part of the learning process, and you may find that the skills you picked up in the past can still be useful.Taking the road less traveled may lead to unexpected discoveries and innovations.Investing the time and effort to learn a new language or technology can be rewarding, and you never know where it might take you.

    Considering Time, Effort, and Community in Technology Choices

    Making decisions about which technology to learn and use for any particular project can be a difficult choice.It is important to consider the time and effort needed to learn something new.It is also important to consider the community and culture that is associated with the technology.It is impossible to predict which technologies will be around for the long-term, so it is important to consider the existing skillset and comfort when making the decision.Ultimately, it is important to accept that not every choice is perfect, and to keep a plan B in mind.

    Careful Analysis and Gut Feeling Lead to Better Results in Learning a Programming Language

    Learning a programming language can be a difficult journey, but the rewards can be great.It isn't simply about the syntax, but also the community and the impact the language can have.It is important to consider where the language is headed, what large systems are using it, and how it compares to other languages.It is also important to remember that different languages will be better for different people, and there is no one "right" language.Making an informed decision requires careful analysis and a gut feeling, but it is important to remember that the market is competitive, and there is not enough room for everyone.As technology advances, the need for increased performance has to be weighed against the simplicity of the code.Rewriting algorithms using more memory and remembering previous results can lead to better performance.

    Understanding Recipes with Python Interpreter

    Python is a programming language which comes with an interpreter that helps to understand recipes.This interpreter is a recipe for understanding recipes and it helps to run a program.It also helps to improve the performance of the program by focusing on a few areas which still have low-hanging fruit.It is also simple to understand and follow for other programmers as it is not too complex.Furthermore, the algorithm can be improved by using the square root of the number and by skipping all the even numbers except for two.This helps to reduce the search base by 50%.

    Combining Compiler and Interpreter for Efficient Code Execution

    Python is a language that combines a compiler and an interpreter.The compiler takes code entered by the user and compiles it into bytecode, a form of code that the interpreter can then read.This bytecode is more easily digested by the interpreter, and is how Python is able to run the same code over and over again efficiently.The interpreter then takes the bytecode and uses it to run the code.The compiler has been tweaked over time, but mostly the work has been done in the interpreter to make it more efficient.The interpreter has been improved to specialize in adaptive functions, such as adding integers or floating point numbers.In addition, functions can be written to use symbols like the plus sign, which makes them easier to read.All of this combines to make Python an efficient and user-friendly language.

    Interpreting Bit Patterns with Power Functions

    Power functions can be used to interpret bit patterns.Depending on the type of data, the function will interpret the bit pattern differently (e.g.as a integer, floating point or string).There are optimisations that can take place when the same type of data is used multiple times in a line of code.To make sure the data is the same type an additional check is needed.If this check fails, the generic function must be used instead, which may take more time.Overall, using the same data type multiple times can result in faster code execution.

    Exploring Heuristics and Type Hinting in Python

    Heuristics is a way of making decisions based on experimentation and knowledge.Guido van Rossum is an example of someone who has used heuristics to create a language that is both efficient and dynamic.He has looked to other interpreted languages for tricks to speed up Python, and has also looked to academia for ideas.Type hinting is an optional feature of Python that allows developers to assert what type of variable they are working with.This can be a useful tool for larger codebases but does not currently speed up the interpreter.Guido van Rossum has made a choice to not enforce type annotations in Python as it could prevent some programs from even running.There are third party libraries available to help with manual static typing if desired.Heuristics is a great tool for making decisions and can be used to make efficient and dynamic languages like Python.

    Python Type-Checking: Mypy and TypeScript

    Python is a respectful language that allows you to look up type hints at runtime, so third party libraries can enforce them.This can be beneficial in debugging as it can catch errors before it reaches production, but it can also slow down code.Mypy is an add-on static type checker for Python that was proposed by a Finnish developer.It does not require any changes to Python, and its syntax is a compromise between the developer and Van Rossum.Type Script is a similar language that is becoming more popular in the JavaScript community.It is currently in the process of adding a feature that allows it to ignore certain syntax, similar to Python.

    Ensuring Bug-Free Code with TypeScript

    TypeScript is a great tool to help developers keep their code error-free, and it has great compatibility with JavaScript.Even code written in pure JavaScript can be used by TypeScript programs, and vice versa.The JavaScript world is constantly evolving, so much so that the need for translation is lessening as browsers support the latest version of ECMAScript.This evolution is similar to a biological system, and it's fascinating to see how JavaScript has changed over time.TypeScript is a great way to make sure that code is written correctly and efficiently.Not only does it help with editing, but it also ensures that code is bug-free.

    Utilizing Static Type Checkers for Clean and Bug-Free Code

    Static type checkers are used to help developers find bugs that the compiler doesn't detect and also to check for style rules.They are used to compare expected data types with the type of data that is actually used.Google and Facebook both developed their own static type checkers, while Microsoft has developed their own called Pi Wright.While there is no current plan to integrate static type checkers into the language, this could change in the future.In the meantime, these type checkers are a great tool to help developers write clean and bug-free code.

    Exploring the Benefits of a Static Type Checker

    Modern software development often requires the use of a Static Type Checker.This tool is used to discover errors and potential issues before a program is released into the wild.The Type Checker can be updated regularly and can use a variety of experimental ideas that are not part of the official language syntax.This allows developers to explore and identify potential issues with their code.Furthermore, many developers use a Static Type Checker as part of their Continuous Integration Cycle.This helps ensure the highest quality code is released.Finally, Type Hinting is becoming increasingly popular, with estimates of 20-30% of Python code bases making use of it.While the best IDE for Python is subjective, many have found success with using tools such as PyCharm, VS Code, Vim, or EMACS.

    Unlocking Increased Efficiency Through Emerging Technologies

    Investing in learning to type with 10 fingers and using digital formats for consuming books and content can help in increasing productivity, efficiency and eventually improve life in the long run.With emerging technologies, it is important to anticipate the changes and adapt to them.Switching to vs Code or PiCharm for Python can help in unlocking more features, increasing efficiency and help in the long run.

    Mastering the Art of Synchronization

    The complexity of programming can be daunting.Synchronizing tasks and managing multiple operations at the same time can be particularly challenging.It is like trying to balance a checkbook and watch a murder mystery on TV at the same time.The programmer needs to be able to keep track of multiple things, which requires conscious effort and practice.Just like a fisherman with multiple rods can catch four times as much fish with a small investment, a programmer can increase their productivity by mastering the art of synchronization.

    Have the Right Tools and Knowledge for Coding

    Using the right tools for the job is important when it comes to coding.Just like a baker needs an oven to make a cake, a programmer needs the right code and variables to get their job done.You need to keep track of what variables you're using and how they interact.You need to think ahead and be prepared for any possible orderings that could happen.If you're working with multiple people, you might need to use a lock or a sign so that everyone knows what is available and what is reserved.Finally, when it comes to asynchronous IO, you need the right library to help you manage multiple network connections and requests.Being prepared with the right tools and knowledge can make coding much easier.

    Exploring the Task-Based Model for Asynchronous Networking IO

    Guido van Rossum proposed a new module in the Python standard library to enable multiplexing input output from different sources.Through a debate, he discussed the two fundamental approaches to parallel IO, and the pros and cons of both.He chose a task based model and developed a library for asynchronous networking IO based on that paradigm.People enjoy this approach to asynchronous IO more than using callbacks.The proposal was successful and is now widely used.

    Python Multi-Threading and Concurrency

    Guido van Rossum's discussion of the global interpreter lock (GIL) explains how Python was not originally written with concurrency or parallelism in mind.The GIL was introduced to provide a safe way of introducing multi-threading to Python programs.It enabled the use of multiple threads, even on computers with only one CPU.With the advancement of Moore's Law, hardware vendors eventually began to include multiple CPUs on a single chip.This caused pressure to use parallelism, and the GIL was no longer able to keep up.There are now plans to introduce multiple sub-interpreters, which will allow multiple Python programs to run without the need for the GIL.This will help Python programmers to avoid difficult concurrency bugs.

    Exploring the Possibility of a Free Threading Python

    Python is an ever-evolving language and the core developers are constantly looking for ways to improve it.Many people would like to see a version which has no global interpreter lock and so-called free threading.However, this could lead to more software bugs.There is a Facebook developer who has created a fork of C Python, called Nogi interpreter, which removes the global interpreter lock and makes certain optimizations.This could be an interesting way to go, but the Python core developers are not yet convinced of the need and complexity of such an interpreter.If a new version of Python is created, the transition will be planned differently to avoid the same pain as the transition to Python 3.0.

    Recompiling Extension Modules for Python 4.0

    Python 4.0 will be syntactically compatible with Python 3.19 and will not have any new syntactical features.The only change will be for extension modules, which will have to be recompiled.A heads up for the developers of third party extensions will be required as many extensions are currently low on maintainers.Extension developers can test the waters to see what changes they need to make to be compatible with Python 4.0.Python 4.0 will be the official moment when the no-GI mode is the default and maybe the only mode there is.Guido van Rossum is not a big user of third party packages, but he keeps an eye on the standard library to understand where it should be moving.He also does some spring cleaning by removing modules that have not had a lot of change in a long time.Python 4.0 is a major change for developers who use third party extensions.It requires them to recompile their modules, and to make changes to ensure compatibility.Guido van Rossum encourages developers to get a head start on these changes by testing the waters early.He also recommends that developers take a look at the standard library and consider if any changes are necessary.Finally, Guido van Rossum occasionally does some spring cleaning by removing modules that haven't been updated in a long time.This helps keep the Python language up to date and efficient.

    Python: The Preferred Language for Machine Learning

    Python has become the go-to language for the machine learning community thanks to its versatility.The language has been used to create powerful libraries such as Pie, TensorFlow, and SciPi, as well as to develop visualization tools like npi and pandas.Python is popular because it offers compatibility, faster and more comprehensive regular expression engine and computational steering capabilities.Its extensibility allows for the creation of powerful libraries for large arrays of numbers, which scientists could easily exchange and use.This, combined with the fact that it was known by the users, made Python the language of choice for data science, machine learning and AI.

    Python's Egalitarian Approach to Open Source

    Python, a widely used open source language, has been successful due to its egalitarian approach to open source.It has an exciting feel to it which invites tinkerers and hackers to build packages from scratch and share it with others.This drives the excitement of using the language and growing the community.As the BDFL, Guido van Rossum found it a source of stress and he should have relinquished his role sooner.The successor structure of the steering council still leads the community in the same direction with a clear path ahead.Despite the differences in culture between Google, Dropbox and Microsoft, the common factor is the great people involved.

    Focusing on Core Values and Good Engineering Practices for Success

    As a business leader, it is important to focus on the core values of your company and not get too distracted by the "turbulence" of internal changes.Making sure that the product is always working well, and providing value and happiness to customers is the key to success.Microsoft and Google are great examples of this.They have focused on their core product, such as search and ads, and have been able to grow their companies while also embracing open source culture and the developer community.Excel is a great example of a product that has been around for 35 years, and still works very well.This shows that investing in good engineering practices and keeping what works well can be incredibly successful.Finally, it is important to always be learning and finding ways to make yourself and your products more efficient.Knowing shortcuts and optimizing workflow can help unlock the full potential of any product.

    Unlocking the Power of Leadership Through Coding and Software Engineering

    Having knowledge of coding and software engineering is a great asset for a leader.Guido van Rossum, the creator of Python, has seen firsthand the power of leadership and how it can transform a company.Through his personal charm and smart thinking, he was able to turn a company that was struggling and hostile towards open source into one that embraced it.Leaders have the ability to create and grow new products, building teams and creating a vision.Guido also highlights that a leader can come from within the company, with the right individual having the right skillset.His advice to programming beginners is to find something they want to do and motivate themselves to learn the language.With the right leadership, great things can be achieved.

    Achieving Proficiency in Python Takes Time and Practice

    When it comes to learning a programming language like Python, it is important to understand that it is not a one-hour job.It takes months, sometimes even years to become proficient in programming.However, getting started with pre-trained models is one of the best ways to learn the basics of Python.While tutorials that promise to teach you Python in a few days should be taken with a grain of salt, it is possible to get interesting results with just one hour of effort.This may not be the best way to learn but it can give you an idea of what you can do with Python.In the long run, practice and experience are key to become a successful coder.GitHub Co-Pilot can be a great assistant in writing code.But the creativity and decision making of coding is still up to the human programmer.Python will continue to evolve, and with the advancement of technology, it will be interesting to see how it can be applied in the future, even in the most unexpected places.

    Unlock the Power of Python for Complex Projects

    Python is a powerful programming language that allows developers to create complex and unique projects.It is an essential tool for developers who need to build complex systems, as it offers a wide range of features and advanced tools.Python enables developers to create abstractions that help them quickly and efficiently build applications.It is a language that is both powerful and easy to learn, allowing developers to build complex systems and programs quickly and effectively.Furthermore, it is a tool that is constantly evolving, allowing developers to continue to explore new levels of abstraction and create more and more advanced projects.

    Exploring the Similarities Between Cells, Organisms and Societies

    Learning is a lifelong process, with lessons to be found everywhere.Guido van Rossum explored the similarities between cells, organisms and societies, how they all replicate and work together.By looking at different levels, we can find the same patterns in natural languages and programming languages, as well as in humans and civilizations.It's an intriguing concept, and one that we can strive to understand more deeply.Whether it’s through philosophical or technical conversations, we can appreciate the complexity of life on earth and the importance of learning from mistakes.

    Recent Episodes from Lex Fridman Podcast

    #429 – Paul Rosolie: Jungle, Apex Predators, Aliens, Uncontacted Tribes, and God

    #429 – Paul Rosolie: Jungle, Apex Predators, Aliens, Uncontacted Tribes, and God
    Paul Rosolie is a naturalist, explorer, author, and founder of Junglekeepers, dedicating his life to protecting the Amazon rainforest. Support his efforts at https://junglekeepers.org Please support this podcast by checking out our sponsors: - ShipStation: https://shipstation.com/lex and use code LEX to get 60-day free trial - Yahoo Finance: https://yahoofinance.com - BetterHelp: https://betterhelp.com/lex to get 10% off - NetSuite: http://netsuite.com/lex to get free product tour - Eight Sleep: https://eightsleep.com/lex to get $350 off - Shopify: https://shopify.com/lex to get $1 per month trial Transcript: https://lexfridman.com/paul-rosolie-2-transcript EPISODE LINKS: Paul's Instagram: https://instagram.com/paulrosolie Junglekeepers: https://junglekeepers.org Paul's Website: https://paulrosolie.com Mother of God (book): https://amzn.to/3ww2ob1 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/ YouTube Full Episodes: https://youtube.com/lexfridman YouTube Clips: https://youtube.com/lexclips SUPPORT & CONNECT: - Check out the sponsors above, it's the best way to support this podcast - Support on Patreon: https://www.patreon.com/lexfridman - Twitter: https://twitter.com/lexfridman - Instagram: https://www.instagram.com/lexfridman - LinkedIn: https://www.linkedin.com/in/lexfridman - Facebook: https://www.facebook.com/lexfridman - Medium: https://medium.com/@lexfridman OUTLINE: Here's the timestamps for the episode. On some podcast players you should be able to click the timestamp to jump to that time. (00:00) - Introduction (12:29) - Amazon jungle (14:47) - Bushmaster snakes (26:13) - Black caiman (44:33) - Rhinos (47:47) - Anacondas (1:18:04) - Mammals (1:30:10) - Piranhas (1:41:00) - Aliens (1:58:45) - Elephants (2:10:02) - Origin of life (2:23:21) - Explorers (2:36:38) - Ayahuasca (2:45:03) - Deep jungle expedition (2:59:09) - Jane Goodall (3:01:41) - Theodore Roosevelt (3:12:36) - Alone show (3:22:23) - Protecting the rainforest (3:38:36) - Snake makes appearance (3:46:47) - Uncontacted tribes (4:00:11) - Mortality (4:01:39) - Steve Irwin (4:09:18) - God
    Lex Fridman Podcast
    enMay 15, 2024

    #428 – Sean Carroll: General Relativity, Quantum Mechanics, Black Holes & Aliens

    #428 – Sean Carroll: General Relativity, Quantum Mechanics, Black Holes & Aliens
    Sean Carroll is a theoretical physicist, author, and host of Mindscape podcast. Please support this podcast by checking out our sponsors: - HiddenLayer: https://hiddenlayer.com/lex - Cloaked: https://cloaked.com/lex and use code LexPod to get 25% off - Notion: https://notion.com/lex - Shopify: https://shopify.com/lex to get $1 per month trial - NetSuite: http://netsuite.com/lex to get free product tour Transcript: https://lexfridman.com/sean-carroll-3-transcript EPISODE LINKS: Sean's Website: https://preposterousuniverse.com Mindscape Podcast: https://www.preposterousuniverse.com/podcast/ Sean's YouTube: https://youtube.com/@seancarroll Sean's Patreon: https://www.patreon.com/seanmcarroll Sean's Twitter: https://twitter.com/seanmcarroll Sean's Instagram: https://instagram.com/seanmcarroll Sean's Papers: https://scholar.google.com/citations?user=Lfifrv8AAAAJ Sean's Books: https://amzn.to/3W7yT9N 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/ YouTube Full Episodes: https://youtube.com/lexfridman YouTube Clips: https://youtube.com/lexclips SUPPORT & CONNECT: - Check out the sponsors above, it's the best way to support this podcast - Support on Patreon: https://www.patreon.com/lexfridman - Twitter: https://twitter.com/lexfridman - Instagram: https://www.instagram.com/lexfridman - LinkedIn: https://www.linkedin.com/in/lexfridman - Facebook: https://www.facebook.com/lexfridman - Medium: https://medium.com/@lexfridman OUTLINE: Here's the timestamps for the episode. On some podcast players you should be able to click the timestamp to jump to that time. (00:00) - Introduction (11:03) - General relativity (23:22) - Black holes (28:11) - Hawking radiation (32:19) - Aliens (41:15) - Holographic principle (1:05:38) - Dark energy (1:11:38) - Dark matter (1:20:34) - Quantum mechanics (1:41:56) - Simulation (1:44:18) - AGI (1:58:42) - Complexity (2:11:25) - Consciousness (2:20:32) - Naturalism (2:24:49) - Limits of science (2:29:34) - Mindscape podcast (2:39:29) - Einstein

    #427 – Neil Adams: Judo, Olympics, Winning, Losing, and the Champion Mindset

    #427 – Neil Adams: Judo, Olympics, Winning, Losing, and the Champion Mindset
    Neil Adams is a judo world champion, 2-time Olympic silver medalist, 5-time European champion, and often referred to as the Voice of Judo. Please support this podcast by checking out our sponsors: - ZipRecruiter: https://ziprecruiter.com/lex - Eight Sleep: https://eightsleep.com/lex to get special savings - MasterClass: https://masterclass.com/lexpod to get 15% off - LMNT: https://drinkLMNT.com/lex to get free sample pack - NetSuite: http://netsuite.com/lex to get free product tour Transcript: https://lexfridman.com/neil-adams-transcript EPISODE LINKS: Neil's Instagram: https://instagram.com/naefighting Neil's YouTube: https://youtube.com/NAEffectiveFighting Neil's TikTok: https://tiktok.com/@neiladamsmbe Neil's Facebook: https://facebook.com/NeilAdamsJudo Neil's X: https://x.com/NeilAdamsJudo Neil's Website: https://naeffectivefighting.com Neil's Podcast: https://naeffectivefighting.com/podcasts/the-dojo-collective-podcast A Life in Judo (book): https://amzn.to/4d3DtfB A Game of Throws (audiobook): https://amzn.to/4aA2WeJ 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/ YouTube Full Episodes: https://youtube.com/lexfridman YouTube Clips: https://youtube.com/lexclips SUPPORT & CONNECT: - Check out the sponsors above, it's the best way to support this podcast - Support on Patreon: https://www.patreon.com/lexfridman - Twitter: https://twitter.com/lexfridman - Instagram: https://www.instagram.com/lexfridman - LinkedIn: https://www.linkedin.com/in/lexfridman - Facebook: https://www.facebook.com/lexfridman - Medium: https://medium.com/@lexfridman OUTLINE: Here's the timestamps for the episode. On some podcast players you should be able to click the timestamp to jump to that time. (00:00) - Introduction (09:13) - 1980 Olympics (26:35) - Judo explained (34:40) - Winning (52:54) - 1984 Olympics (1:01:55) - Lessons from losing (1:17:37) - Teddy Riner (1:37:12) - Training in Japan (1:52:51) - Jiu jitsu (2:03:59) - Training (2:27:18) - Advice for beginners

    #426 – Edward Gibson: Human Language, Psycholinguistics, Syntax, Grammar & LLMs

    #426 – Edward Gibson: Human Language, Psycholinguistics, Syntax, Grammar & LLMs
    Edward Gibson is a psycholinguistics professor at MIT and heads the MIT Language Lab. Please support this podcast by checking out our sponsors: - Yahoo Finance: https://yahoofinance.com - Listening: https://listening.com/lex and use code LEX to get one month free - Policygenius: https://policygenius.com/lex - Shopify: https://shopify.com/lex to get $1 per month trial - Eight Sleep: https://eightsleep.com/lex to get special savings Transcript: https://lexfridman.com/edward-gibson-transcript EPISODE LINKS: Edward's X: https://x.com/LanguageMIT TedLab: https://tedlab.mit.edu/ Edward's Google Scholar: https://scholar.google.com/citations?user=4FsWE64AAAAJ TedLab's YouTube: https://youtube.com/@Tedlab-MIT 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/ YouTube Full Episodes: https://youtube.com/lexfridman YouTube Clips: https://youtube.com/lexclips SUPPORT & CONNECT: - Check out the sponsors above, it's the best way to support this podcast - Support on Patreon: https://www.patreon.com/lexfridman - Twitter: https://twitter.com/lexfridman - Instagram: https://www.instagram.com/lexfridman - LinkedIn: https://www.linkedin.com/in/lexfridman - Facebook: https://www.facebook.com/lexfridman - Medium: https://medium.com/@lexfridman OUTLINE: Here's the timestamps for the episode. On some podcast players you should be able to click the timestamp to jump to that time. (00:00) - Introduction (10:53) - Human language (14:59) - Generalizations in language (20:46) - Dependency grammar (30:45) - Morphology (39:20) - Evolution of languages (42:40) - Noam Chomsky (1:26:46) - Thinking and language (1:40:16) - LLMs (1:53:14) - Center embedding (2:19:42) - Learning a new language (2:23:34) - Nature vs nurture (2:30:10) - Culture and language (2:44:38) - Universal language (2:49:01) - Language translation (2:52:16) - Animal communication

    #425 – Andrew Callaghan: Channel 5, Gonzo, QAnon, O-Block, Politics & Alex Jones

    #425 – Andrew Callaghan: Channel 5, Gonzo, QAnon, O-Block, Politics & Alex Jones
    Andrew Callaghan is the host of Channel 5 on YouTube, where he does street interviews with fascinating humans at the edges of society, the so-called vagrants, vagabonds, runaways, outlaws, from QAnon adherents to Phish heads to O Block residents and much more. Please support this podcast by checking out our sponsors: - ShipStation: https://shipstation.com/lex and use code LEX to get 60-day free trial - BetterHelp: https://betterhelp.com/lex to get 10% off - LMNT: https://drinkLMNT.com/lex to get free sample pack - MasterClass: https://masterclass.com/lexpod to get 15% off - AG1: https://drinkag1.com/lex to get 1 month supply of fish oil Transcript: https://lexfridman.com/andrew-callaghan-transcript EPISODE LINKS: Channel 5 with Andrew Callaghan: https://www.youtube.com/channel5YouTube Andrew's Instagram: https://instagram.com/andreww.me Andrew's Website: https://andrew-callaghan.com/ Andrew's Patreon: https://www.patreon.com/channel5 This Place Rules: https://www.hbo.com/movies/this-place-rules Books Mentioned: On the Road: https://amzn.to/4aLPLHi Siddhartha: https://amzn.to/49rthKz 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/ YouTube Full Episodes: https://youtube.com/lexfridman YouTube Clips: https://youtube.com/lexclips SUPPORT & CONNECT: - Check out the sponsors above, it's the best way to support this podcast - Support on Patreon: https://www.patreon.com/lexfridman - Twitter: https://twitter.com/lexfridman - Instagram: https://www.instagram.com/lexfridman - LinkedIn: https://www.linkedin.com/in/lexfridman - Facebook: https://www.facebook.com/lexfridman - Medium: https://medium.com/@lexfridman OUTLINE: Here's the timestamps for the episode. On some podcast players you should be able to click the timestamp to jump to that time. (00:00) - Introduction (08:53) - Walmart (10:24) - Early life (29:14) - Hitchhiking (40:49) - Couch surfing (49:50) - Quarter Confessions (1:07:33) - Burning Man (1:22:44) - Protests (1:28:17) - Jon Stewart (1:31:13) - Fame (1:44:31) - Jan 6 (1:48:15) - QAnon (1:54:00) - Alex Jones (2:10:52) - Politics (2:20:29) - Response to allegations (2:37:28) - Channel 5 (2:43:04) - Rap (2:44:51) - O Block (2:48:47) - Crip Mac (2:51:59) - Aliens

    #424 – Bassem Youssef: Israel-Palestine, Gaza, Hamas, Middle East, Satire & Fame

    #424 – Bassem Youssef: Israel-Palestine, Gaza, Hamas, Middle East, Satire & Fame
    Bassem Youssef is an Egyptian-American comedian & satirist, referred to as the Jon Stewart of the Arab World. Please support this podcast by checking out our sponsors: - AG1: https://drinkag1.com/lex to get 1 month supply of fish oil - Shopify: https://shopify.com/lex to get $1 per month trial - Eight Sleep: https://eightsleep.com/lex to get special savings - LMNT: https://drinkLMNT.com/lex to get free sample pack Transcript: https://lexfridman.com/bassem-youssef-transcript EPISODE LINKS: Bassem's X: https://x.com/Byoussef Bassem's Instagram: https://instagram.com/bassem Bassem's Facebook: https://facebook.com/bassemyousseftv Bassem's Website: https://bassemyoussef.xyz 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/ YouTube Full Episodes: https://youtube.com/lexfridman YouTube Clips: https://youtube.com/lexclips SUPPORT & CONNECT: - Check out the sponsors above, it's the best way to support this podcast - Support on Patreon: https://www.patreon.com/lexfridman - Twitter: https://twitter.com/lexfridman - Instagram: https://www.instagram.com/lexfridman - LinkedIn: https://www.linkedin.com/in/lexfridman - Facebook: https://www.facebook.com/lexfridman - Medium: https://medium.com/@lexfridman OUTLINE: Here's the timestamps for the episode. On some podcast players you should be able to click the timestamp to jump to that time. (00:00) - Introduction (06:30) - Oct 7 (36:59) - Two-state solution (52:37) - Holocaust (1:00:24) - 1948 (1:09:17) - Egypt (1:23:39) - Jon Stewart (1:25:51) - Going viral during the Arab Spring (1:49:55) - Arabic vs English (2:02:18) - Sam Harris and Jihad (2:07:25) - Religion (2:26:37) - TikTok (2:31:10) - Joe Rogan (2:33:07) - Joe Biden (2:37:33) - Putin (2:39:21) - War (2:44:17) - Hope

    #423 – Tulsi Gabbard: War, Politics, and the Military Industrial Complex

    #423 – Tulsi Gabbard: War, Politics, and the Military Industrial Complex
    Tulsi Gabbard is a politician, veteran, and author of For Love of Country. Please support this podcast by checking out our sponsors: - Riverside: https://creators.riverside.fm/LEX and use code LEX to get 30% off - ExpressVPN: https://expressvpn.com/lexpod to get 3 months free - NetSuite: http://netsuite.com/lex to get free product tour - Notion: https://notion.com/lex Transcript: https://lexfridman.com/tulsi-gabbard-transcript EPISODE LINKS: For Love of Country (book): https://amzn.to/3VLlofM Tulsi's X: https://x.com/tulsigabbard Tulsi's YouTube: https://youtube.com/@TulsiGabbard Tulsi's Podcast: https://youtube.com/@TheTulsiGabbardShow Tulsi's Instagram: https://instagram.com/tulsigabbard Tulsi's Facebook: https://facebook.com/TulsiGabbard Tulsi's Website: https://tulsigabbard.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/ YouTube Full Episodes: https://youtube.com/lexfridman YouTube Clips: https://youtube.com/lexclips SUPPORT & CONNECT: - Check out the sponsors above, it's the best way to support this podcast - Support on Patreon: https://www.patreon.com/lexfridman - Twitter: https://twitter.com/lexfridman - Instagram: https://www.instagram.com/lexfridman - LinkedIn: https://www.linkedin.com/in/lexfridman - Facebook: https://www.facebook.com/lexfridman - Medium: https://medium.com/@lexfridman OUTLINE: Here's the timestamps for the episode. On some podcast players you should be able to click the timestamp to jump to that time. (00:00) - Introduction (07:14) - War in Iraq (15:00) - Battle injuries and PTSD (22:10) - War on terrorism (30:51) - War in Gaza (34:52) - War in Ukraine (38:38) - Syria (46:20) - Warmongers (55:40) - Nuclear war (1:11:08) - TikTok ban (1:23:13) - Bernie Sanders (1:28:08) - Politics (1:46:59) - Personal attacks (1:49:07) - God

    #422 – Mark Cuban: Shark Tank, DEI & Wokeism Debate, Elon Musk, Politics & Drugs

    #422 – Mark Cuban: Shark Tank, DEI & Wokeism Debate, Elon Musk, Politics & Drugs
    Mark Cuban is a businessman, investor, star of TV series Shark Tank, long-time principal owner of Dallas Mavericks, and founder of Cost Plus Drugs. Please support this podcast by checking out our sponsors: - Listening: https://listening.com/lex and use code LEX to get one month free - Cloaked: https://cloaked.com/lex and use code LexPod to get 25% off - Notion: https://notion.com/lex - Eight Sleep: https://eightsleep.com/lex to get special savings - Shopify: https://shopify.com/lex to get $1 per month trial Transcript: https://lexfridman.com/mark-cuban-transcript EPISODE LINKS: Mark's X: https://twitter.com/mcuban Mark's Instagram: https://instagram.com/mcuban Cost Plus Drugs: https://costplusdrugs.com Shark Tank: https://abc.com/shows/shark-tank Dallas Mavericks: https://www.mavs.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/ YouTube Full Episodes: https://youtube.com/lexfridman YouTube Clips: https://youtube.com/lexclips SUPPORT & CONNECT: - Check out the sponsors above, it's the best way to support this podcast - Support on Patreon: https://www.patreon.com/lexfridman - Twitter: https://twitter.com/lexfridman - Instagram: https://www.instagram.com/lexfridman - LinkedIn: https://www.linkedin.com/in/lexfridman - Facebook: https://www.facebook.com/lexfridman - Medium: https://medium.com/@lexfridman OUTLINE: Here's the timestamps for the episode. On some podcast players you should be able to click the timestamp to jump to that time. (00:00) - Introduction (11:10) - Entrepreneurship (26:03) - Shark Tank (36:29) - How Mark made first billion (1:02:39) - Dallas Mavericks (1:08:05) - DEI debate (1:43:58) - Trump vs Biden (1:46:20) - Immigration (1:55:53) - Drugs and Big Pharma (2:11:53) - AI (2:16:05) - Advice for young people

    #421 – Dana White: UFC, Fighting, Khabib, Conor, Tyson, Ali, Rogan, Elon & Zuck

    #421 – Dana White: UFC, Fighting, Khabib, Conor, Tyson, Ali, Rogan, Elon & Zuck
    Dana White is the CEO and president of the UFC. Please support this podcast by checking out our sponsors: - LMNT: https://drinkLMNT.com/lex to get free sample pack - Notion: https://notion.com/lex - AG1: https://drinkag1.com/lex to get 1 month supply of fish oil - InsideTracker: https://insidetracker.com/lex to get 20% off Transcript: https://lexfridman.com/dana-white-transcript EPISODE LINKS: Dana's X: https://x.com/danawhite Dana's Instagram: https://instagram.com/danawhite Dana's Facebook: https://facebook.com/danawhite UFC's YouTube: https://youtube.com/@UFC UFC's Website: https://ufc.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/ YouTube Full Episodes: https://youtube.com/lexfridman YouTube Clips: https://youtube.com/lexclips SUPPORT & CONNECT: - Check out the sponsors above, it's the best way to support this podcast - Support on Patreon: https://www.patreon.com/lexfridman - Twitter: https://twitter.com/lexfridman - Instagram: https://www.instagram.com/lexfridman - LinkedIn: https://www.linkedin.com/in/lexfridman - Facebook: https://www.facebook.com/lexfridman - Medium: https://medium.com/@lexfridman OUTLINE: Here's the timestamps for the episode. On some podcast players you should be able to click the timestamp to jump to that time. (00:00) - Introduction (06:31) - Mike Tyson and early days of fighting (17:10) - Jiu jitsu (23:14) - Origin of UFC (37:25) - Joe Rogan (43:31) - Lorenzo Fertitta (45:58) - Great fighters (49:55) - Khabib vs Conor (53:01) - Jon Jones (56:03) - Conor McGregor (1:01:05) - Trump (1:06:44) - Elon vs Zuck (1:08:04) - Mike Tyson vs Jake Paul (1:10:52) - Forrest Griffin vs Stephan Bonnar (1:18:06) - Gambling (1:33:08) - Mortality

    #420 – Annie Jacobsen: Nuclear War, CIA, KGB, Aliens, Area 51, Roswell & Secrecy

    #420 – Annie Jacobsen: Nuclear War, CIA, KGB, Aliens, Area 51, Roswell & Secrecy
    Annie Jacobsen is an investigative journalist and author of "Nuclear War: A Scenario" and many other books on war, weapons, government secrecy, and national security. Please support this podcast by checking out our sponsors: - HiddenLayer: https://hiddenlayer.com/lex - BetterHelp: https://betterhelp.com/lex to get 10% off - Policygenius: https://policygenius.com/lex - NetSuite: http://netsuite.com/lex to get free product tour Transcript: https://lexfridman.com/annie-jacobsen-transcript EPISODE LINKS: Nuclear War: A Scenario (book): https://amzn.to/3THZHfr Annie's Twitter: https://twitter.com/anniejacobsen Annie's Website: https://anniejacobsen.com/ Annie's Books: https://amzn.to/3TGWyMJ Annie's Books (audio): https://adbl.co/49ZnI7c 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/ YouTube Full Episodes: https://youtube.com/lexfridman YouTube Clips: https://youtube.com/lexclips SUPPORT & CONNECT: - Check out the sponsors above, it's the best way to support this podcast - Support on Patreon: https://www.patreon.com/lexfridman - Twitter: https://twitter.com/lexfridman - Instagram: https://www.instagram.com/lexfridman - LinkedIn: https://www.linkedin.com/in/lexfridman - Facebook: https://www.facebook.com/lexfridman - Medium: https://medium.com/@lexfridman OUTLINE: Here's the timestamps for the episode. On some podcast players you should be able to click the timestamp to jump to that time. (00:00) - Introduction (07:37) - Nuclear war (12:21) - Launch procedure (18:00) - Deterrence (21:34) - Tactical nukes (30:59) - Nuclear submarines (33:59) - Nuclear missiles (41:10) - Nuclear football (50:17) - Missile interceptor system (54:34) - North Korea (1:01:10) - Nuclear war scenarios (1:10:02) - Warmongers (1:14:31) - President's cognitive ability (1:20:43) - Refusing orders (1:28:41) - Russia and Putin (1:33:48) - Cyberattack (1:35:09) - Ground zero of nuclear war (1:39:48) - Surviving nuclear war (1:44:06) - Nuclear winter (1:54:29) - Alien civilizations (2:00:04) - Extrasensory perception (2:13:50) - Area 51 (2:17:48) - UFOs and aliens (2:28:15) - Roswell incident (2:34:55) - CIA assassinations (2:53:47) - Navalny (2:56:12) - KGB (3:02:48) - Hitler and the atomic bomb (3:06:52) - War and human nature (3:10:17) - Hope