A reminder that "For sale: baby shoes, never worn" isn't the shortest horror story ever written, it's actually "Specifies a tri-state Boolean value" written by the esteemed author Microsoft .NET Documentation.

Context: https://learn.microsoft.com/en-us/dotnet/api/microsoft.office.core.msotristate

Note that there are actually 5 values, not three. Also True is -1, and the value that equals 1 isn't supported.

MsoTriState Enum (Microsoft.Office.Core)

Specifies a tri-state Boolean value.

I just need a third reply here to say how much I appreciate the sheer simplicity and insanity of this documentation page - almost every single word provided ask more questions than it answers
@mdiluz Whenever I seem MS's docs I'm happy I'm not programming for Windows (at least not with MS's tech). They should really get a clue from e.g. Qt how to make decent docs (although there are some rough parts even there...)

@mdiluz My gateway into AI was using Claude to try to figure out MS's XML configuration files for their now deprecated Azure B2C identity provider. Their documentation is really bad.

https://claude.ai/share/97c73874-6981-4ebc-b473-19f5bdddd1bd

MsoTriState enum in Microsoft.Office.Core

Shared via Claude, an AI assistant from Anthropic

@astrashe @mdiluz i wonder if historians ever say things like "there isn't enough documentation of ancient mesopotamian property law, so i had AI make some up for me"
AI-driven enhancement of historical documents - International Journal on Digital Libraries

Historical documents from Late Antiquity to the early Middle Ages often suffer from degraded image quality due to aging, inadequate preservation, and environmental factors, presenting significant challenges for paleographical analysis. These documents contain crucial graphical symbols representing administrative, economic, and cultural information, which are time-consuming and error-prone to interpret manually. This research investigates image processing algorithms and deep learning models for enhancing these historical documents. Using image processing techniques, we improve symbol readability and visibility, while our deep learning approach aids in reconstructing degraded content and identifying patterns. This work contributes to improving the quality of historical document analysis, particularly for graphical symbol interpretation in paleographical studies.

SpringerLink

@cmsdengl @ratsnakegames

Oh, gods… 😵

@yenndc @cmsdengl AI-based image upscaling/denoising etc is not the same thing as just generating text/images wholesale, though

@ratsnakegames

True, but it's not a long way from using generative AI to do the upscaling — and from there we've kind of let the vampire into the house…

… With due apologies to vampires.

Personally, I sure hope it won't go there, but my expectations aren't high.

@yenndc
@ratsnakegames
As long as its non-destructive, historians in the future will be able to go, "Dipshits in the early 21st century got this completely wrong thanks to trusting bad tools."

@ratsnakegames @yenndc

It's the same slippery slope. Images today, words tomorrow

@cmsdengl @yenndc the distinction here is not "images/words", it's "extraction of information/generation of 'information'".

I still definitely have concerns about taking the output of upscalers etc at face value, but slippery slopes are a fallacy.

@mdiluz there's only two "supported" values so how is this even a tristate boolean

@ratsnakegames @mdiluz Everybody knows that the three real Boolean values are True, False, and FileNotFound.

https://thedailywtf.com/articles/What_Is_Truth_0x3f_

What Is Truth?

The problem with "logic" is that it makes things out to be nothing but simple dualities. Proponents of logic want us to believe that everything is true or false, black or white, yes or no, paper or plastic, etc. Thankfully, there are some among us, like Mark Harrison's colleague, who are not afraid to stand up to these logic advocates and shout "no, I will not succumb to your false dichotomies!" Today, I think we all should salute those few brave people ...

The Daily WTF
@mdiluz "Look closer. I think you'll find that there are 5 values."
@mdiluz what the fuck did I just read? The more often I look at the linked table the more I feel my brain melt 🤣
Ah. MS Office. That makes more sense now.
It's really quite simple. There are three states: true, false and .. unsupported. This removes the need for a rational number representation to express things about Microsoft Office that are not entirely true, and nor are they entirely false.
@mdiluz Hot take: True being –1 is the only good decision they made with that type.
@steve yeah, can't argue there
@mdiluz I suspect that -1 == TRUE dates from the old VARIANT_BOOL type way back in OLE, which has the same encoding. Old APIs leave a long shadow!
@kbm0 @mdiluz
It's much older, true was -1 all the way back in 8 bit BASIC (e.g. Commodore 64).
@leeloo @mdiluz It makes sense because then logical NOT is then the same as inverting all the bits in the word. The safe convention used in C is usually to stick to testing for (value) or (!value), ie. (value != false) or (value == false). Never check for (value == true). Having a tristate value really complicates things.
@kbm0 @mdiluz
Just as you can AND -1 with any non-zero value without getting 0/false.
@mdiluz looking at the table of fields, my hand moved to turn my phone upside down as that just felt like the correct way of reading it…
@mdiluz I like how it is a tristate boolean, with 5 values, 3 of which are not supported, so in the end it is still just true and false (which is not a tristate, but at least it's boolean)
@smol_entity @mdiluz oh gods, it's a boolean with the worst truthy value