Comment by eru

5 months ago

> Also, rebooting is offensive to me as a programmer. Kernel updates and memory leaks are the only reason you need to reboot. How absolutely shitty is modem firmware that the ISP actually spent the time to build this reboot system out??(Never mind that I personally don't feel like I've ever had a modem/isp actually problem solved by rebooting)

Why is rebooting offensive to you? State is hard; resetting your system to know state can fix many issues.

See also https://news.ycombinator.com/item?id=40212967

If your microwave had an error, you would be put off if you had to power cycle the whole house. Installed a new receptacle, sure, but operating an appliance? No way. Now you would have to reset your clocks everywhere at a minimum.

I have a linux computer running a public server that has not be restarted in three and a half years. This is what I expect.

Every time I have to reboot my work laptop due to work pushing some updates or that I have to reboot my windows machine because it is running unreasonably slow, I am reminded that inconsiderate assholes have become more lazy and are ok with polluting the whole system, mismanaging state and resiliency, and when the equivalent of the microwave has an error, the only solution is rebooting my house. We can do better.

  • > I have a linux computer running a public server that has not be restarted in three and a half years. This is what I expect.

    I restart my Linux desktop every few weeks, when the kernel updates.

    For a reliable server, you want to exercise the restart ritual somewhat regularly, because when anything goes wrong (eg with the hardware), you might have to restart anyway, so you want to be sure that this works.

  • Windows is awful at this. Completely weird problems with many apps (especially VPN) which get resolved with a reboot. Seriously? It is the whole culture around this OS which finds this acceptable.

    • Often this will be resolved by the network being quiet long enough for a reboot - with connection tables in intermediate firewalls timing out etc - rather than the actual reboot.

It's a sign of bad code.

Yeah state is hard, but "else" statements are a thing. Even if a state is not "expected" if the system can represent it, it should be treated as possible.

Crash if you have to, but don't do unexpected things or just stop executing.