Logo
    Search

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

    enNovember 26, 2022

    Podcast Summary

    • Learning Programming with Python 11Python 11 is 10-60% faster than its predecessor and provides a style guide, "PEP 8", to help programmers write better code for improved readability.

      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 ConventionsFormatting 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.

      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 PythonPython 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.

      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 ProgrammingProgramming 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.

      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 TestingError-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.

      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 SkillsGuido 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.

      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 GrowthLearning 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.

      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 ChoicesWhen 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.

      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 LanguageWhen 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.

      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 InterpreterPython 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 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 ExecutionPython 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.

      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 FunctionsUsing 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.

      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 PythonHeuristics 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.

      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 TypeScriptMypy 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.

      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 TypeScriptTypeScript is a great tool to help developers keep their code error-free, and it helps ensure that code is written correctly and efficiently.

      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 CodeStatic 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.

      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 CheckerA 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.

      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 TechnologiesInvesting 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.

      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 SynchronizationSynchronizing tasks and managing multiple operations at the same time requires conscious effort and practice, which can increase a programmer's productivity.

      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 CodingKeep 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.

      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 IOGuido 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.

      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 ConcurrencyThe 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.

      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 PythonThe 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 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.0Python 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 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 LearningPython 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 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 SourcePython 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.

      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 SuccessBusiness 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.

      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 EngineeringLeaders 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.

      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 PracticePre-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.

      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 ProjectsPython 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.

      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 SocietiesLearning 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.

      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

    #435 – Andrew Huberman: Focus, Controversy, Politics, and Relationships

    #435 – Andrew Huberman: Focus, Controversy, Politics, and Relationships
    Andrew Huberman is a neuroscientist at Stanford and host of the Huberman Lab Podcast. Please support this podcast by checking out our sponsors: - Eight Sleep: https://eightsleep.com/lex to get $350 off - LMNT: https://drinkLMNT.com/lex to get free sample pack - AG1: https://drinkag1.com/lex to get 1 month supply of fish oil - Shopify: https://shopify.com/lex to get $1 per month trial - NetSuite: http://netsuite.com/lex to get free product tour - BetterHelp: https://betterhelp.com/lex to get 10% off Transcript: https://lexfridman.com/andrew-huberman-5-transcript EPISODE LINKS: Andrew's YouTube: https://youtube.com/AndrewHubermanLab Andrew's Instagram: https://instagram.com/hubermanlab Andrew's Website: https://hubermanlab.com Andrew's X: https://x.com/hubermanlab Andrew's book on Amazon: https://amzn.to/3RNSIQN Andrew's book: https://hubermanlab.com/protocols-book 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:24) - Quitting and evolving (17:22) - How to focus and think deeply (19:56) - Cannabis drama (30:08) - Jungian shadow (40:35) - Supplements (43:38) - Nicotine (48:01) - Caffeine (49:48) - Math gaffe (1:06:50) - 2024 presidential elections (1:13:47) - Great white sharks (1:22:32) - Ayahuasca & psychedelics (1:37:33) - Relationships (1:45:08) - Productivity (1:53:58) - Friendship
    Lex Fridman Podcast
    enJune 28, 2024

    #434 – Aravind Srinivas: Perplexity CEO on Future of AI, Search & the Internet

    #434 – Aravind Srinivas: Perplexity CEO on Future of AI, Search & the Internet
    Arvind Srinivas is CEO of Perplexity, a company that aims to revolutionize how we humans find answers to questions on the Internet. Please support this podcast by checking out our sponsors: - Cloaked: https://cloaked.com/lex and use code LexPod to get 25% off - ShipStation: https://shipstation.com/lex and use code LEX to get 60-day free trial - NetSuite: http://netsuite.com/lex to get free product tour - LMNT: https://drinkLMNT.com/lex to get free sample pack - Shopify: https://shopify.com/lex to get $1 per month trial - BetterHelp: https://betterhelp.com/lex to get 10% off Transcript: https://lexfridman.com/aravind-srinivas-transcript EPISODE LINKS: Aravind's X: https://x.com/AravSrinivas Perplexity: https://perplexity.ai/ Perplexity's X: https://x.com/perplexity_ai 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:52) - How Perplexity works (18:48) - How Google works (41:16) - Larry Page and Sergey Brin (55:50) - Jeff Bezos (59:18) - Elon Musk (1:01:36) - Jensen Huang (1:04:53) - Mark Zuckerberg (1:06:21) - Yann LeCun (1:13:07) - Breakthroughs in AI (1:29:05) - Curiosity (1:35:22) - $1 trillion dollar question (1:50:13) - Perplexity origin story (2:05:25) - RAG (2:27:43) - 1 million H100 GPUs (2:30:15) - Advice for startups (2:42:52) - Future of search (3:00:29) - Future of AI
    Lex Fridman Podcast
    enJune 19, 2024

    #433 – Sara Walker: Physics of Life, Time, Complexity, and Aliens

    #433 – Sara Walker: Physics of Life, Time, Complexity, and Aliens
    Sara Walker is an astrobiologist and theoretical physicist. She is the author of a new book titled "Life as No One Knows It: The Physics of Life's Emergence". Please support this podcast by checking out our sponsors: - Notion: https://notion.com/lex - Motific: https://motific.ai - Shopify: https://shopify.com/lex to get $1 per month trial - BetterHelp: https://betterhelp.com/lex to get 10% off - AG1: https://drinkag1.com/lex to get 1 month supply of fish oil Transcript: https://lexfridman.com/sara-walker-3-transcript EPISODE LINKS: Sara's Book - Life as No One Knows It: https://amzn.to/3wVmOe1 Sara's X: https://x.com/Sara_Imari Sara's Instagram: https://instagram.com/alien_matter 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:40) - Definition of life (31:18) - Time and space (42:00) - Technosphere (46:25) - Theory of everything (55:06) - Origin of life (1:16:44) - Assembly theory (1:32:58) - Aliens (1:44:48) - Great Perceptual Filter (1:48:45) - Fashion (1:52:47) - Beauty (1:59:08) - Language (2:05:50) - Computation (2:15:37) - Consciousness (2:24:28) - Artificial life (2:48:21) - Free will (2:55:05) - Why anything exists
    Lex Fridman Podcast
    enJune 13, 2024

    #432 – Kevin Spacey: Power, Controversy, Betrayal, Truth & Love in Film and Life

    #432 – Kevin Spacey: Power, Controversy, Betrayal, Truth & Love in Film and Life
    Kevin Spacey is a two-time Oscar-winning actor, who starred in Se7en, the Usual Suspects, American Beauty, and House of Cards, creating haunting performances of characters who often embody the dark side of human nature. Please support this podcast by checking out our sponsors: - ExpressVPN: https://expressvpn.com/lexpod to get 3 months free - Eight Sleep: https://eightsleep.com/lex to get $350 off - BetterHelp: https://betterhelp.com/lex to get 10% off - Shopify: https://shopify.com/lex to get $1 per month trial - AG1: https://drinkag1.com/lex to get 1 month supply of fish oil EPISODE LINKS: Kevin's X: https://x.com/KevinSpacey Kevin's Instagram: https://www.instagram.com/kevinspacey Kevin's YouTube: https://youtube.com/kevinspacey Kevin's Website: https://kevinspacey.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 (10:14) - Seven (13:54) - David Fincher (21:46) - Brad Pitt and Morgan Freeman (27:15) - Acting (35:40) - Improve (44:24) - Al Pacino (48:07) - Jack Lemmon (57:25) - American Beauty (1:17:34) - Mortality (1:20:22) - Allegations (1:38:19) - House of Cards (1:56:55) - Jack Nicholson (1:59:57) - Mike Nichols (2:05:30) - Christopher Walken (2:12:38) - Father (2:21:30) - Future
    Lex Fridman Podcast
    enJune 05, 2024

    #431 – Roman Yampolskiy: Dangers of Superintelligent AI

    #431 – Roman Yampolskiy: Dangers of Superintelligent AI
    Roman Yampolskiy is an AI safety researcher and author of a new book titled AI: Unexplainable, Unpredictable, Uncontrollable. Please support this podcast by checking out our sponsors: - Yahoo Finance: https://yahoofinance.com - MasterClass: https://masterclass.com/lexpod to get 15% off - NetSuite: http://netsuite.com/lex to get free product tour - LMNT: https://drinkLMNT.com/lex to get free sample pack - Eight Sleep: https://eightsleep.com/lex to get $350 off EPISODE LINKS: Roman's X: https://twitter.com/romanyam Roman's Website: http://cecs.louisville.edu/ry Roman's AI book: https://amzn.to/4aFZuPb 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:12) - Existential risk of AGI (15:25) - Ikigai risk (23:37) - Suffering risk (27:12) - Timeline to AGI (31:44) - AGI turing test (37:06) - Yann LeCun and open source AI (49:58) - AI control (52:26) - Social engineering (54:59) - Fearmongering (1:04:49) - AI deception (1:11:23) - Verification (1:18:22) - Self-improving AI (1:30:34) - Pausing AI development (1:36:51) - AI Safety (1:46:35) - Current AI (1:51:58) - Simulation (1:59:16) - Aliens (2:00:50) - Human mind (2:07:10) - Neuralink (2:16:15) - Hope for the future (2:20:11) - Meaning of life
    Lex Fridman Podcast
    enJune 02, 2024

    #430 – Charan Ranganath: Human Memory, Imagination, Deja Vu, and False Memories

    #430 – Charan Ranganath: Human Memory, Imagination, Deja Vu, and False Memories
    Charan Ranganath is a psychologist and neuroscientist at UC Davis, specializing in human memory. He is the author of a new book titled Why We Remember. Please support this podcast by checking out our sponsors: - Riverside: https://creators.riverside.fm/LEX and use code LEX to get 30% off - ZipRecruiter: https://ziprecruiter.com/lex - Notion: https://notion.com/lex - MasterClass: https://masterclass.com/lexpod to get 15% off - Shopify: https://shopify.com/lex to get $1 per month trial - LMNT: https://drinkLMNT.com/lex to get free sample pack Transcript: https://lexfridman.com/charan-ranganath-transcript EPISODE LINKS: Charan's X: https://x.com/CharanRanganath Charan's Instagram: https://instagram.com/thememorydoc Charan's Website: https://charanranganath.com Why We Remember (book): https://amzn.to/3WzUF6x Charan's Google Scholar: https://scholar.google.com/citations?user=ptWkt1wAAAAJ Dynamic Memory Lab: https://dml.ucdavis.edu/ 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:18) - Experiencing self vs remembering self (23:59) - Creating memories (33:31) - Why we forget (41:08) - Training memory (51:37) - Memory hacks (1:03:26) - Imagination vs memory (1:12:44) - Memory competitions (1:22:33) - Science of memory (1:37:48) - Discoveries (1:48:52) - Deja vu (1:54:09) - False memories (2:14:14) - False confessions (2:18:00) - Heartbreak (2:25:34) - Nature of time (2:33:15) - Brain–computer interface (BCI) (2:47:19) - AI and memory (2:57:33) - ADHD (3:04:30) - Music (3:14:15) - Human mind
    Lex Fridman Podcast
    enMay 25, 2024

    #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

    Related Episodes

    Week 01 - Hello World.

    Week 01 - Hello World.
    Hmmm.

    Welcome. This is an experiment.

    An experiment with no theme song, but quite a bit of music.

    It will be some time before I figure out whether I've created a monster or not.

    But while the going is good, won't you come along on this journey with me?

    Wow, this really doesn't explain anything.


    Good luck.


    Hey! Follow me on Twitter!

    Topics this week include:
    - What the crap am I doing.
    - Habitica, an IRL RPG.
    - Python, the programming language.
    - stupid spreadsheets.
    - background music.

    Not Much Has Changed: Rich on Programming in Python

    Not Much Has Changed: Rich on Programming in Python

    As the Co-Founders of Postlight, Paul and Rich don’t often hack away and engineer anymore. This week though, Rich shares a little side project he’s been working on. He breaks down why he’s programming in Python and shares his realization that although the languages may change, the problems stay the same.

    Links: 

    Flask 

    Frozen Flask 

    Flutter

    What is Code? - Paul Ford

    See Privacy Policy at https://art19.com/privacy and California Privacy Notice at https://art19.com/privacy#do-not-sell-my-info.

    Learn Python the Hard Way with Zed Shaw

    Learn Python the Hard Way with Zed Shaw

    Welcome to the Learn to Code Podcast here at One Month. Today on the show we have Zed Shaw. Zed is the author of Learn Python the Hard Way. and the popular website Learn Code the Hardway

    In this episode, we'll be talking about how Zed learned to code, how to get the most out of his book series, and advice on next steps for after you complete Learn Python the Hard Way. 

    In my chat with Zed Shaw we discuss:

    • How Zed Shaw learned to code
    • Why Zed named his book series "Learn to Code the Hard Way"
    • Codecademy vs. Learn The Hard Way
    • Ruby vs. Django vs. Vue.js

    Episode Show Notes and Full Transcript

    The Learn to Code Podcast is available on iTunes, Spotify, Stitcher, and YouTube. Follow One Month on Facebook and Twitter.