anchor.diff:  
   (defun write-log-message (stream message)
     (with-slots (id lvl time msg) message
  +    (nibbles:write-ub32/be +msg-magic+ stream)
       (nibbles:write-ub32/be id stream)
       (nibbles:write-ub32/be (ecase lvl
   			     (:info 1)
  
positive.code: (defun start-follower (log &key (stream *standard-output*))
    "Start following the log."
    (setf *follower* (make-follower log stream))
    (advance-to-block (follower-log *follower*) 0)
    (setf (follower-exit-p *follower*)
  	nil
  	(follower-thread *follower*)
  
negative.code:       new-index)))
  
  (defun advance-to-block (stream index)
    "Set the stream position to the block index"
    (declare (type log-stream stream))
    (let ((offset (* (log-stream-size stream) (1+ index))))
      (file-position (log-stream-stream stream) offset)
      offset))
  
  (defun advance-to-start (log)
    "Reset the log position to the first message"
    (let ((index 0))
      (advance-to-block log 0)
      (do ((magic (nibbles:read-ub32/be log)
  		(nibbles:read-ub32/be log)))
  	((or (= magic +msg-magic+)
  	     (= magic 0)))
        (incf index)
        (advance-to-next-block log))
      (advance-to-block log index)))
  
  ;; ------------
  
  