All we need is for HDMI to be unlocked so it works on phones, or maybe VGA adapters that work on phones. And a way to "sideload" our own apps. Hackers please make this happen.
iPhones and most Android phones already support connections to external displays with a cheap adapter.
Android phones already allow sideloading. Even the much protested upcoming restrictions to sideloading don't interfere with ADB sideloading.
No hackers needed. This has existed for years. I've had a few friends go through periods where they thought they were going to use their phones as plug-in terminals for something and then they never last very long. It's never as satisfying as imagined.
I plugged my iPhone 16 into my usb-C docking station the other day to charge it and was pretty surprised to discover it just started mirroring my phone screen. Keyboard worked too!
I thinks its the same reason why chess tournaments, where two AIs play against each other are not as popular, compared to when two humans play each other. Maybe its because humans generally compare themselves to other humans and that's part of how they value.
RMS did not invent software freedom. That was the natural state of the world before Congress said otherwise; and RMS was not even the only organization building freely redistributable software. He was just the most politically vocal about it.
We don't even get that far in the US. It has been largely verboten in "nonpartisan" life, either socially or by dint of an active purge in eg academia and Hollywood, to discuss anything beneficial coming out of Soviet, Chinese, or Cuban administrations.
A partisan Republican will reliably interrupt you to shout nonsense, as if admitting a single positive outcome is trying to deceive them. As if a cost-benefit analysis can just be cut in half. As if these were not just authoritarian/totalitarian, but completely lacking domestic support.
This outcome was achieved with a great deal of money and propaganda over more than a century.
I often compare systems in terms of how well they tolerate adversity. To oversimplify, it feels like top-down command-and-control communism suffers under one powerful corrupting force. Capitalism can suffer from many kinds of market failures which get exacerbated when corrupt people in the surrounding government gain power.
At a distance, I've started to view disorganized, inefficient messes of systems as not all that bad in the grand scheme, because chaotic systems are often harder to co-opt.
> ... then we can make C safe without any technical changes just by adding some language to the standard saying that C programmers are obliged to ensure that their code maintains a certain list of invariants.
In Rust you can use #![forbid(unsafe_code)]
to totally forbid unsafe code in your codebase. Rust also checks for memory safety at compile time, these are strong guarantees that ensure that if the code compiles it is memory safe.
I'm aware of that, but I'm responding to the original claim that "Rust makes the same guarantees regardless of the unsafe keyword" (see https://news.ycombinator.com/item?id=46262774)
Ah. I agree with you. When unsafe is used the borrow checker cannot check for memory safety, the programmer has to provide the guarantees by making sure their code does not violate memory safety, similar to programming in C.
But unsafe Rust is still far better than C because the unsafe keyword is visible and one can grep it and audit the unsafe parts. Idiomatic Rust also requires that the programmer provides comments as to why that part is unsafe.
I think making things more explicit with "unsafe" is an advantage of Rust, but I think "far better" is a bit of an exaggeration. In C you need to audit pointer arithmetic, malloc/free, casts and unons. If you limit pointer arithmetic to a few safe accessor functions and have a documented lifetime rules, this is also relatively simple to do (more difficult than "grep" but not much). Vice versa, if you use a lot of "unsafe" in Rust or in complicated ways, it can also easily become possible to guarantee safety. In contrast to what people seem to believe, the bug does not need to be inside in unsafe block (a logic error outside can cause the UB inside unsafe or a violation of some of Rust's invariants inside unsafe can allow UB outside of unsafe) and can result even from the interaction of unsafe blocks.
The practical memory safety we see in Rust is much more the result of trying hard to avoid memory safety issues and requiring comments for unsafe blocks is part of this culture.
> the bug does not need to be inside in unsafe block
The argument is that while you wouldn't in fact fix the bug by modifying the unsafe code block, the unsafe code block was wrong until you fixed the other code.
For example imagine if a hypothetical typo existed inside RawVec (the implementation details of Vec) causing the growable array to initially believe it has 1 element inside it, not 0 even though no space has been allocated and nothing was stored. That's safe code, and of course the correct fix would be to change it from 1 to 0, easy. But this broken type is arguably broken because the unsafe code would deference a pointer that isn't valid, trying to reach that non-existent value. It would be insane, perhaps even impossible, to modify that code to somehow handle the "We wrote 1 instead of 0" mistake, when you could instead fix the bug - but that is where the theoretical fault lies.
If the security flaws are in the training data AI will be able to detect them, stuff like OWASP are definitely in the training data. So in a way this is like more intelligent fuzzing, which is a fantastic tool to have in your toolbox. But I doubt AI will be able to detect novel security flaws that are not included in its training data.
Patents, trademarks, copyright, deeds and other similar concepts are part of what makes capitalism what it is, without them capitalism will not work because they are the mechanisms that enforce private property.
Good luck with that. When 3/4 of the world laughs at your patent what is the point of patents? IP only works when everyone agrees to it. When they don't it's just a handicap on the ones who do that benefits nobody.
reply