50 comments

[ 2.5 ms ] story [ 111 ms ] thread
> he presented his answer in the form of a set of partial differential equations. To a physicist this may seem natural, but to a computer designer, treating a set of boolean circuits as a continuous, differentiable system is a bit strange. Feynman's router equations were in terms of variables representing continuous quantities such as "the average number of 1 bits in a message address." I was much more accustomed to seeing analysis in terms of inductive proof and case analysis than taking the derivative of "the number of 1's" with respect to time. Our discrete analysis said we needed seven buffers per chip; Feynman's equations suggested that we only needed five. We decided to play it safe and ignore Feynman.

I always felt it strange that people discount the value of calculus, but maybe it is just that most professionals really don't understand calculus that well? It is really useful for so many things, and if you are good at understanding data and how to properly approximate things then you come up with magical solutions to otherwise intractable problems with it.

> It is really useful for so many things, and if you are good at understanding data and how to properly approximate things

That sounds really great and all, but I do admit to wishing that depressing word "things" wasn't standing in the way of some accurate examples. I do understand you said calculus helps you to approximate, though.

When something has happened to me once, I can always recount it. When something has happened to me a thousand times I can never think of a single example. I've always wondered if everyone gets this or if it's just me?
Are you pretty analytical? Could it be that each time hits slightly different, and your mind loves those deltas more than the cumulative effect?
Well probably the other way round, I love the cumulative effect more. Mostly, I think I just have a bad memory and something needs to stand out to recall it. Regardless, I feel like the lack of anyone agreeing is confirmation of what I suspected: that this isn't a regular thing.
I think this is standard. It's the difference between a single episodic memory (formed by the hippocampus) and a learned statistical pattern (identified by the neocortex).
I think this all comes full circle with deep neural networks which either approximates a connectionist machine or vice versa.

Two sides of the same coin. The sooner we see that the better.

Interestingly when I was working on my dissertation on neural networks back in 1990, we had a connection machine CM2 in my university and I implemented the backpropagation algorithm in C* (the variant of C that ran on the Connection Machine). But getting time on the CM2 was so hard that I gave up and used a cluster of RS6000 workstations that IBM had just donated to my university. Running at 35 MHz, the RS6000s were just amazingly fast machines for the time.

[I have one of the earlier PhDs in neural network based machine learning as I graduated in 1992]

very true. I was a math major in college, and many of the problems that I had to solve in combinatorics (through quite elaborate manipulation) turned out to have rather conceptually-simple and elegant solutions by calculus.
Do you have examples for this?
Feynman was the first person who made physics relatable for me. In contrast, my father graduated as a mechanical engineer, who typically described mathematics as a series of expletives.

Feynman is lovingly referred to as "the great explainer" which has been a driving influence in my life. The majority of my personal network is non-technical, and I enjoy framing technical subjects at a relatable abstraction. I've built a career around this mentality.

Eerily enough, a HPC company I work with is in the middle of a very similar narrative in the post, where my role is reducing the complexity of the technology for different audiences. My favorite encapsulation is "Kerbal Space Program but in real life."

I think it's critically important to always remain curious and humble when discussing anything and Feynman will always have my deep gratitude for inspiring such thinking early in my life.

>it's critically important to always remain curious and humble when discussing anything

It really isnt possible for lot of people. We incorrectly assume it is and in many situations the assumption breaks.

The chimp troupe's carrying capacity of curious individuals has an upper bound (see the explore-exploit tradeoff)

The more we understand how people think and the different forms of intelligence, personality and needs that drive thought, what is critical for different people changes.

>It really isnt possible for lot of people.

>The chimp troupe's carrying capacity

Are you saying it is a property of groups of people that makes being always curious/humble impossible, or that it is a property of (some) individuals?

You can watch a discussion about a real-life group of men being hard-working, with one member being stubborn and creative for days, finally making a major contribution to the skeptical troupe:

Bear Grylls Survival: Men vs Women: @34:30 to end for "the creative man"

https://www.youtube.com/watch?v=NzCO0G8AGLU

That's the famous survival video of women killing themselves multiple times over on one island while distracted by being "fair" to each other, while the men successfully engineer their island.

There are probably others the search missies but this is one of HN's OG evergreens. Oldest one is 14 years old, makes me wonder if there are other popular HN stories with quite that pedigree.

https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...

Story of Mel?
One day I need to write up my disassembly of LGP30 Blackjack, which shows that ‘The Story of Mel’ is incorrect on one major point: the LGP30 version, also written by Mel Kaye, already had a ‘cheat switch’.
Where do I subscribe to your newsletter/blog/channel? Sign me up for that sweet code archaeology!
Oh yes, that's a good one! Looking back at the beginning of time, Feynman and the CM pops up right away, on the second day, after the firmament divides the waters from the waters:

https://news.ycombinator.com/front?day=2007-02-20

It really might be the OG.

Here are what look to be the past discussions of this perennial. (Reposts are ok after a year or so: https://news.ycombinator.com/newsfaq.html)

Richard Feynman and the Connection Machine - https://news.ycombinator.com/item?id=20969592 - Sept 2019 (1 comment)

Richard Feynman and the Connection Machine (1989) - https://news.ycombinator.com/item?id=18987188 - Jan 2019 (33 comments)

Richard Feynman and the Connection Machine (1989) - https://news.ycombinator.com/item?id=13762614 - March 2017 (61 comments)

Richard Feynman and the Connection Machine - https://news.ycombinator.com/item?id=12283614 - Aug 2016 (32 comments)

Richard Feynman and the Connection Machine (1989) - https://news.ycombinator.com/item?id=8681061 - Dec 2014 (23 comments)

Richard Feynman and The Connection Machine (1989) - https://news.ycombinator.com/item?id=5660763 - May 2013 (11 comments)

Richard Feynman and The Connection Machine - https://news.ycombinator.com/item?id=2079473 - Jan 2011 (46 comments)

Richard Feynman and The Connection Machine - https://news.ycombinator.com/item?id=1205500 - March 2010 (23 comments)

Richard Feynman and The Connection Machine - https://news.ycombinator.com/item?id=723361 - July 2009 (10 comments)

Richard Feynman and The Connection Machine - https://news.ycombinator.com/item?id=628094 - May 2009 (1 comment)

Richard Feynman and the Connection Machine (by W. Danny Hillis) - https://news.ycombinator.com/item?id=311454 - Sept 2008 (12 comments)

Richard Feynman and The Connection Machine - https://news.ycombinator.com/item?id=191212 - May 2008 (15 comments)

Richard Feynman and The Connection Machine - https://news.ycombinator.com/item?id=31834 - July 2007 (5 comments)

Richard Feynman and The Connection Machine - https://news.ycombinator.com/item?id=185 - Feb 2007 (0 comments, but look at that item ID)

Wow sure got covered a lot. Thanks Dang. I’m going to go through the highest commented ones first
nice feature: every time a link gets posted, auto-generate a comment with all previous postings of the same link, together with the number of comments, dates and other assorted info.
Even better would be to present all old comment threads on the latest link.
Somehow this is the first time I've seen it despite reading HN for a decade. Such a beautiful article. I'm glad it was reposted.
Nice recollection, I don’t mind seeing this story show up on HN on a regular cadence. Off topic, but I was thrilled way back when to get the chance to write code for the first version of the Connection Machine (the SIMD one) using Star Lisp.
Article's like this is why I visit HN.
Interestingly, only one comment [1] in one thread from all the ones 'dang pulled up [2] mentions Carl (his son) at all. Despite the article calling out that Richard Feynman's involvement with the Connection Machine was to follow along w/ Carl's involvement:

> I got to know Richard through his son. I was a graduate student at the MIT Artificial Intelligence Lab and Carl was one of the undergraduates helping me with my thesis project.

Also of note is that Thinking Machines is where the Long Now and Internet Archive folks had worked together (see the "group photo" from [3]).

Definitely a unique group of folks came out of Thinking Machines!

[1] https://news.ycombinator.com/item?id=8683903

[2] https://news.ycombinator.com/item?id=28982737

[3] https://blog.archive.org/2021/07/21/reflections-as-the-inter...

This was a great read, I love all great Feynman stories. This quote really stood out for me

>Because even when Richard didn't understand, he always seemed to understand better than the rest of us. And whatever he understood, he could make others understand as well. Richard made people feel like a child does, when a grown-up first treats him as an adult. He was never afraid of telling the truth, and however foolish your question was, he never made you feel like a fool.

40+ years ago Feynman worked with people building massively parallel hardware (not wildly different to a GPU) and got them applied to neural nets. Other than the steady improvements of silicon fitting more transistors on chips have we made any progress in CS at all? Or are we just applying layer after layer after layer of complexity on a bunch of already well known stuff?
I followed some of the links in the comments and found this talk by Feynman given from the same period he was working at thinking machines.

This part of the talk amazes me that people in 1985 were having the exact same discussions we are today about the computer and it's effect on privacy with respect to "big brother" and the totalitarian government's obsession with collecting information on people.

https://youtu.be/EKWGGDXe5MA?t=3785 (timestamped at the correct location).

>that people in 1985 were having the exact same discussions we are today about the computer and it's effect on privacy with respect to "big brother" and the totalitarian government's obsession with collecting information on people.

Sure did, the 1970's and early 1980's were the birth time of the computer privacy movement. That's where the iconic Apple commercial has its background: https://www.youtube.com/watch?v=2zfqw8nhUwA

Of course, today everyone is spending their time enjoying indoctrination in front of a miniature Apple screen instead of getting called into a center...

Feynman's contribution is also documented in The Connection Machine Message Router paper as the Cube address rotation.

  The CUBE-ADDRESS is thus 'rotated' as it travels through the heart.
https://people.csail.mit.edu/bradley/cm5docs/KahleKuHi89.pdf
Thank you so much for posting this. I’ve looked for info about this before but didn’t find it.
Most of the figures show up as blank (e.g. figure 12 on the next page after that quote). That's not an artifact of my pdf reader, is it?
Although it's been posted a number of times, this is the first time I came across it - and also one of the rare times I've read something posted on HN without skimming anything.

Gems like this are the thing that keeps me hooked on HN:

> The notion is that the "continuum" might, at its lowest levels, be discrete in both space and time, and that the laws of physics might simply be a macro-consequence of the average behavior of tiny cells. Each cell could be a simple automaton that obeys a small set of rules and communicates only with its nearest neighbors, like the lattice calculation for QCD.

Wolfram is still working on this avenue of research, https://writings.stephenwolfram.com/
Wolframs avenues are hardly related an not meant to model physics at all.
“Finally We May Have a Path to the Fundamental Theory of Physics… and It’s Beautiful”

April 14, 2020

https://writings.stephenwolfram.com/2020/04/finally-we-may-h...

I am fully aware of his efforts and followed his live streams on Twitch too. As far as I can gather all his staff accomplished is that the branching tree of trying to apply replacement rules on hypergraphs allows to define some sort of special relativity on top of it. A result which is interesting but utterly unpractical to model the universe. I don't think he even found a set of rules that produced locally 3d Euclidean space. Most of his universes are of fractional/irrational dimension.

Furthermore he makes prediction that this tree of partial rules applied to hypergraphs implies a limit to the amount of of quantum calculation you can do locally which hasn't been observed in quantum computing yet.

I will once again post my yearly question: how did Feynman analyze a series of Boolean circuits using partial differential equations?

tlb once posted about a theorem related to error correction codes. Maybe that’s as close as we’ll get to an answer.

I've read this article some time ago, but IIRC Feynman's job was analysing whether buffers were big enough? So, maybe approach it like a kind of pipe flow problem, with reservoirs at the vertices (the buffers)?
> Feynman's job was analysing whether buffers were big enough?

which is interesting because the analysis is too novel and the people didn't believe his analysis!

Vague unverified connection: Alan Edelman, the advisor of Julia was a member of CM, and his previous startup Star-P (?) was somehow derived/inspired by star-lisp.

(take this with a pinch of salt; this is from memory).

" We were arguing about what the name of the company should be when Richard walked in, saluted, and said, "Richard Feynman reporting for duty. OK, boss, what's my assignment?"

""That sounds like a bunch of baloney," he said. "Give me something real to do.""

To me this strikes me as someone willing to be humble and forgo ego from time to time, which is counter to the "big ego" persona I get from reading other sources about him. Maybe I read this passage too literally.

In his semi autobiographies (surely you are joking mr. Feynman) he comes across very humble. I guess if you are under the spotlight and everyone interacts with you may be perceived by some people as arrogant.
i guess we eventually going to end up naming every other feynman - savvy stuff in "Harry Potter and X" way
There's a little gem buried in the story. The algorithm for logarithms.

A lot of HN readers are familiar with Charles Babbage's Difference Engine, and his more revolutionary Analytical Engine (and the connection with Ada Lovelace, who wrote the first computer program). The whole point of the Difference Engine was to automatically create tables of logarithms, and other non-elementary functions, like sin, tan, etc.

Well, Feynman's trick could have easily been conceived by a smart fellow back in Babbage's time, and would have made the Difference Engine irrelevant (which it was anyway, since Babbage failed to build it).

Anyway, here's a simple example how this algorithm works, using base 10 rather than 2, to make it more readable.

First, we use the same observation of "range reduction" to say that we only need to concern ourselves with logs of numbers between 1 and 2. Let's say we want to create a table of all the 1000 numbers between 1 and 2 given with 3 decimal accuracy.

Let's pick a number: 1.382. The trick is to stick in an increasing number of zeros after the decimal place.

We start by dividing 1.382 by 1.300. We precompute the reciprocal and logarithm of 1.300 (as well as all the other 26 "elementary numbers" which start with 1. and have a single non-zero decimal). log(1.300) = 0.262; we keep this in an accumulator. The division 1.382/1.300 = 1.063 has one zero after the decimal place. We now dive this by 1.060 and get 1.003; we add the log(1.060)=0.058 to the accumulator and get 0.321. Finally, 1.003 has the log 0.003, we add this to the accumulator and end up with 0.324. The actual result is 0.32353, which indeed rounds up to 0.324. In some cases the last digit will be off by 1.

Why do you need to precompute the reciprocals of the "elementary numbers", not just their logarithms? Because this way dividing by them amounts to doing a multiplication, which is cheaper on many machines. This is how you end up with a log operation taking less than a division, as claimed in the article.