2.10. Document Conventions

System manual pages are referenced in the format name(number), where number is the section number of the manual. The pointer value that means “does not point anywhere” is called NULL; C compilers will convert the integer 0 to the value NULL in most circumstances where a pointer is needed, but note that nothing in the C standard requires that NULL actually be implemented by a series of all-zero bits. C and C++ treat the character “\0” (ASCII 0) specially, and this value is referred to as NIL in this book (this is usually called “NUL”, but “NUL” and “NULL” sound identical). Function and method names always use the correct case, even if that means that some sentences must begin with a lower case letter. I use the term “Unix-like” to mean Unix, Linux, or other systems whose underlying models are very similar to Unix; I can’t say POSIX, because there are systems such as Windows 2000 that implement portions of POSIX yet have vastly different security models.

An attacker is called an “attacker”, “cracker”, or “adversary”, and not a “hacker”. Some journalists mistakenly use the word “hacker” instead of “attacker”; this book avoids this misuse, because many Linux and Unix developers refer to themselves as “hackers” in the traditional non-evil sense of the term. To many Linux and Unix developers, the term “hacker” continues to mean simply an expert or enthusiast, particularly regarding computers. It is true that some hackers commit malicious or intrusive actions, but many other hackers do not, and it’s unfair to claim that all hackers perform malicious activities. Many other glossaries and books note that not all hackers are attackers. For example, the Industry Advisory Council’s Information Assurance (IA) Special Interest Group (SIG)’s Information Assurance Glossary defines hacker as “A person who delights in having an intimate understanding of the internal workings of computers and computer networks. The term is misused in a negative context where ‘cracker’ should be used.” The Jargon File has a long and complicate definition for hacker, starting with “A person who enjoys exploring the details of programmable systems and how to stretch their capabilities, as opposed to most users, who prefer to learn only the minimum necessary.”; it notes although some people use the term to mean “A malicious meddler who tries to discover sensitive information by poking around”, it also states that this definition is deprecated and that the correct term for this sense is “cracker” instead.

This book uses the logical quotation system, not the misleading typesetters’ quotation system. This means that quoted information does not include any trailing punctuation if the punctuation is not part of the material being quoted. The typesetters’ quotation system causes extraneous characters to be placed inside the quotes; this has no affect in poetry but is a serious problem when accuracy is important. The typesetters’ quotation system often falsifies quotes (since it includes punctuation not in the quote) and can be disastrously erroneous in code or computer commands. The logical quotation system is widely used in a variety of publications, including The Jargon File, Wikipedia, and the Linguistic Society of America. This book uses standard American (not British) spelling.