Programmers are familiar with navigating interfaces and protocols. Whether it’s ASCII, a function signature, an OOP interface, HTTP, or gRPC, these kinds of interfaces are ubiquitous, exist at all levels of abstraction, and are necessary for connecting distinct modules to form a coherent system.
I've been musing about the ways that culture, laws, and authority act as dynamic social interfaces. These structures seem to emerge as solutions to social coordination problems. Different solutions have different advantages and disadvantages.
Large groups have coordination problems
Many families, communes, and kibbutzes demonstrate a successful kind of anarcho-communism - there is a high degree of trust, and individuals get along through mutual aid and without formal codes. One explanation... (read 649 more words →)
Thanks for the link. Wish I'd read it earlier! That's a much better exposition of what I was trying to express here. :)
I do think that there's complication beyond even the two-layer model presented in "Studies on Slack". For example, maybe my company gives a lot of slack and looks at my value-add on a 5-year timeframe. At the same time, I have little personal slack around my annual bonus because I need to pay off loans. Perhaps the culture I live in has some different level of slack in its expectations for work. Although the two-layer model is a useful simplification, I'm not sure that the actual interactions are so neatly hierarchical.