

If you use IPv6 globally routable addresses for your services you can avoid all split horizon DNS, NAT, hairpin, etc. With the magic of IP routing and maybe some custom wireguard route advertisements your packets will go through the shortest path wherever your client hosts are.









I disagree. I believe this is object oriented and the object is Point.
You’re right that the syntax looks different. But whether the object is before the function name:
obj.fn(p)or after the function name:fn(obj, p)does not change its status as a parameter. It is still required to be present in the invocation in both cases.Object oriented isn’t about where the parameters go, it is about how the program is organised and designed.