Reading this, I think low level engineering is actually more dependent on specific environments. Hardware also has its own points of change. Usually, when you think at a high level, environmental changes are less significant than you might expect. But low level thinking tends to be tied to specific environments, which is what makes it difficult. The reason low level is hard is that even if the code itself is short, t…
I hate compilers
41–50 of 182 posts
Re: I hate compilers
#42Here, since any whatwg cartel web engine is an issue, the author should not bother.
Re: I hate compilers
#43As long as the program is equivalent there isn't an actual problem here. Requiring the output to always be the same is an arbitrary restriction. If you want to have users trust that someone else hasn't modified it, then sign it with your identity.
We'd like to verify, not trust.
Re: I hate compilers
#44Earlier quoted context omitted.
We'd like to verify, not trust.
The whole point of a signature is that you are able to verify what was signed was in fact a message that was signed by signer.
Being able to reproduce the binary from the source code and being able to verify that it's the same as the original is quite important in some contexts.
Re: I hate compilers
#45Nix also needs the build output to be deterministic to calculate the hash. It also has the problems of timestamps etc. The build environment tries to be hermetic by setting the time to be epoch among other things.
https://reproducible-builds.org/docs/source-date-epoch/
(although Nix sets it as a default)
Re: I hate compilers
#46Earlier quoted context omitted.
The whole point of a signature is that you are able to verify what was signed was in fact a message that was signed by signer.
Sure, but a signature doesn't prove that a particular binary came from a particular codebase - merely that a particular human (or other trusted entity, for varying degrees of "trusted") has vouched for it. Being able to reproduce the binary from the source code and being able to verify that it's the same as the original is quite important in some contexts.
I disagree. The contexts that people come up with are purely theoretical, and are not practically important. Please do try and convince me otherwise by sharing such a context. From my view the juice of trying to accomplish this is no where worth the squeeze.
Re: I hate compilers
#47Re: I hate compilers
#48Reading this, I think low level engineering is actually more dependent on specific environments. Hardware also has its own points of change. Usually, when you think at a high level, environmental changes are less significant than you might expect. But low level thinking tends to be tied to specific environments, which is what makes it difficult. The reason low level is hard is that even if the code itself is short, t…
Depends on what you mean by low level I guess. Compared to web application framework churn rate, simple procedural programming without many dependencies is remarkably stable. You tend to program in a way that works for most platforms (all targetted platforms). How to best do that you learn over the years. To me personally it's very refreshing if the environment around you does not constantly change. That affords lear…
Re: I hate compilers
#49> I decided to take inspiration from the legendary talk The Birth and Death of JavaScript and just recompile the WebAssembly to JavaScript.
So what do you do when the client has Javascript disabled ?
Re: I hate compilers
#50Nix also needs the build output to be deterministic to calculate the hash. It also has the problems of timestamps etc. The build environment tries to be hermetic by setting the time to be epoch among other things.