anchor.diff:  
   ;;todo: fix this output to slime-repl solution
   (defvar out *standard-output*) (defvar dbg *debug-io*) (defvar err *error-output*)
  -
   
   ;; now acts a lot like a C++-struct, (:conc-name NIL) ensures that the automatically
   ;; generated reader functions of a struct don't start with program-data-.. which is the
  
positive.code:   (gl:enable :depth-clamp)
  
    (setf *projection-uniform-buffer* (first (gl:gen-buffers 1)))
    (gl:bind-buffer :uniform-buffer *projection-uniform-buffer*)
    (%gl:buffer-data :uniform-buffer #|sizeof(mat4):|# 64 (cffi:null-pointer) :dynamic-draw)
  
    ;;TODO: "bind the static buffer"
    (%gl:bind-buffer-range :uniform-buffer +projection-block-index+
  			 *projection-uniform-buffer* 0 #|sizeof(mat4):|# 64)
  
    (gl:bind-buffer :uniform-buffer 0))
  
  
negative.code: (defvar *cube-mesh*)
  
  (defparameter *projection-uniform-buffer* 0)
  (defparameter *unprojection-uniform-buffer* 0)
  
  (defun init ()
    (initialize-program)
  