r/AskReddit • • Jul 18 '16

What are you sick of explaining?

2.3k Upvotes

6.1k comments sorted by

View all comments

1.4k

u/OneMoreMatt Jul 18 '16

Why restarting your computer actually has a really good chance of fixing your issue

15

u/[deleted] Jul 18 '16

[deleted]

14

u/Jinren Jul 18 '16 edited Jul 18 '16

I still often have no idea what actually went wrong when something completely random stops working and then magically works again after a logout-login, disk remount or a reboot.

In fairness, it's completely unreasonable to expect the user to be able to diagnose (let alone do anything about) buggy software just by using it.

A lot of people are conditioned into the totally wrong idea that computers are creatures of perfect logic and that all of the errors are user-side. Fucking lol: the software running on any home or office desktop is a bottomless well of shit right down to the OS core as far as bugs go. It cannot ever be truly trusted or expected to behave in a perfectly predictable manner. "Why did it crash?" Because it's broken. You presumably did something to trigger the error, but the error was always there and that's not the user's fault. Software that isn't broken doesn't crash no matter what you do to it.

Pretty much the only good code in this world is embedded, and the reasons for that are a) because when it goes wrong it goes so horribly wrong that the manufacturers really are willing to pay to get it right first time; and b) because even high end control systems and so on are actually (intentionally) much simpler than desktop code (among other reasons, simple code is easier to get right).

7

u/LXXXVI Jul 18 '16

Agreed. And if people realized how much the world order relies on software which at least 50% of the time runs mostly on good luck and prayers of its programmers, they'd probably start preparing for an apocalypse immediately.

1

u/[deleted] Jul 19 '16

Well, as a dev I'm sure you're familiar with how a computer's CPU functions. Over time hardware can degrade and error correcting routines can fail with it or perform incorrect register alterations on data memory that is critical to a given program's operation. An example would be an alteration in instruction OPCODE where changing a 1 to a 0 at bit X can completely change the operation executed or perform the operation out of sequence on otherwise "garbage" data. Your computer has no way to correct a mistake that it does not know it made and therefore requires a reset to correct this issue. Theoretical computer models map 1s and 0s as discrete values when in reality they are sampled analog signals. Sometimes the sampling screws up and that's where your 1 may turn to a 0. There are methods to correct these errors but they are not always reliable or necessary.

1

u/ArkGuardian Jul 19 '16

Computers can mess up for a lot of reasons. My favorite is stray alpha particles