Subject: Y2K is over

From: [email-masked]
Date: Thu, 20 Jul 2000 13:05:33 -0400

> Hal wrote on the [email-masked] list:
> 
> ... We have had many complaints that the current variable-length
> packet-length mechanism is somewhat over-engineered for the purpose.
> Still, almost all subpackets are short enough that one byte is enough
> for the length, so you do save a few bytes by using the compressed
> length encoding.

Benefits from saving a few bytes in PGP sigs:

    PGP users                                   4 M
      (original business plan claim)

    bytes saved per sig                         3

    sigs per user                             100
                                              ---
total bytes saved                             1.2 G

Costs of saving a few bytes in PGP sigs:

    Cost of coding weird length field           1
    Maintenance factor of complex code          5
    Independant implementations                10
                                               --
total hours spent                              50

balance sheet

    value of 1.6 G bytes
      ($200 IBM 20Gb drive, y2k)              $12

    value of 50 hours programming
      ($100 per hour, y2k)                  $5000

    net gain (loss) to society
      from the Zimm Buddism
      ("every byte is sacred"):            ($4988)

The 2nd millenium is over.  Save programmers, not bytes.

kryptoBunny

---

From: Jon Callas <[email-masked]>
Date: Thu, 20 Jul 2000 11:38:05 -0700

The byte savings you put assumes that you have a disk with a 1 byte block
size. Typically, block sizes on disks are larger. Suppose you have a disk
with an 8K block size. Changing a file from 3000 bytes to 2999 bytes saves
nothing. You only really save space if the file that contains a structure
changes the block count of the file.

There's another effect, too. And that is the code size. Saving 1 byte of
data at the cost of 200 bytes of code is probably not cost effective
because memory is more expensive than disk, and a large code size may
preclude using small devices, like pagers, iButtons, etc. Data is
transient, code is resident.

So yeah, what you said. Saving a byte isn't worth it. If it were up to me,
I would deprecate anything but the 5-byte lengths. Small devices are better
served by only using 5-byte lengths.

	Jon

---

From: [email-masked] (Bodo Moeller)
Date: Sun, 23 Jul 2000 14:44:17 +0200 (CEST)

Jon Callas <[email-masked]>:
> [email-masked]:

> changes the block count of the file.

But in this case you save 8K bytes at once.  If the file size modulo
the block size is roughly uniformly distributed, then you have expected
savings of one actual byte of disk space for each byte of file size.

(Actually it's the fragment size, not the block size, that counts.
Since 4.3 BSD, file sytems don't waste a complete block for the final
bytes of a file.  Instead a block can be shared for the final
fragments of multiple files.  This is more likely to be 1K than 8K,
so even if you usually have rather short messages you will often
use more than one fragment.)

Also there can be multiple signatures in the same file (mbox for example).

And some folks even back up their disks (often using compression so
that block sizes are not an issue).  Tapes are cheaper per GB than
hard disks, but there'll usually be multiple copies of the same files.