Maybe better to consider the same problem in a different domain: encryption. A court can order you to give up your encryption key or password. They can even do this if you don't know or have lost your password/key. But neither the court nor its enforcement agencies can simply issue a judgement to decrypt an encrypted email; your compliance is required. The court can hold you in contempt for the rest of your life for not revealing a key you may or may not have, but they can't force you to decrypt it if the key is lost or you don't give in.
Likewise for cryptocurrency and "code is law" smart contracts. A court (or regulator) could demand all they want that a bitcoin transaction be reversed, or that a DAO smart contract be frozen. But if the underlying protocol works as it is supposed to, and if mining/staking is properly decentralized, there ain't shit they can do to actually enforce that demand.
People transacting on a blockchain are still subject to local laws, and need to comply with relevant regulatory directives. No one of consequence seriously believes that something is above the law just because it happens on a blockchain. But pragmatically, a regulator can control the blockchain about as effectively as NASA could get into space by legislating gravity.
But anyway, it's still entirely wrong because they can still just catch you using traditional means. Like catching you on tape admitting you stole the Bitcoins, or getting a video of you doing it, or getting credible witnesses to say that you did it. Or similarly, to retrieve the stolen coins just get a video of your keyboard while you type the pass phrase to the wallet, or just liquidate the rest of your assets into dollars and pay back the victim that way... Like the whole thing just makes no sense. Even if it did actually work it would still be terrible because the system you describe means that if you get your bitcoins stolen and you catch the thief and he admits he did it and then intentionally goes to jail to avoid having to give the tokens back so they just sit there unused in the wallet just to spite you... you can literally never get them back. Why would anyone actually want that??? I am honestly trying not to make this so outlandish but this is entirely what you just described. It's completely ridiculous.
The only thing this accomplishes is if you are trying to destroy money and make someone suffer by taking destructive actions... but like, if you are really an evil and petty criminal person you can also just do that with anything else? Like, rob them at gunpoint and set their cash on fire? Or slash their car tires? No one needs Bitcoins just to be an asshole, you can see that every day on this planet...
The reality is that tech companies are winning this war, technologically, because asymmetric cryptography works--so there isn't some secret key embedded in the devices that you can merely extract and use--and the industry is getting better about not causing regressions. The big battle over unlocking cellphones from 5-10 years ago? That was nothing more than a gambit (which worked, btw) to change the process rules, because no one is actually using technological techniques to supply unlock codes anyway (it is now all via, shall we say... "light corporate espionage" ;P).
In a world where I am allowed to make a jailbreak that doesn't mean I can make a jailbreak, as we can see in the war with Apple: the reason there aren't jailbreaks for modern iPhones right now isn't because of DMCA fears. We live in an awkward time where bugs can be features :(. The real "practical" changes are thereby going to have to come from proactive regulation that prohibits certain forms of protection or corporate behavior, not attempts to defend the rights of users to publish what they can find and build. I would more watch Right to Repair, or the various antitrust lawsuits (including my related Apple one).
(Note: I know I didn't directly tackle whether anything anyone is doing might help you backup your streaming licensed content, but I also appreciate you didn't directly ask me anyway ;P. I have not heard of such, but I don't pay as much attention to that kind of content. The issue in Green and Huang's cases, though, is about being able to publish information and tools that might help you rip such content, and the reality is you can likely already do that and to the extent to which people start only letting locked down devices with encrypted cables access content, I think you will see companies win that in the next 5-10 years and the legality of publishing a workaround won't matter as there won't be any workarounds to publish. And whether it is legal to do that backup for content no one even pretended you can "buy" seems orthogonal to the efforts I have seen or been involved with.)
I hate to push back on you (of all people) for this, but no it's actually not. You are talking too much with your hacker hat on and not enough with your legal hat on. There is quite a difference between accredited security firms doing responsible security research, and random unaffiliated parties with shifting and conflicting motivations doing "security research". That angle is a losing angle and it's not because these companies did anything, it's because it is actually a fallacious and bad meme that has propagated around forever in hacker circles, seemingly for no other reason than that it is fun to think about it.
In my opinion, if you follow that "right" to its legal and technical conclusion, you will end up with the "right" of corporate security firms to do research. That's it. I don't mean to be all doom and gloom though. You are right that the idea of "right to repair" is a much broader thing that makes a much more compelling case for any kind of consumer protection angle.
In fact, until LLVM is replaced, C++ will probably be the language of choice for new languages. Even `rustc` requires a C++ bootstrap for that purpose.
There are also other important C++ and C libraries that will continue to mean C and C++ may be better choices than Rust in certain cases.
And don't get me started on embedded.
Also, that doesn't even matter when the purpose is a hobby project (such as mine) where the programmer has no interest in Rust (such as me).
I like how Trevor Jim put it [1] better:
> If you decide to write your project in C/C++ you must have a plan for handling the inevitable memory corruption in advance. Anything else is malpractice.
This is possible to do. I've released a non-trivial program that has had no known memory bugs ever since 1.0 on 2018-10-26. It is written in C. And I challenge anyone to find one in any release since then. You might find one, but I think it will be tough.
In other words, it's possible to put C and C++ on the same footing as Rust when it comes to memory bugs; after all, even Rust is not perfect there.
Yes, it takes more effort. A lot more effort. For my hobby projects, that works fine because I'd rather work in C with the extra effort than in Rust.
Oh, and it's possible to make C as good as Rust: I've got macros to do automatic bounds checking. I've got RAII and stack traces. I've got structured concurrency, which will give the same capabilities as the Rust borrow checker if you adjust your coding style. And all this in portable C11.
So no, Rust is not the end-all be-all of languages. Sorry.
Rant about absolutist opinion over.
But seriously, use Rust if it's available for your target platforms, and you have no other preference.
[1]: http://trevorjim.com/using-an-unsafe-language-is-a-design-fl...
>I've got macros to do automatic bounds checking. I've got RAII and stack traces. I've got structured concurrency, which will give the same capabilities as the Rust borrow checker if you adjust your coding style. And all this in portable C11.
You can do this all in C but it is an absolute nightmare. Every large C program grows some strange bespoke and incompatible versions of all that stuff at some point. And they're all a pain to use because none of it is idiomatic to the language. It's seriously awful. Things like the Linux kernel are the worst offenders. I will be happy when the C language finally reaches the end of its miserable, slow, agonizing death.
Crypto will never be a legitimate investment class if people can't trust that they will get their investment back. It's also impossible for it grow to fill a need without trust. Crypto-Land should be jumping with joy at hearing this news.
If crypto-land really wants to follow through on their lawless anarchist fantasies, then they should be even happier if the SEC bans all of it outright. Then they can all go back to their roots when the only thing bitcoin was used for was illegal black market drug transactions...
It's possible in both KDE and Sway.
GNOME is probably worst DE imaginable. After 20 years, they still don't have thumbnails in filepicker and even dropped preview side pane in GTK4. I can't even.
Really disappointing to see this very lazy and trite criticism upvoted. If you look in KDE Plasma or Sway, you can also find plenty of missing features and bugs. You can find those anywhere.
While the reality is, that toolkits (and applications) used to use those APIs and were revamped to use the DRI APIs and general bitmap based windowing. The old APIs don't support double buffering, access to GPUs with modern APIs (both opengl[indirect sucks] and Vulkan). They don't provide modern font rendering, or any kind of graphical effect (distortions) that UI people might want to play with.
They would be significantly worse for anything displaying animations and one of the most common client libs (libx11) is serial and thus horribly latency sensitive.
The advantage of VNC isn't lossy compression. Which isn't forced by it either. But it handles networking better with bitmaps. And has improvements like acting as a screen/tmux style connectable session for graphical applications. Both VNC/RDB can also support showing the server's desktop if it has one, not just running other applications than currently open elsewhere.
The only advantage of old style X11 was that it's ubiquitous. But since it hasn't been used in ages since it doesn't work well with modern computers/UI frameworks that advantage is gone. And there's 0 reason to try and reimplement that in a new windowing protocol, when there's objectively better choices out there already. Local optimized windowing is a different beast than network capable.
Compare to a protocol like RDP which is extremely optimized for efficient and secure network operation, but is also way more complicated as a result, and it would be foolish to use it on a local display server.
The people who actually develop x or wayland are a tiny number of people. The people expressing opinions on the internet on tech is 1000x larger. The implications that the proponents are correct in their analysis because they develop it is fatally flawed if for no other reason than the subject is obviously not solely the tiny number of actual devs. Furthermore the arguments even of devs needs to stand on their own feet.
Look at the prior comments where someone complains that random crashes result in the entire session going down.
Who cares what anyone says about the theoretical design decisions regarding manifestly unsuitable tools.
I mean, I think it would be cool if my PC never crashed. Isn't it easy and fun to say things like that?