Hyper-Ad Computer Book Recommendations  ·  If the link is blue, then I've put the book recommendations in.  If not, then they will be up soon...

· Oracle  ·  General UNIX  ·   Linux  ·  AIX  ·  HP-UX  ·  Solaris  ·   Unix System Administration  ·  Unix Networking  ·  Security   ·  Programming  ·

Oracle Books

General notes - there is no such thing as a single "good Oracle book".  All of them have their good and bad points.  The hardest thing about learning Oracle is the incredible vastness of the database system - it takes several years of working with the DB every day to become conversant with the commonly understood terminology.  I've listed the trio of (useful) books I've read so far here.   They should be used along with the online documentation (which you can buy in book form for many $$), coursework if you have the time, and lots of patience.  I recommend taking careful, detailed notes, and organizing those notes in a binder.  You'd be surprised how much that can help you learn!  For more advice about the most economical way to learn Oracle, see Information Central.

cover Oracle8i DBA Handbook

I'm not always happy with books written for software companies, but this one does contain discussions of issues that experienced Oracle DBA's deal with: design of databases, general "how to handle thisclass of problems" topics, performance.  Not for the beginner, this book is a must have for DBAs since Oracle (and people who hire DBAs) typically assumes familiarity with the issues discussed.   Covers some of the topics in the online Oracle documentation in much clearer English, including examples of actual implementations which are helpful.  You really need a (preferably UNIX) computer loaded with Oracle's sample database tables (the so-called "scott/tiger" demo) and loads of time to carefully go through this book.  Regrettably, even with the computer AND database, it's hard to simulate the high-volume environment most Oracle databases see. Thus it is difficult to appreciate a lot of the material presented here, unless you have seen it on the job, where your opportunities for experimetation are limited!

cover Special Edition Using Oracle8/8I

I'm using the previous Using Oracle 8 edition of this book, and I like it, because it explains the various pieces of the vast Oracle system pretty well.   Like a lot of Oracle books (probably all of them), just reading this book won't help you understand Oracle - you have to use it as a reference when something comes up during the work day that you don't understand.   It's good for looking up a particular topic and getting a better understanding of that topic.  One thing I particularly like is the explanation (complete with all useful commands) of the data dictionary - a fundamental element of Oracle and one that is devilishly hard to understand without a lot of experimentation.  This book is very, very well organized, easy enough to read, has a quick reference in the front, a quick table of contents, a detailed table of contents, a glossary, and a good index.  There are lots of side notes in the margins of the pages which discuss details or side issues without interrupting the flow of the main discussion.

cover Oracle8 How-To : The Definitive Oracle8...

This book is utterly different from any other Oracle Book - it's really a set of examples of fairly complex operations, with a URL reference to code you can download from the Internet.  The examples are organized into chapters such as "Installation", "SQL*PLUS", "Database Users", each with very well-documented methods of handling common problems.  Where the above Oracle8i DBA Handbook is more of a strategy textbook, this book is much more specific, and really covers tactics.  An excellent addition to the minimum necessary tools needed to learn Oracle well enough to pass those stupid exams.  Going through this book, perhaps twice or three times, and actually applying the examples to real-life problems, helps enormously toward getting a grip on the vastness of Oracle.

back to top

General UNIX Books

cover UNIX Power Tools

Without any doubt, the single best UNIX book ever written.   A giant collection of short articles, all useful to practicing Unix folk of all stripes, by the original gurus at O'Reilly books (including O'Reilly himself in many cases).  Includes a CDROM with the source code for most of the interesting programs discussed.  I should point out that this book is really a collection of techniques, rather than a standard reference.  I wouldn't use it to look up a vi command (see next entry), but I have used it to find power vi techniques I need to make some big job easy. This is an excellent, excellent book - if you don't have it and you are going to spend a lot of time around UNIX - particularly multiple flavors of UNIX, you should buy it now.  You'll be glad you did.

cover Unix in a Nutshell: A Desktop Quick...

If Linux is going to be your main UNIX box, see the Linux in a Nutshell entry below.   This is a fast desktop reference to SVR4 (System Five Revision Four) style UNIX (Solaris, AIX, HP-UX).  I have the Linux version, which along with online man pages is usually enough to get by (I also use tons of my own hand-written notes, and I print out often-used man pages and scribble examples all over them).  This is when you need to lookup a command quickly and don't want to burn out your eyes or brain trying to decipher the man pages (Solaris man pages are especially dense - almost reads like another language, very hard to get help unless you are an expert already).

cover Essential System Administration : Help...

I have two copies of this book, one for my office at work and one for home. There are several reasons I really like it.  First, there is a quick but reasonably comprehensive history of UNIX, enough to show how the dizzying array of UNIX flavors came about.  From this, the author concludes that there are two basic ways to think about UNIX: System V and BSD.  She lists the current (as of 1995) list of UNIX flavors, and rates them as to where they lie on the BSD vs System V spectrum.  This is really useful - it makes everything inside UNIX fit into one of two boxes, a useful oversimplification.  There are chapters which describe the details of files, permissions, processes, filesystem layout, a detailed descrition of the boot process and exactly what happens and in what order (the author should get a medal for that particular part of the book), shutdown, users and accounts, system resources that are likely to be in short supply at one time or another (like disk space, CPU cycles), performance, automation, scripts, security, backup and restore, and other advanced topics.  This is a good book for a working professional, since it explains the same operation, say adding a new hard disk, in each OS (Solaris, AIX, HP-UX, Linux), showing how each is different and what elements are the same.  I'd say this book is NOT for either hobbyists nor beginners, but can be a good learning tool after something like Running Linux (below) has been thoroughly digested.

 cover The UNIX and X Command Compendium: A...

Out of Print. This is such a good book - basically an alphabetical dictionary of UNIX commands... 600 pages worth.  Really classifies as an example book, but there is something so useful about being able to browse through all the weird ways you can use "grep".  Anyway, Amazon is willing to search their used book sources for you, beats the hell out of wasting time visiting the local used book stores ever few days out of fear you might miss a bargain on a book you don't even need!  This is a pretty good book for beginners, they can try out the commands on a Linux box (if you break it, at worst you just have to re-install it) and really get a feel for some of the more common UNIX commands and what they can do and how they fit together (many of the examples show the use of pipes).

back to top

Linux Books

cover Linux in a Nutshell, 2nd Edition...

This is the reference book I keep right by my computer every day. This book is superbly organized, as brief as possible, and extremely useful as a reference.  Covers user commands, bash, csh and tcsh, regular expressions, Emacs, vi, ex, sed, gawk (Gnu awk), programming commands (as opposed to languages), system and network administration and commands.  So well done it can usually be used as a reference for the other kinds of UNIX as well...

cover Running Linux

THE SINGLE BEST LINUX (OR UNIX) BOOK FOR BEGINNERS!  The reason I love Linux so much is that it is so accessible; a kid (or an adult for that matter - hint, hint) with about $300 can buy a cheap computer and monitor and ONE BOOK (this one) and build a career that will feed him and his family for life.  Once done exploring everything in this book, the reader is ready to try getting a job as a computer operator or tester - just ask for a job - if you can sit at a UNIX terminal and find your way around the OS, they'll hire you (unless you are dead).  Nearly every chapter in this well-written book is crucial to understanding the way UNIX people think and work

Not Yet in Print but buy it when it is: Linux Bible Year 2000 version. Yggdrasil's giant reference work, a print version of the how-to's from the Linux Documentation Project.  My copy was used when I got it, and that was four years ago.  It is still one of the most comprehensive, detailed, thorough, USEFUL books I have.  The index is fantastic - I have a problem, look in the index, find a keyword, solve my problem.  Amazing!  If you need the gory internal details of exactly how to talk to your modem in its own language, or how to add kernel support for some weird device that only you and five other people in the world care about, this is the place to find it.

back to top

Programming Books  Regrettably, most programming books suck - they try to be all things to all people and fail.  Here's a few books that do not suck.

cover Practical C Programming (Nutshell...

This is a pretty good little programming book. Its main advantages are that it is very readable, has lots of examples and a good glossary in the back. Its main disadvantage is that it doesn't have enough problems for the reader to work out - there are usually about a half-dozen problems at the end of each chapter, where I would have been happier with 60 or 70. Oh, well, there are other books that have lots of problems, but there aren't too many readable C books.

cover Practical C++ Programming (Nutshell...

Same author as previous book.  I have the same general comments for this book.  It's readable, has lots of examples, well thought out book.   The difference between C and C++ is that C++ is the object-oriented (ABSTRACT) version of C, and a much more careful presentation of the language is required.  I'd say this book does the basics well, prepares the student for more difficult professional-level programming problem solving books.

cover A Book on C : Programming in C

This is a much more serious book on C programming.  Although it starts out at a pretty low level like the book above, it reaches deeper, talks about programming details that Practical C Programming avoids.  The writing is adequate to understand what's being said - I would consider this an advanced book on C.   What I like best about it, besides the very in-depth discussions about the arcane stuff real programmers use all the time (take a look at the Linux kernel source code sometime), is that this book is loaded with good problems to work.  That makes it worth the price of the book - working all the problems in this book will make you a strong programmer.

cover Java in a Nutshell : A Desktop Quick...

Plenty of examples, shows pretty clearly why and how JAVA differs from C.  To make a long story short, you need JAVA to do the windowing and graphics parts of programs, where the java.awt (ABSTRACT WINDOWING TOOLKIT) takes care of the gory details of windows regardless of platform.  That way, code written for Windows will work on UNIX, with a recompiling on the new platform the only chore needed.  For procedural (line command) programming, there is no advantage to using JAVA (in fact it is slow and should be avoided).

cover Java Examples in a Nutshell

A companion to the above book, this is the real tutorial, while the previous book is more of a reference book.  Follow this book, work all the problems (there are not enough of them, in my opinion, so look for more in other books), and use the other book as a reference and source of additional examples.  Except for learning purposes, you should write all your purely procedural stuff in C or C++, and just use JAVA for the truly non-platform independent part of programming (windows and graphics).

back to top

- More to Come - Last Updated: 07/14/03 -