I’ve seen an entire factory shut down for hours because two critical Win10 computers tried and failed to update. It’s never an issue until it becomes one.
Plus a failed update is the whole reason I nuked my C: drive and switched to Manjaro (now running Arch, put down the pitchforks).
Neither of those options were available. It was written by a third-party for some old .NET Framework version, and the server and GUI components were written as a single application. Putting it on a server wasn’t an option either because the application’s GUI was constantly used for the management of assembly machines, and other applications were used for monitoring and administrative stuff.
If you had been there, you’d know why this was a low-priority risk. That place was bleeding from a thousand wounds. At least this had some redundancy, for all it was worth in the end…
(edit) I actually contributed to that software, even though it’s not open-source! I managed to nail down an issue where loading a project file using one locale would result in a crash, but not in others. The .NET stack trace was printed to an XHR response’s payload and I used that to locate a float.ToString() call where CurrentCulture was passed as the cultureInfo instead of InvariantCulture, so depending on the computer’s locale, it would try to parse CSV data either using a decimal dot or a decimal comma. I mailed this to the maintainer and the fix was released within the month.
I’ve seen an entire factory shut down for hours because two critical Win10 computers tried and failed to update. It’s never an issue until it becomes one.
Plus a failed update is the whole reason I nuked my C: drive and switched to Manjaro (now running Arch, put down the pitchforks).
Well, running Windows 10, a consumer user-oriented operating system, to control mission-critical machines is mistake number 1.
This wouldn’t have happened if they had used Windows Server or something actually designed for that task (like Linux!).
Neither of those options were available. It was written by a third-party for some old .NET Framework version, and the server and GUI components were written as a single application. Putting it on a server wasn’t an option either because the application’s GUI was constantly used for the management of assembly machines, and other applications were used for monitoring and administrative stuff.
If you had been there, you’d know why this was a low-priority risk. That place was bleeding from a thousand wounds. At least this had some redundancy, for all it was worth in the end…
(edit) I actually contributed to that software, even though it’s not open-source! I managed to nail down an issue where loading a project file using one locale would result in a crash, but not in others. The .NET stack trace was printed to an XHR response’s payload and I used that to locate a
float.ToString()
call whereCurrentCulture
was passed as the cultureInfo instead ofInvariantCulture
, so depending on the computer’s locale, it would try to parse CSV data either using a decimal dot or a decimal comma. I mailed this to the maintainer and the fix was released within the month.