A friend of mine has been writing an article that explains the GJK (GIlbert-Johnson-Keerthi) algorithm for collision testing. His goal is to write something that comes at it from a geometric approach in the hopes to make it more understandable as he finds that many of the other explanations are far too convoluted to follow. If you are interested in collision detection and how to test it easily you should check it out. He would love to get some feedback on whether what he wrote is easy to understand and how things could be clarified.
You can find it here: http://phill.vec3.net/gjk