92 comments

[ 3.3 ms ] story [ 171 ms ] thread
Hmm. If the server-side app requires CSS/HTML4 and the client has to run on Win3.1, how about writing a proxy? The proxy would present a simplified HTML3.2 interface, and handle interpreting Javascript events and managing cookies to support a session talking to the server?

(It's a horrible kludge, but if it saves $150,000 ...)

Proxies like you're talking about are prone to lots of edge-cases that make them less fun to build than you might imagine. Plus, they'd be looking at getting a developer to do it, and any developer that would be qualified to do the job is probably going to charge $100/hour or more. And, the proxy will need a server of some kind to live on.

At that rate, they might as well get a second system.

Or spend a couple hundred bucks and buy a new computer to run the new software...
Or understand the URLs the page accesses, and make something similar for older browsers (if it's probably just a post with a badge number it's simple, if there is a login step it may be more difficult)

Having said that I have to say I have absolutely no experience reverse engineering protocols used by clock systems and that I never did a Linux version of a Windows only system.

Any idea what a $150,000 bandsaw can do to a man?

My brother's a lawyer. He just dropped about 20 times that amount on a penthouse in downtown Chicago.

He doesn't yet have a boat, although Lake Michigan beckons. Maybe when he buys his boat, he can christen it the Horrible Kludge!

Oh crap. Why on earth all this should be on the same computer?

I would not trust running timeclock software on a bandsaw controller even if it would be latest core-i7/xeon/whatever and QNX or VxWorks.

i wonder if the dust created by the bandsaw wouldn't make it difficult to replace it with a more modern system. we used to use standard office pcs to run a pos system for video shops around ireland. as the systems moved from been shipped with win 3.1 to win xp the processors got faster and the dust in the shops used to clog up the fans. machines pre pentium iii with passive cooling worked fine but anything with a cpu fan could be easily clogged with average dust levels in a pos location.

we also had a few pcs in engineering locations and even the power supply fans on 386s had problems with the dust in those locations. you have to wonder what the dust was doing to staffs lungs. after one particular location killed 1 pc a week for a month we ended up putting the pc in a pair of tights as this filtered out the dust. looked weird but far cheaper than a industrial pc.

but opera 3.62 seems to have support for css and works on win 3.1

haven't touched a win 3.1 system since around 2004 or so.

One of our clients is an electric motor shop. They're a pretty great little shop, they do work for elevator companies and PG&E and the like.

Anyway, they have a dust problem -- a carbon / metallic dust compound that permeates and settles on everything in the shop. It's pretty ugly.

There are pretty much two strategies for that kind of an environment, computer-wise: construct a cheap acrylic enclosure with a HEPA filter and maybe a fan or two; or, buy a cheap computer and expect to replace it every 1 to 2 years.

Oil cool the computers. I don't have the link but a google search will show you a lot of interesting builds. You don't have to worry about dust or filters because te entire pc is submerged in oil.
Well then you get other problems such as dirty oil (unless you have a good seal). The biggest problem I see is that it lasts as long as the shortest lifespan of all the components then you get to go through buying a new one or the mess of replacing that part.
How about a completely fanless computer? Or does the metallic dust also cause shorts etc.?

Either way it also sounds like an unhealthy environment for humans to work in.

Fanless would have been better, but the case will still have some kind of vents for air cooling, and the dust tends to have a static charge -- so eventually it'll still kill the system.

It's not a great environment for people, no. I'd be wearing a dust mask for sure if I worked there. But, a lot of shop guys aren't like that, especially the older ones. They just do their job and don't mind the dust.

With a sufficiently low-power system, purely conductive/convective cooling should be sufficient. You'd be looking at a finned enclosure, possibly with a directed airflow over that.

The real problem is providing for ports (power, networking, comms) without penetrating the enclosure. The recent Marianas Trench submersible showed a number of connectors designed for very high pressure environments, something along those lines should be sufficient.

Grounding would deal with static.

FitPC is what you want—sealed, passively cooled enclosure. We use their second-generation Atom machine for robots and it works great. http://www.fit-pc.com/
my company makes computers without vents and with ESD protection.
the metallic dust does cause short circuits.

the office our pc was in was in an office built above the work floor and had very good ventelation but fine dust still made it up and on to every surface. once enough dust settled inside the pc it died.

it cannot be good for the humans there but still not the unhealtiest place i saw. that was a cabbies cubby were 20-30 taxi drivers sat waiting for jobs to come in and they seemed to all be chain smokers. the office was a converted shipping container with benches inside. a pc used for booking calls was brought in dead. when i opened it up there was a tarry goo on the motherboard and the fan was seized solid. after replacing the fan and sponging up as much of the goo as i could i went to clean the case. my boss asked if it was necessary so i took a sheet of a4 paper placed it on the metal case cover and smoothed it down. then i grabbed 2 corners of the paper and lifted the metal lid clear of the desk. the stickiness was pure tar. goodness knows how long the new fan lasted.

and as for what it did to the humans...

Mini-ITX mainboards could be called industrial, they come in fanless varieties and are pretty cheap.
If our clients are anything to go by, it's because:

1. They don't want to buy, maintain, and hassle with a second computer;

2. They don't know any better, because they aren't computer geeks;

3. (Related to #1) They already bought the software and time clock system, they can't get their money back from the vendor, nobody bothered to tell them that it won't work in their environment, and they don't have the money to spend on another system, so they're looking for the cheapest possible way to do it.

If they hired someone to figure it out, they could splash out for a cheap tablet.

I agree with the first superuser post. Isolate the win 3.1 machine as much as possible, and use another machine for networking. It's too much of a risk, loosing a hand because you clicked a link and the machine froze is simply ridiculous.

Even putting the machine in a VM would be too much work. You'd have to port the custom drivers.

VNC client and VNC server on another PC.
next question, VNC clients for Windows 3.1?
Install IE4, Java and use the Java VNC Client.
It's just sad to be required to run Windows 3.1 in 2012.
Im still running 3.1 on 4 machines at work (slightly related to OP, we sharpen the bandsaws!). The thing is that the company that makes the machines is well known for their extortionate prices, so for us to update is not feasible. We just installed newer machines for everything else so the crappy old 3.1 boxes run only what they must to keep the machines running. I would love to try setting up a newer pc to run these machines, but there is so much propriety hardware and software in there that I keep putting it off for another day!
It's weird to think anything exists anymore running such old software. It feels like it just wouldn't even work now. I know that's absurd, but that's how it feels.

My friend sent me a video today of some guys hacking on Mac OS 9 at a hackathon he went to and it just felt odd to even look at it. It's been a solid decade since I've seen OS 9 alive and breathing, it feels like a friend who died long ago or something. And as far as Windows goes I don't think I ever saw anything before '98.

It's a peculiar feeling.

At my last work I was just finishing rewriting a database to get out of OS9.

Another person I help is in the newspaper business and does his layout with PageMaker on OS9, Iv'e been trying to get him over to InDesign but Adobe left behind a lot of the keyboard shortcuts he relies upon and its been a unsuccessful venture so far... As each year goes by its getting harder to find compatible hardware and currently the internet needs to be done on OSX... Would do it in classic mode on OSX but some of Adobe's rendering routines don't particularly like OS9. Talking with him about it many other papers still use OS9, mainly because like the OP said - "it just works" and I can understand their dilemma, when we have tried transitioning things, stuff doesn't "just work" anymore.

That's really interesting. Are any of the papers you know to use OS 9 national ones?

I have a Blackberry from about 7 years ago that won't even connect to my computer, but it's reliable. The battery lasts me 2 or 3 days, the software is perfectly stable and responsive, and I'm just used to it. I imagine the software it runs is insanely old and out of date, but I have no desire to replace it. It just works. So I understand the sentiment. Although as a developer I try to keep pretty up to date on my computer :P

I know a machine running MS_DOS 5.x being used for camera vision on a solder-paste silk screen machine.

The surface mount pick and place machine runs dos 6.x and win for workgroups 3.1x

God only knows what the oven runs.

It is weird, but then again it all works.

If you have a Canon digital camera, you are an MS-DOS user.
Specifically MS-DOS and not FreeDOS? I would have thought they would have EOLed licensing a while back.
ROM-DOS to be exact, but it's still an MS-DOS knock-off.
Never heard of it, thanks for the info.
To this day my dad still runs a stock control program on MS-DOS 6.22. It does the job and never crashes. For a while he had a lovely orange display with a Hercules video card.

At least for him, 640K turned out to be enough :)

I know that IBM sells a punch card emulator.
Ah, so they're emulating the punch cards, now. Progress!
I am looking forward to "Show HN: Punch card emulator implemented purely in CoffeeScript and node.js"
(comment deleted)
Why? If it works why do they need to upgrade? The problem is that they're trying to use the machine to do something else, which they shouldn't.
I love the top ranked comment on that site: This is a bandsaw...you're using dos with a gui...this is a bandsaw...
Yeah...

What's odd about this is that, 20 years ago, that would have been 'state of the art'. Assuming the bandsaw hasn't changed, and the computer's still working, there's nothing inherently wrong or bad about having Win 3.1 control the bandsaw.

What's bad is trying to use that machine for other purposes - I'd suppose the manufacturer wouldn't support the software if they found out anything else was being run on the machine.

Look at the number of man hours wasted on everyone commenting on this question/topic! :) I'd imagine they could have got a $300 laptop to log in to the timesystem, put it next to the bandsaw computer, and have been done with it. But for some reason(?) they'd prefer to spend time dicking around trying to reuse 20 year old systems to save a few bucks.

Did I miss the reason why they're trying to run both on one system?

The main reason I garnered was that the boss didnt understand the danger/inanity in doing so.
Perhaps they could reverse-engineer the Windows 3.1 software and get it to run on XP?

Can't tell from the details why the software won't do Windows XP.

Why would you think that someone whose day job is running a shop with a $150,000 bandsaw would have either the experience, tools, or inclination to reverse-engineer complex industrial control software?

It's likely they don't have installation media or any other reasonable way of transferring the software to a Windows XP system, even if it would possibly run in that environment.

(comment deleted)
Oh, how I'd love to have DOS/Win3.1 or OS/2 programmer job these days... :)
Those were simpler times, weren't they? Back then you could practically feel the electrons coursing through the metal, and you were their master! You felt so powerful when you could orchestrate every action of those machines. These modern systems with their virtual memory and their context switching... they're taking away our rights!
There are an amazing number of vertical apps that still use win 3.1/dos/even win95.

Heck, a number of ATMs run on recent OS/2 incarnations.

There might be hope...

Sounds like the bandsaw industry, from sharpening to operating, could use some disruption.

I'm only half kidding. There are tons of niche commercial/industrial processes that can use 21st century solutions. They're just hard to see unless you're in them, which is why non-technical people sometimes have brilliant ideas.

There are a lot of vertical markets that could do with innovation.

Match up industrial chassis, with low power PCs, really good electrical noise filtering, really good air filtering, a locked down environment and good firewalls etc, and then offer to quote for interfacing it to existing machines. (Which is mostly just finding the right interface boards and connectors and software.)

Exactly.

It's also why so much software in these areas is so terrible or does not exist. No one with the right knoweldge of the task at hand has the slightest clue how to program a computer.

But we do not have to call it "disruption".

It's just improvement over the status quo.

I worked on programming cutting robots and I can that they were extremely computationally intensive. They needed to constantly perform SVD to find stable solutions. There is a lot of innovation in this field (applied robotics).
Yikes!

Reminds me of my last programming job.

I was working on a commercial printing company. It did a lot of products for the banking industry. The print machines were pretty old, and made by Xerox. So old, in fact, that most of the wiring/sensors were one-off replacements done by the technician in charge.

It was (still is) a mess. A computer running Windows 98 (this on 2011) talked to a Linux box. The Linux box then sent the job to the board on the machine. It was all done in Java, except the low level stuff that ran C.

The machines broke constantly, and they required some Oracle certified dev to come down and "fix it" (which cost thousands of dollars).

One day, I asked my boss "Why don't they just buy new machines? It costs more to keep these running than to buy a new ones."

His answer opened up my eyes to the corporate/bureocratric culture of mediocrity:

"This works."

And to to top it all off, the production manager wanted me to write him a "little" program for the Windows 98 machine. The program would be used to keep track of prodcution for the whole department.

Unbelievable.

There's probably some corruption in there as well. Management doesn't give a crap about the work function, and only one vendor is qualified to respond to the maintenance RFP. So some old-timer is probably making a mint "maintaining" the system.
You are totally right.

I forgot to mention that they are locked in to Oracle and Microsoft. My job was to develop a C# based system, but they made me use VS 2005 Express (!@#$%), because they would not buy the latest version/license.

That job taught me a lot about how not to treat your programmers.

"Would not buy the latest version/license" is .. misleading.

I don't want to offend you and cannot judge the motivations of your employer at that time, but .. You don't need a license to develop C#. Even if you _need_ VisualStudio (which you don't..), there's a free version available. Otherwise SharpDevelop/MonoDevelop (yes, the latter is available and applicable for Windows as well!) would've done the job. I'd probably have prefered to drop to a notepad/vim based setup before touching 2005 and looking at .Net 1.1/2.0 stuff again.

Simply incompetency, "When you don't know what you're doing you fear change."
1) Buy a more modern computer with Windows 7, etc.

2) Set up a virtual machine with Windows 3.1 on it to run the bandsaw controller.

3) Now you can get any modern browser, still have the bandsaw software running, and not have to deal with multiple computers.

I find it a little hard to believe that anyone would try to build a band-saw controller on a Windows box in the way suggested by the post and assumed by so many of the comments.

It seems likely that the Windows PC is just a job manager and GUI for a simpler embedded controller that actually controls the band-saw. A standard PC doesn't have, as standard equipment, any I/O capabilities suitable for machine control, after all. When I did software for industrial controls, most of the controls that had PC interfaces were built that way; an embedded controller in the machine, running a real-time OS, actually actuated all the relays and optos and was responsible for all the safety interlocks. The PC would talk to that controller through a serial port and put a pretty face on the front of things. If the PC crashed, the operator wouldn't be able to run the machine, but the machine wouldn't go berserk.

I understand why someone would say that running a browser on the Win 3.1 machine is a bad idea, but it may not really be that bad.

This likely the case but I'll also add that we have no idea what "bandsaw" this is. I think everyone is picturing a massively complex machine with automated feed mechanisms, computer controlled adjustments, lasers measuring blade sharpness, etc. That may be the case or more likely (in my opinion), its a much simpler device. Like on/off and a maybe a couple sensors.

As for the real time nature of this system, find it doubtful its that critical. Your not worried about micro-seconds when your talking about big 3-phase motors that take minutes to speed up or slow down.

Total hypothesizing and speculation here but...

I work with audio and music software (in which timing accuracy is a major component). Timing accuracy 20 years ago was generally far, far better than a modern PC. The Atari ST is still the gold standard -- with regard to timing it makes Ableton Live 8 running on OSX look/sound like garbage. Without multitasking, whatever program you were using could prioritize timing over the GUI and other components in a way that a modern name brand OS won't allow

Again, pure speculation here but this may be the case at least to some degree for Win 3.1 because there aren't as many network services and other bells and whistles running in the background. It may even be the case that Win 3.1 doesn't have real multitasking. Maybe someone can chime in on that

That's interesting. I've also done a lot of music production (just amateur stuff, as a hobby) with software like Reason, Ableton Live, and Cubase, and I've never noticed any shortcomings regarding timing accuracy. Latency is always an issue, so a good audio interface if imperative, but that's the only performance issues I've encountered. What exactly are the shortcomings of modern systems regarding timing accuracy?
It's not something that's easily perceptible unto itself unless you get into very radical inconsistencies. As an example using arbitrary numbers, a quarter note would be 500 ticks one time and 493 ticks the next and so on...

It can be measured by recording the audio on a (timing accurate!) dedicated system and analyzing the waveform

Subtle as it may be, timing accuracy has an essential impact on how we perceive music as a whole. This is one contributor among a few as to why vintage drum machines and sequencers have become so sought after as software-baed music production has become more prevalent. The Akai MPC series (at least the 2000XL and previous) models have been found to have the most consistent timing of any machine with the Atari ST being the strongest computer sequencer.

Sorry, I don't have time to cite this stuff (breaking my own rule) but it should be easy to google

As an aside, poor timing accuracy can be a reason why in pulse-based music that some human musicians "just suck" even if they're otherwise proficient. Or some musicians are "just have it" even though they're playing something unremarkable

Indeed windows 3.1 provide cooperative multi-tasking instead of our modern preemptive multitasking.

Cooperative : it is up to the current thread/process to give up its CPU usage, meaning that if a thread is stalled the whole system is considered crashed (except for interrupt, which allowed for windows to recover via magic keys ).

Preemptive : The system govern the use of the CPU and arbitrary take CPU usage from the thread/process.

http://en.wikipedia.org/wiki/Cooperative_multitasking#Cooper...

http://en.wikipedia.org/wiki/Preemption_%28computing%29

Why does no one want to actually _answer his question_? It's one of my major gripes with tech forums these days: Someone asks a question about "How can I do X?" and instead of providing an answer, everyone piles up to say "HAHAH X is so stupid, you should be doing Y".

I actually preface some of my questions these days with "I realise X might sound silly, but I'd like to do it so please answer the question instead of telling my why I shouldn't be doing it"

Stop it already. Or at least ANSWER THE QUESTION and then politely suggest why you think it might be a bad idea.

What kind of knife should I use to behead a 5.8' average-build man?
Equating killing someone to using an old OS is a terrible straw-man argument.
It's not a comparison. Maybe I went a bit too far, but I think it answers "why does no one want to actually answer his question?". Sometimes the subject at hand or the content raises flags/concerns that overshadow the question. It's human nature.
In which case, don't answer the question at all.

If a person is completely new and this is obvious from the question, then you might be helping by saying "don't do that", otherwise, you're just adding noise.

> If a person is completely new and this is obvious from the question

That seems to be the case. It's obvious that wanting to run a modern browser on Windows 3.1 is completely naive, hence the responses.

No, I'm sorry. When you believe that someone is going to harm themselves or others with their decisions, and no one else has mentioned the dangerous of their intentions, it is the kind thing to do to warn them. This is especially the case here. This person wanted to do something clearly dangerous and with a critical system (see critical systems testing) that could potentially encourage it to fail and cause lives to be lost. They needed to be warned. Not answering when there is great danger is just as cruel as answering with the help to make it happen because yes, someone will help.
It's completely reasonable to warn them. It's not reasonable to post yet another warning in a thread consisting entirely of warnings and no answers.

It's possible that they don't know what they are doing. It's also possible that you don't know what they are doing. In this case, for example, it looks like the time clock software actually interfaces with the saw controller.

If you feel this level of risk aversion is unacceptable - well, I hope you have a better argument than what's been posted so far.

I don't, which is why I didn't add anything. Actually, the accepted, official answer was more than perfect. People rambling the same things isn't helpful, you're right; however, had no one said anything as useful as the accepted answer, then it would have been helpful to warn them. We were speaking on different wavelengths, I hope that clears it up
On behalf of people who might be operating the $150,000 bandsaw, I appreciate the responses that addressed the bigger picture safety issue.
The issues have very little to do with the age of the OS. If someone was asking how to get Firefox running on an embedded Linux machine operating a saw, I would expect most people to be saying roughly the same thing: Don't mess with a sensitive piece of software, buy a dedicated machine to run your timecard system.
Band saw. Windows 3.1. If that isn't a killing machine, I don't know what is.
Do you want full separation of the head at the neck? You might be able to manage that with a knife, but a specialized bone saw is more likely to get the job done.

I believe most modern medical procedures use powered saws, specifically because of the difficulty of cutting bone.

If you insist on using a knife, a high-quality steak knife and some time will do.

(That's a ludicrously absurd comparison, by the way. But you already know that.)

This is the number one problem with the Internet. It doesn't know when to say no, when to stop being "helpful". It only says yes, it only continues to provide.

In the early days this was a good thing, it encouraged growth and exploration, but now it leads otherwise well intentioned people down the road to ruin. It doesn't know when to stop. It doesn't know when to call in support. It's a bartender gleefully serving a bar full of alcoholics drunk out of their minds on whatever and thinking it's doing a great job.

It's a good thing that you get some push-back once in a while. It's a good thing to say "No" or at least ask for clarification.

In the age where people's first resort is often Google and their last stop is Wikipedia, any chance to inject a measure of level-headed guidance into the situation is always appreciated.

(comment deleted)
(comment deleted)
I'm sure the bandsaw mentioned in the SO post would do it quite easily.
You know, I have the same complaint. It seems there are too many who find it more fun to berate and humiliate as opposed to offering help when someone has a problem.
(comment deleted)
http://perl.plover.com/Questions.html

Anybody who's been around a while has seen this happen before - probably many many times.

You don't think answering the question "How can I run complicated and probably out-of-support software on the same out-of-support-and-vulnerable machine that controls a _bandsaw_?" is not the right thing to do?

Why does no one want to actually _answer his question_?

Because it was a stupid question. Running a networked time clock application on the same Windows 3.1 machine that runs a band saw is a stupid idea.

You don't do anyone any favors when you try to sugarcoat the obvious.

This is a very old problem. It predates the web.

My personal favourite has always been "Why would you want to do that?"

Sometimes this is a fair question. (But c'mon, if someone buys a computer, then they are to entitled to use it any way they want to.)

Most of the time the person "answering" does not know the answer. So they make a silly comment. It's never polite. They rarely admit they do not have an answer.

The positive aspect of StackOverflow is you always get a reponse. They will almost always respond. The negative aspect is the response is often worthless comments, or claims that the question is not allowed/in the wrong forum/etc.

Remember StackOverlfow are Windows programmers. They are a frustrated bunch. They are tense. They are easily perturbed.

Now, as for this guy's question, what I'd like to know is why he wants a "modern browser"? In other words, specifically what does he need the modern features for? Because there may be workarounds, using simple techniques, for whatever he needs the browser to do.

This is kind of pointless. NComputing already does this over ethernet.