anchor.diff:  (defparameter *ideas* nil)
   
   (defun add-idea (from idea)
  -  (push (list from idea (get-universal-time)) *ideas*))
  -
  -(defun get-ideas ()
  +  (push (make-instance 'idea 
  +                       :user from
  +                       :text idea)
  +        *ideas*))
  +
  +(defun format-ideas (ideas)
     (format nil "ideas: ~{~&~a~}" *ideas*))
   
   (defun make-keyword (string)
  
positive.code:                  :highlight (reply-nick (xmpp:from message))))
      ((equal "ideas")
       (reply-chat connection (xmpp:from message)
                   (get-ideas) (xmpp::type- message)))
      ((or (optima.ppcre:ppcre "(^|\\s)300($|\\s)")
           (optima.ppcre:ppcre "(^|\\s)тристо($|\\s)")
           (optima.ppcre:ppcre "(^|\\s)триста($|\\s)"))
  
negative.code:              :output '(:string :stripped t)
               :error-output '(:string :stripped t)
               :ignore-error-status t)
            (if (zerop status) out err))
          "lbot system directory not found")))
  
  (defun reload ()
    (with-system-path (system "lbot")
      (when system
        (multiple-value-bind (out err status)
            (asdf/run-program:run-program
             (format nil "cd ~a && git pull" system)
             :output '(:string :stripped t)
             :error-output '(:string :stripped t)
             :ignore-error-status t)
          (if (zerop status) 
              (handler-case 
                  (progn
                    (ql:quickload "lbot")
                    (values t out))
                (t (e) (values nil e)))
              (values nil err))))))
  
  (defparameter *connection* nil)
  
  