YouSaid · the spoken record
John Carmack
- lines on the record
- 363
- first
- 2022-08-04
- most recent
- 2022-08-04
- 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
“I do not. And it has some of those things where there's some amazing stats when you say if you just start, if you make a loop, you know, a triply nested loop and start doing operations in Python, you can be thousands to potentially a million times slower than a proper GPU tensor operation. And these are staggering numbers. You can be as much slower as we've almost gotten faster in our pace of progress and all this other miraculous stuff”
2022-08-04 · Lex Fridman Podcast · #309 – John Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets · IDENTIFIED FROM THE TRANSCRIPT · source
“Everything has all the caveats about it. So, what I use, so nowadays a reasonable amount of Python for AI ML sorts of work. I'm not a native Python programmer. It's something I came to very late in my career. I understand what it's good for.”
2022-08-04 · Lex Fridman Podcast · #309 – John Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets · IDENTIFIED FROM THE TRANSCRIPT · source
“And that really was why virtual reality was specifically interesting to me where it had all the ties to. You could say that even back in the early days, I have some old magazine articles that's talking about Doom as a virtual reality experience back when just seeing anything in 3D. So you could say that we've been trying to build those virtual experiences from the very beginning. And in the modern era, virtual reality, especially on the mobile side of things, when it's standalone and you're basically using a cell phone chip to be able to produce these very immersive experiences, it does require work. It's not at the level of what an old school console game programmer would have operated at where you're looking at hardware registers and your scheduling all the DMA accesses, but it is still definitely a different level than what a web developer or even a PC Steam game developer usually has to work at. And again, it's great.”
2022-08-04 · Lex Fridman Podcast · #309 – John Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets · IDENTIFIED FROM THE TRANSCRIPT · source
“Because at this point, lots of things you can just do in the most naive possible way and it still works out. You know, you don't have nearly the creative limitations or the incentives for optimizing on that level. And there's a lot of pros and cons to that. But I do generally, you know, I'm not going to do the angry old man shaking my fist at the clouds bit where back in my day programmers had to do real programming. It's amazing that you can just kind of pick an idea and go do it right now. And you don't have to be some assembly language wizard or deep GPU arcanist to be able to figure out how to make your wishes happen.”
2022-08-04 · Lex Fridman Podcast · #309 – John Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets · IDENTIFIED FROM THE TRANSCRIPT · source
“Yeah, where so much of until recently game design was limited by what you could actually get the computer to do, where it's easy to say like, okay, I want to scroll the screen. You just redraw the entire screen at a slight offset. And nowadays, that works just fine. Computers are ludicrously fast. But up until a decade ago or so, there were all these things everybody wanted to do, but if they knew enough programming to be able to make it happen, it would happen too slow to be a good experience, either just ridiculously slow or just slow enough that it wasn't fun to experience it like that. So so much of kind of the first couple decades of the programming work that I did was largely figuring out how to do something that everybody knows how they want it to happen. It just has to happen two to ten times faster than sort of the straightforward way of doing things would make it happen. And it's different now.”
2022-08-04 · Lex Fridman Podcast · #309 – John Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets · IDENTIFIED FROM THE TRANSCRIPT · source
“You know, regular low resolution graphics. It was a grid of 40 by 40 pixels normally, but Tweak just a couple things that I barely understood to put it into a graphics mode and I could draw graphics and then I could just do a line feed at the very bottom of the screen and then the system would scroll it all up using an assembly language routine that I didn't know how to write back then. So that was like this first great hack that sort of had analogs later on in my career for a lot of different things. So I found out that I could draw a screen. I could do a line feed at the bottom. It would scroll it up once. I could draw a couple more lines of stuff at the bottom. And that was my first way to kind of scroll the screen, which was interesting in that that played a big part later on in the id software days as well.”
2022-08-04 · Lex Fridman Podcast · #309 – John Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets · IDENTIFIED FROM THE TRANSCRIPT · source
“2600 games and being able to do some of those things myself on the computers was very much what I aspired to. And it was a whole journey where if you learn normal basic, you can't do any kind of an action game. You can write an adventure game. You can write things where you say, what do you do here? I get sword attack troll, that type of thing. And that can be done in the context of basic. But to do things that had moving graphics, they were only the most limited things you could possibly do. You could maybe do breakout or pong or that sort of thing in low resolution graphics. And in fact, one of my first sort of major technical hacks that I was kind of fond of was on the Apple II computers, they had a mode called low resolution graphics where, of course, all graphics were low resolution back then, but”
2022-08-04 · Lex Fridman Podcast · #309 – John Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets · IDENTIFIED FROM THE TRANSCRIPT · source
“So I can remember as going through the learning process where you find at the start you're just learning how to do the most basic possible things. And I can remember stuff like Superman comic that Radio Shack commissioned to have, it's like Superman had lost some of his super brain and kids had to use Radio Shack TRS-80 computers to do calculations to help him kind of complete his heroics. I'd find little things like that and then get a few basic books to be able to kind of work my way up. And again, it was so precious back then. I had a couple books that would teach me important things about it. I had one book that I could start to learn a little bit of assembly language from, and I'd have a few books on basic and some things that I could get from the libraries. But my goals in the early days was almost always making games of various kinds. You know, I had, I loved the arcade games and the early Atari.”
2022-08-04 · Lex Fridman Podcast · #309 – John Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets · IDENTIFIED FROM THE TRANSCRIPT · source
“For people nowadays, it can be a little hard to understand what the world was like then from information gathering where I would go to the libraries and there would be a couple books on the shelf about computers and they would be very out of date even at that point. Just not a lot of information, but I would grab everything that I could find and devour everything whenever time or newsweek had some article about computers. I would like cut it out with scissors and put it somewhere. It just felt like this magical thing to me, this idea that the computer would just do exactly what you told it to. I mean, and there's a little bit of the genie monkey's paw sort of issues there where you'd better be really, really careful with what you're telling it to do, but it wasn't going to backtalk you. It wasn't going to have a different point of view. It was going to carry out what you told it to do. And if you had the right commands, you could make it do these pretty magical things.”
2022-08-04 · Lex Fridman Podcast · #309 – John Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets · IDENTIFIED FROM THE TRANSCRIPT · source
“It really was something that was one of those love at first sight things where just really from the time that I understood what a computer was, even I mean, I remember looking through old encyclopedias at the black and white photos of the IBM mainframes of the reel-to-reel tape decks.”
2022-08-04 · Lex Fridman Podcast · #309 – John Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets · IDENTIFIED FROM THE TRANSCRIPT · source
“But it is rare. If you grep through all of my code right now, I don't think any of my current code bases would actually have a go-to. But deep within sort of the technical underpinnings of a major game engine, you're going to have some go-to's in a couple of places probably.”
2022-08-04 · Lex Fridman Podcast · #309 – John Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets · IDENTIFIED FROM THE TRANSCRIPT · source
“Certainly back in the day in basic programming languages, you didn't have proper loops. You didn't have four whilees and repeats. That was the land of Pascal for people that kind of generally had access to it back then. So you had no choice but to use go-to's. And as you made what were big programs back then, which were a thousand line basic program, is a really big program, they did tend to sort of degenerate into madness. You didn't have good editors or code exploration tools. So you would wind up fixing things in one place, add a little patch. And there's reasons why structured programming generally helps understanding. But GoTo's aren't poisonous. Sometimes they're the right thing to do. Usually it's because there's a language feature missing like nested breaks or something where it can sometimes be better to do a go-to cleanup or go-to error rather than having multiple flags, multiple if statements littered throughout things.”
2022-08-04 · Lex Fridman Podcast · #309 – John Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets · IDENTIFIED FROM THE TRANSCRIPT · source
“Yeah, I do. So I remember being in a radio shack going up to the TRS-80 computers and learning just enough to be able to do 10 print John Carmack. And it's kind of interesting how, of course, Carnegie and Richie kind of standardized Hello World as the first thing that you do in every computer programming language and every computer, but not having any interaction with the cultures of Unix or any other standardized things, it was just like, well, what am I going to say? I'm going to say my name. And then you learn how to do GoTo10 and have it scroll all off the screen. And that was definitely the first thing that I wound up doing on a computer.”
2022-08-04 · Lex Fridman Podcast · #309 – John Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets · IDENTIFIED FROM THE TRANSCRIPT · source