Might not be as dumb as it sounds. It doesn't sound like it's their current product, and it's not unreasonable for a customer to want a guarantee that a train is going to keep working the same way for 30 years, and not need completely retesting from scratch just because Microsoft made a new release. If it's not networked, there's no security issue.
It's a bit sad that our initial expectation, that software would be like mathematics, where you can keep building on previous results no matter if they were from last year or last millennia, didn't work out.
Better yet, why do we need operating systems with the bloat that they got today? Win3.11 was a decent system at the time and if all they need is included in it and there is no security repercussions than I guess it is ok.
> It's a bit sad that our initial expectation, that software would be like mathematics, where you can keep building on previous results no matter if they were from last year or last millennia, didn't work out.
If you think that, you haven't seen some of my dependencies.
Depraved degenerated decadent debouched and dangling dependencies. Cthullus madness has nothing on this. It may be co-dependent on its future self. Barock pipes, going allthrough the project, knowing no boundaries when it comes to language, platform and versioning. Laakon in cables, these spaghettis of missery, create work from 5 minutes safed work, to build the best problem-accelerator there ever was, flooding it all with exotic particles on collission.
Dependencies you can depend on, like a druggy on his dealer. A spider, excreeting web, made from nutrients, it extracted from itself - which it caught in the web. To be aware of them, is to become aware of mortality, as time decays everything away, even this gordian knot, whos fraying leather belts, whip those who untangle it. God may be all powerfull, but his ability to strike us down, for that unholy abomination of a universal dependcy, implies the universal simulator not having found all modules. It still runs, but once stop it shall never rebuild. Scratch your chin and mumble: "It depends.." cause in the deep ends - it always does.
PS: I got carried away, thinking about my own, sorry.
>It’s a remote job offering so it must be networked somehow.
Why do you assume that? The Siemens SIBAS 32 system can be used at home, and an old PC system with Windows 3.11 should be the smallest problem to use at home. The question is, if that's enough to simulate an environment similar to the train.
> When a BART car runs into trouble, Shawn Stange steps back in time. He pops open a circa-2000 IBM Thinkpad running Windows 98 and opens a portal into the train’s brain — the Automated Train Control system — through the DOS computer language.
> Stacks of vintage laptop carcasses are common at BART warehouses. The train software is so old it won’t work on modern computers.
Reminds me of the software archeology in Vernor Vinge's A Deepness in the Sky.
I wonder if the software would run on WINE. When they say “it won’t run on modern computers” I feel like what they mean is that you can’t buy a Windows 11 laptop from Best Buy and then run Windows 98 software as if it was a modern windows binary. But any modern computer can emulate a computer from the 1990’s one way or another. (Yes I know WINE is not an emulator but you get my meaning)
Sometimes you really need the old hardware. A few years ago I was called in to help out a company that couldn't get 30 year old embedded code for an industrial PC platform running on modern replacement hardware. With my trusty old MS-DOS V2.11 version of DEBUG.COM I eventually managed to break into the hard loop I suspected the code was stuck in, to trace and disassemble it. It was communications code to talk to OG PC Uart hardware. For reasons best known to God or at least someone who probably retired 20 years ago they were using a scratchpad register in one of the chips instead of a byte of RAM to hold a timing variable to implement a delay/timeout. The modern [ASIC/FPGA/System on a chip/I don't know what] that was emulating the collection of OG PC hardware chips didn't bother providing that scratchpad register. A little big of creative assembly language rework and voila, the system worked like a charm. I really felt like invoicing for $10,000 or something ridiculous instead of 4 hours at my usual very reasonable hourly rate :-)
There are some things Wine doesn't do. Last time I checked, it didn't fully implement DCOM, so it couldn't be used for OPC (OLE for Process Control) and similar. And the use case in the parent comment might need Windows 98 because (other than Windows ME which everyone pretends didn't exist) it was the last DOS-based version of Windows; AFAIK, Wine does have some MS-DOS emulation, but it's limited to what some Windows 3.x software might need.
These kinds of computers usually have customized ISA boards that aren't even PnP compatible. Software for that kind of hardware doesn't use drivers. Hardware is directly accessed from software, like you would do on a bare-metal microcontroller. Modern OSs like Linux and anything WinNT/2000/+ won't allow this, but Win311 in real mode does.
I don’t know about the German windows 3.11 thing, but Bart uses ancient Siemens PLCs if I remember correctly.
I doubt there is any logic running in windows 98, but there will be PLCs that interface to old laptops for updating the logic of control systems, probably with proprietary dongles and licenses tied to specific laptops. Can you technically get that stuff working in wine? Probably. Can you do it legally, responsibly and without assuming a lot of liability? Probably not.
Even if the trains have been upgraded, there will be a ton of tendrils reaching into old PLCs from other equipment like train washes, maintenance equipment, etc that interface to the overall system somehow and it would be forbidden and unwise for any individual to start inventing new ways to update the software without an actual project in place to replace the PLC of whatever you’re working on.
At this point I believe all the original 50-yr old rolling stock has been retired and only the new cars are operating. It would surprise me if the news ones have the win98 dependency.
Back in the day (late 90s), the entire business of Bankers Trust (bought by Deutsche Bank) was on a ginormous spreadsheet macro written for the 16 bit Lotus 1-2-3 under Windows 3.11.
The thing was around 20,000 lines of code (Lotus-script if memory serves). Written by a business analyst. No indentations, no following good coding practices, no comments, tons of variables called a, b, aa, bb, etc...
All attempts to make it run on Windows 95 and later on Windows NT/2000 failed. It was unclear why. Something would always be wrong. At some point, IT managed to make it run in a VM on an early VMWare version under Windows 2000.
> Comprehend your own business processes and rewrite legacy code?
I think the parent’s point is that sometimes this is prohobitively expensive or there is simply noone knowlegeable enough to do it. In those cases, rewriting is NOT what you gotta do.
Ok, that actually sounds like it could be fun provided your hair is gray and/or missing.
There is something to be said about archaic versions of Windows and comparing/contrasting with Windows 11/Server 2022. Significant limitations especially with automation, but all of the work is hands-on, no major abstractions between you and the OS or software.
For a train and/or rail fan, the only way it could be better would be if it was administering Windows boxes across the system and they got to ride the train out to work sites. Still, train display panels for control systems could be fun too, especially for those who get into the minutia of the differences in train cabs.
I worked for a company 4/5 years ago that had a Windows 2000 machine connected to a dial-up modem which sent all of the company's payroll data to ADP four times a month. It sat on top of a filing cabinet in the HR office.
One time I got a phone call when I worked in the NOC at about 11pm from the director of HR in a panic because the machine wasn't working and payroll was going to be sent out in 55 minutes. Luckily he just forgot his password and had gotten locked out.
I worked for a company doing this stuff, and I was always asking why didn’t they do the jump to Linux. The answer was that they already have something that they could adapt from previous versions which was already certified. So a sunken-cost phallacy.
Two years ago, the same developer was working on an even older system with BASIC… Which I guess they already retired.
The Sunk-cost fallacy is when you weight the value of something disproportionately because of effort or expense you've put into it.
But if you've got an OS that's certified for the work you're doing, and it's not costing you extra to work on that OS, then there's no fallacy - you're getting more value out of the cost of certification you've incurred, and shifting to some other OS would presumably require you to incur the expense of certification again.
That said, the skills needed to work with a legacy OS will tend to become rarer, so you ought to factor that into your calculations.
And than you bet on the wrong ditro. I do support work for a commercial Linux Desktop program. We went from SuSE, to CentOS, to Scientific Linux, to Ubuntu. Lets hop Ubuntu stays. :-) Our "luck" is every five years or so we exchange the machines.
How do you measure the lack of support/resources for an operating system that is EOL? I don’t think there are that many Windows 3.1 developers out there… Linux in exchange is a bit broader.
Am I crazy to think any sort of talented Eng could re-engineer whatever tf this piece of software is in a few weeks or months? Identify the black box. Figure out the inputs and outputs. Reverse engineer where possible. Recreate the black box in a modern tool that’s easier to maintain. No reason to be stuck on this ancient version of windows at this time. I haven’t touched 3.11 in like 25+ years.
> Am I crazy to think any sort of talented Eng could re-engineer whatever tf this piece of software is in a few weeks or months? Identify
Reminds me of people who know little of the field of computing and the efforts involved and think that solutions spring out of just saying "it's easy, why don't you do it?!".
I don’t know about trains but in medical a switch to a newer system causes enormous effort to revalidate so it’s often easier to keep the old OS and software.
Rewriting the software is probably not much of a problem but the paperwork around it is.
So you put out a req for a new hire and keep it going forever? Nah. Bite the bullet, eat the cost and get it done. But I guess this is the difference between startup world and European bureaucrat land.
If you were doing a hobbyist project, sure. With something like this which has safety implications, there would be a lot of recertification required, not only of your software but also of the new hardware that it will require. This is not trivial, and would be very resource intensive. And don't forget that you have to roll out the new hardware to the trains.
Or - you can use the existing Win3.11 systems, which are apparently still working just fine, and just update and test a single application.
A system that old that has been working for as long will surely have so many quirks, exceptions, bugs and workarounds deeply engrained in its users' processes. A naive port and rewrite will probably need many man-months of lost productivity spent recreating all the quirks of the original piece of software, resulting in an even less maintainable second iteration.
>Recreate the black box in a modern tool that’s easier to maintain.
I assume in the newer trains they already recreated new systems. For the old trains it's just not worth it to modernize, as it's incompatible with the newer trains and thrown away eventually.
And who knows, maybe they gave it a try in the past, and it did not work out.
What you wrote reminds me a bit of a friend who asked me 15 years ago when he installed Java: "Who uses Java anyway?". You just have to change your perspective from an end-user. Same for Windows 3.11.
It's a bit sad that our initial expectation, that software would be like mathematics, where you can keep building on previous results no matter if they were from last year or last millennia, didn't work out.
But once you add the expectation that it should work with future hardware as well maintain backward compatibility, then bloat is inevitable.
If you think that, you haven't seen some of my dependencies.
PS: I got carried away, thinking about my own, sorry.
Why do you assume that? The Siemens SIBAS 32 system can be used at home, and an old PC system with Windows 3.11 should be the smallest problem to use at home. The question is, if that's enough to simulate an environment similar to the train.
> When a BART car runs into trouble, Shawn Stange steps back in time. He pops open a circa-2000 IBM Thinkpad running Windows 98 and opens a portal into the train’s brain — the Automated Train Control system — through the DOS computer language.
> Stacks of vintage laptop carcasses are common at BART warehouses. The train software is so old it won’t work on modern computers.
Reminds me of the software archeology in Vernor Vinge's A Deepness in the Sky.
These kinds of computers usually have customized ISA boards that aren't even PnP compatible. Software for that kind of hardware doesn't use drivers. Hardware is directly accessed from software, like you would do on a bare-metal microcontroller. Modern OSs like Linux and anything WinNT/2000/+ won't allow this, but Win311 in real mode does.
I doubt there is any logic running in windows 98, but there will be PLCs that interface to old laptops for updating the logic of control systems, probably with proprietary dongles and licenses tied to specific laptops. Can you technically get that stuff working in wine? Probably. Can you do it legally, responsibly and without assuming a lot of liability? Probably not.
Even if the trains have been upgraded, there will be a ton of tendrils reaching into old PLCs from other equipment like train washes, maintenance equipment, etc that interface to the overall system somehow and it would be forbidden and unwise for any individual to start inventing new ways to update the software without an actual project in place to replace the PLC of whatever you’re working on.
At this point I believe all the original 50-yr old rolling stock has been retired and only the new cars are operating. It would surprise me if the news ones have the win98 dependency.
Deleted Comment
Oh yes, that DOS computer language. Bill Gates was fluent in that language.
Totally makes me trust everything else in that article even more.
The thing was around 20,000 lines of code (Lotus-script if memory serves). Written by a business analyst. No indentations, no following good coding practices, no comments, tons of variables called a, b, aa, bb, etc...
All attempts to make it run on Windows 95 and later on Windows NT/2000 failed. It was unclear why. Something would always be wrong. At some point, IT managed to make it run in a VM on an early VMWare version under Windows 2000.
Sometimes you gotta do what you gotta do.
Comprehend your own business processes and rewrite legacy code?
I think the parent’s point is that sometimes this is prohobitively expensive or there is simply noone knowlegeable enough to do it. In those cases, rewriting is NOT what you gotta do.
There is something to be said about archaic versions of Windows and comparing/contrasting with Windows 11/Server 2022. Significant limitations especially with automation, but all of the work is hands-on, no major abstractions between you and the OS or software.
I'm not much older than this OS and i'm seeing a few greys lol.
One time I got a phone call when I worked in the NOC at about 11pm from the director of HR in a panic because the machine wasn't working and payroll was going to be sent out in 55 minutes. Luckily he just forgot his password and had gotten locked out.
Two years ago, the same developer was working on an even older system with BASIC… Which I guess they already retired.
But if you've got an OS that's certified for the work you're doing, and it's not costing you extra to work on that OS, then there's no fallacy - you're getting more value out of the cost of certification you've incurred, and shifting to some other OS would presumably require you to incur the expense of certification again.
That said, the skills needed to work with a legacy OS will tend to become rarer, so you ought to factor that into your calculations.
aversion to real costs is not a fallacy.
And than you bet on the wrong ditro. I do support work for a commercial Linux Desktop program. We went from SuSE, to CentOS, to Scientific Linux, to Ubuntu. Lets hop Ubuntu stays. :-) Our "luck" is every five years or so we exchange the machines.
Is it a fallacy if the cost is specific and enumerable?
Reminds me of people who know little of the field of computing and the efforts involved and think that solutions spring out of just saying "it's easy, why don't you do it?!".
No, it's not.
Rewriting the software is probably not much of a problem but the paperwork around it is.
Or - you can use the existing Win3.11 systems, which are apparently still working just fine, and just update and test a single application.
I can lend you my Petzold, if you like.
A system that old that has been working for as long will surely have so many quirks, exceptions, bugs and workarounds deeply engrained in its users' processes. A naive port and rewrite will probably need many man-months of lost productivity spent recreating all the quirks of the original piece of software, resulting in an even less maintainable second iteration.
I assume in the newer trains they already recreated new systems. For the old trains it's just not worth it to modernize, as it's incompatible with the newer trains and thrown away eventually.
And who knows, maybe they gave it a try in the past, and it did not work out.
What you wrote reminds me a bit of a friend who asked me 15 years ago when he installed Java: "Who uses Java anyway?". You just have to change your perspective from an end-user. Same for Windows 3.11.