Book reviews

"Make: Sensors" (Karvinen, Karvinen & Valtokari, 2014)

I got this book on a raffle, which is another way of saying I didn't really have very high expectations on it. It took me about a year and a half to actually look at it, but it's OK because I read and learnt about hardware hacking in the meantime enough to better appreciate this book for what it is.

Each chapter is focused on a different type of sensor, which is cool because you can use the book as a "coffee table book" (as the book itself suggests) to browse for inspiration to build new hardware projects. Evidently this also works on the other direction: if you're interested in a certain type of sensor you just go and check out that chapter.

There's a downside to this and it is that because there is not an explicit progression between chapters (i.e. chapter n doesn't necessarily build upon the concepts introduced in chapter n+1) the same common instructions are repeated over and over and over in each chapter. E.g. the need to include library XYZ and where to download it from server ABC. It is mildly annoying at the beginning but ends up feeling irritating at the end and makes you wonder if this was a trick by the authors to inflate the book word count. Hmm!

Another cringe-worthy issue I found was the bad "usability" of the instructions. There doesn't seem to be a clear audience for this book: either it assumes users are quite aware of what they're doing, or they condescendingly explain, again over and over, that the '$' at the beginning of the commands is just to denote that those are commands that need to be typed in in the command line, but the '$' should not be typed in. A voice in my head was yelling back at them: "then, do not add the $!". It is sufficient with saying "copy this in" and using a different formatting so it's clear what has to be typed in.

And another issue I found, again related with the uncertainty regarding their audience, is lack of examples of the expected output. Normally when you write technical documentation regarding inputs and outputs, you show the inputs and also the expected output, so someone reading the documentation can compare with their own results. That is mostly lacking here, and it's even worse when the output is some sort of system command which might vary between versions, but if they had taken care to show some example output and explain which column or data is important, the person who's using the book will have it easier to deduct even if the format is slightly different.

It makes me think that no one actually tested the chapters.

I haven't found misspellings or errata, so I'll conclude that their editor only focused on the grammar, but not on the contents. Sigh.

Would I recommend the book? Perhaps, if you're willing to put up with these annoyances. It's certainly not for a novice. I would guess there's plenty of similar tutorials up there on the internet too.