[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: the gain-maximizing flaw




>>>>> "Roberto" == Roberto Verzola <rverzola@phil.gn.apc.org> writes:
    Roberto> In large software systems perhaps. But in controllers and
    Roberto> embedded systems, maximizing ROM- and RAM-space remained an
    Roberto> important consideration in the 80s. Even with the PIC
    Roberto> microcontrollers of the 90s, the limited memory space available
    Roberto> makes space savings a significant issue, and this can still
    Roberto> tempt a programmer to maximize space by using 2-digit year
    Roberto> fields.

  Bigger controllers are available, and have been available for some
time. This is *CLEARLY* a case of gain-maximization. It is also called
making engineering tradeoffs. They are not made in isolation: they
emerge from a business plan.

  Further, if only two bytes are available, then store it in binary.
That way you get 64k years. If one byte is available, you can store
year since 1900 (or better 1980) and get it useful until 2156 or 2236.
If you have so little CPU that you can't afford to do binary to
decimal conversion, then you reconsider having year in the system at
all.

  So, I don't even think you should "hedge" you point at all here.

    Roberto> Paul Swann just posted an account of how the Pentagon set the
    Roberto> standards (2-digit year) for DOD projects, and big business had
    Roberto> to follow suit. The DOD wanted more "bang for the buck", and I
    Roberto> would presume that big business conformed because they wanted
    Roberto> those DOD contracts.

  I would be interested in seeing copies of these documents posted
somewhere.

    Roberto> The alternative I propose is to tilt the balance back in favor
    Roberto> of risk-avoidance (and risk-minimization, for those who care to
    Roberto> apply their computational prowess) in our own rulesets, and not
    Roberto> to let the pure gain-maximizers to rule our lives.

  I think this is a definitely important thing.

    Roberto> Perhaps you can appreciate the gain-max. vs risk-min. debate
    Roberto> better if I restate it as a debate between efficiency and
    Roberto> reliability, which you must admit is a recurrent debate among
    Roberto> programmers/systems designers.  You must have your own stories
    Roberto> to tell about how some programmers just love to write
    Roberto> "efficient" routines using all kinds of tricks and
    Roberto> short-cuts. (Alan Greenspan -- now chair of the Federal Reserve
    Roberto> -- apparently was such a programmer, according to the article
    Roberto> posted by Paul Swann.) And you must know how the debate has been
    Roberto> generally settled. In instances where the debate is settled in
    Roberto> favor of efficiency rather than reliability, the result is often
    Roberto> a buggy, unreliable and crash-prone system. The Millennium Bug,
    Roberto> of course, is the most spectacular example.

  There are actually three axes, or rather, two versions "efficiency".
    Speed of execution of program (traditional efficiency)
    Reliability
    Speed of creation of program (programmer efficiency)

  If you have ever used any commodity operating systems+word processor
on a 300Mhz, 128Mb Pentium, wondered why it is slower than your
Mac/Amiga/Sun3 of the 1985 era, and then seen it "blue screen" when
you do something "complicated" then you have observed which is the
most important of the three axises.

   :!mcr!:            |  Network and security consulting/contract programming
   Michael Richardson |         Firewalls, TCP/IP and Unix administration
 Personal: http://www.sandelman.ottawa.on.ca/People/Michael_Richardson/Bio.html
 Corporate: http://www.sandelman.ottawa.on.ca/SSW/
	ON HUMILITY: To err is human, to moo bovine.