Live data from Hacker News

Windows 9x Subsystem for Linux

social.hails.org

141–150 of 265 posts

Re: Windows 9x Subsystem for Linux

#142
post #93

Is this person a wizard? To me, this seems an impossible feat. But I wonder how it seems to people who understand how it works? I'm reminded of this joke: Two mathematicians are talking. One says a theorem is trivial. After two hours of explanation, the other agrees that it is indeed trivial.

I remember myself on my first year of CS, set theory classes, at the whiteboard, trying to make a proof, but there something I was not able to prove at all, so I said 'it's trivial' and the doctor said 'yeah, it's trivial' and we went further.

Re: Windows 9x Subsystem for Linux

#143
post #26
post #20

Earlier quoted context omitted.

Cygwin is way older than CoLinux. CoLinux is from 2004. Cygwin was first released in 1995. The problem with Cygwin as I remember it was DLL hell. You'd have applications (such as a OpenSSH port for Windows) which would include their own cygwin1.dll and then you'd have issues with different versions of said DLL. Cygwin had less overhead which mattered in a world of limited RAM and heavy, limited swapping (x86-32, limi…

Just use ssh from Cygwin. DLL hell was rarely a problem, just always install everything via setup.exe. The single biggest problem it has is slow forking. I learned to write my scripts in pure bash as much as possible, or as a composition of streaming executables, and avoid executing an executable per line of input or similar.

I've never had a problem installing from setup, but some tools were (maybe still are, it is a long time since I've needed anything not in the main repo) ported to windows using the cygwin dlls were distributed with their own versions and could clobber the versions you have otherwise (and have their versions clobbered when you fix that).

> slow forking

There isn't much that can be done about that: starting up and tearing down a process on Windows is much more resource intensive operation than most other OSs because there is a lot going on by default that on other OSs a process ops into, only if it needs to, by interacting with GUI libraries and such. This is why threads were much more popular on Windows: while they are faster than forking on other OSs too, especially of course if data needs to be shared between the tasks because IPC is a lot more expensive than just sharing in-process memory, the difference is not as stark as seen under Windows so the potential difficulties of threaded development wasn't always worth the effort.

Cygwin can't do anything about the cost of forking processes, unfortunately.

Re: Windows 9x Subsystem for Linux

#148
post #93

Is this person a wizard? To me, this seems an impossible feat. But I wonder how it seems to people who understand how it works? I'm reminded of this joke: Two mathematicians are talking. One says a theorem is trivial. After two hours of explanation, the other agrees that it is indeed trivial.

I believe this wasn't really even a joke, but a real story that got distorted as joke: https://hsm.stackexchange.com/a/8054

This is in the class of things where even if the specific text doesn't trace to a true story, it has certainly happened somewhere, many times over.

In the math space it's not even quite as silly as it sounds. Something can be both "obvious" and "true", but it can take some substantial analysis to make sure the obvious thing is true by hitting it with the corner cases and possibly exceptions. There is a long history of obvious-yet-false statements. It's also completely sensible for something to be trivially true, yet be worth some substantial analysis to be sure that it really is true, because there's also a history of trivial-yet-false statements.

I could analogize it in our space to "code so simple it is obviously bug free" [1]... even code that is so simple that it is obviously bug free could still stand to be analyzed for bugs. If it stands up to that analysis, it is still "so simple it is obviously bug free"... but that doesn't mean you couldn't spend hours carefully verifying that, especially if you were deeply dependent on it for some reason.

Heck I've got a non-trivial number of unit tests that arguably fit that classification, making sure that the code that is so simple it is bug free really is... because it's distressing how many times I've discovered I was wrong about that.

[1]: In reference to Tony Hoare's "There are two ways to write code: write code so simple there are obviously no bugs in it, or write code so complex that there are no obvious bugs in it."

Re: Windows 9x Subsystem for Linux

#149
Sidebar: does anyone else find the naming of this super confusing—does this mean embedding windows in linux or linux in windows? Surely we could find a way to refer to composing operating systems that isn't inherently ambiguous. Say, "linux inside of windows" would be less ambiguous.

Edit: to the people who downvoted, I corrected my spelling mistake. I will perform due penance.

Post reply on HN