I do a lot of industrial automation and it is the one thing that keeps me boat-anchored to Windows. Every little programmable doodad like signal conditioners and temperature transmitters have their own USB programming cables and their own, mostly crappy windows config software. PLC software is another abomination, hopelessly Windows anchored, bloated GUI monsters, some built on top of Visual Studio (Beckhoff TwinCAT.)
I have donated to ReactOS in the past in the hopes of one day freeing myself from this hell.
You can forward USB devices into a VM. About 15 years ago I was using a Windows VM on Linux to program PIC18F??? devices with the custom (JTAG based?) programmer provided by Microchip. The upside is that you can preserve and share this windows environment for other coworkers, and have separate VMs for different projects (perhaps one you can update, and one you can't ...)
This is exactly what I do currently but it's flaky. Bekhoff installs a runtime on the development PC that works its way deep into the system that can and does crash the VM. Some USB devices work, some don't, some are buggy and may hang or fail in the middle of programming. I have to keep a dedicated Win PC just to make sure I have a working Winstall for my work. I keep VM's of 2k, XP, and 7 as I have to maintain a wide variety of hardware and software. I just want off the Windows upgrade treadmill.
Because that requires breaking the almost assured stipulation in a software license agreement that says "You will not try to RE this software", which is fine to ignore for home gamers, but not something you generally want to mess around with in a business setting where the risks are much higher.
The thing about this type of thinking is that it often requires risking millions of dollars and a major distraction from your primary goal in order to find out if it's true or not.
As would be running critical software certified for Windows on ReactOS as envisioned by GP. So, either we talk about an enterprise setting, in which GP already fucked up, or a more personal setting, in which both whaat GP and I said are reasonable
Also, the one thing that's important above all else in industrial automation is reliability. If your LLM doesn't know about one tiny little detail that ends up causing your product to fail, your customers start losing money and you can no longer point the finger at your PLC manufacturer. Make bad gambles like that and you won't be in business for long.
The reason industrial PLCs cost so much is because of their reliability. They need to be working flawlessly 50 years in the future. Trying to vibe code your way into a PLC compiler feels like it could blow up in your face after a little while.
That is also ignoring the safety PLCs with safety instructions that are certified for use with ISO 13849. Can you imagine getting inspected because your safety subsystem cause injury and you explain how you don't use the officially licensed software to program it.
You completely stripped what I said from its context. GP explicitely said they donate to ReactOS in the hopes of one day being able to run that industrial software on it instead of on Windows. In this context, running the software on ReactOS instead of official Windows would already fail your hypothetical inspections. This is why I suggested trying the LLM route.
If I had to explain a failure in production I would much rather say "due to availability of old hardware, we ran this on a different version of Windows/inside a VM/inside a Windows compatibility layer/Wine/ReactOS" than "we vibecoded the entire driver stack from scratch, go ask Claude why the plant blew up lol".
Running the same software in a different environment is unlikely to cause issues. But with vibe coding, you're throwing away the code the manufacturer certified as working, and the best possible outcome is it bricks your hardware in dev before things escalate to a post-mortem.
That is only recently become an option you could try, and we don't know long term how well it will work. Remember laws may change (and there are some legal issues around LLMs that are not clear at all)
Comments
I do a lot of industrial automation and it is the one thing that keeps me boat-anchored to Windows. Every little programmable doodad like signal conditioners and temperature transmitters have their own USB programming cables and their own, mostly crappy windows config software. PLC software is another abomination, hopelessly Windows anchored, bloated GUI monsters, some built on top of Visual Studio (Beckhoff TwinCAT.)
I have donated to ReactOS in the past in the hopes of one day freeing myself from this hell.
You can forward USB devices into a VM. About 15 years ago I was using a Windows VM on Linux to program PIC18F??? devices with the custom (JTAG based?) programmer provided by Microchip. The upside is that you can preserve and share this windows environment for other coworkers, and have separate VMs for different projects (perhaps one you can update, and one you can't ...)
This is exactly what I do currently but it's flaky. Bekhoff installs a runtime on the development PC that works its way deep into the system that can and does crash the VM. Some USB devices work, some don't, some are buggy and may hang or fail in the middle of programming. I have to keep a dedicated Win PC just to make sure I have a working Winstall for my work. I keep VM's of 2k, XP, and 7 as I have to maintain a wide variety of hardware and software. I just want off the Windows upgrade treadmill.
Why not spend some money on an uncensored LLM to reverse engineer or create an open clean room reimplementation?
Because that requires breaking the almost assured stipulation in a software license agreement that says "You will not try to RE this software", which is fine to ignore for home gamers, but not something you generally want to mess around with in a business setting where the risks are much higher.
Reverse engineering is protected under certain conditions, even if the EULA prohibits it
The thing about this type of thinking is that it often requires risking millions of dollars and a major distraction from your primary goal in order to find out if it's true or not.
As would be running critical software certified for Windows on ReactOS as envisioned by GP. So, either we talk about an enterprise setting, in which GP already fucked up, or a more personal setting, in which both whaat GP and I said are reasonable
That is how you get a hardware provider to stop selling you stuff
Also, the one thing that's important above all else in industrial automation is reliability. If your LLM doesn't know about one tiny little detail that ends up causing your product to fail, your customers start losing money and you can no longer point the finger at your PLC manufacturer. Make bad gambles like that and you won't be in business for long.
The reason industrial PLCs cost so much is because of their reliability. They need to be working flawlessly 50 years in the future. Trying to vibe code your way into a PLC compiler feels like it could blow up in your face after a little while.
That is also ignoring the safety PLCs with safety instructions that are certified for use with ISO 13849. Can you imagine getting inspected because your safety subsystem cause injury and you explain how you don't use the officially licensed software to program it.
For personal project, that could be fun however.
You completely stripped what I said from its context. GP explicitely said they donate to ReactOS in the hopes of one day being able to run that industrial software on it instead of on Windows. In this context, running the software on ReactOS instead of official Windows would already fail your hypothetical inspections. This is why I suggested trying the LLM route.
If I had to explain a failure in production I would much rather say "due to availability of old hardware, we ran this on a different version of Windows/inside a VM/inside a Windows compatibility layer/Wine/ReactOS" than "we vibecoded the entire driver stack from scratch, go ask Claude why the plant blew up lol".
Running the same software in a different environment is unlikely to cause issues. But with vibe coding, you're throwing away the code the manufacturer certified as working, and the best possible outcome is it bricks your hardware in dev before things escalate to a post-mortem.
That is only recently become an option you could try, and we don't know long term how well it will work. Remember laws may change (and there are some legal issues around LLMs that are not clear at all)