bro did this in one shot with no supervision:
1. figured out how to fetch fresh binaries of the Steam client for Windows
2. disassembled steamui.dll
3. wrote a mod in C++ that adds implementation of a front light bar like on Steam Machine that hooks into the existing Steam LEDManager and makes the Steam client think the light bar is there (Valve didn't even implement this for Windows at all)
4. wrote a bootstrap dll to inject the mod
5. wrote tooling and CI workflows to automatically fetch new binaries as new Steam versions come out and track if the mod is still compatible (like if Steam's private ABI/vtable shift)
6. the LED state is exposed thru a shared memory object to be consumed by something like an OpenRGB plugin. the plugin was out of scope, so it wrote a small console tool that listens to update and dumps state as it changes, for testing (i didn't ask for it)
7. it produced a zip with compiled dlls, instructions and an install script that drops the mod and the injector into the Steam folder. it did all of this on macOS with cross-compilation
8. i didn't have any reverse-engineering tools or build toolchains installed, so it used nix shell to get what it needed
9. it all worked first try, and it works consistently and reliably
i need a shot of vodka, right now
@unsungmugwump As much as I agree, I also have friends who went to a complicated gender questioning phase just to conclude that they are in fact just cis men (and not repressing i'm pretty sure). Gender norms just suck, for men as well
Fable 5 proved Bend2's consistency in Lean!
Bend2 is an unorthodox proof assistant, because it includes "dangerous" features, like unrestricted recursive types, and type-in-type. These features are very useful for programming, as they allow one to write fast interpreters, cleaner abstractions, and more. But they're also infamous for causing paradoxes that would break a proof assistant like Lean, and once broke mathematics itself:
- Curry's paradox: "If this sentence is true, then anything follows."
- Russell's paradox: "The set of all sets contains itself."
The mere presence of these features allow paradoxical statements to be proven, rendering the proof assistant untrustworthy. That's why Lean, Rocq, Agda, Idris and others ban these features, and most type theorists believe they're *inherently* inconsistent. As I've always pointed out, this is not true, and, today, this fact is mathematically checked in Lean.
"Wait, Type:Type isn't inconsistent? Why?"
Because consistency isn't an isolated property of a feature, it stems from the interaction between different features. Something can be dangerous in a system, yet harmless in other. Bend admits type-in-type and recursive-types by paying a different price: runtime closures cannot be duplicated. This is precisely what allows Bend to be nearly as fast as C, and as parallel as CUDA. But, as a nice bonus, it also allows it to have these features, without breaking consistency.
When I talk about this, I'm faced with lots of skepticism from type theorists, and no amount of explaining makes them concede. So, I took the time to formalize Bend in Lean, write down the key properties I wanted to prove (subject reduction, normalization, consistency), plus an informal English argument. I then passed this file to Fable agents which, nearly a day (and several dollars) later, completed a sorry-free Lean file that passes the checker and validates my claims.
This doesn't mean the job is done. For example, if Lean itself is inconsistent, then this proof is moot. More likely, there could be a typo on my formalization, or a mismatch between it and the actual implementation. That said, this is a massive step forward, and a strong validation. Next time someone asks, rather than answering with long explanations or "trust me bro", I can ask them to read a tiny Lean file.
(The spec itself is tiny, Fable's proof is massive, but one only needs to read the spec, as Lean verified the proof.)
@brdmoedr You don't need to take or want to take HRT for your transition to be serious and for you to want it to be taken seriously by others. Is this wording better for you? That's what the catchphrase means
@brdmoedr Of course it matters, there's a reason people congregate around labels. You want to find people who accept you. You want to show the world that this aspect of you, even if youdon't like it, is acceptable. I'm denied everything and i can't even have my own self-ascribed label?