Hacker News new | ask | show | jobs
by routerl 740 days ago
Isn't all of this just equivalent to a pointer? "This variable doesn't exist" is a reasonable error message when you're, for example, dereferencing a pointer with a wrong data type: it could be the equivalent of "there's no integer at this address" or "this integer doesn't exist".

The problematic "this" is just an indexical in that case, and it works fine in terms of ontology, just like we might say "this house doesn't exist", while pointing at a burned up lot. Any fluent speaker of English will understand that, just like how they'd understand a description of the Parthenon as "this is a great temple", while looking at a ruin.

"This email doesn't exist" is not really problematic; the metadata persists but the body and subject have been deleted, plus whatever else constitutes "a message" in this schema. We can refer to it, because the pointers still exist, but the value at the address is gone.

The house might not exist anymore, but the address still does.

2 comments

Your pointer scenario could have the same warning, but it does not match the scenario in the post. In the post, we have """the message""" displayed on screen. It's not a simple dangling pointer, the contents are right there.

We're standing inside the living room while saying the house doesn't exist. And as soon as we walk out the living room will disappear.

I'm sorry, I miss things nowadays, but I don't see where the post states that the message is still available.

If it is, that's probably a desync issue, like others have said. Still not particularly mysterious or ontologically interesting. So much of parallel and distributed programming is about solving desync problems.

> I'm sorry, I miss things nowadays, but I don't see where the post states that the message is still available.

I put it in super scare quotes for a reason, because it depends on what you mean by "message".

But the text is still on the screen. That's why you can copy it.

> If it is, that's probably a desync issue, like others have said. Still not particularly mysterious or ontologically interesting. So much of parallel and distributed programming is about solving desync problems.

If it's just a desync, then it could resync things if it wanted to. Instead it gives a confusing and contradictory warning.

The way the warning contradicts itself is pretty interesting, and I and the author think it's fun to delve into how the word "message" is supposed to be defined here, and how it's causing problems.

But it's not simply a reference to a thing that's gone. It's not actually gone yet. It's a ghost.

If it were a pointer, Microsoft's advice of copying the message would cause a segmentation fault.

Maybe a better comparison would be a weak reference to an object that's in line to being garbage collected.

Yeah, I said "the equivalent of a pointer" because it was an analogy. I then spent the rest of the post trying to cash-in that analogy. Sorry I wasn't clear enough.