*:investigate ipv6 address handling in C++ Boost library
 
 {section: Note}
-*:In a server, there are two choices with dealing IPv4 and IPv6 co-existence.
+*:In a server, we want to accept both IPv4 and IPv6 connections in single program(process). There are two choices with dealing IPv4 and IPv6 co-existence.
 1::We may create only one IPv6 socket. Then, OS will fake a server program with IPv6-IPv4 mapped region. ffff::1.2.3.4 is really IPv4 host and came through IPv4 router and everything.
-1::We may create two sockets, IPv4 and IPv6. Call non-blocking accept to both of them. And poll() or select() or kqueue() on both sockets. In current Linux implementation, I think we do not need this kind of complexity. Linux kernels deal smoothly with faked IPv6 address.
+1::We may create two sockets, IPv4 and IPv6. Call non-blocking accept to both of them. And poll() or select() or kqueue() on both sockets. In current Linux implementation, I think we do not need this kind of complexity. Linux kernels deal smoothly with faked IPv6 address. I expect it will be true for commercial Unix like AIX and Solaris.
 
 *:internet.h seems to have a lot of IPv6 incompatible functions.
 *:why do you call <a.b.c.d:pppp> as sinful string? what does it mean 'sinful'?