The One Word That Best Describes the World of Computer Date

advertisement
The One Word That Best Describes the World of Computer Date/Time is:
Mayhem-Bedlam-Pandemonium-Turmoil-Anarchy
The Computer Industry Prides Itself on Its Innovation but its Date/Time is Archaic!
If you are a programmer today, you:


Must cope with over 50 different defective ways computers store date/time. It is a Tower of Babel.
One line of software can’t understand another lines date/time. Everything must be translated from
one line of software to another and the XLM translator has serious deficiencies.
Must muddle around with several hundred outrageously incomplete complicate tools for working
with date/time. In this advanced sophisticated computer age:
o No tool can correctly add/subtract years-months-days like humans do.
o The tools have only minuscule implementation of date/time standards established 25 years ago.
o The tools at best have trivial implementation of “options”, “exceptions”, “round-trip” or
“partial-date”.
o The date/time addition/subtraction give the appearance of pounding square pegs into round
holes. The mathematicians unanimously agree the way to do date/time arithmetic is to jet
around the world to get next door. In order to date/time arithmetic:
 They first convert years-months-days-hours-minutes to total seconds.
 They next convert any change like days, hours, minutes to second and add/subtract
from the total seconds.
 Finally they convert total seconds back to years-months-days-hours-minutes.
However, the mathematicians unanimously disagrees on how to do it. Therefore every line of
software has its own unique private jet with their own unique route that they think is the best.
The problem was finding a way get next door without creating a route full of twist and turns
that required traveling at a snail’s pace. A new date/time arithmetic technique blasts a tunnel
straight through the mountains to get next door and is incredible fast.
A pictorial description of the today’s date/time software.
A Tower of Babel, no one understands anyone else’s date/time,
The Ziggurat of Ur in ancient Babylon is a possible model.
Everyone has different slow archaic tools
That resembles pounding square pegs into round holes
Date/Time Arithmetic Is Important For Most Important Application!
All of these applications require date/time subtraction to calculate elapse time or addition
to calculate a future event.










Customer Order Management CRM (Order Entry / Invoicing)
Master Production Scheduling (MPS)
Material Requirements Planning (MRP)
Capacity Requirements Planning (CRP)
Inventory control (safety stock)
Accounts Payable (AP)
Accounts Receivable (AR)
General Ledger (GL)
Payroll
Customer Relationship Management (CRM)
Chance!
A radical new method of doing date/time arithmetic was invented that is so radical the
concept has never been discussed. It resulted from these events:
 An applied mathematician took an electrical engineering course in computer
arithmetic logical unit design, at the suggestion of his advisor.
 The engineering professor happened to explained how by adding 15% to 20%
circuits to a binary register (special memory that does arithmetic) it could also do
decimal arithmetic.


Years later the mathematician set out to program the world’s best date/time and
found that traditional date/time arithmetic was to slow for what he wanted to do.
He decide to see if by programming he could mimic the circuitry necessary to allow
a binary register to do:









Base-10
Base-12
Base-28, 29, 30 or 31
Base-24
Base-60
for years.
for months.
for days (this makes a hardware solution impossible).
for hours.
for minutes and seconds.
After 16 hours his invention was running twice as fast for month with 31 days.
After inventing a new high speed way to determine the days in a month and leap
years he had it was working for all months 3 times faster.
A latter version ran 4 times faster and did arithmetic for all ISO 8601 time types.
ISO 8601 time types (formats).
The current version runs almost 10 times faster and uses the same set of
instructions doing arithmetic for all ISO 8601 date/time/timezone types.
Over 25 years ago, computer people for all over the world determine the computer industry
needed support for 39 = (3 + 3×4 +3×4×2) combinations of:
ISO 8601 date types (formats).

Calendar

Day-of-year

Week-of–year
ISO 8601 time types (formats).

hh:mm:ss,ffffffffff

hh:mm,ffffffffffff

hh,ffffffffffffff

,ffffffffffffffff
ISO 8601 timezone types.

“Z” for UTC

±00:00 time-zone offset
±YYYY-MM-DD
±YYYY-DDD
±YYYY-Www-D
fraction of seconds from 0 to 10 digits. (100 pico-seconds)
fraction of minutes from 0 to 12 digits.
fraction of hours from 0 to 14 digits.
fraction of days from 0 to 16 digits (not a ISO 8601 time)
former GMT
from +14:00 to -12:00
At best, other date/time software supports the four underlined types. If they tried to support all
combinations it would be a nightmare. Actually no other software can do joint year-month-day
arithmetic and get the correct answer all the time.
The Results!
The date/time that does everything and is bullet proof (prevents programmer mistakes):
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Has the world’s fastest time zone change and is almost ten times faster than any other date/time
software.
Has the world’s most efficient date/time arrangement for fast big data sorting, indexing and retrieval
as required for business analytics.
Has the world’s most efficient date/time arrangement for conversion between external (people
readable date/time) to internal (computer readable date/time).
Has the world’s only one standard way of storing date/time in the computer.
Has the world’s largest date range.
Has the world’s smallest precision.
Has the world’s only tools that do date/time manipulations that are impossible for all other date/time
software.
Has the world’s only support for calculation holidays and other events with an “event algebra”.
Has the world’s only almost 100% implementation of date/time standards and recommendations:
Has the world’s only complete duration date/time arithmetic.
Has the world’s only support for all international date types time types and timezone types.
Has the world’s most comprehensive date/time variable precision.
Has the world’s only inclusive “round-trip” for local commercial date/time.
Has the world’s only complete support of “exceptions”
Has the world’s only complete implementation of “options”.
Has the world’s only complete support for partial date/time.
Has the world’s only global time zone support using international standardized ISO 3166
country/state codes used for mailing or the IATA three letter city codes used on your airline luggage.
Standards!
Every computer processor from cell phones to super computers has:


Standardized integers of 8-bits, 16-bits, 32-bits and now 64-bits all use the same arithmetic, 2’s
complement. The IBM System 360 in 1964 set this standard,
Standardize floating point (scientific notation like 1.23 × 10-11) of 32-bits, 64-bits and now 128-bits
and 16-bits with gradual underflow. The IEEE 754 standard in 1985 and 2008 set these standards.
Ultimate Date/Time can standardize date/time because:





It is the fastest.
It does times zone changes almost 10 time faster.
It has the largest date range.
The date range is ±9999 (20,000 years).
It has the smallest precision.
The time precision is 100 picoseconds (9-10 or .9999999999).
It has one standard format.
It is programming language and database system independent.
It has the fewest simplest but most powerful tools. Supported with APIs.
By reading this you will!
1.
2.
3.
4.
Appreciate your ability to do arithmetic in different date/time bases, (base-10, base-12 …etc) and realize
how date/time arithmetic drives binary (base-2) computers crazy.
That after 50 years for the first time a software procedure was created that tricks all existing computers
so that they can do human like mixed-base arithmetic but they do 16 digits simultaneously, something
humans can’t do. It can be plugged into all existing programming languages that support Application
Program Interfaces (APIs) and all database system. Because it has one standard format it is easy to take
advantage of any programming language that supports user data definition.
Understand the reason that after 20 years of developing Business Intelligence software the computer
industry has had disappointing results.
Finally, for technical people, an explanation of why the new computer date/time does timezone arithmetic
10 times faster than any other date/time software. Technical people have difficulty accepting that an old
gray hair can invent something that the best and brightest mathematical minds in the industry have not
invented. However, few mathematicians have had a course in electrical design of a computer register and
experience in programming in assembler language. Those engineers who had a course in electrical
engineering have been confronted with tricking a binary register to do concurrent mixed-base arithmetic.
They are concerned about how to make binary arithmetic faster.
Information is the Key to Business Success!
Virtually all reporting is dated or derives from a time series calculations yet since date is
the messiest data in the computer it is no wonder:


“CEOs are overwhelmed by data that is short on insight.” From a 2010 IBM study of 1541 executives in
60 countries and 33 industries.
“Users have lost confidence in their IT organizations' ability to deliver the information they need to
make decisions.” From a 2010 Gartner Group research study, a research and advisory firm that has an
excellent reputation for analysis of IT trends.
Experts admit!
Working with current line of date/time software is difficult and error prone!


“Developers and DBAs new to xxxx date/time ( a specific vendor’s date/time of software) are often
perplexed when it comes to working with dates. Along with the many ways to specify date formats
and the many date functions, there is also the problem of date math. Working with dates can seem
somewhat daunting, especially when it comes to adding and subtracting dates, and determining the
time of day for a date.”
“Many programmers encounter assignments that require them to accurately store and process date
and time information. On first glance, yyyy date/time (a specific vendor’s date/time software) type
appears to be perfect for these tasks. However, it is common for programmers, but more likely
testers, to encounter cases where a program simply loses track of the correct date/time values.”
The Anarchy Has Increased!
In the last ten years:
 Two major vendors added dozens of new formats.

The Internet and Cloud Computing applications are being built from many different web-services
and components using different programming languages and database systems each with their own
unique data/time.
Get Smart!
Ultimate Date/Time is a unique weapon that gives the industry Control to wipe out Kaos.
“Would you believe Ultimate Date/Time does everything?”
“Would you believe it is bullet proof?”
“Out of clutter, find simplicity.” ― Albert Einstein
“Pleasure in the job puts perfection in the work.” ― Aristotle
It aids software developers who have ranked their primary needs as:
o
o
o
o
The need ranked by importance
66% in delivering applications faster.
50% in reducing application development cost.
40% in increasing standardization.
40% in increasing innovation.
The Ultimate Date/Time solution for developers
They do not have to create custom tools.
They can use less skilled programmers.
They have a single standardized date/time.
They have tools that provide new capabilities.
Averages based on the study at Gartner's Application Architecture, Development and Integration (AADI) summit in 2010 & 2011).
It improves user productivity and satisfaction by making Web-based applications faster:



It has unmatched speed in converting external date/time, that people can understand, to/from
internal date/time, that computers can understand.
It provides “options” and “exceptions” missing in many current application.
It has a revolutionary method of doing timezone conversion that is 10 time faster than anyone else.
It improves Business Intelligence (BI) and with improve and faster analytics with big data
that today result from the huge volume of data being collected, the high velocity of data
being collected and the large variety of data being collected because the format is the best
for:




Fastest sorting and indexing.
Most efficient selection and retrieval access.
Quickest interval calculation and aggregation.
Simplest support for partial dates as used in BI software.
It improves programmer productivity and innovation:


By providing programming with simpler tools.
By providing for innovation with new capabilities that were impossible or had to be custom coded.
Myths!
Real time systems give management control of their company.
Business Week wrote about how Cisco prided itself on a real-time system that gave insight into dayto-day profitability. Cisco claimed it was using the Internet to bind together its suppliers and
contract manufacturers into a seamless whole, pointing the way to the corporation of the future. In
fact, Cisco's "network organization" did little to soften the impact of the recent downturn nor did it
prevent Cisco from a horrendous, $2.2 billion build-up of inventory. The system had a gas pedal but
no brakes so that management could override the system.
Real time data is accurate data.
A BI professional with a marketing degree points out that if a grocery store on a Friday sells a huge
volume of potato chips that does not mean it can expect a similar huge sale on Saturday or even the
next Friday. One measurement of statistics is spotting unusual spikes of highs and lows (call outliers
in statistics) and not letting them distort predictions. All data has some randomness and just
collecting is quicker does not mean it is more accurate. The law of large numbers says the longer
period you collect data the more accurate you can determine the average. Time series analysis
analyzes the difference of averages by periods to determine trends.
Time series are necessary for maximizing profitability.
Calculation of business matrices requires extensive use of statistics to determine the range of
randomness (standard deviation) to minimize cost and maximize service. The law of large numbers
is that the larger the number more likely there will be random highs and lows providing a better
normal distribution. The accuracy of an interval period (like a day, week or month) requires
statistical and quantitative analysis to determine if changes are significant. Statistics calculates the
difference between sales that have double because of 20 orders than from 1 order. It also calculates
the difference between items were the orders are similar in size and items were orders that have a
large differences in size. Everything being equal the latter requires a greater safety stock and
therefore is less profitable than the former. If management wants to reduce the cost of safety stock,
reducing the latter has a smaller effect on customer service than the former. An efficient date/time
makes all of this easier and faster.
Expectations and Reality!
The most sophisticated software can’t produce business intelligence from deficient data:
“Gartner sees a big discrepancy between Business Intelligence expectations and realities” the
Gartner Business Intelligence Summit in Washington D.C. in 2009.
After 20 years BI has had surprising little success.
Peter Thomas - Award-winning Business Intelligence and Cultural Transformation Expert says:
BI tools are just the tip of the iceberg.
Business metrics requires date/time calculations:
A major BI vendor writes “Even with the best and fanciest BI infrastructure in place, users may lack
the insight they need to make effective decisions if they can’t access hidden data sources.” “Business
metrics tools are needed to uncover trends and patterns in data that exists in your data warehouses
and legacy systems. Time lost searching for such information can be substantial. Past IDC studies
found that most workers have difficulty finding such data, spending 15 to 35 percent of their time
searching. Worse, people found the sought-after information less than 85 percent of the time. The
problem is exacerbated as raw data and the variety of data that must be searched has exploded in
volume. “
Numbers are of themselves are not self explanatory.
When I was doing a consulting job at Whirlpool, they talked about one huge mistake the Whirlpool
computer system made. They made the refrigerators for Sears. Sears had a refrigerator model that
was not selling so Sears ran a special to liquidate this bunch of dudes it had ordered to be
manufactured. Whirlpool manufacturing saw the sales take off on this dude and quickly produced
another batch of these dudes.
BI software has development has made it easy to use drill down tools (place the curser on a
total and it display the details) but they are only valuable if the user knows where to drill,
which is another topic.
Wasted Energy and Time!
It would not be surprising if computers burn more cycles on date/time conversions and
computations than all the other data conversions and computations. When reading a
record a computer can use more processors cycles converting the date/time than all of the
other data fields in the record. The new date/time will:

Aid in reducing operations cost:
The Gartner Group reports, “A typical enterprise corporation will devote 35-40% of its
programming budget to develop and maintain, extract and update programs whose sole
purpose is to integrate information. “
o Enterprise operating departments are running 24×7 integrating data from different sources.
Aid in the Fostering of Reuse and Agility through standards:
o “There is a significant trend toward organizations enforcing standards …” “These advantages
reduce costs of implementation efforts while also allowing the organization to reduce skills and
training costs since there are fewer skill sets to be supported.” Gartner 2008.
o

Standards!
Today every processor from your cell phone to super computers has:



Standardized binary integers established by the IBM System 360 in 1964.
Standardized floating point established by the IEEE 754 standards in 1985.
But date/time is in disordered.
The IBM 360 and IEEE 754 succeeded because they were clearly superior and included
precise internal values. Before the IBM 360 binary integers were many different sizes and
most did 1’s complement arithmetic
The ISO 8601 Date and Time Standard is a master piece in defining external date and time
that is people readable but it has no internal computer date/time specifications. The reason
was that all know formats were seriously deficient. Ultimate Date/Time is the only software
that provides an internal specification for all ISO 8601 date type, time types and timezone
types. It is compatible with all other date/time because it has a larger date range and a
smaller time precision than any other date/time.
The Secret!
The secret was developing a mathematics technique so that the computers can add/subtract
all 16 digits of date/time simultaneously using the binary register. Each bytes will add
numbers up to 255 before overflowing.

When adding/subtracting date/time simultaneously the computer does binary (base-2) arithmetic and
therefore will get the wrong answer because date/time is:
o Base-10
for years.
o Base-12
for months.
o Base-28, 29, 30 or 31
for days (this makes a hardware solution impossible).
o Base-24
for hours.
o Base-60
for minutes and seconds.
However, if another wrong number is subtracted the correct answer results, a case where two wrongs
make a right.
o The difficulty was how to determine what wrong number must be added or subtracted. The first
version was 25% faster while the fourth version is 10 time faster.
o This mixed-radix idea is so preposterous a concept that the idea of a mixed-radix date/time
algorithm has never been proposed or even discussed.
What is a mixed-radix number?
o Wikipedia, the free Internet encyclopedia, gives the example:
The time of 32 weeks, 5 days, 7 hours, 45 minutes, 15 seconds, and 500 milliseconds
o A mathematician would write it as:

32∞5772445601560.5001000
o
The international date/time standard ISO 8601 would write it as:
P32W5DT7H45M15.500S
Too Slow!
Adding/subtracting individually each of the six fields (seconds, minutes, hours, days,
months and years) is very slow. The reasons are:

A computer can add two 16 digits numbers with the same speed as two 1 digit numbers.

The actual addition is only one stage of at least 5 stages and as many as 21 stages for the computer
instruction so the computer uses more cycles (more time) in preparation to add than the actual
addition.
 “If” instruction are stoplights to computers so for example the comparison; if seconds is equal or
greater to 60, causes the computer to stop and it must shift through the stages before it does any
productive work.

Computers have registers (high speed memory that can do arithmetic). Loading a register from
main memory is slow. Therefore if you do date/time arithmetic one field at a time it would take
these 11 steps with overflow for each of the 6 fields:
1. Load 59 seconds from slow main memory into register number 01.
2. Load 1 second from slow main memory into register number 02.
3. Add register 02 to 01 using fast memory
4. Add register 04 that contains overflow (not necessary for seconds)
5. Load 60 into register 03. The 60 is a constant so it does not load from slow memory.
6. Compare register 01 to 03 using fast memory
7. If equal or greater. Tyhis is a stop light.
8. Subtract register 03 from register 01 using fast memory.
9. Load a 1 into register 04 for overflow. The 1 is a constant
10. Else zero overflow register. The zero is a constant.
11. Store register 01 back into slow main memory.
“Do loops” allow these same instructions to be repeated for each field except for days which varies by
month and leap year. However, this increases the number of instruction and requires indexing that
makes it slower yet.
Tradition!
Almost every line of software converts years-month-days-hours-minutes-seconds to total
sequential (incremental) seconds to do date/time arithmetic.
Gregorian date
1999-12-31 23:59:59
+1
2000-01-01 00:00:00
Unix time in seconds
946684799
+1
946684800
Ultimate Date/Time
0119991231235959
+01
0120000101000000
It seems unbelievable but mathematicians have found the following formula to be faster than adding
individual fields because they do not have any “if” statements or do loops and because operations are mostly
register to register.
A fast representative formula that converts the Gregorian calendar date/time to incremental (sequential) seconds.
seconds = ((1461 * (yyyy + 4800 + (mt - 14) / 12) ) / 4 +
(367 * (mt - 14 * ((mt - 14) / 12))) / 12
(3 * ((yyyy + 4900 + (mt - 14) / 12) / 100)) / 4
+ dd – 32075) * 86400 + hr * 3600 + mn * 60 + sc
A fast representative formula that converts incremental (sequential) seconds to the Gregorian calendar date/time.
mn = seconds/60 sc = remainder
hr = mn/60
mn = remainder
days = hr/24
hr = remainder
l = days + 68569
n = (4 * l ) / 146097
l = l - (146097 * n + 3) / 4
i = (4000 * (l + 1) ) / 1461001
l = l - (1461 * i) / 4 + 31
j = ( 80 * l ) / 2447
dd = l - (2447 * j) / 80
l = j / 11
mt = j + 2 - (12 * l)
yyyy = 100 * (n - 49) + i + l
However, these formulas don’t allow adding years-months-days because of leap years and months
have an uneven number of days and days can be 23 hours or 25 hours with the daylight change.
The Impossible Made Possible!
Ultimate Date/Time does simultaneous addition and subtraction so it gets the correct
answer that humans get. Some vendors have separate routines to add years, month or
days. However, because they add/subtract one field at a time they sometimes get the wrong
answer depending on the order they are done.
The following examples show that sometimes the months must be added or subtracted before the days and sometimes the days must be
added or subtracted before months if not done simultaneously. The correct solution is underlined.
Humans
2011-06-30
+01+01
2012-07-31
Computer+D+M
2011-06-30
+01
2011-07-01
+01
2011-08-01
Computer+M+D
2011-06-30
+01
2011-07-30
+01
2011-07-31
Humans
2011-07-31
-01-01
2011-06-30
Computer-D-M
2011-07-31
-01
2011-07-30
-01
2011-06-30
Computer-M-D
2011-07-31
-01
2011-06-30
-01
2011-06-29
Humans
2011-05-31
+01+01
2012-07-01
Computer+D+M
2011-05-31
+01
2011-06-01
+01
2011-07-01
Computer+M+D
2011-05-31
+01
2011-06-30
+01
2011-07-01
Humans
2011-07-01
-01-01
2011-05-31
Computer-D-M
2011-07-01
-01
2011-06-30
-01
2011-05-30
Computer-M-D
2011-07-01
-01
2011-06-01
-01
2011-05-31
Marvel of Marvels!
The new mixed-radix algorithm with the same set of instructions supports arithmetic for
all 39 combinations of ISO date type, time types and timezone type.
Over 25 years ago, computer people for all over the world determine the computer
industry needed support for 39 = (3 + 3×4 +3×4×2) combinations of:
 ISO 8601 date types (formats).




Calendar
Day-of-year
Week-of–year
±YYYY-MM-DD
±YYYY-DDD
±YYYY-Www-D
ISO 8601 timezone types.


“Z” for UTC
former GMT
±00:00 time-zone offset from +14:00 to -12:00
At best, other date/time software supports the four underlined types.
Chance events resulted in this invention!





Although a mathematics and economics operations research major I took a course in computer
arithmetic logical unit register (special memory that does arithmetic) design from the electrical
engineering department.
The professor in this course discussed the 15% to 20% additional circuitry that would allow a binary
register to also do decimal arithmetic. It is faster to have separate registers.
The professor made the chance remark that if the Babylonian and Greek base-60 system had become
the world standard rather than the Egyptian base-10, the same technique could be used for base-60
as for base-10. The proposed solution was for octal hardware rather than today’s hexadecimal
hardware.
About a year into this project, about 4pm one day I was frustrated with the slow speed of the existing
techniques for doing timezone arithmetic, which computers do zillions of time a day. By expanding
the date range to ±9999 years and the precision of fractions of seconds to 10 digits I had made it
slower. Then by chanced I remembered my professor’s remark but realized my software solution
had to take advantage of existing binary hardware features.
o By midnight I had the addition working.
o The next day I had the subtraction working.
It took several months to get a fast method for month-day arithmetic. A super fast way was invented
to validate and also determine the days in the month and leap years without division. It is so fast the
computer usage can hardly be measured for a million validation checks. C/C++ for speed does not
check for 30 days months so June 31 will become July 1. For speed Java permits the date/time
checking to be turned off.
Developers are never satisfied!
Each version of date/time required revision of the tools to support the new abilities.
However, the line of codes for the tools did not increase because each time ways were
found to do more with less code (optimization).





Version 1 of the mixed-radix algorithm only did time zone conversion for Gregorian calendar hoursminutes-seconds and fractions-of-seconds. It was 25% faster. It eventually became 33% faster.
Next when making a presentation a developer complained, “Why couldn’t you do years-monthsdays?” Version 2 implemented years-months-days, months-days or years-days. It was 50% faster
because I got smarter at doing more with less.
Next when making a presentation a developer complained, “Why couldn’t you do fractions-of-hours
for payroll?” Version 3 added fractions-of-minutes, fraction-of-hours and fraction-of-days. It was
75% faster.
Next when making a presentation a developer complained, “Why couldn’t you do week-of-year for
production control?” Version 4 added week-of-year and day-of-year. It is 90% faster.
Now when making presentation developers complain, “Why do you want so much for ten years of
innovation?” They think for the good of computer industry I should be satisfied with the honor of
inventing it and give it away free so that they can maximize their profits. I wonder if something
happened to me tomorrow if anyone will duplicate it in the next 50 years. If I knew what I know
today I could have programmed this on the IBM System 360 50 years ago.
Explanation of the stages!
An “if” statement causes the stages to restart. The “if” here is instruction fetch and not an
“if” statement.
Basic five-stage pipeline in a RISC machine:
o
o
o
o
o
o
IF = Instruction Fetch
ID = Instruction Decode
EX = Execute,
MEM = Memory access
WB = Register write back).
In the fourth clock cycle (the green column), the earliest instruction is in
MEM stage, and the latest instruction has not yet entered the pipeline.
Scalar Vector Processor!
Although a SIMD (Single Instruction Multiple Data) processors would provide some
advantages it like using a shotgun to kill a fly because theSIMD is best for large arrays.
Most computer will have two or more SISD (Single Instruction Single Data) processors and
any SIMD processor will be shared with SISD. Also the SISD is best for calculating the
unique correction amount that must be subtracted .
Get Smart!
The industry must Get Smart and standardize with Ultimate Date/Time using the world’s
most advanced tools as weapons and by CONTROL to wipe out KAOS.i
i
Get Smart was an one of the longest running American comedy television series that satirizes James Bond and Inspector Clouseau. CONTROL
was a secret U.S. government counter-intelligence agency based in Washington, D.C. Its nemesis was KAOS, "an international organization of
evil", which for tax reasons was a Delaware Corporation.
Download