Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
uecker
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
28 ms
·
751.
▲
by
uecker
1y ago
I dropped Gnome a long time ago and I have never used KDE, so I don't this is an immediate problem for me. As long as there are enough people using it, X will live on. I think the main thing one can do is to not accept the argument t
752.
▲
by
uecker
1y ago
Indeed, and if someone wants to help work on C, this is very much possible both on the compiler side or on the standards side.
753.
▲
by
uecker
1y ago
As someone who still thinks one should write C (so as a completely uncool person), what I like about Zig is that it is no-nonsense language that just makes everything work as it is supposed to be without unnecessary complications, D is simi
754.
▲
by
uecker
1y ago
Yes, it is the same thing, but since the objects are in free fall and there is no traditional force to cause the acceleration the better view point is that this is accelerated expansion of the universe. In a flat spacetime a forward light-c
755.
▲
by
uecker
1y ago
I would say in most submission-based benchmarks among languages that should perform similar, this mostly reflects the size and enthusiasm of the community.
756.
▲
by
uecker
1y ago
Sorry, how was your comment "Wayland is an evolution of the previous design. X11's architecture had clients sending drawing commands to the X server, a method that became limited and required extensions over time. Wayland's a
757.
▲
by
uecker
1y ago
The memory model always had segmented memory in mind and safe C approaches are not new. The provenance model makes this more precise, but the need for this was to deal with corner cases such as pointer-to-integer roundtrips or access to the
758.
▲
by
uecker
1y ago
yes, unfortunately I do not have a lot of time... maybe I can some funding, but C work this is difficult.
759.
▲
by
uecker
1y ago
So far Wayland gave me only headaches and I do not see what it offers that X does not already provide. And the fact that Wayland make their case by lying, etc. the drawing commands BS, network transparency does not work (I feature we do u
760.
▲
by
uecker
1y ago
It has been called a "gift to the world". https://www.nytimes.com/2014/09/14/science/earth/sun-and-win... But since then there was an endless stream of negative press especially in Englis
761.
▲
by
uecker
1y ago
I wonder how you like my vector: https://godbolt.org/z/97YGrbP9s (note, experimental library, but I see no fundamental issue).
762.
▲
by
uecker
1y ago
The logical problem with your argument is that as long as we want to support old clients, we now must support the X server in parallel to Wayland. So there is nothing gained. And the moment we can stop supporting them, we could do this also
763.
▲
by
uecker
1y ago
If you know these extension exist (for a long time), why spread the misinformation about "drawing commands" in the first place? A client does not need to support old functionality. A server does for backwards compatibility and
764.
▲
by
uecker
1y ago
Sorry, no modern X clients sends drawing commands. This is the nonsense I am talking about.
765.
▲
by
uecker
1y ago
I understand the difference and this is why I said "similar constraints". Once you have non-value (trap) representations you need to be careful when dereferencing pointers cast to different types, even if you do not have strict a
766.
▲
by
uecker
1y ago
A Wayland compositor is even more centralized as it combines compositor, Window manager, and server while in X these could be separate components. I also do not know any program that bypasses the X server. Are you talking about programs t
767.
▲
by
uecker
1y ago
See the ssh manpage for an explanation of untrusted/trusted clients. This debate was mainstream. Basically, some people presumable paid to work on Linux graphics decided to implement something new instead of doing their job, and gave
768.
▲
by
uecker
1y ago
Update: For the interested, here are three ways to write this in C, the first using dependent type, the second using a span type, and the third using an option type. All three versions prevent out-of-bounds accesses: https://godb
769.
▲
by
uecker
1y ago
You seem to be repeating what I said except you mixup strong and static typing. In a statically dependent-typed language you might expect it this not to compile, but this also depends. Run-time checking is certainly something you can combin
770.
▲
by
uecker
1y ago
I think you did not understand my point. X11 has several such mechanisms, yes, but it also has the concept of untrusted clients that disallow the use of these mechanisms and could be used to provide safety similar to Wayland. The point is t
771.
▲
by
uecker
1y ago
Even more, certain rules are specifically designed to make such checks possible while being conformant to the standard.
772.
▲
by
uecker
1y ago
But Rust still has trap representations, or? In practice, this implies similar constraints as strict aliasing.
773.
▲
by
uecker
1y ago
I think it would be quite viable if there is any willingness to work with the distributions in the interest in security.
774.
▲
by
uecker
1y ago
This is in ISO C99. In C11 it was made an optional feature but in C23 we made the type part mandatory again.
775.
▲
by
uecker
1y ago
X11 had the distinction between trusted and untrusted X11 clients basically forever. But nobody bothered to even spend the minimal amount of work to make this usable in practice^1. This had two reasons: 1.) It is irrelevant when you run th
776.
▲
by
uecker
1y ago
C has such types and can guarantee that there is no out-of-bounds access at run-time in the scenarios you describe: https://godbolt.org/z/f7Tz7EvfE This is one reason why I think that C - despite all the naysayers - is
777.
▲
by
uecker
1y ago
Downloading a deb via a package manager is more secure. Downloading a deb, comparing the hash (or at least noting down the hash) would also already be more secure. But yes, that the run arbitrary scripts is also a known issue, but this is n
778.
▲
by
uecker
1y ago
I think it has a lot to do with "curl|bash". Cut&paste a curl|bash command-line disables all inherent mechanisms and stumbling blocks that would ensure properly ensuring trust. It was basically invented to make it easy to inst
779.
▲
by
uecker
1y ago
Virtually every package is in cargo and npm because there is no curation. This is exactly why it is a supply-chain risk. The fix is to have a curated list of packages, but this is what Linux distribution are. There is no easy way out.
780.
▲
by
uecker
1y ago
Yes, you also do not want to do random casts, but this is even easier. I do not get your point out memory validity in Rust. What if you write where a pointer is stored, or even a boolean?
More ›