Show newer
glaebhoerl boosted

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.

Show thread
glaebhoerl boosted

who called it "legend of zelda speedrunning" and not "link-time optimization"

glaebhoerl boosted
glaebhoerl boosted

"I imagine one of the reasons people cling to their hates so stubbornly is because they sense, once hate is gone, they will be forced to deal with pain." — James Baldwin

glaebhoerl boosted

@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 github.com/rust-lang/unsafe-co, 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: github.com/rust-lang/unsafe-co)

glaebhoerl boosted

Some (near-)homophones that mean very different things that I see confused a lot

phase - faze
discreet - discrete
stationery - stationary
palette - palate - pallet - pellet
ordinance - ordnance
principle - principal

glaebhoerl boosted

@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.

glaebhoerl boosted

My daughter: "Everyone's so amazed that every snowflake's different, but no one cares that every potato is different."

glaebhoerl boosted

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".

glaebhoerl boosted

@rime Nah. I casually enjoy this kind of thing (also e.g. xkcd.com/1322, and some of the stuff from Anathem), but I'm not that hardcore.

glaebhoerl boosted

@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).
ling.upenn.edu/~beatrice/110/d
en.wikipedia.org/wiki/Unclefti

@pervognsen @zwarich It's also interesting how "silly newbie instincts", like `if (thing == true) { ... }` in this case, sometimes point to something deeper.

glaebhoerl boosted

In case folks aren't aware, the Internet Archive now has a scholar version with a huge collection of academic work available.

scholar.archive.org/

#academicchatter #academicmastodon #academic #education #open

Show older
Mastodon

a Schelling point for those who seek one