Richard Feynman Computer Science Lecture - Hardware, Software and Heuristics
Muon Ray8 HN recommenders · 2013–2026
978K views · lecture · evergreen · Uploaded 2012-06-03
A lecture by Richard Feynman on how computers work, using the analogy of a filing clerk that becomes progressively dumber and faster. It also covers heuristics and how computers handle data and solve problems in finite time.
Frequently recommended as the clearest plain-language explanation of what a computer fundamentally is, with at least one commenter saying it changed how they think about programming.
1:03:43How to Speak
MIT OpenCourseWare
57:151. Introduction to Human Behavioral Biology
Stanford
1:21:52LEADERSHIP LAB: The Craft of Writing Effectively
UChicago Social Sciences
6:538-bit computer update
Ben Eater
1:11:40MIT's Pathway to Fusion Energy (IAP 2017) - Zach Hartwig
MIT Plasma Science and Fusion Center
52:29Stanford's Sapolsky On Depression in U.S. (Full Lecture)
Stanford
54:56Justice: What's The Right Thing To Do? Episode 01 "THE MORAL SIDE OF MURDER"
Harvard University
1:00:43Jim Simons (full length interview) - Numberphile
Numberphile2
20 comments from Hacker News
Good catch re: 'late antiquity' -> I should have been a bit more rigorous in my research there. I like your point about "how little knowledge is a perilous thing?" Completely agree that programming is far from the only important skill. I just generally think that demystifying what is popularly considered to be "esoteric" knowledge is almost always good for a healthy society. The less we know about how the mysterious machines work, the more we fear them and the more trust and power we give to the people who can manipulate them. I think this is hogwash and completely unnecessary since a computer is really just a super-fast filing clerk [ [VIDEO] ].
You might be interested in this lecture that Feynman gave at a meeting called "Idiosyncratic Thinking": [VIDEO]
I'm pretty sure this is what Feynman wouldn't do. What he would do is be extremely confrontational from the start if he had to be there, eg his army psychological assessment, or just walk out if he didn't. If there was one defining characteristic of the man on the subject it was not suffering this kind of foolishness. Nobody mentioned Feynman's work for "Thinking machines" A couple more Feynman computing links: [VIDEO] [LINK]
I am always amazed how Richard Feynman can make such simple stories and comparisons to explain the situation/theory in "explain like I'm 5" style. It seems that in every lecture or interview he gives he can explain the situation very fluently and in a way that literally, probably, a 5 year old could understand. The best one I saw is where R. Feynman explains how a computer works [1]. Even though I knew everything he told, I was astonished how intriguing and simple his way of presenting was. [1] [VIDEO]
This seems like a good companion (probably as a sequel) to: "Richard Feynman - Computer Heuristics Lecture": [VIDEO] In general, Feynman might be a poster child for using simple language to explain complex things.
Sure. I don't have anything to link on the spot but this was/is/has been foreseeable for some time. Although it's all very cool and shiny - most business applications of machine learning remain squarely in the territory of classic algos like GLM & forests (random, boosted trees etc. etc.). As a fun note, advances like these highlight that data scientists etc. will not be beaten by more complex automated methods, but simply by speed. Much like the filing system that 'runs' whatever you're using to see these words ( [VIDEO] ). Edit: to elaborate... single model training runs are possible to do quite fast now, but knowing how to tune hyper parameters remains the 'voodoo' of the field. But the best hyper params are also possible to discover through brute force: try every combination you can! Today, you can use various heuristics to improve this process, but either way, being able to train whatever X times faster just means we can search hyper parameter space that much faster. The robots are coming :)
Most likely this one: [VIDEO] Check out Feynman's very cool "Thinking Machines" t-shirt. He was working with Danny Hillis at the time.
I believe it was Feynman who introduced the analogy: desktop : filing cabinet :: RAM : hard drive Here's a video: "Richard Feynman Computer Heuristics Lecture" (1985) [VIDEO] Somewhere in my comments here, I talk about topologically sorting CS concepts; in what little time I spent, I think I suggested "Constructor Theory" (Deutsch 201?) as a first physical principle. [LINK]
What's fascinating to me is that index cards are a kind of spiritual predecessor to modern database systems and computers - perhaps even more closely related than counting devices like the abacus. Richard Feynman touches on this in one of his lectures [1] that's been linked many times on HN. The theory of information and computing seems pretty fundamental, and not necessarily tied to what we typically think of as a computer, with CPUs, RAM, SSDs, etc. In a way, a card catalog full of index cards and run by a bunch of people is a computer too. Maybe this isn't an incredible revelation, but it's still interesting to think about. [1] [VIDEO]
Most recently I really liked "The Unreasonable Effectiveness of Dynamic Typing for Practical Programs": [LINK] The ones that had the most profound effect for me would be Linus's talk about git and Carsten Dominik on org-mode. Also, Richard Feynman explaining how computers work: [VIDEO] This actually changed the way I think about it after years of programming.
"One of the miseries of life is that everyone names everything a litte bit wrong, and so it makes everything a little harder to understand in the world than it would be if it were named differently. A computer does not primarily compute in the sense of doing arithmetic. Strange. Although they call them computers, that's not what they primarily do. They primarily are filing systems. People in the computer business say they're not really computers, they are "data handlers". All right. That's nice. Data handlers would have been a better name because it gives a better idea of the idea of a filing system." Richard Feynman [VIDEO]
It reminds me how Feynman described a computer as a superfast filing system [VIDEO] Though programming is less about precise detailed instructions, it is more about glueing together mostly existing components in a manner understood by your team.
Richard Feynman's lecture is a great resource for this: [VIDEO] He proposes a file clerk that gets progressively dumber and faster until they get so dumb that they can be simulated by an electronic circuit.
Reminds me of Richard Feynman's explanation of a computer as an extremely large and fast filing system [VIDEO]
> Richard Feynman on explaining technical matters to the average person Richard Feynman lecture on computing [VIDEO]
I think we already knew this though. Because the Turing test was passed by Eliza in the 1960's. PARRY was even better and not even a decade later. For some reason people still talk about Chess performance as if Deep Blue didn't demonstrate this. Hell, here's even Feynman talking about many of the same things we're discussing today, but this was in the 80's [VIDEO]
The game mentioned in this article reminds me of the story about heuristics told by Richard Feynman in a lecture: [VIDEO] I was wondering then who was the guy he talked about.It is great that this article provides so much details of it.
Sorry I am pasting my old comment here, but the intention is same Before learning programming one should know what is computing in general? It sets good mental model, after that you can easily pickup and start writing program yourself . Data, data, data :))) Some basic notions to know: Input → Computation → Output Information is omnipresent (this is just an intuition, not a claim). It serves as both input and output. Computation—also known as a procedure, function, set of instructions, transformation, method, algorithm, or calculation. In my early days, I ignored the fundamental notion of data and procedures. But eventually, it clicked: Programs = Data + Instructions Watch Feynman on computing—he even starts with the same concept of data, introducing computers as information processing systems. And processing requires algorithms (i.e., instructions or procedures). Programming is simply writing instructions for the computer to perform computations. A computer is just a machine for computing. Computation is a general idea: a transformation of one form of information into another. Richard Feynman Computer Science Lecture: [VIDEO] Old documentry on programming: [LINK] George Hotz video: what is programming? [LINK] [LINK] [LINK]
Sorry I am pasting my old comment here, but the intention is same Before learning programming one should know what is computing in general? It sets good mental model, after that you can easily pickup and start writing program yourself . Data, data, data :))) Some basic notions to know: Input → Computation → Output Information is omnipresent (this is just an intuition, not a claim). It serves as both input and output. Computation—also known as a procedure, function, set of instructions, transformation, method, algorithm, or calculation. In my early days, I ignored the fundamental notion of data and procedures. But eventually, it clicked: Programs = Data + Instructions Watch Feynman on computing—he even starts with the same concept of data, introducing computers as information processing systems. And processing requires algorithms (i.e., instructions or procedures). Programming is simply writing instructions for the computer to perform computations. A computer is just a machine for computing. Computation is a general idea: a transformation of one form of information into another. [LINK] Richard Feynman Computer Science Lecture: [VIDEO] Old documentry on programming: [LINK] George Hotz video: what is programming? [LINK] [LINK] [LINK] [LINK]
Excellent work, glinscott. Thank you for sharing! I am about to send this to all my pals who are parents to schoolkids (um, and also pals who are still, like me, basically a schoolkid :p XD). Building things up from first principles, and ideally also tactile / visceral examples, is my absolute favourite genre of explanations. Alas, a rarefied genre, because it is so much harder to do well (without doing disservice to the learner's intellect and ability) than expert talking to (presumed) expert. So thanks for contributing to it. People like George Polya [0], Richard Feynman [1], Grace Hopper [2] are exemplars of this tradition. [0] [LINK] [1] [VIDEO] [2] [LINK] (And I too try in my own meagre way through my blog and source code, albeit it's all plain text because visual explainers, animated ones that too are ridiculously difficult. So I have some idea of how much of a labour of love your piece is. <Claps hands, Whistles, Doffs hat>.)