3 ms·
It is probably best to say the author's advice is not practical and, for most people, not desirable. It is also worth adding the solution is problematic in the
by II2II 3y ago
It is probably best to say the author's advice is not practical and, for most people, not desirable. It is also worth adding the solution is problematic in the sense that being able to understand software from top to bottom is a skill set that few developers even have, even for the most trivial of applications. Most developers build their software on the shoulders of others.
That said, the author's point about the trustworthiness of software is valid. In most cases software is more complex than individual users need it to be (and it is like that to serve a wider audience since software development is expensive). The complexity makes the software more vulnerable while making it easy to hide malicious intent.
- nickelpro 3y agoI agree with your first paragraph entirely and it's worded more generously than mine. I think there's something valid in your second, but on the whole simplicity is often a myth. Hardware is complex, the world is complex, the software stack simply reflects these complexities, it does not invent them. It feels great to have simple code until your environment no longer mirrors that code's assumptions. You have an MBR bootloader that assumes the A20 line is on the keyboard controller, upgrade hardware, and suddenly you can't boot anymore, bet you wish you had a more complex bootloader now. You have a graphics renderer that knows no one has more than 4GB of VRAM so it measures allocatable memory by allocating up to 4GB of textures until it gets E_OUT_OF_MEM. Except on modern cards it overflows its texture counter, bet you wish you had a more complex renderer. And this is ignoring inherent complexity, or the nature of handling errors even without changing hardware, but I've ranted enough on this. There is a narrowly valid point here but it is presented without caveat and thus far too broadly.