notes on kernels and network programming tips