Raspberry Pi For Dummies
I've never been the biggest fan of programming books, or educational books in general for that matter. But I accept they have their place as an ambient, screen-free, easy to pick up and leaf through reference to various subjects of interest. I've enjoyed taking a break from my screen and leafing through Raspberry Pi For Dummies.
The Raspberry Pi seems a particularly awkward subject on which to author a book. It's part of an extremely rapidly changing community, which is outputting rapidly changing software and constantly endeavouring to make it easier for the beginner to get started and do beginnery things.
Many parts of this "For Dummies" book are clearly targeted at the beginner, and such beginnery things, and thus they suffer from the same problems any static media does; they don't update when the best way to do something changes or becomes easier.
This isn't necessarily a bad thing in the world of Pi, though, because making beginnery things easier is a sure-fire way to keep a beginner a beginner.
The initial chapters, following basic setup, are rife with exploration of the Linux operating system- basic stuff that every Pi user should know! From using GIMP to playing audio, to browsing the web; it's surprisingly comprehensive when it comes to real beginnery stuff that most of us SSH-using, programming-heavy users will never see, touch or care about.
There's also a crash course in HTML, a curious thing to find but not an entirely unwelcome tibit considering my own personal learning journey with the Pi has involved dabbling in a dozen languages. And I think everyone should get at least some exposure to HTML these days.
The book, unsurprisingly, explores using the GPIO header. It does this in a slightly over-ambitious way, however, and presents step-by-step instructions for building a physical marble-maze game with a software back-end which is actually a pretty cool project. It's a far cry from the make-an-LED-blink basics you might expect, and I doubt any reader would follow through with this particular project. It's inspirational, though, and demonstrates the sort of things you can do if you put your mind, and Pi, to it.
GPIO gets even more exciting with chapters covering building and interfacing with your own analogue IO board. The die-hard learner will find these extremely rewarding, but it's all too easy to simply pick an IO board for anything you might need from the numerous emerging sellers.
The GPIO access examples involve Python and RPi.GPIO. Having personally dropped the ball on language ports of WiringPi and watched it subsequently loose traction over far more frequently updated and better supported rivals I can't really complain. But it would be nice to have some explanation of RPi.GPIOs rivals, or even a nod to WiringPi. But there are none to be found! I'm a firm believer in Ruby on the Pi, and really enjoy hacking together basic hardware-to-website scripts; Raspberry Pi For Dummies doesn't really cover this. Nor does it cover WiringPi in any form, even its pure C form which is reasonably well documented and excellent for the slightly more advanced beginner and would-be C programmer.
While I'm not a fan of Python ( although I'm warming to it, as I develop WiringPi-Python and a myriad of other things in the language ), I was pleased to find some great little guides to Pygame nestled within Raspberry Pi For Dummies. There's also a chapter on Scratch with which I am not terribly familiar; suffice to say, there are things that even I can learn from this book!
Overall, the Raspberry Pi For Dummies book is an eclectic mix, just like anything Pi-related, of educational goodness which all but the most advanced of users will find something interesting within. Personally I've learned a handful of bits and bobs from it already, and am eager to let it guide me through some interesting things I might otherwise have passed up.
Yes, the chapters covering setup and general usage of the Pi Operating System will surely be redundant within a year, probably less, but there's plenty of enduring, insightful and useful content within Raspberry Pi For Dummies to make it worth picking up.
My only real complaint is the prevailence of Python. If there's any mention of other languages, it's sufficiently obscure as to be ineffective. It puts across the message that the Pi is a Python-only club, which couldn't be further from the truth!