You're wrong, but it's possible the article gave you that impression. Read the mailing-list thread.
It's particularly worth reading Ted T'so's contribution, which (considering his rude behaviour at the recent con led to a previous round of this nonsense) seems much more positive.
Assuming your vpn provides a stable remote IP, your client connection needs to use that. Try "whatsmyip" or similar over the vpn. The remote address almost certainly won't appear in the local output of ip a.
Locally, listen on the "this host", 0.0.0.0.
You may need to check your firewall locally.
You don't need to run your http service to troubleshoot - simple tools like netcat can listen for incoming requests - nc -l 0.0.0.0 8000 or what-have-you.
Finally: you might want to look at using a shell host as the client rather than targeting your vpn ip from your local host, just to take hairpin connections out of consideration when troubleshooting.
C++ is one if those languages where writing a library feels hugely different from using it. Boost is a case in point here: there are brilliant peiple behind it, but (error messages aside) the ergonomics of using thise libs in an application are usually pretty good.
(Scala felt similar to me. There are other languages where it feels much less like I'm swapping hats as I flip between parts of a codebase.)
You're wrong, but it's possible the article gave you that impression. Read the mailing-list thread.
It's particularly worth reading Ted T'so's contribution, which (considering his rude behaviour at the recent con led to a previous round of this nonsense) seems much more positive.