I really like http://meld.sourceforge.net/ when I need to diff unfamiliar material. It doesn't really help much with half of your question, but you're clever, I bet you can figure the rest out.