Tue, 30 May 2006

Hex Viewer.

Just the other day, Benno blogged about diffing binary files.

For me, this is a problem that was solved some time ago. Around the time I released libsndfile (1999) I needed a way of doing hex diffs on sound files like WAV and AIFF. My solution was a program I called hv which I've been using and occasionally hacking on ever since. Here's what it looks like when running in an xterm and viewing the hex diff between two WAV files:

(hv screen shot)

Obviously, it looks a little like a regular hex dump, with addresses on the left, hex in the middle and ASCII on the right hand side. What hv does a little differently is display sets of 16 bytes from each file one above each other. In the hex dump, nibbles that are the same are coloured white while nibbles that differ are coloured red. (The same colour scheme is also used for characters in the ASCII section.

Peter Miller and a number of other people who have seen it have said I should release it. Until now I have been too lazy to do the extra autoconf/automake stuff required to get it in a suitable state, but Benno's blog entry finally forced me to make it public.

The code source (GPLed) is here: http://www.mega-nerd.com/tmp/hv-1.04.tgz. The program is three files of C code and a Makefile. It needs the ncurses library and header files to compile.

So, Benno, do you like it? If people think this is useful I might package it up properly, rename it (Debian doesn't like two letter command names) and release it as a real project.

Posted at: 18:21 | Category: Tools | Permalink