UCLA Linux User Group. Free as in Freedom.

404 Not Found

Enjoy a randomly generated fortune:


$ fortune | cowsay

 _________________________________________
/ 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                          /
 -----------------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||


Here is the PHP code:
$output = shell_exec("/usr/games/fortune | /usr/games/cowsay");
echo $output;