Early parts were good, but some of the later material suffered from lack of editing and focus. It should be made explicit that the sample application stuff in the last few chapters is barely functional, but does make use of some of the concepts learned earlier in the book that are.