| |
| |
Foreword | |
| |
| |
Acknowledgments | |
| |
| |
Preface | |
| |
| |
Who will benefit from this book | |
| |
| |
Chapter overviews | |
| |
| |
Introduction to The Unix Philosophy | |
| |
| |
| |
The Unix Philosophy: A Cast of Thousands | |
| |
| |
| |
The Not invented here syndrome | |
| |
| |
| |
Developing Unix | |
| |
| |
| |
Linux: A cast of one plus one million | |
| |
| |
| |
The Unix philosophy in a nutshell | |
| |
| |
| |
One Small Step for Humankind | |
| |
| |
| |
Tenet 1: Small is beautiful | |
| |
| |
| |
Software engineering made easy | |
| |
| |
| |
Looking at a bug | |
| |
| |
| |
Tenet 2: Make each program do one thing well | |
| |
| |
| |
Rapid Prototyping for Fun and Profit | |
| |
| |
| |
Knowledge and the learning curve | |
| |
| |
| |
Tenet 3: Build a prototype as soon as possible | |
| |
| |
| |
The Three Systems of Man | |
| |
| |
| |
The First System of man | |
| |
| |
| |
The Second System of man | |
| |
| |
| |
The Third System of man | |
| |
| |
| |
Linux is both a Third System and a Second System | |
| |
| |
| |
Building the Third System | |
| |
| |
| |
The Portability Priority | |
| |
| |
| |
Tenet 4: Choose portability over efficiency | |
| |
| |
| |
Tenet 5: Store data in flat text files | |
| |
| |
| |
Now That's Leverage! | |
| |
| |
| |
Tenet 6: Use software leverage to your advantage | |
| |
| |
| |
Tenet 7: Use shell scripts to increase leverage and portability | |
| |
| |
| |
The Perils of Interactive Programs | |
| |
| |
| |
Tenet 8: Avoid captive user interfaces | |
| |
| |
| |
Tenet 9: Make every program a filter | |
| |
| |
| |
The Linux environment: Using programs as filters | |
| |
| |
| |
More Unix Philosophy: Ten Lesser Tenets | |
| |
| |
| |
Allow the user to tailor the environment | |
| |
| |
| |
Make operating system kernels small and lightweight | |
| |
| |
| |
Use lowercase and keep it short | |
| |
| |
| |
Save trees | |
| |
| |
| |
Silence is golden | |
| |
| |
| |
Think parallel | |
| |
| |
| |
The sum of the parts is greater than the whole | |
| |
| |
| |
Look for the 90-percent solution | |
| |
| |
| |
Worse is better | |
| |
| |
| |
Think hierarchically | |
| |
| |
| |
Making Unix Do One Thing Well | |
| |
| |
| |
The Unix philosophy: Putting it all together | |
| |
| |
| |
Unix and Other Operating System Philosophies | |
| |
| |
| |
The Atari Home Computer: Human engineering as art | |
| |
| |
| |
MS-DOS: Over seventy million users can't be wrong | |
| |
| |
| |
VMS: The antithesis of UNIX? | |
| |
| |
| |
Through the Glass Darkly: Linux vs. Windows | |
| |
| |
| |
It's the content, stupid! | |
| |
| |
| |
A Cathedral? How Bizarre! | |
| |
| |
| |
Brave New (Unix) World | |
| |
| |
Java | |
| |
| |
Object-Oriented Programming | |
| |
| |
Extreme Programming | |
| |
| |
Refactoring | |
| |
| |
The Apache Jakarta Project | |
| |
| |
The Internet | |
| |
| |
Wireless Communications | |
| |
| |
Web Services | |
| |
| |
Artificial Intelligence | |
| |
| |
About the Author | |
| |
| |
Index | |