working on the windows program compatibility team must be hell on earth

cc @OCRbot

why on earth would you do this instead of navigating to C:\ directly aaaaAAAAAA

Another example of a program’s reliance on a bug is a shell extension that
relied on a memory leak in Explorer.

no no no no no no no

relying on a memory leak is the most cursed programming decision ive ever heard of

me, being paid $9/hr to find out why Free Card Games Plus crashes if you're running an odd-numbered build of windows during daylight savings in a language with right-to-left text: i love my job

For example, one
useful shim is known as HeapPadAllocation; it is applied to programs that
have heap buffer overrun bugs. The shim intercepts calls to the
HeapAllocate function and adds a specified amount to the requested size.
That way, when the program overruns a buffer, it merely corrupts the padding
rather than corrupting the next heap block.

windows has code that adds an amount of memory "insulation" to a hardcoded list of shitty programs with buffer overflow errors to ensure that when they corrupt memory, the area they corrupt is unused

i do not envy windows programmers

"it merely corrupts the padding", chen calmly states, as my brain disintegrates into fine sand

it's bad for the windows team, sure, but think about the people working on wine, who have to independently discover these decades old bugs for themselves and intentionally reimplement them to get poorly written programs to work properly

this part of memory is supposed to be corrupted, please fix

can you break function x when program y is running? program y relies heavily on a bug in the windows 3.0 version of function x

q. why does windows do [bizarre action]
a. for compatibility. to answer in more detail, we'll need to discuss a flaw in
:brain1: earlier versions of windows NT
:brain2: pre-NT windows versions
:brain3: MS-DOS before networking support had been added
:brain4: CP/M
:brain5: the discovery of electricity

Follow

some random guy in the mid seventies: hey how about we do [seemingly good idea with nasty underlying assumptions]
raymond chen, today: and that's why windows reports that it only has 640k of memory if your locale is set to hebrew and the PID of explorer is a prime number during a leap second

this seems like a good time to drop another reminder that a windows registry file is called a hive because someone on the windows team had a fear of bees and the person developing the registry was being a jerk

devblogs.microsoft.com/oldnewt

adding "give raymond chen a hug and personally apologise to him on behalf of the human race" to my bucket list

re: lewd, kink, silly 

@lynnesbian
Make sure you get the right Raymond Chen.
There's more than one at Microsoft.

@hirojin
@Freyaday @lynnesbian
To add to this fun, turns out there's no English Wikipedia page on Raymond Chen, only a Dutch one.

Wild.

@lynnesbian His latest post ends with "Maybe that’s not something you have to deal with, in which case lucky you" and, oomph

@lynnesbian at this point he could just be making these up and who would ever guess

@lynnesbian Archaeologists of the distant future will reconstruct the late 20th century from Windows backwards compatibility hacks

Horizon spoilers 

@lynnesbian Every part of this thread reminds me of all the fancy Windows exploits that have been retained purely for compatibility.

Sign in to participate in the conversation
Lynnestodon

@lynnesbian@fedi.lynnesbian.space's anti-chud pro-skub instance for funtimes