If you'd like to contribute a review of a Perl related book for inclusion on this page, please mail it to: email@example.com
These books are available to borrow from the Wellington Perl Mongers library. See below for a list of other books we have for review.
|Title:||Make Magazine (quarterly)|
|Pages:||192 (first issue)|
The kind folks at O'Reilly shipped us a few copies of the premier issue of Make magazine. With article titles like "Build Your Own Desktop Railgun", "Kite Aerial Photography" and "$14 Video Camera Stabilizer", there was huge demand from people wanting to get their hands on a copy.
This is a great little publication targetted at the hacker who wants to hack more than just software. Projects include mechanical, electrical and electronic components and in some cases hardware and software interfaces to a computer. Some of the articles are right down at the level of step-by-step assembly instructions. Others explain higher-level concepts and give ideas for how they might be applied in a personal project.
The magazine itself has a very cool form factor - a bit bigger than A5 and nearly 200 pages thick (very convenient for reading on the bus or train). The layout and design is bright and attractive with a remarkably small amount of advertising. It's a quarterly publication but the initial year's subscription includes a fifth issue.
I devoured the magazine from cover to cover. Although I haven't attempted to build any of the projects featured, I was intrigued by the curious mix of almost too much information in some cases (20 pages of minute details for the kite aerial photography camera cradle) versus barely enough in others (the magnetic stripe reader project tells you which pins to solder together, but doesn't actually include a proper circuit diagram). Overall though, I found it an engaging and stimulating read.
The big question of course is "Would I buy it"? Unfortunately, the answer is "probably not" at the price. The single issue cover price is $US15, although the subscription price is significantly less and there are discount codes available in the US. Unfortunately the international subscription price works out to around $NZ75 for one year which seems steep for a quarterly publication.
I really had high hopes for this book, unfortunately I was disappointed. Adobe's PDF format offers unrivaled document fidelity and I applaud Adobe's openness about the PDF spec. Having said that, I personally have no interest in Adobe's proprietary PDF production tools or third party point and click tools for manipulating individual PDF documents. If you are interested in those things you may get some value from this book. The question that I kept asking myself as I read many of the hacks in this book was "why would anyone want to do that?". One particularly odd inclusion was the 20 page chapter on self-publishing print books. It seemed to have no relevance beyond the unspoken assumption that you would deliver your book to the printer as a PDF file.
My main area of interest was programmatically generating PDF documents using free/open source tools, particularly alternatives to the Java-based FOP. This is not an area where "PDF Hacks" shines. The Perl PDF::API2 module gets a mere two page write-up, of which one full page covers installing the module on Windows using PPM and half a page is devoted to a screenshot of a 'Hello World' PDF in Acrobat Reader. My personal favourite, the PDF::Reuse module gets even less coverage, with a mere two-line reference.
The book has chapters on viewing PDFs and managing PDF collections; creating PDFs using GUI tools, print to file utilities and built-in MacOS features; manipulating PDFs manually (meta data, bookmarking, linking, etc); creating PDFs programmatically using Perl, PHP and Java; using forms embedded in PDFs; and scripting Acrobat.
A quick look at the Amazon reviews for this title suggests that everyone else loves it. So if your interests are broader than mine, you may find the book deserves more than my 2/5 rating.
|Authors:||Tara Calishan & Rael Dornfest|
With their "Hacks" series, O'Reilly are attempting reclaim the term "hacking" for the good guys. The series is all about getting stuff done, using readily available tools, often in fun and interesting ways. The books are intended to be browsed. Each 'hack' is typically only a few pages long, they're numbered for easy access and there are lot's of handy cross references to related hacks.
Google Hacks starts with a section on getting the most out of the Google web interface - using it from your browser. From simple stuff like getting more than 10 results per page through to in-depth coverage of Google's search syntax including some things you probably won't find documented anywhere else. Google's other search and directory services as well as third-party tools are covered in the early chapters too.
The middle section of the book covers interfacing with Google programmatically, and includes code examples written in Perl, PHP, Java, Python, C# and VB.NET. The Google API (which uses SOAP) is covered, as well as some scraping examples (accompanied by suitable warnings that non-API access violates the Google terms of service). What you can achieve with the Google API is really only limited by your imagination (and the API's 1000 queries per day limit), but there are dozens of examples to whet your appetite.
The final section covers Google from a webmaster's perspective - how to ensure that people can find your site via Google; how Google rank your pages; how to keep Google out of some parts of your site; and how to use Google's AdWords service.
If you have an interest in any one of these three sections then Google Hacks is almost certainly worth the price of admission. If more than one section is of interest then it's definitely good value. I'd rate it a 4 out of 5.
|Title:||Data Munging with Perl|
I'm giving this book a rating of 3 out of 5. Don't get me wrong, it's a good book - it's just not a great book. The author has a very readable style, the content is well edited and proofed and a fair range of topics are covered. The publishers have even managed to resist the temptation to include the CDROM of outdated software which seems to accompany most technical books these days
The biggest problem I see with the book is that it's not particularly well targetted. An experienced Perl programmer is not going to learn much at all from this book - none of the topics are covered in sufficient depth. Beginner-level programmers would benefit from the breadth of coverage but are likely to be put off by the author diving into nested data structures with no explanation of the concepts. (To be fair, there is actually a brief section explaining references but it is inexplicably buried in section 6 of appendix B, 4 pages from the end of the book!)
So what is this book about and which topics does it cover? The book presents techniques for 'munging' data - reading data in, processing it in some way (reformatting, summarising, translating) and writing out the results. These are precisely the types of problems Perl was designed to solve so the sample problems and suggested solutions tend to fit well.
Data formats covered include: text and binary data; variable and fixed width record formats; CSV and other delimited formats; databases with DBI; HTML and LWP; XML; unstructured data; and parsers for custom formats. Even MP3 files get a brief mention.
Data transformations covered include: filtering; single and multi-key sorting; pattern matching; regular expressions; text transformations; numerical formats; and date manipulation.
The book includes a surprisingly useful module reference appendix. Rather than simply include complete manual pages, the author has documented just those methods you're most likely to need for a select few modules you're most likely to use.
At 304 pages, this is by no means an intimidating volume. It certainly has a lot to offer less experienced Perl programmers - assuming they have first mastered references and nested data structures.
Reviewers are needed for the following books which have all been kindly supplied to us by the publishers:
|Perl Cookbook, 2nd Edition||Tom Christiansen & Nathan Torkington||O'Reilly|
|Programming the Perl DBI||Alligator Descartes & Tim Bunce||O'Reilly|
|Network Programming with Perl||Lincoln Stein||Addison-Wesley|