This book has some great explanations but the code needs to be checked. I've been able to debug the code myself but I should not have to e.g. chpt 3 pg 188 has this function to calculate the distance between 2 points:
Return CSng(Sqrt((x - mX)^ 2 ^ (y - mY) ? 2))
This is just wrong (and does not compile) and is easily picked up with careful editing. There are numerous other examples that detract from the value of the book.