I really like Alan Watt's
book as a general introduction to the topic, anyway there's a huge error on page 7 (3rd edition) , where the basics of Matrix operations are described. Rotation around an arbitrary point in 2D space is done by translating to the origin (T1) , rotating (R) , then translating back (T2) . Since Watts' book uses column vectors (like GL, as opposed to row vectors / DirectX) thats basically
T2 R T1 x for a given vector x. Well, Alan Watts' book shows
T1 R T2 x
Still a good book.