Book Reviews
Apache 2 Pocket Reference
Posted November 14th, 2010
Apache 2 Pocket Reference, by Andrew Ford, is the perfect companion for anyone who administers an Apache server for their own development and hobbies. I recommend it specifically for this use case as these are the sorts of users who will not necessarily be familiar with or remember every directive since they don't have to interact with their server on a daily basis, but still want to have that knowledge available at their fingertips when they need it.
The book, while short, covers a wide range of topics. Ford starts with an introduction to the Apache architecture, configuration files, and how to interact with the server on the command line. He then dives into a wide range of topics such as URL mapping, caching, SSL support, access controls and content handling, along with many others. The writing in this book is concise and gets straight to the point and is very similar to what you might expect from a man page.
I feel that this book is useful to Apache administrators of all levels, including people who are just starting out. Oftentimes you will have an idea for what you want to accomplish but not know what directive you need to use, and this book is organized in a way that makes it very easy to find the information you need.
Programming Collective Intelligence
Posted October 27th, 2010
Reviewer: Geoff Hotchkiss Programming Collective Intelligence by Toby Segaran is one really cool book. Segaran does an excellent job introducing artificial intelligence in the context of web development. His book is all about drawing conclusions from various data sets available on the Internet and displaying those conclusions in nice ways.
Segaran presents the information completely through practical examples such as building a link recommendation engine, optimizing flight schedules, matching people together, and classifying documents among others. Along with the examples, Segaran clearly explains the rationale behind the algorithms which greatly helps in understanding. All the code for these examples is also provided, albeit hard to read sometimes.
A working knowledge of Python is required in order to read this book, or at least a working knowledge of another programming language. Segaran introduces requisite mathematical knowledge as needed and only algebra is assumed. I would recommend this book for anyone interested in learning and experimenting with artificial intelligence. I found this to be an enjoyable read and found myself saying "that's really cool" numerous times.
Beginning Python Visualization
Posted October 27th, 2010
Reviewer: Geoff Hotchkiss Beginning Python Visualization by Shai Vaingast is for someone who needs a quick reference on how to visualize data using Python. In order to accomplish this, Vaingast gives countless examples ranging from plotting GPS data to basic numerical integration and Fourier expansion. There are many applications that Vaingast includes that I would not have thought of to visualize, and he provides some interesting problem solving techniques.
As data is necessary for visualization, Vaingast spends a few chapters dealing with reading data from files and the best ways to store data in files. He also has two chapters dedicated to setting up Python, useful tools to have available, and a brief tutorial in using the language for complete beginners. Although these chapters are good for beginners to the language, I was disappointed that they were included as they make up about half of the book. The second half introduces matplotlib, SciPy, and NumPy as tools for visualization. Vaingast expects that you are familiar with the necessary math needed for the particular example being presented.
If you are already comfortable with using matplotlib, this book is not for you as only basic 2D plotting is described. I would recommend this book to someone who has a needs a quick and fairly easy way to visualize data. This book could also be used for a beginner to Python although I would not recommend it as such. Beginning Python Visualization is not a book that is meant to be read from cover to cover. I found it to be more useful as a reference than as a textbook. As such, I enjoyed it and have had a lot of fun playing around with visualizing data that I am working on.
Linux Thin Client Networks Design and Deployment
Posted September 30th, 2010
Although this book is thin, it packs a punch when it comes to talking about clients. The book isn't so much of a cookbook, but a guide on all the considerations that a person should have if they hope to successfully deploy a thin client solution to a business. Sure it covers the technical aspects: How many clients can I support? What type of hardware and network should I have? But where this book really shines is the information regarding the so-called "soft skills" that Technologists often lack. Like developing a group of people you test new technologies with first, developing the support of the secretaries and people of power within a company that help make the transition to a new system smoother, and things users want to be able to change. Small things like choice of desktop wallpaper and icon arrangements really help the user accept the new system as their own if they can personalize it to their tastes and workflow. If you are deploying an open-source or off-the-shelf thin client solution for the first time and want a smooth transition, this book can definitely help. Another great Packt title!
Write Great Code, Volume 1
Posted September 6th, 2010
Reviewer: Geoff Hotchkiss Write Great Code Volume 1 by Randall Hyde is an excellent introduction into the world of machine organization intended for a somewhat experienced programmer. Hyde addresses issues associated with how data is represented by the machine, CPU and I/O device operation, and how the machine uses memory, among other topics. Because the book deals with low-level operations which are at times quite tedious and complex, this book is not for the faint of heart.
Each chapter begins with a brief description on why learning the following material will help you write "great" code. The topics are presented in broad terms and then narrowed down with specific examples given in various CPU architectures. Implementations are also given where applicable as well as explained. What is nice is that examples are not just given in one language. For example, C/C++, Pascal/Delphi, HLA, and BASIC are used throughout the book. Hyde also includes nice pictures where appropriate to help explain concepts and makes great use of them.
I would recommend Write Great Code to any programmer who is interested in learning how the machine works. This would be a great book for prospective computer engineers to look into and see if computer engineering suits them, as well as get a head start on the material. Not being a very low-level programmer or hardware person myself, I was surprised by how well the material was presented in an understandable form and I felt like I learned a lot.
|
|
|
|