Hacker News new | ask | show | jobs
by shoo 780 days ago
re:

  you: Hi
  co-worker: Hello.
  you: I'm working on [something] and I'm trying to do [etc...]
  co-worker: Oh, that's [answer...]
It becomes clearer what is going on here when we compare to the robot-robot conversations from Annalee Newitz's book Autonomous:

  The mantis beamed Paladin a hail. Hello. Let’s establish a secure session using the AF protocol.
  Hello. I can use AF version 7.6, Paladin replied.
  Let’s do it. I’m Fang. We’ll call this session 4788923. Here are my identification credentials. Here comes my data. Join us at 2000.
The initial Hi / Hello exchange establishes a session. Once the session is established, it is possible to begin data transfer at the application layer.

This is a technical problem masquerading as a social problem, which can be addressed by a technical solution.

Instead of expecting colleagues that only support establishing sessions by hello-ing to switch to an alternative protocol, it is possible to support both hello-ers and no-hello-ers by using a similar trick as found in launchd and systemd to reduce startup time by decoupling dependencies between services with a socket. Suppose service A says it depends on service B, and wants to send some data to service B. Instead of blocking service A being started until service B is up, the service manager can allocate a socket, give it to service A and say "here is your connection to service B" and then defer starting service B until service A actually starts trying to communicate using the socket.

Here's how a similar trick can hide the latency of colleagues that only support hello-ing: we offload the responsibility of establishing the chat sessions to a session manager, which is integrated into our chat client. When a colleague requests to begin a session by 'hello!'-ing, this message can be recognized by the session manager as an attempt to establish a session, suppressed and hidden from the user, and the session manager can automatically respond with 'Hi.' to establish the session. colleague is comforted by receiving the 'Hi.' and can trust that a session is established. When colleague begins transmitting data at the application layer, the data can be forwarded to the user as normal and surfaced by the chat program.

https://www.torforgeblog.com/2017/11/15/read-the-first-four-...

https://lwn.net/Articles/389149/