
Richard Feynman and The Connection Machine - fogus
http://www.longnow.org/essays/richard-feynman-connection-machine/
======
dy
I'm always amazed at the breadth and depth of Feynman's genius. My favorite
story of Feynman is his calculation of the size of the first nuclear explosion
and then driving to just a few miles outside the blast radius (much closer
than his colleagues were willing to watch from). That's a level of mental
confidence that I can't even begin to imagine possessing.

Surely You're Joking is a great read - one of those "drop what you're doing
and read it now" kinds of books.

~~~
Zaak
Not only did he drive there, but he watched with no more protection than the
glass of the car windshield.

~~~
whatthefudge
...and ended up with about 18 ultra rare forms of cancer

~~~
Zaak
Just two, according to 'kipedia.

------
Jun8
I had read this before but went ahead and read it again anyway and was again
struck by the practicality of Feynman's genius.

However, as always, every genius has their undesirable part:

"The charming side of Richard helped people forgive him for his uncharming
characteristics. For example, in many ways Richard was a sexist. Whenever it
came time for his daily bowl of soup he would look around for the nearest
"girl" and ask if she would fetch it to him. It did not matter if she was the
cook, an engineer, or the president of the company. I once asked a female
engineer who had just been a victim of this if it bothered her. "Yes, it
really annoys me," she said. "On the other hand, he is the only one who ever
explained quantum mechanics to me as if I could understand it." That was the
essence of Richard's charm."

When I was reading Feynman's biography ( _Surely You're Joking, Mr. Feynman!_
) one thing that really bothered me was the big difference in his approach to
his son and daughter. He seemed to relish how, when his young boy got his
interesting games, but sounded quite impatient with his daughter, saying she
only wanted the same story repeated to her.

~~~
capstone
I had a different reaction when I'd read _Surely You're Joking_. I thought
Feynman had simply observed the de facto difference between his two children;
that one happened to be a boy and the other a girl was incidental to the
story. (As a mother, I can attest to the fact that it's quite impossible to
get a kid interested in something they are not into to start with).

In general, I am a little apprehensive of Feynman's "sexist pig" rep. His
younger sister became a physicist largely through his encouragement which
tells me that his views on women in science were rather progressive, even by
today's standards. He is also known for having sided with a female professor
in a sex discrimination suit at Caltech - again, very ahead of his time.

I also recall that at least some of that rep came from his use of stories that
were presumably sexist, such as stupid driver (woman), smart cop (man). But
according to Feynman, it was his critics, not him, who assumed that the smart
cop was male, so the egg was on them.

Finally, a lot of people conflate Feynman's womanizing with sexism, and I
think the guy should get a break for trying to find solace in as many women's
arms as possible after watching his wife slowly die from cancer.

~~~
Jun8
You're right, his children had de facto differences, and that's OK. What
annoyed me was his exasperated tone when he mentioned that his daughter liked
having the same story read.

As for womanizing, again it shocked that after so little time passed after her
wife's death, he jumps into the scene (and with a vengeance).

But maybe, I'm reading too much into this. Here's what Michelle Feynman
(daughter) has to say about what kinf of father Feynman was
(<http://www.basicfeynman.com/qa.html>):

"Fantastic. Fun, supportive, sweet, silly. He went to great lengths to
entertain us. When I was young, the nightly ritual included him scouring the
house for the correct stuffed animal, with me rejecting each and every
offering until I had the desired one, or until he had made me laugh with his
efforts. I'm not sure which was more important. He also made for an excellent
radio. I would sit on his lap and turn his nose, and he would make up songs
from different radio stations."

~~~
sedachv
"However, as always, every genius has their undesirable part"

This is the same reason that people are obsessed with celebrities' private
lives - you're not famous/genius but you can at least tell yourself it's ok
because Charlie Sheen does whores/Tiger Woods has two dozen mistresses/Feynman
is a misogynist and women just happen to like him anyway, a lot and while
naked (note the trend here).

Why does it matter and why do you care?

------
Florin_Andrei
"By the end of that summer of 1983, Richard had completed his analysis of the
behavior of the router, and much to our surprise and amusement, 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."

Whoa.

~~~
Zaak
I would love to see his analysis of the system. I doubt it's been preserved
though.

~~~
stralep
If anyone has this, please contact me.

------
sz
A good read every time. This part stood out:

"In retrospect I realize that in almost everything that we worked on together,
we were both amateurs. In digital physics, neural networks, even parallel
computing, we never really knew what we were doing. But the things that we
studied were so new that no one else knew exactly what they were doing either.
It was amateurs who made the progress."

~~~
pavel_lishin
If everyone is an amateur, isn't the last sentence a tautology?

~~~
ramchip
I don't think 'not knowing exactly what you're doing' implies 'being an
amateur'.

------
jasongullickson
This is my favorite line:

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

...advice for the ages!

------
monk_the_dog
Here's another favorite story from thinking machines: The Rise and Fall of
Thinking Machines

<http://www.inc.com/magazine/19950915/2622.html>

For what it's worth, last I heard Sheryl Handler was running Ab Initio. I
wonder if she's really the nutcase the article makes her out to be.

------
Brashman
I thought this was an especially interesting point:

"Every great man that I have known has had a certain time and place in their
life that they use as a reference point; a time when things worked as they
were supposed to and great things were accomplished."

~~~
unoti
Me too. I instantly knew what that time period was for me.

This concept immediately reminded me of an excerpt from the outstanding book
"Rules for Aging" which talks about this and its potential dark side:

"A long happy life last five minutes. One would think that this rule would go
without stating, but many people actually believe that a long life of
uninterrupted happiness is a real possibility. And they act on this belief!
They change families, careers, the structure of their faces, countries,
everything, for no more substantial reason than they recall five minutes of
uninterrupted happiness in the past, and now they wish to re-create the moment
in perpetuity. They even convince themselves that the five-minute period they
recall was really five years and giddily substitute the exception (bliss) for
the rule (confusion, doubt, misery, fear, confusion, and confusion). Happiness
is wonderful, but if you have had more than five consecutive minutes of it, it
means you weren't thinking."

That book isn't really about aging, it's more about practical down-to-earth
wisdom. I read it for the first time when I was in my early 20's, and it's
very amusing and pure gold.

------
leogau
"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."

I don't know much about Feynman but the combination of his brilliance and his
popularity has always intrigued me. Surely we can assimilate some of Feynman's
charm.

------
joshu
I've spent a little bit of time with Danny. He's astonishingly smart. So to
hear him talk about someone else like that makes me jealous I couldn't have
been around.

------
keeptrying
I cant seem to get to the article but I think I know which article this is.
I'm a huge fan.

I especially like how the machine was initially designed so that it required 4
chips per board. But when they were about to start manufacturing the boards,
they realized that present technology couldnt fit 4 chips per board.

Feynman it seems modeled the system via set of partial differential equations
and then said that he had proved that 3 chips per board were enough and
modeled how the system would work even in this configuration.

No one really understood what he had done but they trusted him, created the
boards and it turned out he was right.

This story I believe was in an Scientific American a long time ago.

~~~
LiveTheDream
Pretty good memory. The article says the numbers are 7 and 5, not 4 and 3, but
the idea is the same. I wonder how the conversations went when the others
initially overruled Feynman's recommendation and then, months later, were
forced to use it and admit he was correct all along.

------
akadien
This story never gets too old to re-read.

------
protomyth
I do wonder if any of the parallel features of their Lisp will ever migrate
into newer Lisp / Scheme implementations.

~~~
sedachv
StarLisp is basically Common Lisp with parallel-map and parallel-reduce and a
special vector data type for them. You can do data-parallel operations over
arrays trivially, but it's not clear what array chunk size tradeoff you need
for a given problem on today's small core count machines. It might make sense
to bring the approach back when there's 100-core machines around; that would
basically be a CM-5 on a chip.

In the meantime there's a StarLisp simulator you can play around with:
<http://sourceforge.net/projects/starsim/>

When it comes to data parallelism, StarLisp's successor Paralations
([http://www.mactech.com/articles/mactech/Vol.08/08.07/Paralat...](http://www.mactech.com/articles/mactech/Vol.08/08.07/Paralation/index.html))
is much more interesting because it deals explicitly with locality.
Paralations' successor, NESL (<http://www.cs.cmu.edu/~scandal/nesl.html>) is
implemented on top of Common Lisp, but it's a functional language with ugly
syntax.

It would make a lot of sense to have something like StarLisp or APL for CUDA
right now. Trying to do data parallelism in C is about the most brain-damaged
idea ever. I don't know if anyone is working or interested in that, though.

Overall, I think the MultiLisp (futures) approach is a bigger win for general-
purpose parallel programming than StarLisp data parallelism. Doing everything
with data-parallel algorithms is hard - you're doing everything with array
programming like in APL, but now you need to come up with clever ways to
parallelize everything too. But the algorithms themselves are beautiful (read
Hillis and Steele's Data Parallel Algorithms, my favorite algorithms paper:
[http://docs.google.com/viewer?a=v&q=cache:efZTS1nDfBsJ:c...](http://docs.google.com/viewer?a=v&q=cache:efZTS1nDfBsJ:citeseerx.ist.psu.edu/viewdoc/download%3Fdoi%3D10.1.1.85.1876%26rep%3Drep1%26type%3Dpdf+hillis+steele+Data+parallel+algorithms&hl=en&gl=ca&pid=bl&srcid=ADGEEShW4j_bt4y5VRsTqM7e7IPnAHp1KxQGGH0aHERCb-
YZiQBvx8_ERTfrgzb2TsIryUWfBGRUY-JNCEh-reU0BcUfcC8nusO-
TyqzlzNelNaeIDsWdgtM7kFLZVuMgIN6_UrDfeOU&sig=AHIEtbRyegDoFIwWgJrFCgdgIb2VlOAseg))

~~~
miloshasan
> It would make a lot of sense to have something like StarLisp or APL for CUDA
> right now. Trying to do data parallelism in C is about the most brain-
> damaged idea ever. I don't know if anyone is working or interested in that,
> though.

You may well be right, but I challenge you to prove it. I myself am very
interested in whether this would work. I have spent many sleepless nights
programming GPU algorithms, and wondered if ideas from other programming
languages and paradigms (especially functional programming) could be applied
to make it easier and more elegant.

The nested data-parallelism approach does look promising on paper, and many
people are well aware of the theoretical possibility of this working on GPUs
(including people at Nvidia itself), but so far nobody succeeded to make it
practical.

So, doing data parallelism in CUDA may be brain-damaged, but the flexibility
and performance it delivers is mind-blowing. If you can achieve something
comparable using a higher-level functional approach, I will be among your
first users, and I'll tell everyone I know.

MultiLisp (AFAIK) is traditional task-parallelism rather than data-
parallelism, and would not work well on a GPU.

~~~
sedachv
I'm not talking about data parallelism being bad, but C being a bad data
parallel language.

~~~
miloshasan
Of course... read my reply again please.

I am not disagreeing with you, I am saying that I would love to see a better
data-parallel language than C (or CUDA to be precise), but it does not exist
right now (at least not a practical one that would run on a real GPU with
reasonable performance and allow non-trivial nested and hierarchical
algorithms).

------
jasongullickson
Are any of you aware of more information on the "parallel version of Basic"
mentioned?

------
srean
My comment should really be an Ask HN. But is it conceivable to build a CM-5
class computer on FPGA boards ? Any idea how much that would cost if it was
possible ?

~~~
thesz
Late CM-5 was 64-node MIPS connected through hypercube or fat tree. I think
you can fit several MIPSes into one high-class FPGA - it looks like 4 would
fit nicely into Virtex 5 TXT series, not so sure about more.

I think that you will need custom boards for interconnection.

So it will be some costly project.

Plasma, a simple MIPS-I variant: <http://opencores.org/project,plasma>

~~~
srean
Thanks and upvoted for the reply and the link. Did not expect my comment to
picked up, given I joined so late in the thread. In terms of raw FLOPS I think
one can comfortably top the CM-5 machines with current commodity hardware. But
it would have been pretty cool to have a personal CM-5 to play with.

------
zslwork
yes you all are right and even i would like to revisit this

