3 ms·
I think you're missing something really profound here. I wrote my masters thesis on identity problems in version control systems (Git, Mercurial, Subversion, an
by zukzuk 8y ago
I think you're missing something really profound here. I wrote my masters thesis on identity problems in version control systems (Git, Mercurial, Subversion, and the like). These systems are forced to take a stance on the Ship of Theseus problem — they're tracking the identity of files/documents whose entire contents, name, and format may change over time.
Different systems have chosen to take very different stances on this. As it turns out, taking a stance on what makes a file a file (or a ship a ship) — being explicit rather than vague — does not solve the problem. Not even close. In fact, one of the many little things that make Git a brilliant piece of software is that it refuses to take a stance on identity. Git is intentionally vague about what makes a file a file. It doesn't actually track it at all — file identity is determined retroactively. It's a question for which Git intentionally doesn't have a straight answer.
What I think is really fascinating about all of this is that computers are forcing us to deal with age-old philosophical problems head on. These are not just interesting riddles anymore. They're real problems that need concrete solutions. Event more interestingly, there is something in this that establishes computing as categorically different from just pure mathematics. Computing forces us to bridge abstraction with the real world — to answer questions like what is the relationship between an abstract model and the thing that is being modelled. This to me is really exciting, and what follows from it can't be easily dismissed with a comment like "most philosophical problems only exist because language is vague".
- ucaetano 8y ago> These systems are forced to take a stance on the Ship of Theseus problem — they're tracking the identity of files/documents whose entire contents, name, and format may change over time. But that's my point: when you choose to make a call on the definition os "the same", the problem no longer exists. SoT only exists while you refuse to provide a more precise definition for "the same". > Different systems have chosen to take very different stances on this. Yes, and any stance will solve the problem. You could say that it is the Schrodinger's Cat of philosophy: the moment you decide to go one level deeper (open the box and observe the cat), the problem ceases to exist. > These are not just interesting riddles anymore Agreed, and the point of the original commentary was that they were never interesting riddles to start with, they were only riddles at all because we purposefully forced them to be riddles. We avoided the fact simply to carry on the discussion. Similarly, any judge won't care about the SoT, because at the end of the day, that judge will have to make a call if the ship in question is Theseus' or not. And just like quantum mechanics, the moment you look at it, the "wave function collapses" and you have a solution. SoT is only a problem for the same duration as Schrodinger's cat: while you refuse to open the box.
- zukzuk 8y agoI think you missed the part where I said that Git intentionally _doesn't_ take a stance. Or rather, it defers the commitment, a bit like Schrodinger in regard to his cat. I guess what we agree on is that the problem goes away (kind of) as soon as that deferred commitment is made — but the problem goes away only for that particular instance, not in general. What I'm arguing is that dismissing these philosophical problems as just nonesense rooted in the vagueness of language is missing the point. If nothing else, these paradoxes lay bare the vagueness of language, but moreover they beg the question of why language is so vague. What's more, it turns out that making language more precise — as we've tried to do with computers and mathematics — doesn't seem to solve the problems at all. In fact, it seems to lead to even more trouble, as, for example, the designers of Subversion or Mercurial eventually discovered.
- ucaetano 8y ago> What I'm arguing is that dismissing these philosophical problems as just nonesense rooted in the vagueness of language is missing the point. Oh, I agree, I don't think they are nonsense at all, and they do force us to think about the way we communicate and so on. That's why I call them the Schrodinger's Cat of philosophy, while they only exist until you decide to solve them, they do force us to think about how we view the world. But then you end up in another problem for philosophy: if what remains after you remove all the natural sciences is just the problems that humans create due to language, law, understanding, etc. and all of those are covered in subject-specific human sciences (law, linguistics, psychology, behavioral economics, etc.), what is left for philosophy? Apparently, this is covered partially by this week's NPR Philosophy Talk: https://www.philosophytalk.org/shows/does-science-over-reach https://www.philosophytalk.org/shows/does-science-over-reach
- dooglius 8y ago> [Git] doesn't actually track it at all — file identity is determined retroactively Can you explain what you mean by this? It seems to me as though "git blame" pretty clearly indicates that git keeps a notion of a file's identity as it changes over time.
- presidentender 8y agoIs your thesis available for public consumption?