(defun hexdump (filename &key (start 0) end)
(if (and (integerp start) (not (minusp start)))
(error "not a non-negative integer" start))
(or (null end)
(and (integerp end) (not (minusp end)))
(error "not a non-negative integer" end))
(let ((file (open-binary filename)))