YouSaid · the spoken record

Jim Keller

lines on the record
215
first
2021-02-18
most recent
2021-02-18
sittings or episodes
1
sources
podcast

Every line below is reproduced as it was said and linked to the record it came from. Nothing here is summarised or generated. Directory · Search · Corrections

  1. They started making Ramsomories. And then at the time when the Japanese manufacturers came up, they were getting out competed on that and they pivoted the microprocessors and they made the first integrated microprocessor programs. 4004 or

    2021-02-18 · Lex Fridman Podcast · #162 – Jim Keller: The Future of Computing, AI, Life, and Consciousness · IDENTIFIED FROM THE TRANSCRIPT · source

  2. Well, x86 oddly enough, when Intel first started developing it, they licensed it like seven people. So it was the open architecture. And then they move faster than others and also bought one or two of them. But there were seven different people making x86 because at the time there was 6502 and Z80s and 8086. And you could argue everybody thought Z80 was the better instruction set. But that was proprietary to one place. Oh, in the 6800. There's like four or five different microprocessors Intel went open, got the market share because people felt like they had multiple sources from it. And then over time it narrowed down to two players.

    2021-02-18 · Lex Fridman Podcast · #162 – Jim Keller: The Future of Computing, AI, Life, and Consciousness · IDENTIFIED FROM THE TRANSCRIPT · source

  3. I mean, the limits of performance are predictability of instructions and data. I mean, that's the big thing. And then the usability of it is some Quality of design, quality of tools, availability. Like right now x86 is proprietary with Intel and AMD, but they can change it any way they want independently. ARM is proprietary to ARM, and they won't let anybody else change it. So it's like a sole point. And RISC-V is open source, so anybody can change it, which is super cool, but that also might mean it gets changed in too many random ways that there's no common subset of it that people can use.

    2021-02-18 · Lex Fridman Podcast · #162 – Jim Keller: The Future of Computing, AI, Life, and Consciousness · IDENTIFIED FROM THE TRANSCRIPT · source

  4. AI software is going to win, but there'll be little computers that run little programs like normal all over the place. But we're going through another transformation.

    2021-02-18 · Lex Fridman Podcast · #162 – Jim Keller: The Future of Computing, AI, Life, and Consciousness · IDENTIFIED FROM THE TRANSCRIPT · source

  5. Always have a joke that the random length instruction variable length instruction sets always one. Even though they're obviously worse, like nobody knows why, except 86 is arguably the worst architecture on the planet, one of the most vibrant ones.

    2021-02-18 · Lex Fridman Podcast · #162 – Jim Keller: The Future of Computing, AI, Life, and Consciousness · IDENTIFIED FROM THE TRANSCRIPT · source

  6. So it has no apparatus for a virtual machine and container. It just executed in the framework of the program that's already running.

    2021-02-18 · Lex Fridman Podcast · #162 – Jim Keller: The Future of Computing, AI, Life, and Consciousness · IDENTIFIED FROM THE TRANSCRIPT · source

  7. Does he know why everybody uses it? That would be an interesting thing. Was it the right thing at the right time? Because like when stuff like JavaScript came out, there was a move from writing C programs and C++ to what they call managed code frameworks where you write simple code. It might be interpreted. It has lots of libraries. Productivity is high. And you don't have to be an expert. So Java was supposed to solve all the world's problems. It was complicated. JavaScript came out after a bunch of other scripting languages. I'm not an expert in it. Was that the right thing at the right time? Or was there something?

    2021-02-18 · Lex Fridman Podcast · #162 – Jim Keller: The Future of Computing, AI, Life, and Consciousness · IDENTIFIED FROM THE TRANSCRIPT · source

  8. Everybody does. Like, read the tech racks. They're always talking about some breakthrough or innovation. And everybody thinks that's the most important thing. But the number of innovative ideas is actually relatively low. We need them, right? An innovation creates a whole new opportunity. Like when some guy invented the internet, like that was a big thing. The million people that wrote software against that were mostly doing engineering software writing. So the elaboration of that idea was huge.

    2021-02-18 · Lex Fridman Podcast · #162 – Jim Keller: The Future of Computing, AI, Life, and Consciousness · IDENTIFIED FROM THE TRANSCRIPT · source

  9. That's a good word. Good engineering is great craftsmanship. And when you start thinking engineering is about invention and you set up a system that rewards invention. The craftsmanship gets neglected.

    2021-02-18 · Lex Fridman Podcast · #162 – Jim Keller: The Future of Computing, AI, Life, and Consciousness · IDENTIFIED FROM THE TRANSCRIPT · source

  10. No, no, you have to do the simple stuff really well. If you're building a building out of bricks, you want great bricks. So you go to two places to sell bricks that one guy says, yeah, they're over there in an ugly pile. And the other guy is like lovingly tells you about the 50 kinds of bricks and how hard they are and how beautiful they are and how square they are. And, you know, which one are you going to buy bricks for them, which is going to make a better house?

    2021-02-18 · Lex Fridman Podcast · #162 – Jim Keller: The Future of Computing, AI, Life, and Consciousness · IDENTIFIED FROM THE TRANSCRIPT · source

  11. But once you know the method, Implementing it as an engineering problem. Now, there's a flip side of this, which is in a big design team, what percentage of people think their plan or their life's work is engineering versus inventing things. So lots of companies will reward you for filing patents. Many big companies get stuck because to get promoted, you have to come up with something new. And then what happens is everybody's trying to do some random new thing 99% of which doesn't matter. And the basics get neglected. Or there's a dichotomy they think like the cell library and the basic CAD tools or basic software validation methods. That's simple stuff. They want to work on the exciting stuff. And then they spend lots of time trying to figure out how to patent something. And that's mostly useless.

    2021-02-18 · Lex Fridman Podcast · #162 – Jim Keller: The Future of Computing, AI, Life, and Consciousness · IDENTIFIED FROM THE TRANSCRIPT · source

  12. Boils down to uncertainty. Computers are limited by single thread computers limited by two things. The predictability of the path of the branches and the predictability of the locality of data. So we have predictors that now predict both of those pretty well. So memories, you know, a couple hundred cycles away, local caches, couple cycles away. When you're executing fast, virtually all the data has to be in the local cache. So a simple program says, you know, add one to every element in an array. It's really easy to see what the stream of data will be. But you might have a more complicated program that, you know, says get an element of this array, look at something, make a decision, go get another element. It's kind of random. And you can think that's really unpredictable. And then you make this big predictor that looks at this kind of pattern and you realize, well, if you get this data and this data, then you probably want that one. And if you get this one and this one and this one, you probably want that one.

    2021-02-18 · Lex Fridman Podcast · #162 – Jim Keller: The Future of Computing, AI, Life, and Consciousness · IDENTIFIED FROM THE TRANSCRIPT · source

  13. I'll give you an example. So, one of the limits of computer performance is branch prediction. And there's a whole bunch of ideas about how good you could predict a branch. And people said there's a limit to it, and that's been taught a curve. And somebody came up with a better way to do branch prediction. It was a lot better. Published a paper on it, and every computer in the world now uses it. And it was one idea. So the engineers who build branch prediction hardware were happy to drop the one kind of training array and put it in another one. So it was a real idea.

    2021-02-18 · Lex Fridman Podcast · #162 – Jim Keller: The Future of Computing, AI, Life, and Consciousness · IDENTIFIED FROM THE TRANSCRIPT · source

  14. So, computer design is almost all engineering and reduction of practice of known methods. Because of the complexity of the computers we built, you could think you're, well, we'll just go write some code and then we'll verify it and then we'll put it together and then you find out that the combination of all that stuff is complicated. And then you have to be inventive to figure out how to do it. So that's definitely happens a lot. Every so often some big idea happens, but it might be one person.

    2021-02-18 · Lex Fridman Podcast · #162 – Jim Keller: The Future of Computing, AI, Life, and Consciousness · IDENTIFIED FROM THE TRANSCRIPT · source

  15. It's good designs both. I guess that's pretty obvious. By the engineering, do you mean reduction to practice of known methods? And then science is the pursuit of discovering things that people don't understand or solving unknown problems.

    2021-02-18 · Lex Fridman Podcast · #162 – Jim Keller: The Future of Computing, AI, Life, and Consciousness · IDENTIFIED FROM THE TRANSCRIPT · source