I think this happens in many domains. The way an expert thinks about a topic is very different from the way a novice thinks about a topic. It's not that the expert thinks in more complex ways than the novice; I'd actually argue that the expert thinks in simpler ways. But these ways of thinking are entirely different from each other, and when you're in one camp, the behaviors of the other camp appear unexplainable and complex.
When folks on the outside of category peer across the gap, they see a huge array of ways of speaking about both familiar and unfamiliar concepts. When an analogy is made across the gap, folks think "is that all it is?" or "how is that useful?" or "why are you making something so simple into something so complicated?". The categorical ways of thinking form such a vastly different basis of thinking that it's the translation into and out of that basis that's deeply complicated. When you're actually across the bridge, it's as simple as anything else -- but good luck explaining that to non-experts!
I've had managers who have the same attitude to software engineering. To them, if we understand the problem to be solved and the needs of the users, it's as good as solved! Why are you software engineers complicating things!? But I think many of us on this forum would side with the engineer, rather than the manager, because many of us are across the bridge. And how often do you have to try to translate what you do into something they can understand? (How often do they actually get it?)
It's probably not a coincidence that Chip Morningstar, the author of the article you linked, was one of the top 20 or so followers of Norm Hardy, who wrote the article that we're commenting on.
It's more than just a different way of thinking. There's an intuition gap caused by human bias. We bias towards one way of thinking and moving out of that bias is extremely hard.
s/bias/loss of context/ and I agree. Once a human fully grasps a context they can enter it and manipulate things within it very quickly -- so quickly that the presence of the context itself becomes invisible to the point of being inexplicable to others.
Indeed. Perhaps a simpler formulation is that once we've achieved the enlightenment of understood something in depth, we forget why someone new to it does not yet understand it. We have difficulty understanding why they don't understand it, and explaining it in such a way as to fill in their gaps.
Exactly. Communication isn’t about the idea. It’s about the state transitions that have to occur in the listener for them to become a carrier of the idea.
It's interesting - some part of my intuition tells me, only something an uninitiate could not understand is what stops everybody from understanding a hard topic- but then how do uninitiates transcend from pre-understanding to understanding? Perhaps the process of understanding is a stable and reliably predictable one.. which bodes as good news for, well, everything!
He was talking about "sensory keys" but the other person thought it was "requestor's keys"? That can't be it - because it's implied the other person heard the term "sensory".
Can someone explain?
(I must refrain from being very snarky and say that maybe the author is not very good at making points. Oops.)
My read: there is something called a "key", and keys come in various kinds. If you only know that something is a key, the author says it should be clear that you can tell if something is a sensory key based only on its content. They explain that the adjective is part of the key's identity.
Their collaborator notes that another kind of key, a "requester's key", cannot be distinguished just by the contents of the key itself; it's more about the context in which the key is used. The collaborator notes that "sensory key" could very well be the same kind of thing, if you don't already know any better. The author was surprised at how implicitly this knowledge was in their mind. They had attributed this feature to adjectives in general, not realizing the subtlety.
A sensory key was a kind of transitive attenuator: it's like a read-only reference to an object such that if you use it to fetch a property from the object, the reference to the property that you get back is also a sensory key. (This is my understanding but I may be confused; I've only read about this OS.)
FWIW if you talk to Jonathan Shapiro he will happily tell you that he was the one that convinced the L4 folks that capabilities were the right way to do things, replacing Liedtke's kind of lame chiefs-and-clans model. I think he's probably correct, because (quite aside from the particular encounters he describes) the resurgence of capability systems in the late 01990s owed an enormous amount to his work popularizing them.
I'm pretty sure your memory of sensory keys is correct, but I haven't run KeyKOS either.
It looks like the context is missing. So the author assumes the audience is familiar with past knowledge about their OS (I clicked through to the main webpage)
I studied category theory at university and have no clue what he is talking about. It seems nonsensical and not well written.
Edit: I realise this might be an unfair criticism since this is the author's private blog, and may expect readers to be very familiar with the topics he talks about. Hackernews is not likely not his intended audience, and the unrelated title of "Category Theory" does not help either.
Who is upvoting this? I love category theory and use it to reason about types and programs, but what even is this article. OP's glossary entry on "Kernel Category" makes me feel that they are just making up nonsense.
I would like to discuss the problem of how so many programmers are turned off by category theory despite the fact that they could benefit from learning it, but I don't know that this article really provides the prompt for such a discussion.
It's a wonderful note about the difficulty of explaining things to people. It has nothing to do with category theory, so the title is bad, but unfortunately HN's policy doesn't permit providing a better title.
I don't think it's wonderful since it does not explain itself well at all. Quite ironic really.
Personally I always aspire to think like Richard Feynman - if I can't explain something in plain English to a novice then I don't understand it well enough myself.
I learned an enormous amount from Norm, but Feynman is definitely easier to read. However, most undergraduates who went through Feynman's physics classes found them extremely difficult. So maybe Feynman didn't quite succeed in that ambition either.
Does this series of pages ever get back to category theory itself? Or is this a double tangent (in the rhetoric, not geometric sense (in the latter the tangent of a tangent is itself so that wouldn't be worth talking about would it?)).
When folks on the outside of category peer across the gap, they see a huge array of ways of speaking about both familiar and unfamiliar concepts. When an analogy is made across the gap, folks think "is that all it is?" or "how is that useful?" or "why are you making something so simple into something so complicated?". The categorical ways of thinking form such a vastly different basis of thinking that it's the translation into and out of that basis that's deeply complicated. When you're actually across the bridge, it's as simple as anything else -- but good luck explaining that to non-experts!
I've had managers who have the same attitude to software engineering. To them, if we understand the problem to be solved and the needs of the users, it's as good as solved! Why are you software engineers complicating things!? But I think many of us on this forum would side with the engineer, rather than the manager, because many of us are across the bridge. And how often do you have to try to translate what you do into something they can understand? (How often do they actually get it?)