Proverbs, aphorisms, quotations (English) | by Linux fortune |
There has also been some work to allow the interesting use of macro names. For example, if you wanted all of your "creat()" calls to include read permissions for everyone, you could say #define creat(file, mode) creat(file, mode | 0444) I would recommend against this kind of thing in general, since it hides the changed semantics of "creat()" in a macro, potentially far away from its uses. To allow this use of macros, the preprocessor uses a process that is worth describing, if for no other reason than that we get to use one of the more amusing terms introduced into the C lexicon. While a macro is being expanded, it is temporarily undefined, and any recurrence of the macro name is "painted blue" -- I kid you not, this is the official terminology -- so that in future scans of the text the macro will not be expanded recursively. (I do not know why the color blue was chosen; I'm sure it was the result of a long debate, spread over several meetings.) -- From Ken Arnold's "C Advisor" column in Unix Review | |
Jargon Coiner (#4) An irregular feature that aims to give you advance warning of new jargon that we've just made up. * FREE LECTURE: Attempting to explain the concepts of Linux, Open Source software, free software, and gift cultures to someone who is not familiar with them. Made extra difficult if the explainee has been misled by superficial mainstream news articles about the subject. Example: "Eric gave an hour-long free lecture to his mother-in-law after she asked him about this Linux thingy she read about in USA Today." * LEXICON LAZINESS: Filling a fortune file with a list of fake jargon instead of publishing something more substantive (and funny) that would take more effort to write. * FOR(;;)TUNE LOOP: Repeatedly running fortune(6) for cheap entertainment. Example: "During a coffee break, Bob became bored and started a for(;;)tune loop. His boss had to issue a SIGTERM to get him to resume working." |