working on the windows program compatibility team must be hell on earth
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
all of these are sourced from here: http://ptgmedia.pearsoncmg.com/images/9780321440303/samplechapter/Chen_bonus_ch01.pdf
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
earlier versions of windows NT
pre-NT windows versions
MS-DOS before networking support had been added
the discovery of electricity
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
adding "give raymond chen a hug and personally apologise to him on behalf of the human race" to my bucket list
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!