3.5
informative slow-paced

Pretty good, kinda meandering in the last chapter. The author also has some bad takes on CDA 230 in chapter 5 but still a decent read.