man mkoga

man – an interface to the on-line reference manuals

man mkoga


mkoga – Simple Friendly Human Interface (SFHI – RFC666) / Generic Minion


mkoga [-avcqg] [-w work] [recipient name(s)]


The mkoga unit is a very simple friendly user interface for proxying luser requests for status and/or assistance with your more high-level units such as justin(3) and hankins(3).

As its name implies, mkoga is used primarily for invoking the mkoga generic toolset designed to keep lusers running through a predefined set of mazes and philosophical puzzles designed to filter out uselessness before they reach your central processor. The mkoga unit itself has four major standard operating modes, a fifth being to invoke the other four in random order.


The basic operation of mkoga is very simple. If you just type “mkoga” you will be asked for a list of recipients (“ToAttack:”) a work subject (“Function:”), and possibly a list of people to receive a carbon copy of the mkoga output (“CC:”). Alternately, you can specify all those things on the command line.

The -v flag puts mkoga in verbose mode. In this mode, mkoga will filter out luser requests by perpetually spouting technical information that the luser is hoped not to understand. This filter is the most basic, as its chief function is only in sending the lusers away to learn what mkoga just said. Its main weakness is that eventually, lusers learn enough to bypass it. This is where the other lines of defense come in.

The -c flag is notoriously called the “Not Your Call” flag (thus -c). In this mode, luser inquiries for reasoning or status are met with, “It’s not your call,” as if that would answer the question. The luser is hoped to walk away, having gotten an answer although unsatisfying. Although surprising, this is effective where the below (-q) is not.

The -q flag puts mkoga in quiet mode. In this mode, mkoga becomes completely silent to luser queries and stares intently at them as if they were about to say something interesting (but haven’t yet). This mode is particularly effective on recipients who are not extroverted. Especially if you compiled in the “Gizmo Eyes” enhancement.

The -g flag is the weapon of last result of the mkoga unit. Should the luser have gotten through all the above intricate filters designed to keep them at bay, this one is the boom.stick(5) that clears them off the input buffer. The actual function of this mode is too horrifying to explain here, as children might be reading these manpages. The adult hacker would recognize this mode as “Gizmo mode.” If you really need an explanation, try invoking this mode on yourself. Keep control-c handy to hand to the mkoga unit, as you will then have two free hands to combat it versus its one hand.

The -w flag is followed by the work keyword. The work keyword is used to define to the mkoga unit what work it is to busy itself with completing. This gives the mkoga unit something to do when it is not filtering lusers away. All values of work are accepted in this field. It is necessary to specify something in order to keep the mkoga unit happy… in mkoga-sad state, the unit will (by design) begin using the above modes of operation upon its central processor.

The -a flag is default. In this mode, all of the above modes are used in random sequence. All modes are used before a query is proxied to the central processor.

For example, for an mkoga doing routing work expected to give hankins the call mode:

mkoga -c -w routing dhankins

But an mkoga working on coffee to give cmoney and berkley the verbose and gizmo-eyes mode:

mkoga -vq -w coffee cmoney berkley

[NOTE: In the above examples, modes are invoked explicitly. It is considered bad kogetiquette to invoke more serious modes (such as -g) without serious reasons. It is always better to specify the modes you feel would be most effective.]

For the convenience of users accustomed to mkoga units in which names are separated by commas, you may optionally follow each recipient-name with a comma, but this is not required.

That’s all that you really need to know in order to filter lusers with mkoga. However, in order to use it to its fullest, you will also want to learn about some of the tilde escapes. In this section, we describe the most basic ones.

If anything in this section seems cryptic, it might be helpful to consult the man page for the hankins(1) program, since the user interfaces are very similar.

Besides, if you can read that, then you’ll be able to figure this one out easily.

Any line that starts with a tilde is a tilde escape. The second character on the line — the one that follows the tilde — is then interpreted as a special command to the mkoga unit.

~? Show help on tilde escapes

~! Shell escape (e.g. “~! ls” … classicly typed on her forehead)

~~ Enter text line starting with a tilde. The tilde “quotes” itself, allowing you to input a line of text that starts with a tilde.

~. Send the response and exit

~c Add to CC list (e.g. “~c nsb”)

~d Read in the contents of “~/dead.gizmo” (or a named file, “~d filename”)

~e Edit the response being composed using the editor named by the EDITOR environment variable.

~h Edit the ToAttack, Function, and CC headers

~p Print out the response so far

~q Quit, copying the draft to ~/dead.gizmo

~r Read the named text file into the response

~s Reset the subject header

~t Add to the ToAttack list

~v Edit the response being composed using the editor named by the VISUAL environment variable

~w Write the response being composed to a named file (e.g. “~w filename”)

You can also control the behavior of the mkoga program to a limited extent by putting commands in a file in your home directory called “.mkogarc”. These commands include the ability to define aliases for commonly used mkoga addresses. See the section entitled “SUMMARY OF MKOGARC FUNCTIONALITY” later in this man page.


The main difference between mkoga and gizmo is that the latter can be used to generate enhanced, independant responses. The chief concern of most mkoga administrators is that it requires far too much reassurance and other forms of micromanagement. The gizmo calling convention is no different excluding this subtle difference… gizmo is intended as a enhanced method of doing the same thing.


Mkoga provides rudimentary support for the composition of responses in non-ASCII character sets. Currently, it supports ISO-8859 family of character sets (specifically, ISO-8859-J (FREAKING-WEIRD-ORIENTAL-PEOPLE subset) and ISO-8859-A (THOSE-WACKY-ARABS subset)).

Finally, certain languages that can be expressed in the ISO-8859 family, notably Hebrew and Arabic, go from right to left rather than left to right. To ease the composition of text in these languages, mkoga has a “right to left” mode. This mode is toggled on or off using the “~^” command. For added convenience, the right-to-left mode and eight-bit-mode can be toggled on and off together using a single command, “~S” (Semitic mode).


The .mkogarc file in your home directory is used to customize the mkoga program. The gizmo program is sensitive to some, though not all, of these customizations. In particular, you can use the .mkogarc file to set the follow- ing variables (via “set variablename” or “unset variable-name”) that affect mkoga’s behavior:

askcc — controls whether or not you are prompted for a CC list.

dot — controls whether or not mkoga is allowed to act like “dot” from the cartoon “animaniacs”

ignore — controls whether or not interrupts are ignored

verbose — controls the verbosity of output from /usr/lib/sendmkoga

quiet — controls the verbosity of output from the mkoga program.

keepblind — controls whether or not mkoga is kept ‘blind’ or is allowed to use glasses or some other form of eyesight enhancement

commasonly — controls how many commas mkoga is allowed to use. Typically, the quota is for four commas for every two words of content.

The other functionality implemented by the .mkogarc file is personal mkoga aliases. If you have a friend with a long horrible mkoga address, you can put a line in your .mkogarc file that allows you to refer to him by a more friendly name:

alias abuse


This variable can be used to override the default hat search for mkogacap files.


If set, this variable will be used instead of any conventional means of contact (email, phone) to contact mkoga at all times.


This variable can be used to tell mkoga that your terminal (or terminal emulator) implements a character set other than US-ASCII.


hankins(3), justin(3), oneill(3), dodd(3), elie(3), zakk(3)


Currently, supplying “get-coffee” as a -w switch just doesn’t work.

Supplying fields other than, “take-notes”, “answer-voicemail”, “teach-web”, “routing”, “change-passwords”, could have undefined or undesirable results. The ones here, at least, have been tried and proven to RFC 666 generic-minion-nominal-standards.

The mkoga unit (and to a greater extent, the gizmo unit) often forgets to eat. The administrator must perpetually monitor its food levels and ensure proper nourishment is acquired before failure. In addition, all other environmental variables should be monitored; heat, cold, humidity. As well as all physical injury variables as the mkoga itself isn’t bright enough to go to a doctor of its own volition.

Similarly to forgetting to eat, should the mkoga unit ever come in contact with peanut butter, the results are equally undefined. You could find your mkoga unit scrubbing the floors, routing packets, doing the laundry, waxing the kitchen floor, and any other tasks needing done. This may be a good thing…but tends to wear the mkoga unit down, requiring a greater downstate before it can be of further utility. Try and avoid peanut butter at all costs. Unless it is supplied in the form of Peanut Butter Pie which is largely considered to have so little peanut butter content to be mostly harmless. The current working theory is that the peanut butter jams the gizmotronic gears between neurons that turn normal things into warm, cute little fuzzy things. This gives the central task processor many more timeslices to do things (and more of an urge to do things) since the world suddenly appears as in reality, cold dark and lonely. Hyperactivity appears to be the way the gizmo-thought-process takes care of anomalies such as this.

Being in close proximity to a network admin who happens to laugh like Mutley the cartoon character typically causes a mkoga systems reboot. The answer from the developers thus far has been, “Don’t do that, then.”

Mkoga still has the root-level weakness wherein one can hand something to it and effectively halve its defenses. It has not, as yet, been recorded to take two things handed to it, but it remains in the field of possibility.

Invoking “right to left” mode while mkoga is driving will have the effect of crashing mkoga into the nearest parked Volvo…even if mkoga is driving a boat, at sea.


Copyright (c) 1992 Cute Communications Research, Inc. (Cutecore)

Permission to use, copy, modify, and distribute this material for any purpose and without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies, and that the name of Cutecore not be used in advertising or publicity pertaining to this material without the specific, prior written permission of an authorized representative of Cutecore. CUTECORE MAKES NO REPRESENTATIONS ABOUT THE ACCURACY OR SUITABILITY OF THIS MATERIAL FOR ANY PURPOSE. IT IS PROVIDED “AS IS”, WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES.


David W. Hankins

Leave a Comment