http://maverick.i2p/blog/uptimetor
I remember spending three straight nights debugging this one issue where the monitor would just hang indefinitely. No error, no timeout, just silence. Turns out, the standard Go net/http transport doesn’t enforce timeouts on the initial proxy handshake in the way I expected. I had to dig into the source code and wrap the dialer manually.