| 21 Nov 2025 |
Sofie 🏳️⚧️ (she/her) | https://medium.com/the-toit-take/hash-maps-that-dont-hate-you-1a96150b492a at least hash maps could be done with this but idk | 17:51:11 |
Sofie 🏳️⚧️ (she/her) | yea | 17:51:22 |
Sofie 🏳️⚧️ (she/her) | oooo | 17:51:33 |
Sofie 🏳️⚧️ (she/her) | nice | 17:51:35 |
Charles | the point is that this is a problem in general, sure you can solve it in specific cases, but you'd need to convince every upstream to fix this, which is not gonna happen | 17:51:45 |
Sofie 🏳️⚧️ (she/her) | has aux gotten their team setup already? | 17:51:52 |
522 it/its ⛯ΘΔ | i mean you can freely use hashmaps that don't maintain insertion order, you just need to not leak that ordering to the end binary | 17:52:03 |
Charles | yeah you just need to convince every piece of software in your build environment to do this, which is not gonna happen | 17:52:15 |
Sofie 🏳️⚧️ (she/her) | I mean, yea | 17:52:15 |
K900 | r11y is already being actively worked on in nixpkgs | 17:52:16 |
K900 | And massively improving | 17:52:25 |
Sofie 🏳️⚧️ (she/her) | nice | 17:52:33 |
522 it/its ⛯ΘΔ | no i mean disorderfs exists, and you can choose the build path in nix, no? you can run the build in a disorderfs (which is just FUSE) directory set to sort dirents | 17:53:44 |
Sofie 🏳️⚧️ (she/her) | can't you do this for every nix build? implement in lix or something | 17:54:16 |
K900 | We have that already | 17:54:32 |
Charles | i don't know what disorderfs is but i also can't imagine how something at the filesystem level could help here | 17:54:41 |
K900 | It does not by itself achieve determinism | 17:54:41 |
K900 | Quite the opposite | 17:54:44 |
K900 | disorderfs is a FUSE filesystem that intentionally fucks with readdir ordering | 17:54:57 |
522 it/its ⛯ΘΔ | disorderfs has a setting to explicitly order dirents | 17:54:58 |
K900 | Well that is also not the only issue | 17:55:10 |
K900 | Anyway, if we're talking r11y, this is an ecosystem wide effort and most of it needs to happen in nixpkgs | 17:55:26 |
Sofie 🏳️⚧️ (she/her) | well, why does it intentionally fuck up it, is there a way around | 17:55:30 |
522 it/its ⛯ΘΔ | yeah | 17:55:35 |
Sofie 🏳️⚧️ (she/her) | yeah | 17:55:42 |
K900 | Because it exists to test reproduciblity | 17:55:45 |
522 it/its ⛯ΘΔ | the point is to fuck with it intentionally | 17:55:47 |
K900 | That's a feature | 17:55:48 |
Sofie 🏳️⚧️ (she/her) | ah | 17:55:54 |
522 it/its ⛯ΘΔ | to see what packages are leaking fs iteration order into the output | 17:56:01 |