Editing 1692: Man Page
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 6: | Line 6: | ||
| titletext = For even more info, see blarbl(2)(3) and birb(3ahhaha I'm kidding, just Google it like a normal person. | | titletext = For even more info, see blarbl(2)(3) and birb(3ahhaha I'm kidding, just Google it like a normal person. | ||
}} | }} | ||
− | + | ||
==Explanation== | ==Explanation== | ||
− | This comic shows a {{w|Unix}} manual page, i.e. a ''{{w|man page}}'' (hence the title), for a fictional program called "[http:// | + | This comic shows a {{w|Unix}} manual page, i.e. a ''{{w|man page}}'' (hence the title), for a fictional program called "[http://da.urbandictionary.com/define.php?term=blerp blerp]". Unix man pages are meant to provide a brief reference on the usage of a command, not extended explanations with tutorials as may be found in many hardcopy product manuals. Unfortunately, some Unix commands tend to be very bloated and include lots of optional behavior that is often irrelevant to the original intent of the command and can be done much more easily using shell features like piping and redirection, and thus the manpage grows to explain all of the features. This example exaggerates the obscurity and terseness found in many man pages, making fun of the typical style of the genre. |
It follows the prescribed format for a man page, with the following sections: | It follows the prescribed format for a man page, with the following sections: | ||
− | *Command Name: self-explanatory | + | * Command Name: self-explanatory |
− | *Synopsis: a synopsis of the valid command line formats | + | * Synopsis: a synopsis of the valid command line formats |
− | *Description: a summary of the purpose and operation of the command | + | * Description: a summary of the purpose and operation of the command |
− | *Options: detailed description of all the available command line arguments | + | * Options: detailed description of all the available command line arguments |
− | *See Also: references to other man pages with relevance | + | * See Also: references to other man pages with relevance |
− | *Bug Reports: contact details for the support group (if any) | + | * Bug Reports: contact details for the support group (if any) |
− | *Copyright: details of the ownership and rights status of the man page (not the program) | + | * Copyright: details of the ownership and rights status of the man page (not the program) |
− | + | However most the contents of these sections are not very meaningful, or even obey the correct syntax. | |
The Synopsis section is supposed to be in a {{w|Regular Expression|regex}}-like language called {{w|Wirth Syntax Notation}}, with structures like | The Synopsis section is supposed to be in a {{w|Regular Expression|regex}}-like language called {{w|Wirth Syntax Notation}}, with structures like | ||
− | *{<list of valid alternatives>}, e.g. blerp {A,B,C} | + | * {<list of valid alternatives>}, e.g. blerp {A,B,C} |
− | *[<optional element>], e.g. blerp [-o [<output file>]] | + | * [<optional element>], e.g. blerp [-o [<output file>]] |
− | *<something>... meaning repeat <something> as many times as you need | + | * <something> ... meaning repeat <something> as many times as you need |
But the two Synopsis lines given do not have valid Wirth syntax; they randomly mix objects and syntactic characters, and the brackets and braces are not properly nested or paired. | But the two Synopsis lines given do not have valid Wirth syntax; they randomly mix objects and syntactic characters, and the brackets and braces are not properly nested or paired. | ||
− | The Description section provides | + | The Description section provides a somewhat unhelpful summary that could apply to almost any Unix command. Processing input files (or output of other commands in a pipeline) is a generic function for Unix shell tools, as is specifying their behaviour with command line arguments, environment variables and flags. |
− | The options are in | + | The options are in alphabetical order (putting lower case before upper case and with an em-dash inserted between b and c the only exception to this order). |
− | {{w|Command-line_interface#Command-line_option|Command-line options}}, also known as flags, are typed | + | {{w|Command-line_interface#Command-line_option|Command-line options}}, also known as flags, are typed following a program name to change how the program runs. The following is an example usage. |
<code>blerp -a -d -t -p "AVIGNON"</code> | <code>blerp -a -d -t -p "AVIGNON"</code> | ||
− | + | This would run blerp in attack mode, outputting to DEBUG.EXE, with tumble dry, and with POPE set to AVIGNON. In most cases, any number of flags can be used in any order, and applicable flags can be followed by arguments (such as "AVIGNON" in this example). | |
− | For a walkthrough of all possible flags see the '''[[#Table of flags|table of flags]]''' below. | + | For a walkthrough of all possible flags see the '''[[#Table of flags|table of flags]]''' below. |
− | Below the flags there is a ''see also'' list with other | + | Below the flags there is a ''see also'' list with other stupid program names. Apart from two more blerbs there is also blirb, [http://da.urbandictionary.com/define.php?term=Blarb blarb] and [http://da.urbandictionary.com/define.php?term=Blorp blorp], with chapter references. The last blorp(501)(c)(3) is not a valid chapter reference for a man page, it is however a slightly covert reference to {{w|501(c)_organization#501.28c.29.283.29|501(c)(3)}} which is an organization that is {{w|Tax exemption|tax-exempt}}. |
− | + | Then follows a bug report site. www.inaturalist.org is a site working to extend biological research, and the exact address given, http://www.inaturalist.org/taxa/47744-Hemiptera, points to the same page as http://www.inaturalist.org/taxa/Hemiptera. {{w|Hemiptera}} is the order classifying ''true bugs'', making it a good place to report any biological bugs discovered while running a program (such as certain insects that got into certain early computers, causing the computers to malfunction and giving the name "bug" to computer malfunctions). | |
− | + | Finally there is a "{{w|copyright}}" line which references several variously open-source content licenses which is also a recurring theme on xkcd (see [[225: Open Source]]). For instance, GPL references {{w|GNU General Public License}} and the (2) and (3+) refers to {{w|GNU_General_Public_License#Version_2|GPL 2}} and {{w|GNU_General_Public_License#Version_3|GPL 3 or higher}}. ''CC'' refers to {{w|creative commons}} where ''BY'' is the {{w|Creative_Commons_license#Types_of_licenses|type of license}}, ''5.0'' refers to the attribution and ''RV 41.0'' refers to revision 41.0. However there were no higher attribution than [https://creativecommons.org/licenses/by/4.0/legalcode 4.0] at the time of this comic's release. xkcd is released under [http://creativecommons.org/licenses/by-nc/2.5/ CC BY-NC 2.5] as can be seen at the bottom of the {{xkcd}} homepage. A few comics have been released under the [[:Category:CC-BY-SA comics|CC-BY-SA license]] or [http://creativecommons.org/licenses/by-sa/3.0/ 3.0]. BSD refers to {{w|BSD licenses}} a [[:Category:BSD|recurring theme]] in xkcd. "Like Gecko" is a reference to a web browser user-agent string; modern user-agent strings include a lot of text designed{{Citation needed}}<!-- No, really though. --> to let the browser pretend to be several different browsers/renderers, and "(like Gecko)" is the standard text for a browser that wants to be treated as if it were {{w|Gecko (software)|Gecko}} while admitting, if you look closely, that it isn't really Gecko. This copyright line, which includes a lot of mashed-together text that might appear to match any of several different licenses, resembles a {{w|user agent}} string. | |
− | + | "Or best offer" is a reference to a private sale, such as of a car parked outside a home, with a hand-made notice proclaiming the intent to sell to any passer-by who may be interested, usually with relevent details including a suggested price "or best offer", to indicate a willingness to be flexible for a quicker sale. In context, it suggest the person who has the highest offer for ''blerp'' will be sold the rights to the program. Since the other licenses mentioned would allow for free usage without paying royalties, it would usually be pointless to buy the rights to the program. The owner could possibly revoke the other licenses though. | |
− | + | In the title text there is a list with even more info, again with crazy names like [http://blarbl.blogspot.dk/ blarbl] and [http://da.urbandictionary.com/define.php?term=birb birb]. Again there are page references, but for the last the person writing this stops writing the reference and begins to laugh at whom ever still reads this man page and telling them that he is kidding and suggest that they ''just Google it like a normal person''. The writer of this text thus also stops finishing the brackets as the ending ")" for the last chapter is missing. | |
− | |||
− | In the title text there is a list with even more info, again with | ||
Man pages were part of the subject of [[293: RTFM]], [[912: Manual Override]] and [[1343: Manuals]] and were mentioned in [[434: xkcd Goes to the Airport]] and [[456: Cautionary]]. | Man pages were part of the subject of [[293: RTFM]], [[912: Manual Override]] and [[1343: Manuals]] and were mentioned in [[434: xkcd Goes to the Airport]] and [[456: Cautionary]]. | ||
===Table of flags=== | ===Table of flags=== | ||
− | *There are 28 | + | *There are 28 flags. |
**Only these five letters are not used: l, m, w, x, z. | **Only these five letters are not used: l, m, w, x, z. | ||
**j and k are used together as jk. | **j and k are used together as jk. | ||
Line 62: | Line 60: | ||
***That makes it one capital letter for every lower case letter that is not used by itself. | ***That makes it one capital letter for every lower case letter that is not used by itself. | ||
**Finally the em dash "—" is used as the only non-letter character. Also the only that breaks the strict alphabetical sorting of the list, with lower case before upper case letters. | **Finally the em dash "—" is used as the only non-letter character. Also the only that breaks the strict alphabetical sorting of the list, with lower case before upper case letters. | ||
− | |||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
!Flag!!Description!!Explanation | !Flag!!Description!!Explanation | ||
|- | |- | ||
− | | -a||ATTACK MODE||This sounds like a command for a robot or something similar. Strange for a command line program. Possibly this is designed to break something? | + | | -a||ATTACK MODE||This sounds like a command for a robot or something similar. Strange for a command line program. Possibly this is designed to break something? |
|- | |- | ||
− | | -b||SUPPRESS BEES||Nonsensical option. This is a word play, meaning either to suppress {{w|Bee|Bees}} (the insects) or the letter '''B'''. A possible implication is that running the program without this flag would somehow result in the user being attacked by bees. This is also a possible {{w|Discworld}} reference, as the ''{{W|Hex_(Discworld)#Structure_and_technology|long-term storage}}'' of the only recurring computer in the series, ''{{w|Hex (Discworld)|Hex}}'', is composed of a beehive. (Note that the actual computer runs on ants.) Another explanation is that there will be smoke | + | | -b||SUPPRESS BEES||Nonsensical option. This is a word play, meaning either to suppress {{w|Bee|Bees}} (the insects) or the letter '''B'''. A possible implication is that running the program without this flag would somehow result in the user being attacked by bees. This is also a possible {{w|Discworld}} reference, as the ''{{W|Hex_(Discworld)#Structure_and_technology|long-term storage}}'' of the only recurring computer in the series, ''{{w|Hex (Discworld)|Hex}}'', is composed of a beehive. (Note that the actual computer runs on ants.) Another explanation is that there will be smoke, which is used by beekeepers to suppress bees. |
|- | |- | ||
− | | -—||FLAGS USE EM DASHES||Command line options (flags) typically use {{w|Hyphen|hyphens}} (short horizontal lines largely used within words). {{w|Dash#Em_dash|Em dashes}} (longer, with the same length as the letter "m") can't always be easily typed into a command line interface, so | + | | -—||FLAGS USE EM DASHES||Command line options (flags) typically use {{w|Hyphen|hyphens}} (short horizontal lines largely used within words). {{w|Dash#Em_dash|Em dashes}} (longer, with the same length as the letter "m") can't always be easily typed into a command line interface, so switching flags from hyphens to em dashes is excessively difficult and nonsensical. |
− | This may be a play on how a lot of commands accept both single-dash options, like -h for help, as well as double-dash options like --help also for help. In word processors, a double-dash (--) is often replaced with the longer em dash (—), making them kind of synonymous. | + | This may be a play on how a lot of commands accept both single-dash options, like -h for help, as well as double-dash options like --help also for help. In word processors, a double-dash (--) is often replaced with the longer em dash (—), making them kind of synonymous. |
− | Also implies a paradox where if flags were to use em dashes, this flag would be invalid. | + | Also implies a paradox where if flags were to use em dashes, this flag itself would be invalid. |
|- | |- | ||
− | | -c||COUNT NUMBER OF ARGUMENTS||Most likely not useful | + | | -c||COUNT NUMBER OF ARGUMENTS||Most likely not useful. |
|- | |- | ||
| -d||PIPES OUTPUT TO DEBUG.EXE||{{w|DEBUG.EXE}} is the old 16-bit debugger that came with MS-DOS. On a Unix system it is much more likely that one would use the {{w|GNU Debugger}} (GDB). A debugger is usually called by calling the debugger with the program (or script) to be debugged as parameter. | | -d||PIPES OUTPUT TO DEBUG.EXE||{{w|DEBUG.EXE}} is the old 16-bit debugger that came with MS-DOS. On a Unix system it is much more likely that one would use the {{w|GNU Debugger}} (GDB). A debugger is usually called by calling the debugger with the program (or script) to be debugged as parameter. | ||
Line 86: | Line 82: | ||
| -e||EXECUTE SOMETHING||Vague. Also a possible pun on a kill-switch. | | -e||EXECUTE SOMETHING||Vague. Also a possible pun on a kill-switch. | ||
|- | |- | ||
− | | -f||FUN MODE||Strange and slightly ominous, given some of the other options | + | | -f||FUN MODE||Strange and slightly ominous, given some of the other options. See under -O. |
− | |||
|- | |- | ||
− | | -g||USE GOOGLE||As an actual program flag, a bit hackjob-ish, but it is possible it is telling the user to use Google to find out what this tag does. Or, the program might actually use | + | | -g||USE GOOGLE||As an actual program flag, a bit hackjob-ish, but it is possible it is telling the user to use Google to find out what this tag does. Or, the program might actually use a google functionality (e.g. a code library online) or even simply the search mask to achieve the filtering it is supposed to do. |
− | |||
|- | |- | ||
− | | -h||CHECK WHETHER INPUT HALTS|| | + | | -h||CHECK WHETHER INPUT HALTS||Completely impossible, by the {{w|Halting problem}} which is the problem of determining, from a description of an arbitrary computer program and an input, whether the program will finish running or continue to run forever. {{w|Alan Turing}} proved in 1936 that a general algorithm to solve the halting problem for all possible program-input pairs cannot exist. Halting problem also featured in the comic [[1266: Halting Problem]]. |
− | + | Note that most commands reserve -h for help, so using it for a different function is non-standard. Such is common for many Unix and Linux commands. | |
|- | |- | ||
− | | -i||IGNORE CASE (LOWER)||Usually, ignoring case means that a program will run without differentiating between upper- and lowercase. This flag suggests that blerp will run ignoring all the lowercase characters completely, or ignoring all the uppercase characters with the next flag "-I". | + | | -i||IGNORE CASE (LOWER)||Usually, ignoring case means that a program will run without differentiating between upper- and lowercase. This flag suggests that blerp will run ignoring all the lowercase characters completely, or ignoring all the uppercase characters with the next flag "-I". Note that using this may make it ignore the difference for flags like -i and -I... |
|- | |- | ||
− | | -I||IGNORE CASE (UPPER)||See above. Also possible that all text is converted to upper case, or that upper-case requirements only are ignored | + | | -I||IGNORE CASE (UPPER)||See above. Also possible that all text is converted to upper case, or that upper-case requirements only are ignored |
|- | |- | ||
− | | -jk||KIDDING||A common acronym for [http://www.urbandictionary.com/define.php?term=jk Just Kidding], not | + | | -jk||KIDDING||A common acronym for [http://www.urbandictionary.com/define.php?term=jk Just Kidding], not a program flag. Also note that standard behavior of Unix command line options is that a single "-" can be followed by multiple one-letter options, making -jk equivalent to -j -k. |
|- | |- | ||
− | | -n||BEHAVIOR NOT DEFINED|| | + | | -n||BEHAVIOR NOT DEFINED||Possibly mathematically ominous? Otherwise useless.(Possible debug/unstable feature flag) |
|- | |- | ||
− | | -o||OVERWRITE||Standard program flag, usually meaning that the program will overwrite a file rather than make a new one when data is output | + | | -o||OVERWRITE||Standard program flag, usually meaning that the program will overwrite a file rather than make a new one when data is output.May work strangely with -d. |
|- | |- | ||
− | | -O||OPPOSITE DAY||Strange flag, | + | | -O||OPPOSITE DAY||Strange flag, possibly means that all other flags (or maybe even including this one!) have the opposite effects - if so, a lot of strange things would happen. (Especially with -b, -e, -f, -jk, -O...). This may be a reference to the SpongeBob SquarePants episode [http://spongebob.wikia.com/wiki/Opposite_Day "Opposite Day"]. |
|- | |- | ||
− | | -p||SET TRUE POPE; ACCEPTS "ROME" OR "AVIGNON"||This refers to a {{w|Western_Schism|historical schism}} in the {{w|Catholic Church}}. In the 14th century, the Pope briefly ruled from Avignon, France, instead of Rome. After the Papacy was returned to Rome in 1377, the Church split (the so-called Western Schism) as not everyone accepted the move | + | | -p||SET TRUE POPE; ACCEPTS "ROME" OR "AVIGNON"||This refers to a {{w|Western_Schism|historical schism}} in the {{w|Catholic Church}}. In the 14th century, the Pope briefly ruled from Avignon, France, instead of Rome. After the Papacy was returned to Rome in 1377, the Church split (the so-called Western Schism) as not everyone accepted the move and the Pope who ordered it. This flag apparently allows the user to select a preferred Pope. There is actually a possible feature request here, as "PISA", a third Pope, should also be an option. It is the second time this week that Popes have been mentioned, last time was two comics before in [[1690: Time-Tracking Software]] regarding the Popes sexual activity. |
|- | |- | ||
− | | -q||QUIET MODE; OUTPUT IS PRINTED TO STDOUT INSTEAD OF BEING SPOKEN ALOUD||In most cases, a program will output basic information to the console, and running it in quiet mode will make it run without outputting anything. Blerp, on the other hand, | + | | -q||QUIET MODE; OUTPUT IS PRINTED TO STDOUT INSTEAD OF BEING SPOKEN ALOUD||In most cases, a program will output basic information to the console, and running it in quiet mode will make it run without outputting anything. Blerp, on the other hand, outputs information through audio, and the quiet flag causes it to run like a normal program. "STDOUT" is short for "standard output". |
|- | |- | ||
− | | -r||RANDOMIZE ARGUMENTS||Pointless and possibly damaging | + | | -r||RANDOMIZE ARGUMENTS||Pointless and possibly damaging. |
|- | |- | ||
− | | -R||RUN RECURSIVELY ON <nowiki>http://*</nowiki>||The star (*) symbol is often used as a wildcard to match any string of characters. "<nowiki>http://*</nowiki>" suggests that blerp will be run | + | | -R||RUN RECURSIVELY ON <nowiki>http://*</nowiki>||The star (*) symbol is often used as a wildcard to match any string of characters. "<nowiki>http://*</nowiki>" suggests that blerp will be run on every (unsecured) webpage on the internet, or on each page recursively. What it might do in order to make this valid is also ominous. |
|- | |- | ||
− | | -s||FOLLOW SYMBOLIC LINKS SYMBOLICALLY||A {{w|symbolic link}} is a filesystem feature that allows the creation of "fake" files which when accessed redirect to another file path. Many commands offer an option to follow filesystem links and operate on the actual file rather than the fake pointer; this option however seems to suggest that it will only politely pretend to do so. | + | | -s||FOLLOW SYMBOLIC LINKS SYMBOLICALLY||A {{w|symbolic link}} is a filesystem feature that allows the creation of "fake" files which when accessed redirect to another file path. Many commands offer an option to follow filesystem links and operate on the actual file rather than the fake pointer; this option however seems to suggest that it will only politely pretend to do so. |
|- | |- | ||
− | | -S||STEALTH MODE||Similar to -a, in that it sounds more like an option for some kind of robot | + | | -S||STEALTH MODE||Similar to -a, in that it sounds more like an option for some kind of robot. |
|- | |- | ||
− | | -t||TUMBLE DRY||Perhaps useful for a program that runs on a clothes dryer. Refers to [https://img1.etsystatic.com/000/0/5254504/il_570xN.184726893.jpg directions like these]. Many clothing items are marked "do not tumble dry" in the care instructions, but this would be extremely difficult to make relevant to a program. Given the other flags, this may be less nonsensical than it would first appear. | + | | -t||TUMBLE DRY||Perhaps useful for a program that runs on a clothes dryer. Refers to [https://img1.etsystatic.com/000/0/5254504/il_570xN.184726893.jpg directions like these]. Many clothing items are marked "do not tumble dry" in the care instructions, but this would be extremely difficult to make relevant to a program. Given the other flags, this may be less nonsensical than it would first appear.. |
|- | |- | ||
− | | -u||UTF-8 MODE; OTHERWISE DEFAULTS TO ANSEL||{{w|ANSEL}} is an obscure character encoding | + | | -u||UTF-8 MODE; OTHERWISE DEFAULTS TO ANSEL||{{w|ANSEL}} is an old and obscure character encoding that predates ASCII. Using ANSEL as a default would be strange and largely incompatible with most modern systems. On the other hand, UTF-8 is rather standard. Similar in this regard to -q, blerp does something non-standard by default. The problem with using different modes (where the original was also UTF-8) is shown in the title text of [[1683: Digital Data]]. |
|- | |- | ||
− | | -U||UPDATE (DEFAULT: FACEBOOK)||Update usually refers to replacing an old software with a newer version. The default here suggests posting a status update to Facebook, sourcing an update | + | | -U||UPDATE (DEFAULT: FACEBOOK)||Update usually refers to replacing an old software with a newer version. The default here suggests posting a status update to Facebook, sourcing an update form Facebook, or updating Facebook itself. |
|- | |- | ||
− | | -v||VERBOSE; ALIAS TO find / -exec cat {}||Almost standard flag, in ordinary programs the opposite of -q - instead of silencing output, it | + | | -v||VERBOSE; ALIAS TO find / -exec cat {}||Almost standard flag, in ordinary programs the opposite of -q - instead of silencing output, it makes it more specific, usually to help with debugging. Instead, this flag gets replaced with a command that prints the contents of all files in the filesystem tree. However, it will never complete, as certain device files never end (/dev/urandom contains random bytes). Note that the "find" command is missing <code>\;</code> and will not run, instead complaining <code>find: missing argument to `-exec'</code> . |
|- | |- | ||
− | | -V||SET VERSION NUMBER||Many programs will have a flag to view | + | | -V||SET VERSION NUMBER||Many programs will have a flag to view the version number. This flag changes the version number instead. Version number should only be changed when the program is updated (because it's used for distinguishing which edition of a program you have), so manually changing the version number like this is strange and a little dangerous. |
|- | |- | ||
− | | -y||YIKES|| | + | | -y||YIKES||[[wiktionary:yikes|yikes]] is an interjection which can express fear or empathy with unpleasant or undesirable circumstances. It is unclear how this would influence the program. |
|} | |} | ||
Line 179: | Line 173: | ||
:GPL(2)(3+) CC-BY/5.0 RV 41.0 LIKE GECKO/BSD 4(2) OR BEST OFFER | :GPL(2)(3+) CC-BY/5.0 RV 41.0 LIKE GECKO/BSD 4(2) OR BEST OFFER | ||
</div> | </div> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
{{comic discussion}} | {{comic discussion}} | ||
Line 190: | Line 179: | ||
[[Category:Computers]] | [[Category:Computers]] | ||
[[Category:BSD]] | [[Category:BSD]] | ||
− | [[Category: | + | [[Category:Animals]] <!--Bees--> |
− | |||
− |