General Frenetics, Discorporated


KLOCK ver 5.23

Fnordware, (k) m'Eniac, Lord Fuddlemeister of the Cloned Synapse,
Setting Orange, day 28 of Confusion, 3163 (24 June 1997)


    KLOCK is a time piece, or rather a time machine, designed to provide a measure of time expressed in newly defined Discordian Time Units (DTU). Discordians have for a long time enjoyed the privilege of their own Calendar (see Principia Discordia, and the URL above for mess-dos and JavaScript implementations thereof, slightly extended). So far, however, there has been no time system devised specifically for Discordians. KLOCK fills that void, 5 times over.

    Another feature of KLOCK, and the main effective purpose of Discordian Time Specification (DTS) is that it is independent of geographical location (i.e. local aneristic time). For those who measure their time by the KLOCK, the time is precisely the same at any given moment, regardless of their mislocation on the globe of Earth. The validity of KLOCK time does not extend beyond the stratospheric perimeter of the Earth, although this may change in future releases.


    Specification for Discordian Time Units, an extension to Principia Discordia, is available at the URL above. KLOCK is simply a working implementation thereof. A JavaScript and Perl ports will follow, and will be announced on the Erisware page and on alt.discordia.

    The aforementioned Specification calls for implementing exactly five different (and mutually incompatible) systems of Discordian Time Measurement (DTM). These systems are called Flavors. KLOCK will support all five Flavors as soon as they have been defined. Presently only Flavor 1 has been defined by the Specification, and KLOCK supports that.


    The purpose of time uniformization as delineated in (1) has a distinctly Aneristic feel to it, as it seeks to impose a measure of order among the Discordian ranks. Conversely, the existence of five incompatible DTS systems as described in (2) works to counteract that stabilizing, orderizing effect. Thus, we have a self-canceling effect, all in concert with the Sacred Chao.

  4. Operation of the KLOCK
    The KLOCK is a mess-dos executable program. it accepts most of what little input it needs from the command line. See the next section for command line options.

    There are basically two modes of operation: the time-setting mode and the time-display mode. The time-setting mode may be forced from the command line and is also invoked automatically when the KLOCK is run the first time, or after is has been reset by the user. The time-setting mode is used to tell the KLOCK which time zone, relative to GMT/UTC time, the KLOCK owner currently resides. This is necessary to ensure the uniformity of Discordian Time Measure over the Earth.

    The time-display mode is the normal mode of operation.

  5. Command-line options and switches.

    All options/switches must be preceded by the minus sign (-) or the slash (/). The letter case is ignored. The order in which options are specified on the command line does not matter either, with one exception (see -CONVEL and CONVLE below in this section).

    Normally, KLOCK is invoked without any options on the command line. The options are only necessary to alter the behavior of the KLOCK, such as to set the new time zone, change display colors, etc. - these changes may be permanent (in which case the new settings are written directly to the KLOCK.EXE file, eliminating the need for a separate configuration file) or temporary, one-time-only.

    List of command-line switches:

    (The (*) nest to the switch means that the value, when altered, is stored permanently in the KLOCK.EXE file, unless the -DEBUG switch is also used, in which case the value is only altered for the current program session.)

    -SET (*)
    Used to invoke the screen which allows the KLOCK owner to set/alter the Time Zone value. This is done interactively, and the new value will be stored automatically for future use. Most other switches have no effect when -SET is used, since those other switches usually affect only the normal mode of operation. (An exception to the above is the switch to change the display color, see -MONO and -COLOR below.)

    Time Zone may also be set directly from the command line, without entering the interactive screen. The -SET switch has been extended to support a special syntax:



    -SET+ (will set the time zone to current value plus 1 hour)
    -SET- (will set the time zone to current value minus 1 hour)
    -SET0 (will set the time zone to current UTC/GMT exactly)
    -SET+2 (will set the time zone to current UTC/GMT+2 hours)
    -SET-7 (will set the time zone to current UTC/GMT-7 hours)
    -SET5 (will set the time zone to current UTC/GMT+5 hours; the missing "+" sign is implied)

    NOTE: Klock initially has the Time Zone value set to UNDEFINED, so as to force setting the correct Time Zone the first time it is executed. When the value is UNDEFINED, using a relative SET value (-SET- or -SET+) is meaningless. In such a case, the Time Zone value will not be increased/decreased, but set to ZERO (equivalent to -SET0)

    -MONO (*)
    -COLOR (*)
    Switches between two predefined color schemes: monochrome and full color. Especially useful if you have a VGA MONO graphics adapter. VGA is detected as a color adapter, so the fullcolor scheme may not render properly on a VGA MONO. Use -MONO to force the monochrome scheme, and -COLOR to bring the colors back.

    -BIG (*)
    -SMALL (*)
    The KLOCK can display time in two different ways:

    -BIG forces the display in a "fancy" pseudo-graphics mode, which is also the default. This mode is interactive, in that you may press certain keys to invoke certain operations (see -UTC below) and the time is displayed until you hit ESC

    -SMALL forces a normal text-mode display. This display is not interactive (show time and quit).

    -DST (*)
    -NODST (*)
    Enable (-DST) or disable (-NODST) automatic adjustment to Daylight Saving Time. This feature is not implemented in the current release of KLOCK and the switch is provided only for compatibility with future releases. At present, using the switch has no effect.

    -1 (*)
    -2 (*)
    -3 (*)
    -4 (*)
    -5 (*)
    Select one of the five available Discordian Time Flavors (DTF).

    NOTE: At present, only Flavor (1) has been defined by the Discordian Time Specification (DTS). KLOCK will support other Flavors as soon as they are defined. At present specifying a Flavor value greater than 1 causes an error.

    Causes the KLOCK to display the aneristic, normal UTC time (which may or may not be your local time) instead of the Discordian Time. Note that when time is normally displayed in the "fancy" screen, you may hit BACKSPACE or TAB to flip between Discordian and UTC displays. This option is only useful for the non-interactive "small", or text-mode, display.

    This switch is only used to tell KLOCK not to store any of its options in the .EXE file. Thus, -DEBUG is only useful when used together with other switches. It is often important to place the -DEBUG switch before any other switches, or else it may be ignored.

    For instance, let's assume you normally like the "fancy" display but just for once want to run Klock with the small textmode display. if you run
    KLOCK.EXE -small
    the new option will be written to KLOCK.EXE and you will have to specify
    KLOCK.EXE -big
    the next time you run the program. Instead, you may just run
    KLOCK.EXE -debug -small
    and the "small" mode will affect only this one session

    For another instance, say you live in the UTC+2 time zone. You do not want to have to set the time zone value every time you use KLOCK. Perhaps you want to check the KLOCK's behavior for a different time zone, e.g. UTC-3, just for once. Then, you could do
    KLOCK -debug -set-3
    and the new value of UTC-3 will only affect this one session, so you will not have to restore your original time zone setting.

    Displays both Discordian and UTC time, and other info. This could be called a "verbose" mode.

    Resets all internal values to default/factory settings. This includes the time zone setting, which -RESET changes back to UNDEFINED, so you will have to specify the correct time zone next time you run KLOCK. Useful e.g. when you plan to give your copy of KLOCK to someone who lives in a different time zone and you want to make sure they will remember to enter THEIR time zone setting correctly.

    -CONVLE HH[:MM[:SS]]
    (Convert Local time to Erisian)

    This option is for the weak of Fnord. It interrupts the normal operation of KLOCK and causes it to convert the local time value you specify to Discordian Time Units (DTU). The result of the conversion is displayed instead of the normal current time display.


    -CONVLE 23:15:56
    -CONVLE 14:7 (local time: seven past two p.m.)
    -CONVLE 6 (local time: six am, sharp)

    -CONVEL HHH[:MM[:SS[(flavor)]]]
    (Convert Erisian time to Local)

    This switch is for the even weaker of Fnord. If you have a date set for 001:03:23(1) and you have no idea what it really means to you, use this switch and Klock will tell you. The Erisian time expression is a very forgiving string... you may want to experiment. As above, you need not specify the full string - the hour value is enough.


    -CONVEL 0
    -CONVEL 112:3:01
    -CONVEL 261(1)

    NOTE: The time you ask to be converted (to or from) is YOUR LOCAL time, not the UTC time! (Unless your local time is the UTC). KLOCK converts your local time to UTC internally and transparently to you.

    NOTE: If you want to use other switches along with -CONV (not all make sense, but some do) you must specify them BEFORE the -CONV string. Anything past the -CONV and the local time value is ignored.

    NOTE: When you use either of the -conv switches, any other options you may specify on the command line (-small, -set, etc.) affect only this single session of Klock, i.e. they are not written to the executable file for future use. This allows you to experiment even more (you may, for instance, check the results for someone living in another time zone without losing your own time zone setting, for instance your own time zone may be set to +2, but you may do:
    klock.exe -set-5 -convel 212:2:3(1)
    to see the the Erisian time converted to local time in the UTC-5 time zone.