Python for Unix and Linux System Administration
Not only does this programming language have a really cool name, but it actually is extremely useful, easy to learn, and easy to adapt to a wide variety of purposes. When I learned that O'Reilly was publishing this particular text, I was very interested to see how it would be organized and presented. It could certainly make life easier for the *nix admins in the world looking for Python tools to help them perform server management. But maybe I was making a set of incorrect assumptions about the Gift and Jones book. Who is it written for? As I started to read it, I began to wonder.
On the basis of the title, I imagined it was written for "Unix and Linux System" administrators. Because it's not a "Let's Learn Python" book, I figured that whoever would pick this one up at the local bookstore would probably be expected to know the basics of the language and be looking for specifics on Python tailored to Linux system admin needs. The little "blurb" along the top of the front cover says, "Efficient Problem-Solving with Python," so I concluded that this book wouldn't hold the reader's hand and guide them through "Python 101."
My assumptions were somewhat in error. At least the first few chapters of the book take the reader through some pretty basic information on Python, so this book is written for Linux admins who don't know much of anything about Python but who want to learn because of what they've heard about Python's benefits. Chapter 1 in fact, is devoted to describing the benefits of Python, particularly for the reader whose current experience is largely in the areas of bash scripting and Perl. Unfortunately, the book seems to spend a little too much time priming the reader in basic Python and the IPython interactive shell.
One of the qualities I like about O'Reilly books is that they are written for the technical person. This occasionally works against the reader if they've picked up a "Learning" book and have absolutely no experience in the technology topic the book presents, but by and large, the target audience of any particular O'Reilly book is usually well served. That's what confused me a bit about this book. If you look at the general organization and topics presented, it seems like it should just nail down the various tasks and activities a Linux admin would want and need to perform with Python. Sadly the writing itself at least sometimes provides roadblocks to understanding by being tangential or unfocused. Don't get me wrong; I think a book that presents information in a conversational style can be very beneficial to learning, but if the "conversation" doesn't serve the subject, the reader can get lost.
I revisited O'Reilly's Python Cookbook, 2nd Edition (2005) by Martelli, Ravenscroft, and Ascher, and although it's not focused on server administration tasks, it seems generally the sort of book Gift and Jones probably intended this text to be: a "cookbook," but for system admins, not for programmers. The best I can say about the Python for Unix and Linux System Administration book is that it is well intentioned but ultimately uneven and lacking depth. It's less of a "cookbook" and more of a casual tour ("casual" relative to an experienced system admin, that is). I can't help but think that the people who most would look forward to this book will be disappointed at its execution.
The basic premise of the book is sound and certainly has an audience, and I'd encourage the authors and O'Reilly to take the feedback about this first effort and use it to refine their thinking and presentation of this topic. A quick look at the bios of Gift and Jones tells me that they've got the qualifications to know this subject matter well. In fact, they represent the target audience for this book very well. If they are first time writers (I don't know this for a fact, but I can't immediately find any other publications they've authored via an online search), it could be that something of a disconnect occurred between the conceptualization of their book and its production.
I'd really like to see their effort revised so that the intended reader could be instructed on harnessing Python for system administration. Efficient problem solving with Python? Not yet. Maybe next time.
Noah Gift and Jeremy M. Jones
Paperback, 456 pages
O'Reilly Media Inc., 2008
UK£ 31.79, US$ 49.99, EUR 39.91
Learning the vi and Vim Editors, Seventh Edition
The cover of this new edition says "7 New Chapters on Vim." Digging in the front matter for a few seconds revealed that all of "Part II, Vim" has been added to this book, so the changes to the book overall will be anything but minor.
How you read this book depends on what you want to learn and your experience level. If you are new to vi/Vim/vi clones, I'd recommend a cover-to-cover read. If you are an old vi hand and just want to see what's in the latest edition, you can either head directly for the new Vim section or review the changes made in the nvi, Elvis, and vile clones, as well as the appendix content on ex and vi (the other big changes in the book).
To be more specific, the first two chapters are a must for the newcomer, in that they cover the basic background and simple editing commands in vi. Chapters 3 and 4 build on what you learned in Chapters 1 and 2, showing you how to accomplish many of the same tasks in a more efficient manner, then introducing new and more "advanced" editing techniques. Chapters 5 through 7 cover advanced vi editing. Chapter 8 is basically the vi clone intro chapter and sets the stage for the Vim section that immediately follows, as well as Part III.
The first Vim chapter is the history and introduction of Vim, followed by a chapter comparing vi and Vim features. The other five chapters in this part of the book drill down into the use of Vim's multiple windows capacities, working with Vim scripting, Vim's GUI (gvim), and programming with Vim.
The world of Vim is also available on Windows and Mac platforms for readers who aren't very *nix fluent or who otherwise prefer those operating systems.
Part III rounds out the book by presenting the other popular vi clones, including the aforementioned nvi, Elvis, and vile ("vi Like Emacs").
The traditional vi editor plus the clones of Part III might seem "old fashioned" compared with the 21st century tailored Vim, but each has its place, so either learn the entire package of tools or focus only on what interests you the most.
Arnold Robbins, Elbert Hannah, and Linda Lamb
Paperback, 492 pages
O'Reilly Media Inc., 2008
UK£ 25.89, US$ 34.99, EUR 32.34