The full AP story from 1984 (including the last two sentences, which were snipped off of the clipping in TFA for some reason) is available in a few places, e.g. in the Lake City Reporter of 1984-10-31, under the headline "Fight With Phone Lost":
IOWA CITY, Iowa (AP) - Police responding to reports of a stabbing found instead a bleeding 20-year-old man who lost a confrontation with a pay telephone, authorities said.
According to police, Richard A. Anderson had tried to call a friend from a pay phone and when the call went unanswered angrily tried to jerk the receiver out of the phone.
Police said Anderson just managed to stretch the wire webbing that covers
the telephone cord. The receiver stayed put. So Anderson again vented his anger — this time by throwing the receiver, police said.
But when the receiver reached the end of its cord, it snapped back and the cord wrapped around Anderson's neck.
The sharp edges of the wire webbing dug into Anderson's skin, cutting him. When Anderson struggled to free himself, the webbing cut deeper.
"Once we got out what had happened," said one police officer. "it was, 'Be real. This did not happen."
Anderson was treated at University Hospitals and released.
I believe it. People born after the payphone era might not realize that the telephone cord in this case wouldn't be the cushy plastic home-telephone cord such as you can find by googling "strangled with telephone cord," but rather a "payphone armored cord", which looks almost like a "metal-clad electrical cable" except more flexible and stretchy (such that you conceivably could get a nasty pinch from it when it contracted again).
Also, while I believe a payphone-cord pinch could draw blood, I don't believe any hospital staffer could mistake an actual stabbing wound for such a pinch. So the guy couldn't have actually gotten stabbed. Although I guess he could have been covering up for the drunk friend who dared him to pinch his neck in a payphone cord...
Yeah; if it's already March, why NOT wait for the traditional joke-RFC day? (But I say this who shouldn't: I've several times thought "I'll post this on such-and-such day," and then when the day came, forgotten to post it. So maybe it's "better early than never"?)
Yesterday I played around with the repo and found that (IIUC) one "environmental condition" already present in the simulation is the mutation rate. With relatively low mutation rates, I find that a whole tape filled with `<` is a good "substrate," in the sense that it can sit there stably for a long time until a random mutation puts `,` into one of its cells. Within a few generations, it will have spattered copies of the substrate into all its neighbors. Then they sit until a random mutation puts `,` into one of their cells... and so on.
I described what (I think) I'm seeing in https://github.com/Rabrg/artificial-life/pull/1 , and suggested in https://github.com/Rabrg/artificial-life/pull/3 that random mutations ought to blow away the whole tape rather than modify only one cell of it. However, even with that modification to the rules, I still see the `<` substrate taking over the whole map, except when the mutation rate is very high. (I admit this doesn't make a ton of sense to me.)
So, anyway, it's easy to make the mutation rate vary from one side of the map to the other. If you do that right, you can see the `<` substrate take over the low-mutation-rate side of the map, but fail to take over the higher-mutation-rate side.
The `<` substrate is easy to see in the gif: it's a rapidly spreading splotch of red with gold noise flickering inside.
I wouldn't call the idiom you describe (like with unique_lock's defer_lock_t constructor) "tag dispatch"; to me, one defining characteristic of the "tag dispatch idiom" is that the tag you're dispatching on is computed somehow (e.g. by evaluating iterator_traits<T>::iterator_category()). The idiom you're describing, I'd call simply "a constructor overload set" that happens to use the names of "disambiguation tags" to distinguish semantically different constructors because — as you point out — C++ doesn't permit us to give distinct names to the constructor functions themselves.
You're probably thinking "one cell = one pixel." In fact "one cell = one 8x8 block of pixels"; the specific pattern of colors in each 8x8 block represents the opcodes of that cell's 64-opcode program. So when the replicator takes over the map, it's changing the image to a repeating pattern of 8x8 blocks.
Now, don't quote me on this part, but I think the first replicator to take over is this (minus all the "junk DNA" between the instructions):
[}<,]}],<}[
and the second, more efficient, one is:
{[}<,]],<}[{
The latter means roughly:
--head1;
while (*head0) { *--head0 = *++head1; }
*head0-- = *head1++;
while (*head0) { --head1;
// CUT HERE
which gets pasted together with whatever cell it's breeding with at the time.
Well, (somewhat tongue-in-cheek,) one of the defining characteristics of "good money" is that it is very inefficient to replicate!
(Several places online list "durability; portability; divisibility; scarcity; fungibility; and acceptability" as the key characteristics of "good money." Difficulty-of-replication pertains to the "scarcity" characteristic: if it's easy to duplicate, that makes it "bad" money, not "good" money.)
Experienced programmers can skip to the conclusion, which (after a brief misstep to say that "accessing memory on the stack is, like any other memory access, O(n), depending on how much memory you access") is basically that the defining characteristic of a systems language is that no built-in operation should take more than O(1).
I mean, sort of. Except that obviously there are operations, like sorting, which necessarily take more than O(1). Suppose we had a language exactly like C except that `sort` was a builtin instead of a library function: would that make it less of a good systems language? Or is there something about spelling the operation "sort" that makes it more acceptable?
Is the ultimate criterion just that everything should have "the right" cost for how it's spelled — or in other words, that operations' costs should be predictable by the systems programmer — or in other words, the language shouldn't behave too weirdly given how it looks — or in other words it should look mostly like C, and the parts that look like C should also behave like C? I think that's a pretty decent criterion, actually.
That, plus the line "Or, you could just not do it [change your colors with CSS] in the first place which would look like this:" — followed by a super-duper-CSS-styled box thingie full of gray text.
Current HN title: "Suspected insiders predict US attack on Polymarket." Should probably read "Polymarket insiders predict (or: trade in front of) US attack on Iran."
Although it would be more HN-worthy if there were a market on "Will the US attack Polymarket?" with as-yet-only-suspected insiders trading on that one too. ;)
I clicked curious what a "US attack on Polymarket" would look like, and was disappointed.
The full AP story from 1984 (including the last two sentences, which were snipped off of the clipping in TFA for some reason) is available in a few places, e.g. in the Lake City Reporter of 1984-10-31, under the headline "Fight With Phone Lost":
https://newspapers.uflib.ufl.edu/UF00028308/08196/zoom/18
reply