Speaker 1: What is software code and can it be thought of
Speaker 1: like a magic spell? Are we in the process of
Speaker 1: building a world so complex that we will lose the
Speaker 1: ability to understand it? Or has that already happened a
Speaker 1: long time ago? And what does any of this have
Speaker 1: to do with SimCity or knowledge that already exists but
Speaker 1: no one is thought to put together, or inventions that
Speaker 1: evolve beyond the grasp of their creators. And what coding
Speaker 1: looks like in the near future. Welcome to Inner Cosmos
Speaker 1: with Me and David Eagleman. I'm a neuroscientist and author
Speaker 1: at Stanford and in these episodes we look at the
Speaker 1: world inside us and around us to understand why and
Speaker 1: how our lives look the way they do. Today's episode
Speaker 1: is about computer code. We live in a world increasingly
Speaker 1: built out of symbols. We've got strings of code and
Speaker 1: lines of logic and invisible layers of computation stacked very
Speaker 1: deeply in our lives. This goes from traffic lights to
Speaker 1: financial markets, to weather predictions, to streaming recommendations, to all
Speaker 1: of our apps and our AI and on and on.
Speaker 1: We are surrounded by systems that hum quietly in the background,
Speaker 1: and that orchestrate everything about our modern lives. But it's
Speaker 1: very uncommonly that we stop to ask, what is code? Really?
Speaker 1: It's a tool, but it's also a massive force that
Speaker 1: has taken over the world. So where does it come from?
Speaker 1: Where is it taking us? And what does it mean
Speaker 1: to live inside systems that we ourselves have written but
Speaker 1: we can't possibly fully understand. So today's guest invites us
Speaker 1: to see code as having an aspect of magic. We're
Speaker 1: going to talk with Samuel Arbisman. He's a complexity scientist
Speaker 1: and a writer who thinks about the evolving relationship between
Speaker 1: humans and the tools that we build, and how our
Speaker 1: creations can outpace our comprehension. He's just written a new
Speaker 1: book called The Magic of Code, and here he takes
Speaker 1: a dive into the joy and the deeper nature of programming,
Speaker 1: in other words, beyond just an engineering discipline, but instead
Speaker 1: as a hopeful and enchanted practice. I think I would
Speaker 1: describe this book as a blurring of the boundaries between
Speaker 1: science and art, between logic and myth, between our intentions
Speaker 1: with writing code and what can actually emerge. Because the
Speaker 1: paradox is that code is built from rigid languages with
Speaker 1: strict syntax and rules, but it lets us create whole
Speaker 1: worlds from scratch. We can simulate galaxies and evolve virtual creatures,
Speaker 1: and test new economies and reimagine cities, and it gives
Speaker 1: rise to things that are complex and unpredictable and often
Speaker 1: quite beautiful. So here's my interview with Sam Arbusman. So, Sam,
Speaker 1: you're a scientist with very broad interests. What drew you
Speaker 1: to writing about your latest book on the subject of code?
Speaker 2: Yeah, So, one of the things I think about when
Speaker 2: I think about how people are talking about technology and
Speaker 2: computing and code is that right now, it feels like
Speaker 2: there's almost this kind of like a broken conversation in
Speaker 2: society where when we talk about code or computing the
Speaker 2: world of tech, there is this average real stance towards it,
Speaker 2: or or just worried about it. Sometimes people are just
Speaker 2: ignorant about it and unwilling to kind of learn more.
Speaker 2: And certainly some of the adversarial stuff is reasonable. But
Speaker 2: for me, like when I think about my own experience
Speaker 2: with computers growing up, it wasn't adversarial. It was kind
Speaker 2: of full of this kind of like wonder and delight.
Speaker 2: It also didn't feel that like computing was really just
Speaker 2: this branch of engineering. It also really connected to lots
Speaker 2: of different things. It was almost like humanistic liberal arts
Speaker 2: that drew in language and philosophy and biology and art
Speaker 2: and how we think in all these different areas. And
Speaker 2: so for me, I wanted to try to explain how
Speaker 2: to think about code and computing as this almost like
Speaker 2: liberal art that attracts all these different topics.
Speaker 1: And in the book, you compare this to philology, Right,
Speaker 1: what's this you tell us about philology?
Speaker 2: Yeah, so, so philology it's this branch of humanistic study
Speaker 2: that within the humanities, it was devoted to understanding the
Speaker 2: origin of words and kind of the nature of the
Speaker 2: history of language. But philology, in the process of doing philology,
Speaker 2: it required knowing about archaeology and anthropology and history and
Speaker 2: all these different topics. And then eventually philology sort of fractured,
Speaker 2: and that's kind of where we got a lot of
Speaker 2: the different domains within the humanities. And I kind of
Speaker 2: think that in some ways computing has at least some
Speaker 2: aspect of that kind of philology as unifier of lots
Speaker 2: of different topics. And so for me, my goal was
Speaker 2: to kind of try to show how computing and code
Speaker 2: can actually have that connective tissue between all these different domains.
Speaker 1: And so you described code as being magical.
Speaker 2: Why and so when I say magical, I'm not saying
Speaker 2: that it's like magic in the sense of like, oh,
Speaker 2: like this piece of software just works, it works like magic,
Speaker 2: although there is some of that. For me, it's actually
Speaker 2: this idea that when we think about the nature of
Speaker 2: code or magic, and we've had as a society this
Speaker 2: desire for millennia to kind of coerce the world around
Speaker 2: us through our language and our texts and our speech
Speaker 2: and make the world kind of do our bidding. And
Speaker 2: only in the past, I don't know, seventy five odd
Speaker 2: years since the advent of the modern digital computer, has
Speaker 2: this been a reality where we can actually write text,
Speaker 2: we can write code, and it can actually do things
Speaker 2: in the world. And so for me, there is this
Speaker 2: deep similarity between how we've thought about magic in the
Speaker 2: ancient or medieval days, or even in the stories that
Speaker 2: we tell ourselves and the reality of code. And so,
Speaker 2: of course this analogy and metaphor can only be taken
Speaker 2: so far before it kind of breaks down. I certainly
Speaker 2: take it to the bending point, if not the breaking point.
Speaker 2: But there are a lot of deep similarities between how
Speaker 2: to think about this. So, for example, magic often requires
Speaker 2: in our stories a certain amount of training and knowledge.
Speaker 2: And it's a craft. It's not just like a thing
Speaker 2: like that just works. It actually requires you to learn
Speaker 2: certain things. And so we have Hogwarts School of Witchcraft
Speaker 2: and Wizardry. You got to go there for seven years
Speaker 2: or whatever it is. And so too with code, like
Speaker 2: it doesn't necessarily just work. You actually have to understand
Speaker 2: how like the nature of syntax and the details of
Speaker 2: code and so and so that example, as well as
Speaker 2: other ones, I kind of us to show the ways
Speaker 2: in which this this idea of like the kind of
Speaker 2: the analogy of magic actually can be a productive and
Speaker 2: useful one to help us better understand how code works.
Speaker 1: So it's not just a set of instructions. It's like
Speaker 1: a spell in the sense that you puts a strange
Speaker 1: set of symbols and it does stuff in the world
Speaker 1: that moves electrons or launches rockets, or models pandemics or
Speaker 1: creates simulations. And that's the sense in which it's got
Speaker 1: this magic to it. But also you point to the
Speaker 1: fact that there's often unpredictability and emergence of things we
Speaker 1: didn't expect from code. So can you give us an
Speaker 1: example of this dual nature of code?
Speaker 2: Yeah, I mean so certainly. In the world of magic,
Speaker 2: we have a lot of these stories, and like there's
Speaker 2: like the story of like if the source is Apprentice,
Speaker 2: which I think there's like the old version and then
Speaker 2: the Disney makeme Out version, where some sort of magic
Speaker 2: has unanticipated consequences ands only you have you have brooms
Speaker 2: kind of walking around and flooding and flooding a basement,
Speaker 2: And the same kind of thing is true with code.
Speaker 2: Where in code, I think people who might not be
Speaker 2: familiar with with programming think of it as, oh, like
Speaker 2: I have this idea in my mind and I'm going
Speaker 2: to instantiate it into a computer program. And there is that,
Speaker 2: but there's also a huge amount of debugging and frustration
Speaker 2: because oftentimes when you write a program, there's a gap
Speaker 2: between how you think it will actually work and how
Speaker 2: it actually does work. And oftentimes the reality of the
Speaker 2: program and better understanding of it is only revealed through
Speaker 2: these bugs, through these glitches and edge cases and things
Speaker 2: like that, And so there are many situations where we
Speaker 2: only see these bizarre errors, and then based on those
Speaker 2: errors and these kind of unanticipated consequences, do we realize, oh,
Speaker 2: how this thing actually works, and so it can be
Speaker 2: So there's a there's a well known story of someone
Speaker 2: who I think was like a systems administrator for some
Speaker 2: university department. He was told by the chair of the
Speaker 2: department that their email was only able to be sent
Speaker 2: about five hundred miles away, and the systems like this
Speaker 2: is insane, like email, that's not how email works. And
Speaker 2: it turned out by delving into it, and he was
Speaker 2: able to find that I think that there was like
Speaker 2: an older piece of software that hadn't been upgraded, but
Speaker 2: the newer system didn't realize this and like would time out,
Speaker 2: but only after like some very small amount of time.
Speaker 2: And it turns out, based on like the speed of
Speaker 2: sound and that small amount of time, it ended up
Speaker 2: working out to about five hundred miles and it was
Speaker 2: this weird unanticipated consequence. But of course, and there's also
Speaker 2: other things that just the fact that when you stitch
Speaker 2: systems together and pieces of software together, they all interact
Speaker 2: in unexpected ways. And that's also the kind of unanticipated
Speaker 2: consequences we see. Whether it's like some weird little system
Speaker 2: fails to get upgraded and then suddenly all like the
Speaker 2: the airline systems go down for a first certain amount
Speaker 2: of time or whatever it is. And so there is
Speaker 2: that kind of unanticipated consequence in lots of different ways.
Speaker 2: And we're seeing this, of course even more so with AI.
Speaker 1: Okay, So this is the thing that you and I
Speaker 1: both love is the emergence of comp complexity in the world.
Speaker 1: And with code it's a very specific, detailed set of instructions,
Speaker 1: and yet it can break, it can decay, it can
Speaker 1: be opaque. All kinds of things can happen. And sometimes
Speaker 1: when we try to model complexity, we actually unleash complexity.
Speaker 1: So tell us your take on how code can do
Speaker 1: things that we didn't expect it to do.
Speaker 2: Yeah, and so when we think about and just engineered
Speaker 2: systems more broadly, and certainly when it comes to code,
Speaker 2: you think, oh, it's designed by people. It sounds very logical,
Speaker 2: it's kind of derived from mathematics. It should be very
Speaker 2: simple and straightforward, and very small bits of code are that.
Speaker 2: But the truth is it adds up and then through
Speaker 2: this combination of the sizes of programs, growing them beingcoming
Speaker 2: connected to various other bits of code that are out there,
Speaker 2: as well as also just engaging with kind of the
Speaker 2: messiness of the world around us, you end up getting
Speaker 2: sort of a certain amount of unexpectedness as well as
Speaker 2: kind of just a reduced understanding. And part of this
Speaker 2: is because there's and you mentioned this kind of like
Speaker 2: it's like breaking and things kind of growing over time.
Speaker 2: There is this whole phenomenon of legacy code where code
Speaker 2: has been around for a very very long time, and
Speaker 2: we have systems that are still being you like, that
Speaker 2: are still being used that were developed decades ago, but
Speaker 2: they might be involved in kind of the irs, but
Speaker 2: they were developed first developed or in the Kennedy administration.
Speaker 2: Like there's all these kind of crazy examples where things
Speaker 2: that have been developed the people who first made them
Speaker 2: they might be and they might be long retired, they
Speaker 2: might be dead. And we also just don't fully understand
Speaker 2: these systems. And so it's this weird situation where we
Speaker 2: have to recognize that even the systems of our own
Speaker 2: construction are actually like when they become big enough, they
Speaker 2: actually have this kind of qualitative difference where they almost
Speaker 2: they almost become almost biological or organic in their complexity,
Speaker 2: and as a result, we have a reduced understanding and
Speaker 2: we have to kind of take almost biological modes of
Speaker 2: studying these systems, whether it's kind of like the days
Speaker 2: of old with like the natural is kind of going
Speaker 2: out and collecting bugs in this case could be bugs
Speaker 2: and errors. It could be bugs like insects, as well
Speaker 2: as just kind of like trying to tinker at the
Speaker 2: edges and better understand a system, because the thing overall
Speaker 2: you fully don't understand. So there's this weird situation where
Speaker 2: these systems are engineered, but they also involve kind of
Speaker 2: a certain amount of humility in trying to understand these systems.
Speaker 2: And part of that is also because one of the
Speaker 2: other features of computing and software is this idea of
Speaker 2: abstraction that you can kind of build things on top
Speaker 2: of other pieces, and those pieces are then sophisticated kind
Speaker 2: of units, and you can kind of use them as
Speaker 2: standalone bits and then don't have to worry about the
Speaker 2: things underneath it. And so that modularity is very, very powerful,
Speaker 2: but as a result, there is a decreased amount of understanding,
Speaker 2: and so sometimes not understanding what's going on under the
Speaker 2: hood or kind of underneath these pieces, even when yourself
Speaker 2: are programming them or programming kind of the things that
Speaker 2: interact with them, means that you can kind of also
Speaker 2: have a certain amount of anticipated consequences.
Speaker 1: And so what are the key limitations that you see
Speaker 1: when we try to model very complex systems?
Speaker 2: So one of the things I think about when I
Speaker 2: think about modeling complex systems is is what is the
Speaker 2: goal of modeling the complex system? So there's some situations
Speaker 2: where we really want to have perfect fidelity to a
Speaker 2: real world system. And so for predictions, like with weather,
Speaker 2: as a weather prediction, like you want to and you
Speaker 2: want to not just understand kind of how kind of
Speaker 2: air moves around, You want to really understand whether or
Speaker 2: not it's going to rain tomorrow or in an hour
Speaker 2: or two hours or whatever it is. And and based
Speaker 2: on that you have to have a great deal of
Speaker 2: data and a great deal of complexity. And then oftentimes
Speaker 2: the resulting models might be very powerful, very sophisticated, but
Speaker 2: there might be a reduced amount of understanding and actually
Speaker 2: how these things are doing what they're doing. On the
Speaker 2: other hand, if you want to just understand the features
Speaker 2: of a system, you can sometimes get away with a
Speaker 2: much simpler model, which might not necessarily be exactly the
Speaker 2: way that the model works, but could at least capture
Speaker 2: some of the complexity and kind of the and the
Speaker 2: emergence of what you were talking about of that system.
Speaker 2: And so, for example, and this is a kind of
Speaker 2: trivial example, but the computer game SimCity. It is not
Speaker 2: modeling an actual city, but to give you an intuitive
Speaker 2: sense of how feedback operates, or unanticipated consequences work, or
Speaker 2: just the fact that, like complex systems can bite back
Speaker 2: and do weird things that you might not expect. SimCity
Speaker 2: is great for that kind of thing. And so, and
Speaker 2: it can also kind of give you a sense of, oh,
Speaker 2: when I do this kind of thing, according to this
Speaker 2: model of how Will Wright or whoever was programming it
Speaker 2: thought cities would work, this maybe would be the way
Speaker 2: it works. Whether or not that is actually how the
Speaker 2: city operates, that's entirely different, different thing. But so for me,
Speaker 2: I often think about, like, yeah, what is the ultimate
Speaker 2: goal with the model? Is the goal to kind of
Speaker 2: understand things? And we have to recognizing our human minds
Speaker 2: are really limited when it comes to understanding complex and
Speaker 2: nonlinear systems, and so we need these simplified models. If
Speaker 2: it is actually just prediction, then sometimes a really complex
Speaker 2: model can work, but at the cost of reduced understanding.
Speaker 1: So as AI generated code becomes more common, what does
Speaker 1: that do to our sense of authorship and even understanding?
Speaker 1: And could we end up in a situation where we're
Speaker 1: surrounded by systems that are running our world that we
Speaker 1: don't understand at all.
Speaker 2: I mean, to be honest, I think we're probably there already.
Speaker 2: It's just the situation where I think many people are
Speaker 2: not aware of that fact. This is also one of
Speaker 2: these situations where as we build more and more complex
Speaker 2: systems and everyday users are kind of more distant from them,
Speaker 2: we just don't realize the sheer complexity. When the Apple
Speaker 2: Watch first came out, this is years ago, there was
Speaker 2: an article in the Wall Street Journal, I think it
Speaker 2: was like the Style section about like, are people going
Speaker 2: to still use like biomechanical watch? As the answer is
Speaker 2: they still are that. They interviewed this one guy about it,
Speaker 2: like whether or not you want to buy mechanical watch
Speaker 2: or just smart watches, and this guy said something to
Speaker 2: the effect of, of course I want a mechanical watch.
Speaker 2: When I think about a mechanical watch. It's so complex
Speaker 2: as opposed to a smart watch, which is just a chip,
Speaker 2: and the thing is like a chip is orders of
Speaker 2: magnitude more complex than a mechanical watch. But we've been
Speaker 2: shielded from it, and I think as we have AI
Speaker 2: generated code, we're going to kind of have another level
Speaker 2: of shielding. I do think we need better mechanisms for
Speaker 2: so interrogating the system. So I actually so I think
Speaker 2: one of these situations we're On the one hand, it
Speaker 2: is very good that we can now generate code via
Speaker 2: AI and build simple tools and actually democratize the software development.
Speaker 2: I think there's lots of interesting things there. But I
Speaker 2: still also think understanding code to a certain degree and
Speaker 2: allowing you to kind of like dive into the code
Speaker 2: that is being generated and tweak it, not only does
Speaker 2: it give you a better understanding of what you're doing,
Speaker 2: but it's still actually really good to help make sure
Speaker 2: that it is doing at least partly what you hope for.
Speaker 2: That being said, our systems have always been imperfect, and
Speaker 2: I think right now, this is this moment is kind
Speaker 2: of just heightening that fact, and maybe we'll give people
Speaker 2: a better awareness that these systems have always been enormously complex,
Speaker 2: enormously imperfect, made by humans at least at some level,
Speaker 2: but maybe give us a greater appreciation for building systems
Speaker 2: on top of these, maybe also AI generated as well,
Speaker 2: that can allow us to make sure that the the
Speaker 2: unanticipated consequences are as minimal as possible.
Speaker 1: You know, I was just thinking about right after I
Speaker 1: asked my question about could we end up living inside
Speaker 1: systems that are too complex for us to understand. Obviously,
Speaker 1: we live inside our biology, and that is for sure
Speaker 1: that we don't understand. But a fraction of what's going
Speaker 1: on inside is biologically. But we try to eat the
Speaker 1: right foods and get exercise and just just right on
Speaker 1: top of this system. So we're actually quite used to
Speaker 1: living inside systems that are beyond our understanding.
Speaker 2: Yeah, And I think and that goes back to kind
Speaker 2: of like the biological nature of these massive, complex computational systems. Like,
Speaker 2: the more we recognize that these systems are really complex
Speaker 2: and almost have like this organic quality, we will have
Speaker 2: to realize, yeah, that we need different ways of approaching
Speaker 2: them and the way we approach our bodies. Right, It's not,
Speaker 2: oh like I have total ignorance about how the system
Speaker 2: works or have complete understanding. There's there's a lot in between,
Speaker 2: and using rules of thumbs and things are are very
Speaker 2: powerful and I but at the same time, though, we
Speaker 2: don't want to necessarily kind of like succumb to like
Speaker 2: the like the biohacking trend, which I feel like five
Speaker 2: ten years ago was a really big thing where it's like, oh,
Speaker 2: if I can just find this one chemical to ingest
Speaker 2: or this one cool trick to do, then I'll never
Speaker 2: need to sleep again or I'll be held and we
Speaker 2: realize that, I mean, yeah, our system, our bodies have
Speaker 2: evolved over millions of years and are optimizing a huge
Speaker 2: number of different things, and they're going to be imperfect
Speaker 2: and weird, and so it's going to be maybe we
Speaker 2: can find those things, but the odds that we are
Speaker 2: going to is very low. And I think the same
Speaker 2: kind of thing that that same kind of approach needs
Speaker 2: to be used when we think about these complex technologies
Speaker 2: that were building around us as well.
Speaker 1: So let me ask you this, if we fast forward
Speaker 1: one hundred years, are we still coding by using symbols
Speaker 1: and syntax or is it a completely different sort of
Speaker 1: thing where we are setting initial conditions and letting complexity evolve.
Speaker 2: I would say it's very different. I don't think we
Speaker 2: need to necessarily go even one hundred years into the future.
Speaker 2: It could be like five ten years until we're kind
Speaker 2: of managing these AI generated systems. I mean. But the
Speaker 2: truth is, when I think about what coding is, it's
Speaker 2: always been this moving target, like it's always been changing.
Speaker 2: So the way I learned how to program in some
Speaker 2: of the languages I learned, they're not totally extinct, but
Speaker 2: they're not things I would ever consider using nowadays. But
Speaker 2: also even when I think about how people before me
Speaker 2: learned how to program, that too was something very very different.
Speaker 2: It was like plugging in cables or flipping switches or
Speaker 2: writing things in binary or assembly code. Like I never
Speaker 2: did those kinds of things. Nor do I really have
Speaker 2: a strong desire too. And that's okay, And I think
Speaker 2: it's going to continue changing. And so one of the
Speaker 2: ways I think about this is actually I tell this
Speaker 2: story in the book, a story from the Tumud actually
Speaker 2: where it's this conversation that's describing a conversation between God
Speaker 2: and Moses and they're discussing like, oh, like who's going
Speaker 2: to be the greatest scholar in the future, and God says, oh,
Speaker 2: it's going to be some rabbi, like a thousand and
Speaker 2: two thousand years in the future, and Moses says, can
Speaker 2: you show him to me. So there's this weird time
Speaker 2: travel moment where he's transported to the hall of Study,
Speaker 2: like a thousand years in the future whatever it is,
Speaker 2: and Moses is sitting in the back listening to this
Speaker 2: illustrious scholar talking about things, and he realizes he doesn't
Speaker 2: understand anything this guy's talking about, and he's kind of overwhelmed.
Speaker 2: He's like, Oh, I'm the one who received the law
Speaker 2: from Heaven and I don't get it until at the
Speaker 2: very last moment, the rabbi says, oh, in the way
Speaker 2: we understand all this is because of the law received
Speaker 2: from Moses at Sinai, And at that point he's calmed
Speaker 2: and because he realizes that even if he doesn't understand it,
Speaker 2: there's this clear, continuous line and kind of continuous tradition.
Speaker 2: And I feel like when it comes to code, the
Speaker 2: same kind of thing is true. Coding has changed, it
Speaker 2: will continue to change. It'll be much more like managing
Speaker 2: AI systems or some other thing. But Ultimately, it's all
Speaker 2: about taking some idea in our heads and finding some
Speaker 2: way of instantiing it into a machine and actually getting
Speaker 2: the machine to do something, to kind of do our bidding.
Speaker 2: And what that looks like is always going to be
Speaker 2: changing and so but as long as we recognize it's
Speaker 2: all part of this long tradition, I think, then I
Speaker 2: kind of do it. It's all coding, whether or not
Speaker 2: it's syntax or Python or Pearl or whatever it is,
Speaker 2: it will definitely not be that. But that's okay.
Speaker 1: First of all, I love that story. I had no
Speaker 1: idea that there was time travel and the toallment. That's amazing.
Speaker 1: I want to come back to this point that we're
Speaker 1: talking about that we're already living inside a system that
Speaker 1: is so complex. We don't understand this because you know,
Speaker 1: we program simulations, we program other things. But increasingly what
Speaker 1: it means is we're really living inside of this opaque simulation.
Speaker 1: And this will be even more true for our descendants,
Speaker 1: where they'll be living inside this world of creation that
Speaker 1: they can't understand explicitly.
Speaker 2: Danny Danny hillis the computer scientist. He has this great
Speaker 2: term where he talks about how we've kind of moved
Speaker 2: from the enlightenment to this kind of age where we
Speaker 2: could take our take our mind and kind of apply
Speaker 2: it to the world around us and really understand it.
Speaker 2: To the entanglement. We've kind of moved to this area
Speaker 2: where everything is so hopelessly interconnected, we're never going to
Speaker 2: fully understand it. And I think we've been in the
Speaker 2: entanglement for quite some time, and it's it's really just
Speaker 2: a matter of becoming a little bit more aware of it.
Speaker 2: I think, I mean going back to kind of the
Speaker 2: analogy of biology and things like that with technology, and
Speaker 2: biology is a form of technology. Someone once told me
Speaker 2: that the way he kind of thought about it is
Speaker 2: like the most complicated engineered system that humans have ever
Speaker 2: made are domesticating dogs, because like these are we made them.
Speaker 2: I we we evolve them basically through like through our
Speaker 2: artificial selection, but they're an enormously complicated system. And I
Speaker 2: think that's those kinds of approaches, whether it's kind of
Speaker 2: like tinkering with systems, kind of evolving them, wrecking these
Speaker 2: things as enormously complicated, those might be the kind of
Speaker 2: approaches that that we need. That being said, I would
Speaker 2: say one of the other things though that at least
Speaker 2: gives me a certain amount of hope. Though that it
Speaker 2: is kind of weird when you think about it, is
Speaker 2: that the extent to which humans are also really good
Speaker 2: at adapting to the world around us. And so we
Speaker 2: think about all the technological changes that have come over
Speaker 2: the past couple hundred years, and these things were enormously destabilizing,
Speaker 2: but in many ways we kind of now take them
Speaker 2: for granted, and even like more modern and more modern ones.
Speaker 2: I'm not just talking about I like air travel or
Speaker 2: certain things around the internet, or the industrial Revolution. So
Speaker 2: my grandfather, he was he lived at the age of
Speaker 2: ninety nine. He was a retired dentist. But he also
Speaker 2: read science fiction since like the modern dawn of the genre,
Speaker 2: Like he read his entire life, and I remember he
Speaker 2: read I think he read Dune when it was sialized
Speaker 2: in a magazine, so like no story could surprise him.
Speaker 2: And I remember when when the iPhone first came out.
Speaker 2: I went with my grandfather as well as my father
Speaker 2: to the Apple store to kind of check out the
Speaker 2: iPhone and we're playing with them looking at it, and
Speaker 2: he looks at and one point he goes, this is it,
Speaker 2: Like this is the object I've been reading about for
Speaker 2: all these years, and we've moved though from like, oh,
Speaker 2: the iPhone is this object of wonder and science fiction
Speaker 2: in the future, to like like complaining about like camera
Speaker 2: resolution or battery life and things like that. Like we've
Speaker 2: so quickly adapted, which, on the one hand, is good
Speaker 2: and kind of gives me hope that we are going
Speaker 2: to figure out ways of adapting to new types of complexity.
Speaker 2: On the other hand, though, it means that we sometimes
Speaker 2: don't necessarily retain that capacity for wonder or when it
Speaker 2: comes to complexity and the complex systems around us, maybe
Speaker 2: a more critical stance and actually saying okay, like how
Speaker 2: like what are the kind of systems we want to
Speaker 2: be embedded within and as opposed to kind of just
Speaker 2: allowing them to kind of wash over us. But I
Speaker 2: do think that kind of adaptive capacity does give me
Speaker 2: a little bit of hope.
Speaker 1: Yes, you probably know this routine from the comedian Louis
Speaker 1: c k where the first time he's ever on an
Speaker 1: airplane and they announce we have Wi Fi in the
Speaker 1: airplane and he's amazed. Everyone on the plane is amazing
Speaker 1: I ever heard of this, And then ten minutes into
Speaker 1: the flight, the Wi Fi breaks, it stops working in
Speaker 1: the guy next to him starts complaining, and Luisy cases
Speaker 1: you know, ten minutes ago you didn't even know this existed,
Speaker 1: and now you're complaining about it. So yes, it is
Speaker 1: true that we adapt so quickly to that. Okay, so
Speaker 1: let me ask you something really random. Given the evolution
Speaker 1: of the complexity all around us, what is your opinion
Speaker 1: on whether we are already living in a simulation?
Speaker 2: For me, I like to think about it much more
Speaker 2: as if you kind of not necessarily take the simulation
Speaker 2: hypothesis seriously as this like question of great importance, but
Speaker 2: as like, oh, a question that kind of leads me
Speaker 2: to think about more things around physics and computing. Then
Speaker 2: I think it can actually be very productive. So the
Speaker 2: question becomes like, in the same way that people talk
Speaker 2: about the simulation hypothesis, there are interesting aspects around, like
Speaker 2: breaking out of a computer program when you were inside it,
Speaker 2: or like the like the high resolution fidelity of computer games,
Speaker 2: or even just the ways in which physic in reality
Speaker 2: and computing intersect. Oftentimes, when we think about computation, we
Speaker 2: think of it as this kind of like ephemeral information stuff,
Speaker 2: and I think that's a really powerful way of thinking
Speaker 2: about it. But the truth is, like computing and computers,
Speaker 2: like they are deeply physical. So the like the Internet,
Speaker 2: like the Internet is not just information kind of whizzing around.
Speaker 2: It is kind of to use the term from like
Speaker 2: the that senator a number of years ago who was
Speaker 2: like widely mocked, like it is a series of tubes.
Speaker 2: And actually there's a book called Tubes based on that
Speaker 2: of like the physical infrastructure of the Internet, Like there
Speaker 2: is a lot of this physicality, and and I think
Speaker 2: thinking about that the physical nature of our computing can
Speaker 2: be really powerful. And sometimes the simulation hypothesis, like thinking
Speaker 2: about it can can help heighten that or can just
Speaker 2: make you realize, oh, there's some interesting bugs that are
Speaker 2: worth thinking about. So for example, there was a story
Speaker 2: I read where I think it was like in some
Speaker 2: hospital people noticed that iPhones stopped working when they were
Speaker 2: near one MRI machine. But it wasn't Android phones, it
Speaker 2: wasn't on there. It was like just Apple products. And
Speaker 2: it turned out it happened to be that some sort
Speaker 2: of switch or some other component within these Apple devices
Speaker 2: it had some small enough gap that it happened to
Speaker 2: be this MRI machine had had a helium leak, and
Speaker 2: the helium atoms were just the right size to kind
Speaker 2: of get into this machine but didn't affect Android devices
Speaker 2: or other things. And so it was this wild thing
Speaker 2: that just brought home like the deep, deeply physical nature
Speaker 2: of computing. And so for me, when I think about
Speaker 2: the simulation hypothesis, I don't think about it as like,
Speaker 2: oh no, like I'm being controlled by aliens or humans
Speaker 2: in the future or whatever it is. It's much more about, Okay,
Speaker 2: how do I think about breaking open computer games, or
Speaker 2: like the deeply physical nature of bugs and like all this,
Speaker 2: like that's the kind of stuff that I find most
Speaker 2: interesting about the simulation hypothesis. I also think about it
Speaker 2: as for me, it's almost this like cry for myth
Speaker 2: in like the in the tech world where it's like, oh,
Speaker 2: like we're a deeply like like the Silton Valley world
Speaker 2: is like deeply rational, deeply logical, but we still kind
Speaker 2: of need some sort of myth or store organizing story
Speaker 2: in our world. And the simulation hypothesis and ideas around
Speaker 2: the singularity, certain ideas around longevity or AI or things
Speaker 2: like that, they often many many times they're also based
Speaker 2: on technology, but when they kind of get big enough,
Speaker 2: those ideas kind of veer into kind of myth and storyland.
Speaker 2: And so for me, it's I view that as kind
Speaker 2: of when people take those ideas a little bit more seriously,
Speaker 2: it's much more around okay, fitting kind of a certain
Speaker 2: amount of myth into kind of that myth shape hole
Speaker 2: for those for those type people.
Speaker 1: So let's return to your grandfather and the iPhone. So
Speaker 1: how do you recommend in your book and in your
Speaker 1: life preserving our sense of magic around the technology that
Speaker 1: we have.
Speaker 2: When I think about like magic and wonder and kind
Speaker 2: of delight in computing, it's never really been an either
Speaker 2: or of like, oh, like there's either kind of like
Speaker 2: corporate SaaS software or kind of like the fun weird things.
Speaker 2: And I feel like you can kind of tell some
Speaker 2: people might tell a story of like oh, there used
Speaker 2: to be more of that kind of wondrous stuff and
Speaker 2: now we've kind of it's all like we're we're just
Speaker 2: kind of locked into large social media sites or just
Speaker 2: we're just using these like a large, kind of bland,
Speaker 2: beige pieces of software. I think there is an element
Speaker 2: of that, but the truth is these two aspects of computing,
Speaker 2: they've always co existed, and so like alongside like the
Speaker 2: really big mainframe or refrigerator sized computers, there were people
Speaker 2: trying to build like early computer games, and then once
Speaker 2: we had personal computers, there was a lot of fun,
Speaker 2: weird things, people experimenting with fractals, but also people using
Speaker 2: spreadsheets in businesses, and so it's not an either or
Speaker 2: any and the truth is even on the web now
Speaker 2: alongside kind of the large websites, there are also people
Speaker 2: talking about there's a term called the poetic web, where
Speaker 2: it's like the kind of the more human scale, fun,
Speaker 2: funkier and weirder sort of websites. And for me, it's
Speaker 2: really just a matter of trying to actually like discover
Speaker 2: these kinds of things and realize that it's that it's
Speaker 2: always been out there and it's really just a matter
Speaker 2: of being able to find it. And so for me,
Speaker 2: I kind of view some of the ideas in the
Speaker 2: book almost as like a proof of existence of like, oh,
Speaker 2: these things do exist out that out there. You don't
Speaker 2: necessarily have to be as excited as I am by
Speaker 2: some of the examples I give, but let that be
Speaker 2: a guide to ohkay, there are other things out there
Speaker 2: that are just worth enjoying and experiencing and delighting it.
Speaker 2: And I think part of that often is just kind
Speaker 2: of at the smaller scale. And I do actually think
Speaker 2: that one of the exciting things about AI generated code
Speaker 2: is it really allows for this kind of democratization of
Speaker 2: building soft where and so people have talked about this
Speaker 2: kind of thing for a very long time of like
Speaker 2: it shouldn't just be the domain of like big companies
Speaker 2: or kind of serious software developers of building things that
Speaker 2: are going to be used by like millions or hundreds
Speaker 2: of millions of people. There should be a way for
Speaker 2: each individual user to kind of build the bespoke thing
Speaker 2: they want. And so the novelist Robin Sloan has this phrase.
Speaker 2: I think it's like an app can be a home
Speaker 2: cooked meal, this idea that like, you don't necessarily need
Speaker 2: to build something for everyone. You can build like a
Speaker 2: little program for yourself or for your loved ones, and
Speaker 2: that's fine, and that's great. In fact, and the true
Speaker 2: this spreadsheets were actually a simple version of this kind
Speaker 2: of thing, because you can actually program in very simple ways.
Speaker 2: But then there was and there was HyperCard with kind
Speaker 2: of some of the early macintoshes where it was like
Speaker 2: this authoring program to kind of build like weird little
Speaker 2: sort of like pseudo website programs on your own computer.
Speaker 2: But now with AI generated code, I really see this
Speaker 2: kind of democratization potential really blossoming. And and so for me,
Speaker 2: like that is the kind of thing that really can
Speaker 2: hopefully induce a sense of wonder and people where like
Speaker 2: they can now build all the programs that they want,
Speaker 2: and so to have to be that if you kind
Speaker 2: of explored the world and kind of went about your
Speaker 2: day and looked at the world and noticed interesting problems
Speaker 2: that could maybe be solved by software, if you weren't
Speaker 2: a software developer, you would kind of have to shut
Speaker 2: down that portion of your mind because you couldn't do
Speaker 2: anything about it. But now you can turn it back
Speaker 2: on because now anyone can build those kinds of things.
Speaker 2: And so I think that is actually a really interesting
Speaker 2: source for wonder.
Speaker 1: And you know, to my mind, there's the flip side
Speaker 1: of that coin, not just for the individual, but for society.
Speaker 1: What's going to come out of this? So tell us
Speaker 1: about Dawn Swanson's paper from what was that I think
Speaker 1: the eighties or something about undiscovered public knowledge. Tell us
Speaker 1: about that.
Speaker 2: Yeah, so Don Swanson, Yeah, he's this information scientist. In
Speaker 2: the nineteen eighties, he wrote this paper called Undisovered Public Knowledge,
Speaker 2: where the idea behind it was and he begins kind
Speaker 2: of like with a thought experiment. He says, Okay, imagine,
Speaker 2: somewhere in the scientific literature there's a paper that says
Speaker 2: A implies B, and then somewhere else in the literature
Speaker 2: could be in the same field, it could be an
Speaker 2: entirely different field. There's another paper that says BE implies C.
Speaker 2: And so if you would connect to them together, you
Speaker 2: would say, oh, maybe in fact A IMPLYI C. But
Speaker 2: because the scientific literature is so vast, no one has
Speaker 2: actually been able to read these two papers, and so
Speaker 2: that that knowledge, the connection was undiscovered, but it was
Speaker 2: public because it was out there. And so it's one
Speaker 2: of these things where if we actually had ways of
Speaker 2: stitching together all the scientific knowledge that was out there,
Speaker 2: we would actually be able to make new discoveries that
Speaker 2: were kind of just lying out there, ready for the taking.
Speaker 2: The interesting thing with Swanson is that he was not
Speaker 2: content with leaving this as a thought experiment. He actually
Speaker 2: tried to test it in the real world, and he
Speaker 2: used in the then cutting edge technology, which was I
Speaker 2: think like using keyword searches on like the medline database.
Speaker 2: But he actually found this relationship between I think I
Speaker 2: think it was consuming fish oil and then helping treat
Speaker 2: some sort of circulatory disorder, and then he was I
Speaker 2: think he was able to publish it in a medical
Speaker 2: journal even though he himself had no medical training, which
Speaker 2: was kind of wild and so and I think with
Speaker 2: all like we had with a lot of these AI tools,
Speaker 2: we are now going to be able to kind of
Speaker 2: stitch together lots of different ideas and kind of navigate
Speaker 2: them like the latent space of knowledge or however you
Speaker 2: want to describe it, in a way that that has
Speaker 2: really never before been possible.
Speaker 1: This is actually my highest hope with large language models
Speaker 1: is tackling the biomedical data, in putting facts together that
Speaker 1: anyone could know, but nobody is going to because they're
Speaker 1: published in totally different journals. I wrote a paper a
Speaker 1: couple of years ago now on a meaningful test for
Speaker 1: intelligence in AI, and I think that what I just
Speaker 1: described that's going to be enormously helpful for science. But
Speaker 1: the next level of intelligence which I don't think llms
Speaker 1: are at yet is actually questioning whether something is true
Speaker 1: and coming up with alternative models and then simulating those
Speaker 1: and evaluating them. For example, you know, saying, hey, what
Speaker 1: if I were writing on a photon of light, what
Speaker 1: would that look like? And then getting to the theory
Speaker 1: of relativity and realizing the trajectory of merch can be
Speaker 1: explained by that, and so on. So that's the sort
Speaker 1: of thing that lms don't do now. But yes, I
Speaker 1: think they're going to be enormously helpful in this discovery
Speaker 1: process within the public knowledge. It's already sitting out there.
Speaker 2: People are already talking about, like AI scientists and things
Speaker 2: like that, like whether or not it's going to be
Speaker 2: helping with or it's stitching together the knowledge hypothesis generation.
Speaker 2: Maybe eventually even yeah, this kind of like thought experiment
Speaker 2: and then examining like what are the implications of the
Speaker 2: thought experiments. But I do think, yeah, even if they're
Speaker 2: not necessarily able to kind of do everything on their own,
Speaker 2: the potential for this kind of like science like human
Speaker 2: scientist machine partnership will well hopefully unlock a lot of
Speaker 2: information and knowledge that is already out there, but we
Speaker 2: just don't even realize it.
Speaker 1: What's one thing that you wish more people understood about
Speaker 1: the coded systems that surround them.
Speaker 2: One aspect about code is that the extent to which
Speaker 2: there's like a craft and a style and almost an
Speaker 2: art to it. And when people think about like programming
Speaker 2: languages or kind of which language they want to program,
Speaker 2: and the truth is there's there's a lot of personal
Speaker 2: choice and a lot of a lot of opinion, very
Speaker 2: strong opinions about what kind of languages work, but also
Speaker 2: even kind of the way in which you program. And
Speaker 2: so for example, there's actually this book called If Hemingway
Speaker 2: Wrote JavaScript, where it actually takes I think, like the
Speaker 2: same coding task and then programs in different ways accordinated
Speaker 2: kind of different like authorial styles, and to show that
Speaker 2: it is a deeply human kind of thing. Now, of course,
Speaker 2: and many people compare it to writing or fiction or
Speaker 2: poetry and things like that, and there are aspects of that,
Speaker 2: and I certainly, but I don't want to push it
Speaker 2: too far because the code still has to do something,
Speaker 2: it still has to operate. But there really are many
Speaker 2: almost like artistic aspects to code, and I think that
Speaker 2: kind of interesting combination of extreme logic and practicality and
Speaker 2: efficacy combined with style and art and problem solving, I
Speaker 2: think is something that maybe people who are kind of
Speaker 2: outside of the world of code just don't realize.
Speaker 1: So here's a random question, the relationship between software code
Speaker 1: and let's say, biological code like DNA. Is this just
Speaker 1: a metaphorical thing or is there something deeper there?
Speaker 2: We are wet, squishy, messy things, and then down at
Speaker 2: the sollular or substolular level, it's incredibly incredibly stochastic and random,
Speaker 2: and there's things just all vibrating around, and it's wildly
Speaker 2: different from the way in which we think about coding.
Speaker 2: But the one exciting aspect about this is that, like
Speaker 2: Mike Levin and some of his and his collaborators, they've
Speaker 2: talked about this idea that really traditional computation is really
Speaker 2: just a subset of kind of information processing as a whole,
Speaker 2: and biology is just another mode of doing that kind
Speaker 2: of thing. So I think by looking at what biology
Speaker 2: is doing and comparing it to how code operates and
Speaker 2: how computers operate, where they are similar and where they're different,
Speaker 2: just shows you the sheer number of different ways that
Speaker 2: computing can be done, and when it comes to kind
Speaker 2: of more engineered traditional computing, we are still only beginning
Speaker 2: to scratch the surface. So I think in that way,
Speaker 2: comparing contrasting the way biology and computation are similar and
Speaker 2: different can be enormously valuable.
Speaker 1: So let's end with telling us what your message is
Speaker 1: at the heart of the magic of Code, your new book.
Speaker 1: What do you hope that people will take away from
Speaker 1: it in seeing the world around them?
Speaker 2: Like Steve Jobs has this idea that computers are the
Speaker 2: bicycle for the mind. And the idea behind this was
Speaker 2: that he was reading I think some old scientific American
Speaker 2: article where it was like a chart of like the
Speaker 2: energy efficiency of different organisms and humans were kind of mediocre,
Speaker 2: and like maybe some birds were much better, but then
Speaker 2: everything changed when a human got on a bicycle, because
Speaker 2: suddenly they were much more efficient. And his idea was
Speaker 2: that computers they should be this bicycle for the mind,
Speaker 2: for helping accelerate how we think, how we interact engage
Speaker 2: with the world. And that's really ultimately what it's all about.
Speaker 2: And so for me, whether I'm thinking about like trends
Speaker 2: in like super powerful AI or certain other things around
Speaker 2: the Internet or whatever it is we all have to
Speaker 2: be thinking about, not just saying, oh, these are interesting trends.
Speaker 2: I wonder what things are going to look like in
Speaker 2: the future, but more no, like these tools are for me,
Speaker 2: what is the future that I want to live in?
Speaker 2: And how can I kind of make that human centered
Speaker 2: future with technology that much more possible? And so the
Speaker 2: book is kind of a guide to kind of think
Speaker 2: about all these different sort of human centered ideas, to
Speaker 2: hopefully provide a guide for that sense of wonder and
Speaker 2: delight and humane aspects of computing.
Speaker 1: That was my interview with complexity scientist and lover of code,
Speaker 1: Sam Arbusman. We are right now at the beginning of
Speaker 1: a centuries long experiment in computation. For the first time
Speaker 1: in history, we can build these dynamic worlds that evolve
Speaker 1: and adapt. We can simulate climate futures, or economic collapses,
Speaker 1: or entire societies that rise and fall in silic But
Speaker 1: Sam talks about code not just as a set of instructions,
Speaker 1: but more generally like a kind of spell, a system
Speaker 1: of symbols that does something real in the outside world.
Speaker 1: And part of what I find the most amazing about
Speaker 1: our current moment in time is the way that code
Speaker 1: can and has evolved past the understanding of its creators.
Speaker 1: And that's the paradox we're sitting with, and in some
Speaker 1: sense we have been sitting with for some centuries, now
Speaker 1: that we are building systems more powerful than our ability
Speaker 1: to fully understand them. There's one more thing I just
Speaker 1: want to touch on from Sam's book, the idea that code,
Speaker 1: like language or like myth, offers us a kind of mirror.
Speaker 1: Code can reflect our values and our metaphors, and our
Speaker 1: hopes for control, and our particular curiosities about how the
Speaker 1: world works. I suspect that someday there are going to
Speaker 1: be code anthropologists who look back on the kind of
Speaker 1: programs written by different civilizations at different time points, and
Speaker 1: it will tell them as much about those civilizations as
Speaker 1: their books and plays and religious practices, because our code
Speaker 1: reflects the assumptions that we build into them and the
Speaker 1: blind spots that we forget to consider. Every simulation has
Speaker 1: some of us in there. So with the passing of decades,
Speaker 1: we're going to go beyond how do we code the
Speaker 1: world to questions about who's doing the coding, and what
Speaker 1: do we make sure is in there, and what do
Speaker 1: we choose to leave out? And what are the limits
Speaker 1: of what we can simulate? And when does it matter
Speaker 1: that those limits shape our conclusions? In any case, as
Speaker 1: I think about what Sam and I talked about, I
Speaker 1: come to something like this conclusion. As we look into
Speaker 1: the deep future, we may find ourselves less in control
Speaker 1: than we thought, but also more creative than we ever
Speaker 1: thought possible. Our minds will be riding bicycles and eventually
Speaker 1: motorcycles and jets. And that is the sense in which
Speaker 1: even the most logical systems we've ever built have a
Speaker 1: healthy dose of magic. Go to eagleman dot com slash
Speaker 1: podcast for more information and find further reading. Join the
Speaker 1: weekly discussions on my substack, and check out and subscribe
Speaker 1: to Inner Cosmos on YouTube for videos of each episode
Speaker 1: and to leave comments until next time. I'm David Eagleman,
Speaker 1: and this is Inner Cosmos.