# whose bug is it anyways?
given three implementations of the same nominally standard behavior, it is not uncommon to discover four distinct outcomes.
there is a special class of bug where every component is "working as intended" and yet the combined result is still nonsense.
standards may describe contracts, but they do not referee the blood feud between implementations.
this page is a living document, a chronicle of bizarre behavior that I've encountered in all kinds of systems.
please excuse the lack of formatting and incomplete entries - I am still assembling a list of all the weird stuff I have seen and much of it is in need of polishing.
## PowerShell
- loading a module by name will trigger a file tree walk of each module path that's configured. if you have git trees in your module path, PS will attempt to read every single file
causing a massive slowdown. (multiplied by extensions checked even if they don't exist: .psd1 .psm1 .cdxml .ni.dll .dll .exe)
load time for an internal module at work went from nearly 5 minutes to about 6 seconds after identifying this problem
- null inconsistencies in `($null) | foreach` versus `foreach ($var in ($null))`
- variable scoping, especially in context of classes
- others I tooted about, pls insert
## Linux
- busybox ash vs bash differences on procfs reads from integer files. sysfs doesn't do this though. see https://social.treehouse.systems/@astraleureka/116107037673072607x