"Simple" doesn't always mean "better". A car without seatbelts is less complicated than one with, but it definitely doesn't make it a better car.
Similarly, The original DNS protocol doesn't have any form of verification: it is is trivially easy for a MitM attacker to alter the responses - or even for a non-MitM one to send spoofed responses "in the blind". It also doesn't have any form of confidentiality: it is trivially easy for a MitM attacker to log all the requests you make, which essentially means your entire browser history.
It takes an awful lot of hacking to turn classic DNS into something even remotely representing a mature and well-designed protocol. By the time you are done bolting on all the other stuff it really isn't all that simple anymore.
I bet you can. But you can't turn a simple single linear amplifier into a PID controller with zero physical changes, can you?
My point was that, if you want additional behavior, you need to bake that in from the start. With an MCU you can trivially switch it in-the-field to literally anything you can imagine.
We don't live in the AMD Athlon era[0] anymore. Modern CPUs are designed to boost until they hit a thermal limit, improper cooling is just going to result in a lower clock speed.
It's the classic "misunderstanding" that UB or buggy unsafe code could in theory corrupt any part of your running application (which is technically true), and interpreting this to mean that any codebase with at least one instance of UB / buggy unsafe code (which is ~100% of codebases) is safety-wise equivalent to a codebase with zero safety check - as all the safety checks are obviously complete lies and therefore pointless time-wasters.
Which obviously isn't how it works in practice, just like how C doesn't delete all the files on your computer when your program contains any form of signed integer overflow, even though it technically could as that is totally allowed according to the language spec.
If you're talking about Rust codebases, I'm pretty sure that writing sound unsafe code is at least feasible. It's not easy, and it should be avoided if at all possible, but saying that 100% of those codebases are unsound is pessimistic.
One feasible approach is to use "storytelling" as described here: https://www.ralfj.de/blog/2026/03/13/inline-asm.html That's talking about inline assembly, but in principle any other unsafe feature could be similarly modeled.
It's not impossible, it is just highly unlikely that you'll never write a single safety-related bug - especially in nontrivial applications and in mixed C-plus-Rust codebases. For every single bug-free codebase there will be thousands containing undiscovered subtle-but-usually-harmless bugs.
After all, if humans were able to routinely write bug-free code, why even worry about unsoundness and UB in C? Surely having developers write safe C code would be easier than trying to get a massive ecosystem to adopt a completely new and not exactly trivial programming language?
Rust is not really "completely new" for a good C/C++ coder, it just cleans up the syntax a bit (for easier machine-parsing) and focuses on enforcing the guidelines you need to write safe code. This actually explains much of its success. The fact that this also makes it a nice enough high-level language for the Python/Ruby/JavaScript etc. crowd is a bit of a happy accident, not something that's inherent to it.
That's what happens when consumer demand rapidly shifts, and businesses start panic-buying and panic-cancelling. As far as I recall, actual chip fab output didn't really change that much.
A hospital isn't going to shut down because their MRI's new helium load is getting more expensive - they'll pay a fortune for it. For a lot of other applications there are no suitable alternatives either.
The real question then becomes: what's going to happen when there's a 1000x price increase?
I recently did an install of Windows 11 on a machine without TPM
To bypass the check during installation:
Boot the laptop from your USB.
When you see the "This PC can't run Windows 11" screen, press Shift + F10 to open a command prompt.
Type regedit and hit Enter.
Navigate to HKEY_LOCAL_MACHINE\SYSTEM\Setup.
Right-click Setup, create a new Key named LabConfig.
Inside LabConfig, create two DWORD (32-bit) values:
BypassTPMCheck = 1
BypassSecureBootCheck = 1
Close the registry and the command prompt; the installer will now let you proceed.
It's a never-ending cat-and-mouse game, and unsupported hacks like these usually aren't well-received in corporate environments. Decent stop-gap for home use, though!
Similarly, The original DNS protocol doesn't have any form of verification: it is is trivially easy for a MitM attacker to alter the responses - or even for a non-MitM one to send spoofed responses "in the blind". It also doesn't have any form of confidentiality: it is trivially easy for a MitM attacker to log all the requests you make, which essentially means your entire browser history.
It takes an awful lot of hacking to turn classic DNS into something even remotely representing a mature and well-designed protocol. By the time you are done bolting on all the other stuff it really isn't all that simple anymore.
reply