Have you got an example?
Have you got an example?
I was reading (http://blog.vrplumber.com/index.php?/archives/2526-Python-2....) today and thinking, "This wouldn't have been much of a problem on Windows."
I've built and maintained a Python distribution for Windows (Python Enthought Edition, which is used pretty widely in scientific computing environments) that had to work alongside other versions, and I also maintained a Linux version for RHEL/CentOS/Fedora. I would choose a Linux deployment every time. Not because I didn't know how to make it work on Windows; I did, and it did work quite well. But, because of how awful the whole process was.
There isn't even a standard mechanism for third party package updates on a Windows system. How stupid is that? Everybody has to roll their own updater if they want to provide automatic updates on Windows. It's like living in the stone age. Might as well hand out floppy disks.
And in contrast, the slightest annoyance on Windows confirms my worst feelings about Windows, and I give up quickly in disguest. For whatever (illusory) reason, Linux comes across as logical and an interesting puzzle that is worth the time invested, whereas Windows comes across as arbitrary and makes me feel like I've wasted my time.
Yes, it's a double standard but what can I say. At least with Linux, you can drill down as far as you want (and with Windows, I feel that I can't but it's partially a case of "Why should I bother, I can't see the source.")
> it's partially a case of "Why should I bother, I can't see the source."
I used to think this too.
Then I noticed that my Ubuntu 10.04 machine exhibits hard-lock like symptoms anytime I make -j. I know approximately what the problem is: the kernel scheduler isn't giving enough time to the UI while it does this, but, even with source, it isn't something I can fix trivially. Just reading the source and seeing where it happens doesn't do anything to make me feel better. It shouldn't ever happen. Period.
Try upgrading to the latest version of Linux (or just upgrade your entire Ubuntu distribution). This problem was fixed by a tweak to the scheduler that creates a scheduling group for each pseudoterminal. For that matter, you probably shouldn't use make -j anyway, since AIUI it just forks until it can't anymore, and doesn't pay any attention to how much RAM gcc/g++ is using. I use make -j [ncpus] instead, which is very nearly optimal (and is optimal with the BFS scheduler).