Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
German train company are looking for a Windows 3.11 Administrator (gulp.de)
263 points by DyslexicAtheist on Jan 28, 2024 | hide | past | favorite | 176 comments



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.


I think it is doable if you don't change the hardware.

But once you add the expectation that it should work with future hardware as well maintain backward compatibility, then bloat is inevitable.


Its super easy to get a no-bloat operating system. Not from microsoft, but there's a flavor of linux for everything.


I can't read the original article anymore.

The orginal Win311 ran fine for 30 years probably until the HDD failed and they need someone to do a reinstall. Why would they change the operating system?


My comment was replying to someone claiming that you can’t get a no-bloat operating system like 3.11 anymore. I was just pointing out that it has been possible the entire time.

It would certainly be silly to change OS just for the sake of it on a 30 year old project.


How well does Linux run on Windows 3.1 era hardware?


Very well, and striped down kernels run on hardware with even less resources today (embedded systems) than 3.1 minimum requirements. If a platform has lost support, and there's sufficient money in it to justify it, you can always go back in time to an older kernel. What really sucks is when a platform vendor maintains their own tree and it gets lost to time.

The real pain is populating the userspace if you need more than just busybox.


There's distros for this: https://github.com/marmolak/gray486linux – it's based on Linux 6.7.

Never used it; don't know how well it works in practice. But it's the type of thing that can be made to work. Looks like some minimum requirements are a tad higher than the minimum of Windows 3.1 though, so it depends a bit on what you mean exactly with "Windows 3.1 era hardware".


As someone who ran Linux on Windows 3.1 era hardware, perfectly well.


Pretty good I would imagine. The first public release of Linux predates Windows 3.1.


There is no Linux flavor that is even remotely comparable with Win3.1 if you include the GUI in the comparison.


> 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. Probably behind VPN and Remote Desktop though.


>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.


They are suggesting the train system being offline, not the programmer/build system


And that's where the security holes potentially are.


Source? Looks like it's in Erlangen, a German city.


It's the first word in the title.

>Remote: Windows 3.11 Administrator (m/f/d).


What is mfd


Male, female, diverse.

It's the law in Germany to advertise jobs as open for every sex and there is a third sex in Germany, called 'divers' (means: other)


It's very strange to me that they do this for job postings in English, but it's probably a consequence of how the equivalent Germam postings are impossible to avoid gendering: Ingenieur is “male engineer”, Ingenieurin is “female engineer”, etc. There's workarounds like Ingenieur*innen but that's an unpronounceable neologism. And I guess there might be an ambiguity there about whether the divers is covered.


Why do you have to specify a gender? In the US I would assume anyone could apply and capable candidates would be considered. Doesn’t mean you would get a job if they were really seeking a female or male. Not trying to go into a gender or political questions, only curious how another country works.


Because in German, it is grammatically impossible not to.


Exactly. Language like Italian, French, German (and more) assign a "gender" to any word. "Chair" is female in Italian, male in Germsn (iirc). And articles like a, the, this, that have slightly different forms for male and female (German also has "neuter"). Articles also have to match the gender of the word: "la sedia rossa" (the red chair in Italian) vs "il divano rosso" (the red couch).

English has "gendered" words in rare, exceptional cases (master/mistress?) but for Latin-based languages it is the opposite.


English has several of them for professions, e.g. waiter/waitress, aviator/aviatrix, actor/actress, but in modern English the masculine is always treated as neuter/generic. If I post an ad hiring an aviator, nobody would think that means means only men can apply either grammatically or factually, nor is anyone likely to correct me if I describe Natalie Portman as an actor instead of actress.

German can be weird in that the grammatical gender of a word doesn't always match the sex or gender of the person it describes. The most famous example is probably that das Mädchen (the girl) is grammatically neuter but unambiguously describes a female person. Nouns describing professions, however usually (always?) have a masculine and a feminine form and do describe the sex or gender of the person. An ad hiring a Fahrer would have the same meaning as "male driver" in English. That would be illegal sex discrimination in the USA or Germany.

The linked ad also included the following text, which has no connection to reality for the English translation:

> Note: In order to improve the readability of the text, the masculine form is used to refer to persons, functions, etc. However, it stands for all genders without exception.


There's a lot you could know about Erlangen... https://youtu.be/Z4Ic1mzzAiI


Wow, thanks, really useful knowledge about the Erlanger


Erlangen, the city where the job is offered:)


Presumably, a deep knowledge of Erlang wouldn't be amiss when working there.


Thank you for stepping up and taking this pun for the team.


It would if we built software like other durable public infrastructure. Instead we are continually reinventing the wheel.


San Francisco Bay Area Rapid Transit (BART) scrounges around for hardware to run Windows 98: https://news.ycombinator.com/item?id=32884814

> 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 :-)


$10000 would be extremely reasonable for such a fix, not ridiculous. You single handedly decoupled the software from dying hardware!


10? Try 50 next time.


Sounds awesome! Need an apprentice?


Ha ha, I don't think there's much of a career to be had in being able to keep 16 bit MS-DOS software binaries with no source code running unfortunately:-)


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.


you can always contract codeweavers for it to do more.


Wine can use Windows' DLL's just fine.


Unless they use the bits of DCOM where Wine's DCOM implementation isn't quite compatible with Microsoft's, which was the OP's point.


By using Microsoft's DCOM implementation ("the Windows DLLs"), you bypass using Wine's DCOM entirely.


Certification is a major issue here.


The computer that connects to the train system needs certification for its OS? I can understand the onboard controller needing certification, but a remote machine just connecting to it for configuration?


We know WINE is janky enough to be unlikely, "certification" is hand-waving in the general direction of "thankfully, there's opportunities for people outside an impulsive individual contributor to step in front of that"


Software could, but hardware probably won't.

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.


It should run on a VM though.


WINE is an emulator for 16-bit binaries.


First, WINE = Wine Is Not an Emulator. And it's not an emulator, the PE code runs directly on the host CPU. All you really need to implement is the OS API (on Windows the official API is with DLLs, such as KERNEL32.DLL, which in turn issue syscalls, and you're not generally supposed to do syscalls yourself).

Second, it runs 32 bit and even 64 bit too.


KERNEL32 is mainly implemented through calls to NTDLL. NTDLL is the one that triggers the actual system calls or thunks, the actual implementation is in NTOSKRNL.exe

Meanwhile USER32 used to do system calls to Win32k, but then they changed it to call Win32U, and have Win32U be all system calls to Win32k.


But it does emulate the 16-bit x86 instructions from really old-school Windows code.


No it doesn't. 16-bit protected mode code will run natively even on 64-bit kernels - and there is a system call that can create the segment descriptors needed for that: https://man7.org/linux/man-pages/man2/modify_ldt.2.html


Missed the point. Wine runs Win16 binaries on 32- and 64-bit hosts, effectively by rethunking them to run in 32-bit mode. This can be viewed as a form of emulation.

Wine 9.0 can likewise rethunk 32-bit applications to run in 64-bit mode, but this is only the default on Mac OS X (where Apple removed 32-bit support), because it still introduces more compatibility problems on Linux than just running 32-bit code natively. (And thunking Win16 to 64-bit mode is not yet done.)


I'm not familiar with what exactly Wine does to run 32-bit code under OS X, but it would already have to do emulation / binary translation. Because some opcodes have been repurposed for the REX prefix in 64-bit mode, and any absolute 32-bit address would be interpreted as relative to RIP instead.

And 16-bit would be completely impossible, first there's the default operand size and then the completely different encoding for memory addressing.


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.


> San Francisco Bay Area Rapid Transit (BART) scrounges around for hardware to run Windows 98: https://news.ycombinator.com/item?id=32884814

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.


For regular service yes, but I've heard that sometimes they pull out the old cars for some reason.


> through the DOS computer language

Oh yes, that DOS computer language. Bill Gates was fluent in that language.

Totally makes me trust everything else in that article even more.


Ah yes, the good old DOS computer language, now that was a great thing…


The DOS CLI has a syntax


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.

Sometimes you gotta do what you gotta do.


> Sometimes you gotta do what you gotta do.

Comprehend your own business processes and rewrite legacy code?


> 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.


Nah, that's poor decisionmaking. That macro probably has a bunch of bugs in it and has been giving wrong results for years, but they'd rather cargo-cult something where they don't understand the bugs than risk having bugs that they do understand. Watch for them to be the next Post Office/Fujitsu in 10 or 20 years' time when someone finally pulls on the thread of some issues they're seeing.


Believe me, it was tried multiple times to understand it -> rewrite it. The code was incomprehensible, the new business analysts didn't seem to know exactly what it was doing.

By the time I left, the spreadsheet was still relied on heavily.


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.


>Ok, that actually sounds like it could be fun provided your hair is gray and/or missing

I'm not much older than this OS and i'm seeing a few greys lol.


Having flashbacks to CompTIA A+ certification I did in highschool. Even then the material was on to Windows 95 at the time. (Balding & graying)


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.


Phallacy, the sex organ of untruth


Haha good catch… It’s difficult coming from a Romance language to do that f-oh thing… for us it’s all the same and it goes with f ¯\_(ツ)_/¯.


not sure how that is a sunk cost fallacy. It sounds like you just described a real cost that would be incurred if switching to Linux.

aversion to real costs is not a fallacy.


That depends entirely on the cost of maintaining the old solution


that and the cost of the change.

I'm guessing that in this example, it was more expensive to switch to Linux and recertify. I doubt anyone in management was really arguing against a cheaper option because of money spent 10 years ago.


Specially in terms of available resources. Given that there is not much demand for it, there are also not that many developers for it…


> why didn’t they do the jump to Linux

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 difficult to migrate to other distros in your case? I would argue the binaries should be similar…


Getting it over is not the difficult part. Discovering and managing all the bugs, quirks and features of a distro, desktop environment and access software (NX, X2Go, RDP, VcXsrv) is what robs one will to live.

They used 30 years the same Windows version. So maybe they can use 30 years the same Linux version. I don't know. All I know is, choosing Linux is the opposite of choosing stability.


> Choosing Linux is the opposite of choosing stability.

I would argue that a close-source (at least before the leak), non-supported kernel is way more unstable and risky than an open-source, still maintained one (some kernels are actively maintained through 2033).

Bear in mind that the position was not about developing/maintaining the OS, but the applications that run on it.


You know what's funny. A German source (heise.de) says that the ad was likely an AI hallucination. We got played. ...we are all monkeys.


> So a sunken-cost phallacy.

Is it a fallacy if the cost is specific and enumerable?


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.


You compare it to the cost of developing and certifying a new safety critical system. I recommend the recent talk from the team that investigated the Polish train corruption scandal. It goes into the hardware and software on these older train systems. They're essentially using them as PLC controllers, not as networked general purpose machines.


Hold on, the criticality of the system they were developing was not that high, in the end they could use Linux, which to my understanding is not certified for any ASIL D application.

That with the scandal sounds interesting, so you have any pointers where I can get a good sum-up? :)


Last I checked a report is being prepared for presentation to the legislature. The conference talk is at https://media.ccc.de/v/37c3-12142-breaking_drm_in_polish_tra...


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?!".

No, it's not.


Everything is easier than people make it out to be. Especially for skilled engineers.


Everything is always easy as a purely mathematical/technical problem. Add in dealing with the real world - fellow workers, customers, regulators (especially in the case we're talking about), etc., and it gets complicated in a hurry.


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.


It’s the same in the US and most other countries. And you don’t want to “move fast and break things” with things that may kill people.


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.

I can lend you my Petzold, if you like.


https://en.wikipedia.org/wiki/Second-system_effect

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.


What if the inputs are twenty floats, and time-dependent?


they’ve had 30 years to replace this. easy peasy.


But does it cost "a few weeks or months", or "30 years" of developer time? Which is it?


Guaranteed it’s a few weeks or months. Nothing is that complicated. Especially if it runs on windows 3.11.


I find it heartwarming that you've never seen software more complicated than a few months of work. I wonder what you typed that message on.


Again, what insanely sophisticated system could possibly be running on 3.11? Identify the inputs and outputs and go from there. It’s probably a driver. Or something that operates an antique piece of hardware. Dig into the binary protocol. Pen test the heck out of it. Reverse engineering is not hard.

I’ve done some wild shit in my day. Gotta think outside the box and go to first principles. If it looks like a duck, quacks like a duck and walks like a duck it’s a duck. You can replace things pretty easily when you identify the perimeter of a piece of software.

These days we have pretty powerful decompilers too. I’d posit I could replace this tech for the same cost of one year of whoever they are hiring for this to perpetuate the antiquated crap.


In general there is no real reason why a software running on Windows 3.11 could not contain 100 years of development time. What seems less likely is that the majority of that code would be highly hardware or system specific and would require porting to a modern platform. But as we do not really have any idea what kind of system we are talking about, it is hard to speculate.


If you think that "Identify the inputs and outputs and reverse engineer it which isn't hard" is all that's needed to re-create some bespoke piece of software then I hope you will never-ever have the chance to put this in to practice for this sort of safety-critical stuff.

"Oh yes, we missed that one output that only happens under these specific conditions and now the train crashed – oops!"


that software is certified and tested to work with those trains...do you know what it takes to test and get certified?


Terrible attitude.

“Hey, our software works and is certified but it’s ancient and no one knows how to maintain it. If was written 30 years ago on a version of windows that doesn’t even support the internet. We need to upgrade and recertify”. This is an easy argument.


"These trains have been working fine for 32 years, after we ironed out some bugs with the software in the first six months of use. We absolutely don't want to have trains failing, as it's very disruptive for passengers, so let's keep the existing software working for a few more years. The trains will be scrapped in 2030 anyway."


>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.




I have a customer, a company, they specialized on porting my Sciter on old and exotic platforms to create new modern looking software for them. Win95, old Unixes still getting new soft developed for them.

Another company, behemoth, I would say, with 30000 stuff, using Sciter to make frontend for their old mainframe based system (COBOL I think). Mainframe sends 80x24 terminal screens where the frontend gets fields by x/y coordinates to show it in modern HTML/CSS UI.

You may notice a lot of crazy things in dusty corners of IT.


Good for them, it works fine, why meddle with it? Old hardware can be super accurately emulated on old hardware these days. The only issue is that Windows is not open source, so there are hassles with licensing and they can't ask for official minor fixes. But open source didn't not really take off back in the day, so an understandable hurdle.


Perhaps this is one job that shouldn't be remote... those Windows 3.11 boxes shouldn't be anywhere near a network.


Any reason one couldn't connect that machine to a network-accessible KVM switch?

Assuming the KVM switch, and related infrastructure, are well-secured, I don't see how Windows 3.1 vulnerabilities would matter.

(Not sure if the job requires feeding floppies and/or CD's into the machine, which AFAIK isn't something solved by any off-the-shelf KVM switch.)


Few are likely to be connected to the internet, I'd say after perusing https://de.wikipedia.org/wiki/Sibas (German, translation should work).


It seems you can actually order the hardware.

>SIEMENS Sibas 32, 6FH6035-1A + 4x 6FH 9543-3BY60 + 6FH 9533-3BY60 + 6FH 9550-3AY60 + 3x 6FH9485-3A + 6FH9484-3A + 6FH9498-3A + 6FH9481-3B Antriebssteuergerät

7500 EUR, 28 kg (found after a quick search).


I'm always amazed how much some of that Siemens stuff still goes for. My employer had a handful of Siemens PCs ranging from 486 Beetles to Pentium III Scenics in daily use until just a few years ago. They really were built to last.


> Few are likely to be connected to the internet

This is my point, actually.

You wouldn't be directly connecting the PC to the Internet. You'd connect the PC to the KVM switch's PS/2 and VGA connectors. The KVM switch present the corresponding virtual desktop to an appropriate user over the Internet using RDP or similar.

Again, I'm not sure such a product currently exists, but I assume it is, given the needs of data-center admins.


Sibas is the kind of thing you run in a locomotive, not on a PC in some stationary building.

The salespeople probably make jokes about high-speed computers.


Paradoxically, I think it would be very safe because how many remote exploits for Windows 3.11 are out there in the wild?


I don't think Windows 3.11 had any built in networking anyway. It's only network support would have been via dos networking TSR's.


It had a variant "Windows 3.11 for Workgroups" (1993-11), which was the second Microsoft OS with built-in networking, after "Windows 3.1 for Workgroups" (1992-10).

I have actually used "Windows 3.11 for Workgroups" with some coaxial-cable Ethernet NE2000 cards, but I do not remember what network protocols were used.

With all earlier MS-DOS or Windows versions third party networking solutions had to be used.


My first job was at a bank that used Windows 3.11 on all the corporate desktops (late 90s). We had 10mbit ethernet IIRC.

Periodically someone somewhere would plug both ends of an ethernet cable into the wall sockets, causing a broadcast storm and every PC in the building would freeze - Not even the mouse pointer would move.


I suspect most early Windows 3 machines were networked via Novell Netware.

https://en.wikipedia.org/wiki/Novell

Oddly enough my MS-DOS machine while in grad school was networked via a product made by Apple that allowed it to connect to a Mac network. My only use was accessing the department laser printer, but that was huge.


That rings true with my memory, I left the Windows world shortly after 3.11 for Workgroups came out, and there was a lot of Novell around. My job was writing a healthcare information system that used a ISAM database hosted on a Novell server, just starting to investigate SQL.


You could also use packet drivers* with a MS-supplied NDIS shim, as I recall.

* https://en.wikipedia.org/wiki/PC/TCP_Packet_Driver


>Windows 3.11 had any built in networking anyway

*Update:* Yes, looks like it uses the networking stuff provides by MS-DOS.

MS-DOS has NETSTART.BAT and PROTOCOL.INI that initializes TCP/IP with IP address and subnet mask.

When you look how a passenger information system in the trains boots up you can see how it shows BIOS information (floppy drive connected, serial and parallel port available, no harddisks) then it boots MS-DOS, initializes a XMS RAM disk, initializes parallel port, loads Crystal ENDS2ISA ethernet drivers, microsoft DOS TCP/IP protocol driver, and TCP/P MEMM driver, and calls NETBIND.COM.


I wonder does anyone even know how to exploit them anymore? Must be more secure that more recent, but forgotten Linux.


Remote doesn’t necessarily imply using the internet. ;)


As someone else noted, I doubt there's a lot of exploits lurking in hopes that they'll be able to own a Windows 3.11/MS-DOS 6.22 system. I'd be much more concerned about hooking up, say, Windows 7 than Windows 3.11.


I'm not sure it would work on a modern network either.


>Perhaps this is one job that shouldn't be remote..

I guess with some luck you can work on these hardware drivers for Windows 3.11 at home without any access to the network or train. What you need are specifications and maybe some part of the system, maybe there is some simulation software for the internal system of the trains.

I mean the alternative is that you have to work in the train.

*Update:* Since the SIBAS 32 system is just a box someone can sent home to you, you can probably connect a computer with Windows 3.11 to it, and run some simulations on the SIBAS system.


Trumpet Winsock was very slow and barely worked. The exploits for it just made the system crash.


A lot of those crashes are probably running executable code that the attacker hasn't bothered to write yet.


Cooperative multitasking means the chances of pulling anything off without completely crashing or hanging it is slim.


Not really. Once you get it running your exploit payload you can put the required yields in there no problem (or just let it crash after it's finished running your payload). Worst case you might have to be a bit more careful with how you get there (sprinkle some yields in your NOP sled or something), but it's at most a speed bump, not a real countermeasure.


Efficient Windows 3.1 programs are like a giant FSM clockwork where each event loop task is broken into small enough chunks to yield back the processor in a reasonable amount of time. Crafting an exploit that does anything beyond crashing the program or the computer would require knowing how this was done for a particular program.


> Crafting an exploit that does anything beyond crashing the program or the computer would require knowing how this was done for a particular program.

No it doesn't. You can run your exploit code and then crash the program, same as exploiting any other program. Or you can add some minimal code on the end of your exploit payload to exit cleanly. If you really wanted to gold-plate it by having it resume the program where it had been then yes, you'd need to figure out some details, but that's not normal or necessary - classical "smash the stack" style exploiters rarely tried to unsmash the stack afterwards, they'd execute their payload and then exit or crash.


It's both funny and sad. Sad because Germany technologically is years behind even other European countries like Sweden and Estonia.


Wrong context. There's nothing sad or "technologically behind" in supporting industrial tech that has lifetimes of several decades. Why would you want to discard a perfectly working highspeed train? Because that's what this is about - support for a 30 year old highspeed train.


Do you really think that this is different in other countries? As if they were changing their operating system of their trains every 5 years XD That's just stupid.


It's not only a Windows 3.11 job, it's an outsourced Windows 3.11 job! So it pays peanuts as well.


>So it pays peanuts as well.

It's how software development is seen in Germany.

Also, there's a labor shortage I heard. Or so the companies say.


I have the feeling that's how information technology in general is seen in Germany.


Something something German car industry decline...


That's true, but unrelated to software.

When you look at the software and AI, the German car manufactors are ahead of say Tesla.


I would consider buying a volkswagen if their software wasn't terrible.


Chinese consumers would buy ID3, but it doesn’t have karaoke


Isn't MobilEye Israeli?


As a rule of thumb, it'll pay about 30% more than the same position employed directly by the company. And I, uhm, have worked in the same physical office as someone who had that kind of job at that precise company. When we met, he had taken home those +30% for a little over a decade.


It's weird sometimes how you can get a risk premium for being easy to fire, but actually be very difficult to fire due to unique knowledge of some platform. Like being the only guy who can answer questions from the train repair technicians.

Not going to name names, but a person like that was discovered when his employer looked for the oldest serving employee and found out that it was a contractor whose contract featured an hourly rate one usually gets for short-term contracts, like +100%. His stay had been, shall we say, extended a bit.


To be fair in Germany the major part of the risk is hiring a wrong person from the start and no way to fire them, so companies are often happy enough to have medium-term contractors.


Where does it say what the rate is? There are articles published with some frequency, making claims like "ancient programming language $LANG is used in $SOMETHING_CRITICAL; coders paid megabucks to decipher it". Yet, this is the first time I have actually seen such an job advertisement, so I'm very curious.


An administrator is updating drivers?

So maybe not a developer job at all, updating means installing not coding? And the Windows 3.11 on the train has not decent networking or remote maintenance system it needs to be done manually somehow?

But then it's a remote position.

Doesn't seem to make sense to me. But running something as unreliable as Windows 3.11 in a production environment does not seem to make sense anyway.

Some say recertification of a new system would be too expensive. But if this system is certified, I'd say it's a certification theater not worth the paper it is printed on.


>But running something as unreliable as Windows 3.11 in a production environment does not seem to make sense anyway.

They used and still use MS-DOS, Windows 3.11, Windows 95, and Windows NT for different systems over the years in the older trains starting from 1989 to estimated 2030.


I can't remember Windows 3.11 crashing so much, dos 6.22 neither. Windows 9x and ME did crash more. Anyone know what happened to the Win98 presentation guy and where he works now? https://www.youtube.com/watch?v=yeUyxjLhAxU


I remember it hanging regularly. Maybe not every day, but several times a month I would guess.

Of course it depends on what software you are running. I remember running mostly Humingbird eXceed X-Windows server to access our Unix workstations.

I don't remember any BSOD on 3.11, was that a new NT feature? Maybe also "backported" to W95 and/or W98.

Well, it's been a while and I don't miss them...


Maybe you had bad hardware, or bad drivers. Windows driver certification didn't even exist in those days. But 3.11 by itself was rock solid, I don't remember ever crashing it from windows proper.


IIRC 3.11 had no process isolation and the IP stack was an afterthought. So every application bug could crash or hang the whole system. And networking problems could freeze everything.

It's rather unlikely that something complicated like an X-server was bug free.

So the system you describe as rock solid, can only be rock solid as long as no real world application is running on it.

IIRC NT 3.51 was the real first kernel where a buggy application could not affect the whole machine. But at least in early days BSOD was pretty common, maybe depending a bit on drivers you needed.

(Did not do any archeology now, just from increasingly vague memories.)


Too bad this isn't in the states. This is one job I'd be willing to give up remote work for.

That being said I remember very little about Windows 3.11, though I'm sure I could learn quick.


Job listing says remote though I’m not sure if they mean other countries as well.


This being Germany, I bet they don't.



Do they provide training? I used typewriters for work in 2009, it is less hustle than you think


If it works, don’t touch it


Why change what works, I guess


[flagged]


suppose the hardest part for the contractor is doing this gig remotely:

*"It will connect to a remote computer running Windows NT RAS Server, or Windows 95/98 with the Dial-up server. Because it only supports the NetBeui protocol, it will not connect you to the Internet. Windows For Workgroups also included several application to take advantage of the built-in networking system." -- http://toastytech.com/guis/win311.html


Windows NT RAS Server… now that’s a name I’ve not heard in a long time…


TBH NetBeui (pronounced net boo-ey) brings back horrific memories.


[flagged]


This is boilerplate in Germany.


>we have the comfort of knowing the designer used the correct pronouns

The text is probably translated from German. In this case they did not mean correct pronouns, but they meant they did not use inclusive nouns for simplicity reasons.

But even "masculine form" makes no sense. "vehicle control system" is neutrum in German and "high-quality display software" is female. Makes not sense to use masculine form here.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: