Book Reviews

Please Note: Each review is done on a strictly volunteer basis and represents the opinion of the individual reviewer, not CSH as a whole.

Learn C on the Mac

c_on_the_mac.gif
Reviewer: 
Emily Egeland
ISBN: 
9781430218098

I read this book with previous programming experience, mostly in Java, and wanted to learn C, with some expectations of learning how to work with Xcode (tools to develop software on the Mac). The first half of the book, I was extremely bored. It went through the basics of programming; What is an integer? What is a character? What is a function? It even went into things like: What is Wikipedia? as well as What is an Operating System? I felt this entire first half had gone extremely slow, and had low expectations for the rest of the book.

As I slowly moved on, it became faster-paced. I had little experience with pointers before this book, and he seemed to do a fairly decent job explaining them. He also explained how to create data structures in C, and in the last chapter, "Advanced Topics", which were mentioned throughout the book, but he would continue to say "We will get to this in chapter 11, just wait", which was another thing that continued to annoy me through out the book.

As for trying to learn Xcode from it, it did give some examples of how to use Xcode, as well as how to use the Terminal application also found on the Mac. This book could be used for any platform, really, not just the Mac.

From this book, I feel I gained a decent, basic knowledge of C. I have been able to use C for random tiny projects now to continue my learning. I suggest though, if you are trying to learn C, and have learned a language before hand, this book is probably not the best book for you to try. But if you are learning C as your first language, this book would be a great place to start!

Xen Virtualization

xen_virtualization.jpg
Reviewer: 
Zachary Vida
ISBN: 
9781847192486

First off, as this is the first book we have reviewed from Packt, I would like to say I was very impressed by the company. Based out of the United Kingdom, Packt specializes on publishing solution-based books; their slogan of "Community Experience Distilled" perfectly describes them. Not only are the books a great technical resource, they also give back to the community: every time a book is sold, a royalty is paid to the relevant open source project. See http://www.packtpub.com/ for more books.

What comes around goes around, and as it was in the past with gigantic time share mainframes, virtualization is back and better then ever before. With products like VMware, Virtualbox, and Parallels, available to desktop users for cheap or free. Virtualization is the new technological solution to today's economic and climate crisis. It can save the planet and reduce costs on hardware, cooling, and power.

The book was a breezy 148 pages, but don't let that low page count scare you away. Aimed at experienced command-line users, it goes step by step covering exactly what you need to configure and build in order to have a properly configured setup, with command highlighting and screenshots. But most importantly, it gives you a summary of what you just configured in order to make sure you understand each step. This is a great book for anyone interested in learning or implementing production level Xen, who already has experience with kernel configuration and building software from source. I highly recommend the book and the publisher.

My only qualm with the book was the price. While Computer Science House gets the books for free to review, something about paying $36 for a paperback this small feels wrong. The publisher does offer PDF e-Book versions for $22, which can then be printed out for easier reading/reference. That seems very fair and reasonable considering the other ridiculous DRM restrictions on today's e-books.

Practical Web 2.0 Applications with PHP

practical_web20_php.gif
Reviewer: 
Sean McGary
ISBN: 
9781590599068

When it comes to learning a new technical skill or programming
language, Apress has always provided me with excellent resources that go in-depth and fully explain the language inside and out. "Practical Web 2.0 Applications with PHP" is no different. It covers everything from planning and design to walking you through constructing a simple blog system using the popular PHP Zend Framework as well as a smattering of Web 2.0 concepts, ideologies and design patterns thrown in between.

When I set out to read this book, I was not looking to learn much in terms of PHP, but was looking for some new web design practices that have come about with the dawn of Web 2.0, and I must say that I was not disappointed. I would highly recommend this book to anyone looking to further their knowledge of Web 2.0 designs and practices. But beware, the book does assume that you have knowledge of PHP and dives straight into the Zend Framework to illustrate the usefulness of dynamically generated web content.

iPhone SDK Development

iphone_sdk_development.gif
Reviewer: 
Andrew LeCain
ISBN: 
9781934356258

Unfortunately, "iPhone SDK Development" is just another dev book. It covers what it was designed to well, but if you're looking to do anything really creative with an iPhone, you may have to look a bit further. Considering the proximity to the release of the iPhone, the book is actually pretty decent. It covers all the basics of building a standard app starting with UI design and extending to the unique features of the iPhone, like rotation measurement and GPS interfacing. The trouble is, it's a lot of regurgitation. Rather than providing experienced examples and protips, it repeats Apple's SDK documentation more often than not.

This isn't to say that the book is entirely lacking. If you're trying to get an app out the door, then this book is what you're looking for. It's a solid reference for the SDK without having to navigate through Apple's often convoluted documentation. Chapters are organized in a task oriented manner, much in parallel with the actual development process. This all helps you get your application out the door that
much faster.

Overall, the book gets what it's supposed to done, and doesn't pretend to be anything it's not. It does a good job of explaining the SDK, but doesn't really go above and beyond that. It's a decent book for getting things out the door, but if your plan is to make the next killer app, don't expect a step by step guide.

Mastering Regular Expressions

mastering_regular_expressions.gif
Reviewer: 
Bob Schriver
ISBN: 
9780596528126

As with any review of a technical book, an understanding of the reviewer's previous experience with the topic is necessary. I had understanding of regular expressions on a basic level; I knew that .* matched everything, and a few other simple expressions. This book by O'Reilly starts on this basic level, and quickly advances towards more complicated expressions. All along, it uses numerous examples to not only illustrate the usefulness of each different tool, but also the pitfalls that each tool presents. Mastering Regular Expressions clears up common misconceptions and misguided thoughts with questions of ambiguous expressions, and in doing so allows you to craft regexes without running into constant roadblocks.

After going over the more semantic expressions, the book delves into a discussion of the underlying engines that drive regular expressions in a thorough and mostly clear way, which is an accomplishment considering the advanced language theory and esoteric formulas that are the basis behind regular expressions. While Friedl's explanations and examples are top notch, I believe that his strongest point is the pace at which he goes along. Whenever I was confused or questioning why something was a certain way, Friedl inevitably encouraged a reread of the previous section. He is distinctly aware of his readership and the subject he writes about, and is thus able to know exactly when the reader should go back over a section to make sure that they fully comprehend it. Freidl shows a clear mastery of regular expressions himself, and is able to highlight pros and cons of various methods and engines, what works and what does not. This thorough understanding of the subject combined with ability to succinctly and clearly teach it makes this book a must read for anyone interested in using regular expressions in any capacity.