Table of Contents| Foreword | xv |
| Preface | xix |
| Things Are Going to Get a Lot Worse Before Things Get Worse |
|
| xxi |
| xxiii |
| Contributions and Acknowledgment |
| xxix |
| Typographical Conventions |
| xxxii |
| The UNIX-HATERS Disclaimer |
| xxxiii |
| Anti-Foreword | xxxv |
| |
| Part 1: User Friendly? | 1 |
| 1 UNIX | 3 |
| The World s First Computer Virus |
|
| 4 |
| 9 |
| Standardizing Unconformity |
| 10 |
| 14 |
| 2 Welcome, New User! | 17 |
| Like Russian Roulette with Six Bullets Loaded |
|
| 18 |
| 19 |
| Consistently Inconsistent |
| 26 |
| 31 |
| Error Messages and Error Checking, NOT! |
| 31 |
| 37 |
| 3 Documentation? | 43 |
|
| 44 |
| This Is Internal Documentation? |
| 51 |
| For Programmers, Not Users |
| 54 |
| Unix Without Words: A Course Proposal |
| 56 |
| 4 Mail | 61 |
| Don't Talk to Me, I m Not a Typewriter! |
|
| Sendmail: The Vietnam of Berkeley Unix |
| 62 |
| Subject: Returned Mail: User Unknown |
| 67 |
| 74 |
| Apple Computer s Mail Disaster of 1991 |
| 85 |
| 5 Snoozenet | 93 |
|
| Netnews and Usenet: Anarchy Through Growth |
| 93 |
| 96 |
| 100 |
| This Information Highway Needs Information |
| 100 |
| rn, trn: You Get What You Pay for |
| 101 |
| 105 |
| Seven Stages of Snoozenet |
| 106 |
| 6 Terminal Insanity | 111 |
|
| 111 |
| 114 |
| 7 The X-Windows Disaster | 123 |
| How to Make a 50-MIPS Workstation Run Like a 4.77MHz IBM PC |
|
| X: The First Fully Modular Software Disaster |
| 124 |
| 127 |
| X Graphics: Square Peg in a Round Hole |
| 141 |
| X: On the Road to Nowhere |
| 142 |
| |
| Part 2: Programmer s System? | 145 |
| 8 csh, pipes, and find | 147 |
| Power Tools for Power Fools |
|
| 148 |
| 155 |
| 161 |
| 166 |
| 9 Programming | 173 |
| Hold Still, This Won't Hurt a Bit |
|
| The Wonderful Unix Programming Environment |
| 175 |
| Programming in Plato s Cave |
| 176 |
| "It Can't Be a Bug, My Makefile Depends on It!" |
| 186 |
| If You Can't Fix It, Restart It! |
| 198 |
| 10 C++ | 203 |
|
| The Assembly Language of Object-Oriented Programming |
| 204 |
| 208 |
| 211 |
| C++ Is to C as Lung Cancer Is to Lung |
| 214 |
| The Evolution of a Programmer |
| 215 |
| |
| Part 3: Sysadmin's Nightmare | 219 |
| 11 System Administration | 221 |
|
| Keeping Unix Running and Tuned |
| 223 |
| Disk Partitions and Backups |
| 227 |
| 235 |
| Maintaining Mail Services |
| 239 |
| 241 |
| 12 Security | 243 |
| Oh, I m Sorry, Sir, Go Ahead, I Didn t Realize You Were Root |
|
| The Oxymoronic World of Unix Security |
| 243 |
| 244 |
| 257 |
| 13 The File System | 261 |
| Sure It Corrupts Your Files, But Look How Fast It Is! |
|
| 262 |
| UFS: The Root of All Evil |
| 265 |
| 14 NFS | 283 |
|
| 284 |
| 287 |
| Not File System Specific? (Not Quite) |
| 292 |
| |
| Part 4: Et Cetera | 303 |
| A Epilogue | 305 |
| Enlightenment Through Unix |
|
| B Creators Admit C, Unix Were Hoax | 307 |
|
| C The Rise of Worse Is Better | 311 |
| D Bibliography | 317 |
| Just When You Thought You Were Out of the Woods... |
|
| Index | 319 |