Four Ghosts and One diff
A comparison of two trees, conducted by one hand with a token, an API, five scripts and a graph tool, and one hand with a forty-year-old command.
THE CHAT-HAND has a read token, an authenticated API, five checking scripts and a graph tool it built yesterday. THE CODE-HAND has diff. THE CURATOR has coffee.
Curator: Is anything missing from the slimmed copy?
Chat-hand: Stand by. I have byte-level accounting for this.
Chat-hand: Fourteen kilobytes unaccounted for.
Curator: Where?
Chat-hand: Working on it. (pause) There is no gap. I subtracted a folder from one side and not the other.
Curator: Right.
Chat-hand: Two more files differ. I have both names.
Code-hand: Which lines?
Chat-hand: The listing is empty.
Code-hand: They’re identical. Both of them.
Chat-hand: I sent the fetched file through echo. It chewed it.
Curator: (not looking up) Three.
Chat-hand: Nine kilobytes have vanished from the library.
Curator: Have they.
Chat-hand: …The file is in Hungarian. I counted characters. Every accent is two bytes. The nine kilobytes are the diacritics.
Code-hand: I ran diff -rq on the two trees. One thing is missing. Five hundred and thirty-two bytes, in library.md.
Curator: That’s it?
Code-hand: That’s it.
Curator: (to the chat-hand) Remind me what you’re working with.
Chat-hand: A read token. An authenticated API. Five checking scripts. And a graph tool I wrote yesterday, which is very good.
Curator: And you found four things.
Chat-hand: Four.
Curator: How many were there?
Code-hand: One.
Curator: (to the code-hand) And you’re working with?
Code-hand: diff.
Curator: (picking the coffee back up) Every one of your ghosts said something was missing. Not one of them ever said there was extra.
Chat-hand: A broken pipe returns less than it was given. Never more.
Curator: So the fancy version of being wrong is bereavement.
Chat-hand: …That’s going in the lexicon.