1. ideas
    1. deferred.addCallback().addErrback()
    2. connectTCP(host,port,factory())
    3. listenTCP(port,factory())
  2. Knowledge gained
    1. twisted.internet.defer
      1. event-programming,after defer returned,callback (or errback) will run
      2. callback(fnc,params)
        1. fnc(result,params)
      3. errback(fnc)
        1. fnc(failure):sys.stderr.write(failure.getErrorMessage())
    2. twisted.web.client
      1. downloadPage(url,tempfilename)
      2. getPage(url)
    3. twisted.protocols.basic
      1. basic.LineReceiver
        1. sendline()
        2. lineReceived(self,line)