else:                 channel_name = 'unknown'

    op = m['op'] #'private'
    if op == 'subscribe':
        print "subscribed to channel",channel_name
        #pprint(m)
    elif op == 'unsubscribe':
        pprint(m)
    elif op == 'remark':
        pprint(m)
    elif op == 'private':
        origin = m['origin'] #'broadcast'
        private = m['private'] #ticker, trade, depth

        if   private=='trade'  and channel==trade:      
            sys.stdout.write("T") ; sys.stdout.flush()
            #save_trade(m['trade'])
        elif private=='ticker' and channel==ticker: 
            sys.stdout.write(".") ; sys.stdout.flush()
            #save_ticker(m['ticker'])
        elif private=='depth'  and channel==depth:   
            sys.stdout.write("d") ; sys.stdout.flush()
            #save_depth(m['depth'])

sio = SocketIO('socketio.mtgox.com/socket.io', main_callback)
sio.connect()
#sio.thread.join()
while True:
    time.sleep(30)