Background: this is motivated by compile-time 32-bit type ID extraction for template types. Here's the best I have so far (relies on GCC __PRETTY_FUNCTION__ macro also supported in clang):
template<typename T>
consteval uint32_t get_type_id()
{
const char* type_name = __PRETTY_FUNCTION__;
return murmur3_32(type_name);
}
Then I use this function to initialize a constinit static member for the template type ID.
this is a fine article but also what a lovely web page. a pleasure to behold https://heather-buchel.com/blog/2023/10/why-your-web-design-sucks/
@typeswitch I think the idea is -- since it's all approximate anyways -- to conflate zero with infinitesimal. Which makes some sense, in the same kind of way that NaN!=NaN makes sense because conceptually NaNs are not any particular known value. But violating reflexivity and congruence of equality are both bad.
@typeswitch I didn't say NaN is bad (by "bit patterns" I mean that there are very many possible NaN representations and this leads to portability/determinism headaches)
Re fenv, see that whole thread I linked... (I agree with https://github.com/rust-lang/unsafe-code-guidelines/issues/471#issuecomment-1772271284, resp. to the extent possible, all this stuff should be specified by immediates on the instruction itself)
@typeswitch The need to be approximate is indeed *part* of the cursedness (implying non-associativity too) and the part that seems most inescapable. But so much else seems unforced. NaN bit patterns, global mutable fenv, denormals, x87, NaN!=NaN of course, -0 == +0, and there's more I'm probably forgetting. Everything designed by humans has flaws, but why such a concentration.
Why are floats so cursed? I ask that non-rhetorically. It's not only ye olde NaN!=NaN; like half of the virtual ink spilled on nailing down language semantics also ends up being about arcane float-related esoterica. Is this, e.g., somehow inherent to the problem space? A weird historical clusterfuck? Something else? (Most recently reminded by: https://github.com/rust-lang/unsafe-code-guidelines/issues/471)
@hendric In (high quality) production lines, QA failures don't result in just throwing out the sample that fails to meet the standards, but are part of a feedback cycle that can start by stopping production. From that point of view, tests are a signal that the development process let through more (or maybe not) issues than desired; iterate on the process, not directly on the code itself. The latter overfits on the test set.
Same difference as updating decisions VS the decision making process after observing an outcome.
Oh my goodness I've just learned a thing about The Matrix that causes it to make a lot more sense: In the original script the humans were used as neural network compute clusters by the Machines and as a crucial component of The Matrix itself.
Which is why humans who were aware of the simulation could control aspects of The Matrix - their minds were part of its foundation.
Unfortunately the test audiences had trouble understanding this concept so the studio changed the human role to "batteries".
My file formats dissection repository:
https://github.com/corkami/pics/blob/master/binary/README.md
@rime Nah. I casually enjoy this kind of thing (also e.g. https://xkcd.com/1322, and some of the stuff from Anathem), but I'm not that hardcore.
@glaebhoerl This is beautifwl:
"For most of its being, mankind did not know what things are made of, but could only guess. With the growth of worldken, we began to learn, and today we have a beholding of stuff and work that watching bears out, both in the workstead and in daily life."
Uncleftish Beholding: an overview of atomic theory by Poul Anderson written in Anglish, which is English without any non-Germanic loanwords (and with new words sometimes invented in their stead).
https://www.ling.upenn.edu/~beatrice/110/docs/uncleftish_beholding.html
https://en.wikipedia.org/wiki/Uncleftish_Beholding
@pervognsen @zwarich It's also interesting how "silly newbie instincts", like `if (thing == true) { ... }` in this case, sometimes point to something deeper.
In case folks aren't aware, the Internet Archive now has a scholar version with a huge collection of academic work available.
#academicchatter #academicmastodon #academic #education #open