anchor.diff:  (defun pubnub (url) (jsown:parse (drakma:http-request url)) )
   
   (defvar *timestamp* 0)
  -(defun publish (channel message)
  +(defun publish (&key (channel "channel") (message  "\"message\""))
     (destructuring-bind (res descr time) (pubnub (publish-url channel message))
   		       (setf *timestamp* time)
   		       descr))
  -
  +(defun history(&key(channel "channel") (count 4) (start 0) (reverse "true")
  +		   (with-token "true"))
  +  (pubnub (history-url channel :params
  +  
  +  )
   (defun subscribe (channel &key (timestamp *timestamp*))
      (destructuring-bind (obj time) (pubnub (subscribe-url channel timestamp))
   		       (setf *timestamp* time)
  
positive.code: (defun audit-url ()
    (to-url
     "v1/auth/audit/sub-key" +sub-key+
     (do-urlencode:urlencode (format nil "{
           timestamp : 0}" ))))
  
  (defun publish-url (channel message)
    (to-url "publish" +pub-key+ +sub-key+
  	  0 ;; signature
  	  channel
  	  0 ;; callback
  	  (do-urlencode:urlencode message)))
  
  (defun subscribe-url(channel timetoken)
    (to-url "subscribe" +sub-key+
  
negative.code: 	  ;(break "~A" res)
  	  ))))
  
  (defun test-publish()
    (loop for ch from 1 to 10 do
  	(loop for message from 1 to 10 do
  	      (publish :channel ch :message message))))
  