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.

Filter by publisher

Mastering Regular Expressions

mastering_regular_expressions.gif
Reviewer: 
Bob Schriver

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.

Real World Haskell

real_world_haskell.gif
Reviewer: 
Michael Dumont

I picked up Real World Haskell for the purpose of learning functional programming. I have had experience with Lisp before but was never able to get particularly far off the ground with it. I decided I wanted to revisit this area of computing and since I had played around with a bit of Haskell already and had some friends who recommended it I chose this language as my foundation.

This book is definitely not a book for beginners. It jumps right into the "why" of using Haskell and glosses over a lot of the "how" to do things. The book is exceptionally good at its goal, though, and I found it very useful to further my understanding of Haskell. I would definitely recommend having experience with functional programming before reading, and it's even better to have some introductory knowledge of the Haskell syntax when jumping into this book. It was also very handy to have syntax and function cheat sheets next to me for things I hadn't learned yet.

I would recommend this book to anyone serious about learning Haskell or becoming better at functional programming. The authors do an excellent job of conveying why Haskell does things in certain ways, which leads to a better understanding of the language.

Learning the vi and Vim Editors

learning_vi_and_vim.gif
Reviewer: 
Michael Dumont

I found the book "Learning the vi and Vim Editors" to be a very thorough book in covering the foundations of these complex tools. Already being a pretty avid Vim user, I picked up this book as a reference to fill in any holes in my knowledge and to brush up on various configuration options for improving my Vim environment. I found the book to be exceptionally useful in terms of helping me configure my environment. I learned many different options from it that I wouldn't have known existed and it helped me improve my environment in ways I wouldn't have first thought of. The book itself did not help fill in many holes in my knowledge, though, because it tends to be primarily a book aimed at introducing the user to these editors. I think the issue that is the primary cause of this is that these two editors have enough features that it's difficult for anyone to know them all and to cover them effectively in one text while being aimed at beginners as well. I would definitely recommend this book to anyone just beginning to use vi or Vim and wanting to really hone their skills with these editors.

Pro C# 2008 and the .NET 3.5 Platform

pro_csharp_2008.gif
Reviewer: 
Karl Voelker

This was not the book for me, although I suspect it may be a fine book for some people. I was using this book as both a tutorial and a reference, and with plenty of existing knowledge about object-oriented programming and design. This book would be better for someone with only meager programming experience, as it went into great depth about basic topics which were not specific to C# or .NET. There is nothing wrong with writing a book for beginners, although I'm not sure why the title includes the word "Pro". The book is definitely not meant to be used as a reference. It has an index, but most of the terms I tried to look up were not listed, and many that were had incorrect or incomplete page numbers given. The writer's rhetorical style also leaves plenty to be desired: He frequently repeats himself and uses long turns of phrase that add no value to the text.

All that said, the book has some valuable aspects. Explanatory screenshots are plentiful, and most sections are summarized with helpful tables. The book is definitely complete and thorough, so if there's any topic you need to have explained, the book has you covered.

Network Warrior

network_warrior.gif
Reviewer: 
Chris Lockfort

This epically-titled O'Reilly book is a well-organized collection of network configuration tips, stories, and common "gotchas", as told by a self-admitted grouchy old network admin to younger, wet-behind-the-ears network administrators.

The author, in a move uncommon to most networking manuals, just cuts to the chase and says what needs to be said. Everything is told from a Cisco perspective, with Cisco terminology, and the only hint of variation allowed for is the occasional explanation when something is radically (or subtly, in some way that would ruin everything when you least expect it) different between CatOS and IOS. This is undeniably a good thing; it keeps the book short, and realistically, Cisco is one
of the forefront leaders in the enterprise network market.

A wide range of topics are talked about – possible problems that you could run into with auto-negotiation on your fast-ethernet network, how to configure spanning tree or etherchannel, getting QoS to work properly, and a whole host of topics one should know when creating one's own medium-to-large sized network. Even for those that already know how to implement these features, the author explains exactly when someone would want to use these features and how they evolved, and how they ought to be properly used.

I would recommend this book to anyone interested in enterprise
networking – ranging from the relatively professionally uninitiated like myself (I only do networking administration for Computer Science House at the Rochester Institute of Technology) to those who are just transitioning from networking classes to actual jobs, who will benefit perhaps the most from the book's tips and tricks from a person in industry, or even the average middle-aged network administrator, who may find a large portion of the book a snooze, but likely still pick up a trick or two that was previously unknown.

Syndicate content