I’ve worked with computers for a long time. I’ve helped support various systems and applications, both desktop and servers. One of the most common tricks that has served me well is to press to oh-en-oh-eff-eff switch twice.
In other words, reboot.
This is advice that many tech support people use. It’s what is often recommended for everything from personal computers to mobile devices to watches to really any sort of microchip device. It’s been recommended for my Tesla and for a few appliances as well.
It’s also incredibly frustrating advice to hear that when we expect a device to run constantly, like a watch. Why should I reboot it? Isn’t your code bad? Isn’t it the manufacturer’s fault? Isn’t this a cop-out to get me off the phone/chat/etc. and close out a call?
This is likely bad code, and it might be a way to get you off the phone, but there is some rationale behind this troubleshooting step. I ran across this article on the unreasonable effectiveness of turning computers off and on again. It provides some reasoning why rebooting makes sense and why it can help. The short answer is this action returns the code and device to a known state. Often when things are broken, we’re in an unknown state.
There’s also an interesting parable about writing a shell that is very strict with its evaluation of input and crashing when things aren’t right. The author wrote another shell that is loose in its evaluation of input. Read the piece to see which shell actually made more sense to the programmer.
I found this interesting and fun to read, and it made me feel better about needing to reboot systems. Less excited about the need to reboot a car or a plane (I’ve been on a 787 when it rebooted), but since I’ve seen the former continue to work, I’m less anxious. Take a look today and let me know if this article makes you feel a little more comfortable with giving out the “reboot” solution to others.