The following books are available for borrowing from the Philly Chix Library. Reviewing of these books is strongly encouraged to support the publishers who gave these to us.
If you'd like to borrow one of these books, request a book from a publisher, submit a review, or add a book to the library please contact lyz at princessleia dot com.
Borrowing policy: When you borrow books from the library you agree to bring them back within 6 months so other group members can borrow them (extending this is no problem for most books, unless another member expressed an interest in borrowing)..
PHP 5: Power Programming By Andi Gutmans, Stig Saether Bakken, Derick Rethans
I first started using PHP with it was at version 3, used it through version 4 and just recently began using version 4, which is when I got this book, my first PHP reference book.
Although this book touches upon PHP basics, the explaination of methods used are not for programming beginners. A background in other programming languages if very helpful, I wouldn't recommend this book to beginners looking for a place to start.
For intermediate to advanced users, however, this book is a vital tool in secure PHP programming. Security is a serious issue with PHP, and the authors work to cover all known vulnerabilities. The section about image uploads using PHP was 5 pages long, simply to cover and provide solutions for several security problems the PHP programmer should be aware of. The section to "make scripts safe" was helpful in the same way, getting further into authenticating user input before accepting it.
I also have the sections about using PHP with XML and database interaction bookmarked, as they are both things I use PHP with. Chapter 9: Mainstreem Extensions was very good, talking about accessing files and streams, regular expressions, date handling and graphics manipulation.
A very good book for PHP developers looking for secuire development solutions. Bravo!
Unix Shells By Example, by Ellie Quigley
If want to learn about shells and you learn by example, like I do, this book is essential.
The first 6 chapters (nearly 200 pages) goes over the basics of all shells; what they are, what they do, what programs are most used to manipulate data in them. There are whole chapters devoted to grep, sed and awk, and the author doesn't skimp on details. You will be a virtual grep/sed/awk guru by the time you learn everything in these chapters.
Chapters 7-15 introduce and get you into scripting of each major shell: Bourne shell, C and TC Shells, Korn shell, and Bash (bash is the standard shell in most linux distributions). It then spends a chapter on general debugging shell scripting problems.
The last chapters touch upon system administrating via the shell (rather than using gui tools). Again taught by example so it's very clear to the reader.
I learned more about bash (my shell of choice) from this guide than any other that I've read, and not for lack of trying, I've read several bash guides. I was happy to see that examples given were explained line-by-line so you don't lose track of what is happening in each example. I was delighted by the useful appendices covering useful commands and giving side by side shell comparisons.
This is my favorite shell book to date.
The Art Of UNIX Programming By Eric S. Raymond
This is a really great book, 30 pages into it I had already begun raving about it to my peers. It takes the reader through years of Unix history, philosophy, application, and wisdom. It starts out slowly, explaining how an operating system can create and sustain any sort of culture. It admits the flaws in Unix and highlights it's strengths and successes. It then gets into the "Rules" of Unix Philosophy, which was something that was greatly beneficial to me in my coding life. It teaches the reader to make things modular and simple, not try to redo things that have been done before, not to be overly clever, etc.
Throughout this book the reader is given examples of some of the most basic things in the unix world, why text is so important, what "transparency" is when referring to coding, and it even includes a non-bias section reviewing some standard unix text editors. The book also gets into evaluating various languages in unix, including which is most appropriate for certain projects, which can be very helpful to someone looking to learn a programming language but who is unsure of which direction to take. A whole huge section of this book gets into the community of unix, standards, documentation, licensing, and the actual personal community.
The most thrilling part of this book for me was the History of Unix, hackers and the open source movement. As a history buff I always tend to be drawn to such things, and I believe he did a very good job and kept me enthralled. I also enjoyed Appendix D: Rootless Root: The Unix Koans of Master Foo, it was quite witty and amusing, as well as full of great lessons.
A wonderful computer book suitable for any sort of computer buff, even if they aren't currently working directly with Unix. It's easy to skip around this book by scanning the contents to just see what you're interested in, I really believe there is something for every computer enthusist, I am surprised a book like this hadn't been written sooner.
Open Source Licensing: Software Freedom and Intellectual Property Law, By Lawrence E. Rosen
First of all, I'm not a lawyer, and my open source licensing is not something I'm intimately versed in, so with this review I take for granted that the information in this book is correct. As the book has been used in a reference in other books, and the author is well known, I don't think this is a bad assumption.
When I recieved this book I was excited, finally I could read a book which would help my brain really understand all the licenses! I sat down to read it, and was impressed with how the author took the popular licenses and broke them down into more easily understandable. I mean, they *are* fairly straight forward, but the author gets into what they actually mean in legal terms, and that's interesting.
Unfortunately it turns out that reading about specifics of Open Source law is not terribly interesting to me (I guess I'll never be a lawer) After the few introduction chapters I had to stop reading straight through it and skip around and skim the parts that interested me.
In my case this is not such a good book for snuggling up with in front of the fire (some computer books are), but it is a fabulous reference book, written for us mere mortals.
Open Source Network Administration By James M. Kretchmar
I am not a Network Administrator, and I took an interest in this book simply to learn the basic tools used to build and maintain an open source network. In my position there were a number of chapters that particularly stood out for me
Chapter 1: Introduction. I felt this was a very well-written and easy to understand introduction to the world of Open Source network administration. It goes through the basic reasons to use Open Source, answers many of the question that many people only familiar with closed-source software may have, including questions of quality and security, as well as smart reasons to use open source software.
Chapter 9: Basic Tools. Need to know what a ping is, how it works, and why it's important? This book takes he time and effort to carefully explain how basic things such as ping. It explores telnet, netcat, traceroute, MTR, and netstat. It's a great chapter for reviewing these basics and exploring what you require.
Chapter 10: Custom Tools. This chapter gets into explaining the basics of bash scripting, bash itself, basic Perl scripts and what they are commonly used for, and how to use cron. Again, these are basics, but vital to anyone looking for basic knowledge of the environment.
The chapters in between cover subjects suh as SNMP, MRTG, Oak, and Tcpdump, all great tooks in network administration. The author gives detailed explainations of all these tools, how to use them, how to set them up, and offers tests and examples of them in action.
I would recommend these to anyone who is new to putting together an open source network. The instructions and descriptions of all the tools are at a level that I feel most moderately computer-literate people can follow
Succeeding with Open Source, by Bernard Golden
I'd heard people talk about "maturity" of Open Source projects, but I was completely unaware that someone had written a formal method of assigning this maturity (OSMM, Open Source Maturity Model) until I picked up this book. Turns out that this is THE book written for this model.
The author aims this book at the company or technical administrator who wants to be able to evaluate the Open Source software that's out there, and compare it to the commercial options. The first 60 pages or so pages go through the typical "who, what, when, where, why, how?" questions involving open source. It dispells many myths about open source software. Then it goes through implementing the OSMM on a real project (they used JBoss as their example), and through this evaluation the reader was shown steps taken in each segment of the evaluation process, a very good way of teaching to people like myself who learn by example!
There were two things about this book that made it especially appealing to me:
1. Real world examples of open source being used in successful companies. I believe the blurbs about real world successes are hugely important, and it was interesting for me to read, since I never really looked into companies who had made the leap to open source.
2. Notes. Beside many of the paragraphs there would be a short note about what the paragraph is about. So say you don't have time to read the whole chapter, but you want to get the jist of it, you can just quickly read down the page's notes, if something particularly interests you, you can read that whole paragraph. In a book such as this, I think this option for reading the book is a great asset.
The book is only a little over 200 pages, but it's quite thorough. I'd definately recommend it to people thinking of taking their company down the open source track.