Hacker News new | past | comments | ask | show | jobs | submit | more henrydark's comments login

I hope this isn't received too badly on HN, but Feynman was way too smug sometimes. This speech is essentially a philosophy of science piece, at the intellectual stage of at least one hundred years prior, and probably more like three hundred.

It's too bad that he so diminished philosophy of science, and at the same time put so much undeveloped thought and prose into it.


> way too smug sometimes

Feynman was lucky enough to be a physicist in an era when there was much new, experimentally testable physics. Experimentalists discovered new phenomena. Theorists could propose theories, which were then confirmed or rejected quickly. Most results were clear, not near the noise threshold. The field progressed rapidly. Physics was finding, and had found, a set of concise rules that the universe consistently obeyed. Plus, they won the war. Physicists of that era could afford to be smug.

Today, physicists are still banging their head against the wall on dark matter and string theory. Both ideas are not directly testable. Trying to find the foundations is not going well.


I'll bite.

> way too smug sometimes

Immediately after:

> This speech is essentially a philosophy of science piece, at the intellectual stage of at least one hundred years prior, and probably more like three hundred.

Bruh.

Apart from the hypocrisy there, the fact is Feynman did science. He did more science than Popper, Kuhn, and Hume put together. He understood it on a level deeper than >99% of other scientists, and >99.9% of philosophers.

That he did so with a "three hundred year" out of date view doesn't really reflect well on PoS's utility for actual scientists.

Let people who are that capable and accomplished have a blind spot once in a while. What is this trend of cutting legend's ankles gonna accomplish for anybody.


It's a weird beef between science and philosophy. It doesn't really make all that much sense. Philosophers arent on one team versus the scientists. If you read any philosopher, they'll vehemently contradict other (prior or contemporary) philosophers, passionately arguing for their view of things.

Its a sort of elitism and inferiority complex.

The fact that Feynman was working through some "naive" positivist worldview and yet achieved such success just rubs it in more that a talented scientist needs philosophers about as much as a bird needs ornithologists to know how to build its nest.

When talent, curiosity and integrity come together in this way, it doesn't need some philosophers musings and rulebooks to do great.


> The fact that Feynman was working through some "naive" positivist worldview and yet achieved such success just rubs it in more that a talented scientist needs philosophers about as much as a bird needs ornithologists to know how to build its nest.

How's that global warming thing coming along?

Let me guess: it isn't relevant?


Your snark is unwarranted and your post is vague. State your point clearly. I don't know how Feynman (and his beef with the philosophy of science) is connected to global warming "coming along" or not.


Your self-confidence and entitlement are impressive.


Historically, many scientists have dabbled in philosophy and many philosophers have done some science. Some were know for contributions in both areas (as well as mathematics).

Feynman may not have cared about philosophy, but plenty of other scientists did and do. Plus, philosophy doesn't necessarily have to justify itself in terms of "utility", because that just assumes that everything needs to have some ulterior motive and can't just be enjoyed for its own sake.


It seems like you believe that since I'm defending Feynman, I must be attacking philosophy somehow. But it's not an either/or situation.


I agree Feynman was often smug. It's annoying but I forgive him because I too am smug from time to time. Perhaps he was aware of it within himself as well.


What is undeveloped about the ideas in the article from the POV of philosophy of science?


> Before if you started with thread and then realised you were GIL-limited then switching from the threading module to the multiprocessing module was a complete change

Is this true?

I've been switching back and forth between multiprocessing.Pool and multiprocessing.dummy.Pool for a very long time. Super easy, barely an inconvenience.


Similarly, in 2003, they had some code-under-caps promotion. I wrote a script to submit thousands of random codes to the website, and subsequently someone from Coca-Cola NZ called my home. They calmed down when my dad said I wasn't home, but at school.

Mind you, in 2002 no called, and I got a free shirt and a folding chair.


> I wrote a script to submit thousands of random codes to the website, and subsequently someone from Coca-Cola NZ called my home.

I managed to get a phone call and a personal visit from a script.

Much less interesting than it sounds: I was downloading satellite data from NASA, the increased bandwidth use worried the sysadmin in my research lab, and we each had landline phones on our desks because this was the mid-noughties.


I got my TI-99/4 confiscated by law enforcement when, after watching War Games, I wrote a script to "war dial" connection strings on the local Tymnet POP. Turns out one of the systems I connected to was the backend clearing system for Credit Suisse. They were neither happy nor had a sense of humor. After logs showed I didn't try to steal money or do anything damaging I got my computer back in a couple of weeks.

A couple of takeaways:

a. Credit Suisse did not have a username / password to log in. They were using "security by obscurity" in 1980.

b. The local FBI guys in Dallas didn't know you could purchase a modem for a couple hundred bux and hook it up to a $1000 personal computer. They seemed truly surprised to discover I wasn't part of a well-funded white collar crime syndicate and just a kid in jr. high school whose parents eventually gave in when I begged for a modem for a couple months.

c. You can apparently do damage to your reputation at 300 baud.


In the 1980's, the New York State Police visited the local police department in the town I lived because of some dialup mischief I caused. The local police chief toldd them he'd handle it.

The lesson I learned was to do a better job of covering my tracks. But I stayed away from that mainframe after that.

The things many of us did to learn about computers back then would get someone prison time today.


> c. You can apparently do damage to your reputation at 300 baud.

lol. that's a great line.


"300 baud criminal" is the name of my next band.


In the early 90's I worked for Louisiana State University's AG Center purchasing department and had a mainframe TSO account. I figured out how to use Gopher to various other research universities and download weather satellite photos and other various weather data (sometihng I was interested in at the time). I was then able to subsequently use Zmodem downloads over a 3270 dial up session to do this from home. I thought being able to get this info was pure magic at the time, since it was primarly only available to researchers.

My supervisor got the next month's TSO departmental chargeback bill for my user account from the University's IT group, and it was tens of thousands of dollars of TSO time :). They told me "don't do that anymore"


How do you do pca on dimension 2M?


> Grothendieck was, to be clear, a strong mathematician compared to most anyone, but these peers were the most talented young mathematicians in France, and unlike Grothendieck, who had spent the war in an internment camp at Rieucros, near Mende, they had been placed in the best schools and tutored.

Weil was also in a camp. Honestly, I can't stand Geothendieck. Where's the piece about how sociable Serre and Deligne were (and still are), and how much they contributed along side Geothendieck, but without going full bonkers?

Fine, schemes and etale topology are great, the category theory viewpoint is enlightening, but at the end of the day I'm interested in Deligne's (two) proof(s), in Mazur's torsion theorem, in Wiles' theorem, etc. Grothendieck's foundation is said to be fundamental to all of these, but I'm not so sure.


J.-P. Serre is indeed a gentleman, I had occasion to be a passenger in a car with him (and Giles Pisier) many years ago, me a no-mark grad student sitting with two giants. He quizzed me about my work and seemed genuinely interested in my relies, I knew this was all kid's stuff to him; kindness personified.


My idea of being explicit and clear changed dramatically after I was exposed to D. Harel's "Statecharts: a visual formalism for complex systems".

Ironically, I think the paper presents more than just the idea and examples of statecharts, rather it also _implicitly_ contains a _method_ for discovering mechanism - the long winded example of the author's digital watch, in my eyes, is a marvel.


Would you recommend Miro Samek's Practical UML Statecharts in C/C++ a good book to learn this technique from ?


Personally, no. I did go through it, but didn't get much from it. Beyond the original paper, I'd recommend David Khourshid's talks, which you can find on YouTube.

For C++ I used Kris Jusiak's library [boost].sml extensively. He too has a few talks on the subject, in particular his c++now 2017 talk.


Thank you and appreciate it very much.

I came to know of Statecharts (from UML) long ago, but had not bothered to study it properly, thinking it was just a "more complicated State Machine representation". Seems i was wrong and there is much to learn here - https://statecharts.dev/


Who else was disappointed to find it's Apache Kafka and not Franz Kafka?


Don't think so, doesn't computer program equivalence require solving the halting problem and undecidable problems?

For example, consider the empty program, and the program that print "hello, world!" if an undecidable condition is met. I think checking if these two programs are equivalent is undecidable


For these two programs it's easy to check that they are not equivalent.

The magic words are "in general" and in general, program equivalence, as well as all other interesting program properties, are in general undecidable (Rice's Theorem).


I wouldn't trust anyone that is against cake


Especially not an agent.


I agree with everything but the last statement. This all comes down to: do you consider memoization to be state.

I predict people's answers to this question will come from experience with memoization. Here's mine: I kept trying to get nix to build tensorflow locally, so that I would get the avx512 benefits of the big, but gpu-less machine I had. I hadn't realized some other derivation had already downloaded tensorflow from online cache, so didn't have avx512 enabled. I kept making shells, trying tensorflow, seeing it doesn't have support. The solution was to tell nix to disregard the nix store, in order to force the local build. This experience has left me with the concrete feeling that the nix store is full-on state, and I the user must be aware of it.


> The solution was to tell nix to disregard the nix store, in order to force the local build.

If this actually led to avx512 being enabled in the package, then that's a bug. Nix builds should not be dependant on the machine doing the compilation, all such autodetection should be disabled via configure flag or patched out.

Then, the right way to enable avx512 would be to pass some 'enable avx512 please' flag to the package's configure flags. Which would then trigger recompilation, without any 'disregard the nix store, in order to force the local build' options.


It is, but the possibility of such bugs is a downside to the approach (not saying it's a showstopper but it is a negative). Some of the nastiest software problems to track down are the ones that cause some fundamental assumption everything rests on (often a cache keying assumption!) to be broken, making everything behave wrong, including the tools you're supposed to use to track down problems.

If you're going to build an entire system on an assumption of referential transparency you want to be able to guarantee that everything really is referentially transparent, and one valid criticism of nix is that it can't really enforce that in all cases.


There is work being done to address outputs by their content hash instead of xor-ing their input hashes, which in theory should eliminate this problem.


Yes, you have unfortunately discovered that sometimes the hardware itself is an input that isn't always captured explicitly, but also isn't controlled for with sandboxing. Ideally enabling avx512 would be an explicit input to the tensorflow package, but based on your experience it sounds like this feature is detected during the build automatically.

I hope that issues like this get better over time thanks to projects like Trustix, which would make non-reproducibility like this more apparent.


> Ideally enabling avx512 would be an explicit input to the tensorflow package, but based on your experience it sounds like this feature is detected during the build automatically

Looks like it sets e.g avx2 on the flags, forcing the package to be most compatible, thus removing the hardware state (the builder may or may not have avx512, ideally Nix packages should remove hardware autodetection to make it pure and consistent in face of cross-compiling).

It should indeed have an input in some way, e.g to add more flags. Then AIUI (still learning Nix) one would be able to call the package function with that input from the dependent package function, thus defining another package than the default one, which would be reified as its own specific derivation for that package to depend on.

https://github.com/NixOS/nixpkgs/blob/master/pkgs/developmen...


I think part of the problem ist that derivation hashs sometimes don't fully cover the intermediate states of a derivation during the build process. This might lead to two hashs pointing to effectively two different configurations. I've had that experience in particular with non-reproducible derivations.

Even one of those in the store will make the store, or at least a subset of it, a state.


Hopefully this sort of issue will be addressed more satisfactorily when content-addressed stores find general usage.


Huh, is this what Nix users mean by “impure”?

If so, then it makes so much more sense to me now.


Yes, but 'pure' might mean different things at different levels.

In a programming language, 'pure' would just refer to "function where you get the same output from the same input; no side effects".

In parent's case, there was an 'impurity' such that the package is meaningfully different depending on the machine it was built on.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: