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.
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.
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
(*)
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[+|-][value]
Examples:
-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
(*)
-BIG
(*)
-SMALL
(*)
-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
(*)
-1
(*)
-2
(*)
-3
(*)
-4
(*)
-5
(*)
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.
-UTC
BACKSPACE
or TAB
to flip between Discordian and UTC
displays. This option is only useful for the non-interactive
"small", or text-mode, display.
-DEBUG
-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.
KLOCK.EXE -small
KLOCK.EXE -big
KLOCK.EXE -debug -small
KLOCK -debug -set-3
-INFO
-RESET
-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]]
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.
Examples:
-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)]]]
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.
Examples:
-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.