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

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

@lynnesbian I highly recommend checking out the new old thing blog

@lynnesbian msdn blogs have saved my ass so many times. Really a shame MS deleted most of them recently

@lynnesbian I've tracked down a copy of that PDF for later perusal.

@lynnesbian it is my professional opinion as an electrical engineer that the discovery of electricity was itself a mistake

(i would sign and seal a statement to that effect, but my PE stamp still has my retired name on it)

re: lewd, kink, silly 

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

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


@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 the registry hives story seems pretty par for the course from my own experiences TBH.

Also thank you for this thread, it is pure gold (and I needed something to take my mind off more depressing stuff).

@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.

@lynnesbian it is unfortunate that the last point is actually not a joke, and there was in fact a flaw in the discovery of electricity that makes the workings of modern electronics confusing

@lynnesbian and that for legacy reasons the flaw is not going to be corrected

@ky0ko @lynnesbian Do you mean: electrons actually travel *from* ground *to* positive, though most electronics diagrams have arrows pointing the opposite way?

Dear @admin, hope this finds you well.
I wish we had those icons.
Yours, Kat. Woof woof.

@lynnesbian This reminds me of an article I read about an AI designing audio software, or something of the sort. It eventually came up with something incredibly efficient, but which couldn't be used on any hardware except the exact chip it had been given, because it was dependent on specific faults and features of that one chip to function.

I wish I could find the article so I know I'm not making it up or remembering it wrong...!

@Lexi @lynnesbian It was my favourite example of the weird things evolutionary algorithms can do, back when it was important for me to have a favourite

@petra @Lexi @lynnesbian nowadays we just talk about how they’re ruining our daily lives

@Lexi @lynnesbian that sounds like the evolvable hardware i briefly worked on as an undergrad, and it was _supposed_ to do that:

we never trusted the simulators if the actual FPTAs were available, because the GAs would definitely come up with circuits where stuff wasn't hooked up to other stuff but substrate side effects made it work anyway…

@SenorOblong @lynnesbian Ohhh, that sounds like what I read about--especially this paragraph. Thank you!


"we considered that the inventor of the wheel was probably the origin of the problem, and asked them to come to our lab to start again from the ground up."


love 2 think about how the rowhammer vulnerability isn't solveable unless we stop using electricity

@lynnesbian a reminder that clocks in ovens, microwaves and various similar appliances were running slow in Europe recently because the ancient political fight between Serbia and Kosovo means Serbia was unwilling to balance its grid for lack of capacity in Kosovo, which rippled out and caused a Europe-wide minor reduction in AC frequency

and many appliances without computer-powered clocks just count a second for every 50 AC alternations

@theoutrider thanks for posting this, I was talking about this a few weeks ago with someone but forgot the exact countries it involved!

windows: keeps old bugs for compatibility
also windows: haha we're going to remove built-in compatibility tools for windows xp, screw you

Sign in to participate in the conversation
Lynnestodon's anti-chud pro-skub instance for funtimes