In other words, there's code in Windows 7 that prevents crashing due to a rare bug in Where In The World Is Carmen Sandiego v1.3 (hypothetical example). And so on.
(The Old New Thing is a blog by veteran Microsoft shell team developer Raymond Chen, and it's a must-read for all developers.)
The biggest problem seems universal: You were an idiot and cut a corner three years ago, and you have to break something to move forward. Now what?
The Mac has some classic and poignant examples of this that have actually been trapping people for 50 years. Such as: Use of the high byte of a pointer to have non-pointer meaning (some 1980s ear Mac callbacks set flags in the "unused" high bits of a pointer, and the IBM 360 team made the same mistake in some of their OS data structures). In both cases, fixing this issue was pretty nasty.
Study history or repeat it, your choice. :-)
Microsoft Office for Mac v.X was released on November 19, 2001. It ran without incident for a decade on the latest and best Macs that money could buy through July 20, 2011. This was not by happenstance.
To give you a more concrete examples a game project I work on has many characters with skills. There is a lot of shared code across the skills, which is a good thing. A handful of skills are of the "charge" type. Press a button and lunge forward, each with it's own variation. Knockback targets, grapple targets, throw, throw backwards, apply buff to charger, apply debuff to victim, leave acid trail of damage, etc.
The whole setup has been built up over years and is tragically fragile today. Adding in a new charge variant requires being very careful you don't break any of the pre-existing skills. It may seem safe, and even appropriate, to make minor changes in the sequence of events but there's a good change it will break one skill in one particular case where multiple, infrequent combination of factors are in play.
Printers lie. Printers have embedded fonts and when you can use them instead rendering the text in software, the results end up better. But printers lie about which fonts they have and which characters are represented in them, so Word has (or used to have) this very big lookup table that basically tells "if you're printing on printer X from vendor Y, don't trust what it says about fonts and just send rendered text to it".
It's also one of the things that's kept Windows strong.
In the reddit thread the original author said: "I will also do a linux (ELF) version, but not in the near future."
For a Mac OS X version he would need a Mac (which he don't has.)
- The Content-Type of the SVG is text/plain so Firefox doesn't render it.
- The JPG has a Content-Disposition of "attachment" so Firefox forces me to download it locally.
Not a pleasant experience.
So all I was left with was the JPG link which was unfortunate because of the lossy compression which makes the finer details slightly blurred.
A PNG would have been perfect and I noticed that all other languages had a link to a PNG but english.
Much of the hate PE gets is because of the silly overloading with .NET assemblies.
It annoys me mildly that .NET requires you to have a little native stub in assemblies, but the Windows loader does not actually execute it.