Index  Comments

Under review is this document.

Many of the VPRI documents make for a pleasant, or at least an interesting, read. One VPRI goal was ``to reinvent personal computing in 20,000 lines of readable and maintainable code'' and the reading on that is also recommended. This document, however, covers the design of a format for preserving a program for any archaeologists alive in the future, for hardware and minds possibly quite different.

The opening example of an old book over nine centuries old being more accessible than a similar work mere decades old is so powerful, and this example haunted me long after the rest had been forgotten.

The base idea is a medium with a label explaining how to use enough of the medium to extract another description, which then describes how to load the remainder of that medium in a way an archaeologist could carry out ``in an afternoon''. I was immediately reminded of a talk Alan Kay gave, mentioning a means for understanding tapes by having each tape also hold the programs that manipulate the data.

It's a fun idea, although I don't believe the authors carried it out very well, through their Chifir virtual machine design. I'd much rather see the ``von Neumann Machine'' fade away. I'll praise the design on one quality, however, that being a lack of registers, instead revealing only a vast memory for storage. The capabilities of this virtual machine remind me of CHIP-8, and the archaeology I've done with it: finding programs only shown as sexadecimal dumps and then thoroughly documenting them.

I agree with an acquaintance that programs should be simple enough to be understood without help, if needed, but this paper doesn't once mention the idea of an archaeologist scanning over the bitstream to understand the medium; considering modern archaeology, this archaeologist seems to be so lacking.

I believe the only good way to store a program in the long term is through a book, intended for men, and such a book may use abstract concepts expressed in human language, nice graphics, or through any other useful means. This shouldn't be ideal, but the fools controlling computer systems make it so.

However, another thought is that my method of tabular programming could be useful for such a medium. Aggressively reducing a program to passive data is suited to vast memories and easy exploration, and also permits expressing what code remains in as clear terms as possible, rather than in some virtual machine which merely happens to be easy to implement. This approach arguably combines with the book approach, but without the need to have any future archaeologist input a large amount of information.

In sum, the twelve-page document is worth reading and can help readers foster some intriguing ideas.