Thanks for getting out the word on an incredibly historically accurate take on the Civil Rights movement. I think people often forget that _this_ is an incredible part of the movement. We got large-scale non-violent demonstrations and civil disobedience instead of a proliferation of armed protest and possibly something even worse. Many folks were tired of waiting around to be safe and treated justly. Just one too many a cop beating up your father or murdering your brother or lying under oath to send your neighbor away for years. The Black Panthers started armed patrols of their own neighborhoods to protect themselves from racist Oakland police officers. There were growing calls for other Black neighborhoods to use their 2nd amendment rights to arm and defend themselves from a tyrannical government. They were succeeding and spreading. As a direct response, Regan (while governor of CA) eventually signed the Mulford Act of '67 which made carrying firearms in public without a permit illegal. (_And they were stingy when it came to giving these permits to Black folks._)
Re Mulford, you make a brilliant point. Rights are often tolerated until marginalized groups begin to use them effectively. Mulford is to 2A what FACE Act is to 1A. And the FACE Act is about to be used against the peaceful protesters who went into that church in Minnesota the other day.
Self-defense and revolutionary violence are two different things. The former can bring you safety through deterrence, the latter only lead to a violence escalation that the State is almost always most prepared for and better at
The point at which you _could_ start to have undefined behavior is within an `unsafe` block or function. So even if the "failure" occurred in some "safe" part of the code, the conditions to make that failure would start in the unsafe code.
When debugging, we care about where the assumptions we had were violated. Not where we observe a bad effect of these violated assumptions.
I think you get here yourself when you say:
> triggering undefined behavior can in theory cause the program to do anything, including fail spectacularly within seemingly unrelated safe code
The bug isn't where it failed spectacularly. It's where the C++ code triggered undefined behavior.
Put another way: if the undefined behavior _didn't_ cause a crash / corrupted data, the bug _still_ exists. We just haven't observed any bad effects from it.
I've been pronouncing it as "nanites" in my head since the first time I've seen it. Dunno why and now I feel just a tiny silly, though I still prefer my pronunciation.
Needless to say I never had to actually say "n8n".
reply