Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
uecker
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
29 ms
·
811.
▲
by
uecker
1y ago
You can copy the binary on a different system before installing it, or compute the hash before you run it. This is not hard. And even if you are not copying to another system, the attacker needs to find all copies of the binary and modify
812.
▲
by
uecker
1y ago
Bounds sanitizer with trapping is used in the wild by important projects, e.g. the Linux kernel on various mobile devices. WG14 is also working on such topics, so this is more your ignorance speaking. But complaining on the internet about t
813.
▲
by
uecker
1y ago
I haven't seen at() used a lot and simply using C++ and C would not make your programs magically use at() instead []. P3471 is not required to be supported by an implementation, and bounds checking extensions also exist for C.
814.
▲
by
uecker
1y ago
With a binary, one can compare a hash or store a copy on the binary on another computer. And one person doing this might be enough to figure out something is wrong. But even if people don't, it needs additional effort by the attacker
815.
▲
by
uecker
1y ago
If people install random stuff from the internet, there is no security. That sometimes this is done is no reason to give up and teach people that "curl | bash" is even remotely ok. "curl | bash" is much worse than eve
816.
▲
by
uecker
1y ago
I would say that C++ pulls in so much entropy, that having standardized array and string types does not really make up for it. And the standardized arrays are not even safe in C++: https://godbolt.org/z/Y4f4v8M3z
817.
▲
by
uecker
1y ago
Maybe, but it is generally much more work to do than including a minimized test case which may already exist. But I would argue that binary blobs for testing are not the problem but the code that allows things from a binary blob to be exec
818.
▲
by
uecker
1y ago
It is difficult to find out why Windows is slow again. My colleagues using Windows complain about it regularly, but not not even one ever started an investigation whether there might be backdoor or not, because this would be hopeless. With
819.
▲
by
uecker
1y ago
This is missing the point. The issue with "configure" is that it is easy to hide malicious code in it because it is so arcane. The issue with "curl | bash" is that - on top - there is not even a proper trust chain an
820.
▲
by
uecker
1y ago
I hope for a Unix-like system written in C and a good C compiler toolbox. I would happily remove all the other nonsense - including Rust - from my life.
821.
▲
by
uecker
1y ago
I don't see why you think the gcc steering committee is related to MIT and the rest also sounds more like a conspiracy theory. In any case, there is still a path open for bootstrapping via TCC / GCC 4.8 ... C++ - in general - is j
822.
▲
by
uecker
1y ago
I can't comment on the rumors, but at least since I started contributing to GCC a decade ago and I suspect for much longer, RMS certainly is not involved with GCC at all and he does not have any influence on the project in any way. I a
823.
▲
by
uecker
1y ago
LLVM is the playground for new languages and those that want to avoid GPL. But it is also a bloated mess. I personally prefer to invest my (limited) time into GCC, but actually hope that something new comes up. Or rather, that those big
824.
▲
by
uecker
1y ago
So it just like email list which have an archive - except you can't use email clients but instead can use web-based interface?
825.
▲
by
uecker
1y ago
Both C++ and Rust are based on monomorphization, which means generic programming is based on a expansion of code for each combination of types. This makes compilation slow and causes code bloat. One then needs whole program optimization to
826.
▲
by
uecker
1y ago
I would say autoconf/automake is not really useful anymore and probably somebody should just establish a new and simplified standardized setup and Makefile for C projects. And yes, efficient separate and incremental compilation is majo
827.
▲
by
uecker
1y ago
I don't think there are many new ideas in Rust that did not exist previously in other languages. Lifetimes, non-aliasing pointers etc all certainly existed before. Rust is also only somewhat ready for industry use because suddenly some
828.
▲
by
uecker
1y ago
For example cyclone, checked C, safe-c, deputy etc. I agree that memory safety is useful, but I think the bigger problem is complexity, and Rust goes in the wrong direction. I also think that any investment into safety features - even if no
829.
▲
by
uecker
1y ago
Bounds checking for matrices is trivial. The point is that once you compete with C and need to do something slightly more complex, mistakes also can happen in Rust. Now, we can have a discussion if it is still safer and I may even agree),
830.
▲
by
uecker
1y ago
I don't think so. First, Rust did not come from nowhere, there were memory safe C variants before it that stayed closer to C. Second, I do not even believe that memory safety is that important that this trumps other considerations, e
831.
▲
by
uecker
1y ago
Some parts of the industry with a lot of money and influence decided this is the way forward. IMHO Rust has the same issue as C++: it is too complex and a memory safe C would be far more useful. It is sad that not more resources are inves
832.
▲
by
uecker
1y ago
Safe Rust does. To the extend Rust interfaces that wrap kernel APIs will achieve safety for the drivers that make use of them remains to be seen. I think it will indeed do this to some degree, but I have some doubts whether the effort and
833.
▲
by
uecker
1y ago
The point is that matrix transpose should be trivial. But my main point really is that looking at CVEs is just nonsense. In both cases it is is a rather meaningless.
834.
▲
by
uecker
1y ago
Rust libraries also impose an - in my opinion - unacceptable burden to the open source ecosystem: https://www.debian.org/releases/trixie/release-notes/issues.... This makes me less safe rather than more. No
835.
▲
by
uecker
1y ago
But the original point "C99 vs something later" is also about forward compatibility issues.
836.
▲
by
uecker
1y ago
As long as it is possible to produce a OOB in something as simple as a matrix transpose, Rust also does not work: https://rustsec.org/advisories/RUSTSEC-2023-0080.html .
837.
▲
by
uecker
1y ago
Yes, you can not meaningfully assert anything after UB in C/C++. But you can let the compiler add the trap for overflow -fsanitize=signed-integer-overflow -sanitize-trap=all, or you could also write your assertion in a way where it do
838.
▲
by
uecker
1y ago
Number of CVEs is completely irrelevant. Also Google's or Microsoft's priorities are completely irrelevant. If you have reliable data from the real world, please show it to me.
839.
▲
by
uecker
1y ago
Not forcing you into an eco-system is what makes C special, unique and powerful, and this aspect is not well understood by most critics. Stephen Kell wrote a great essay about it.
840.
▲
by
uecker
1y ago
This does not even compile. For array indexing, array[expression] if "array" has a bound whatever expression evaluates to can be checked against the bound of array. If "array" is not a bounded array but a pointer or a
More ›