A device versus a file as data container


We're interested in the Gettysburg Address and different ways it could be recorded or published. But first...

Consider the humble floppy. Now consider a file. The file might reside on a floppy, or elsewhere independent of the floppy. However, both floppy and file are made to hold data. Each is just a bucket you can fill. Now consider the humble book. The first one Gutenberg ever made, just bound pages devoid of written content. You can still get books like that in the personal journal section of bookstores. Pure whitespace. Written silence. Yours to fill in.

Now consider books that aren't blank. Some of them start out right from the first word on the first page with the novel or the essay or the speech. But many defer that till page 4. The stuff on the first 3 pages is called table of contents and is not the contents of primary interest. Those don't start till page 4, and the stuff in pages 1-3 is for keeping track of their location and streamlining the search for them.

Now consider the gettysburg address. If you want to publish it, you could do so either (a) in a book or pamphlet of its own or (b) in a larger anthology within a chapter or article of its own. If published all by itself in its very own pamphlet, it'll start right off on the very first page, like this:

Whereas if in an anthology, it's starting point will be a bit deeper into the pamphlet or book, say page 2. In any case, definitely not page 1. That will be reserved for a table of contents, which contains reference to page 2 as the Address's location. Like this:

The point is to distinguish the 2 different containers available for the Address: 1) book and 2) chapter.

Back to the floppy. Floppies work the same way as books. They can be organized two ways. They may contain a single document that starts off in the first byte. Or they can be internally organized to contain distinct units that contain separate documents, with a table of contents at the first byte. For floppies, the containing units or chapters are called "files." The table of contents is called the "directory." The arrangement for using the floppy for directory-and-files is called a "filesystem." (FAT, ext2, and NTFS are examples of filesystems.)

People are familiar with the use of floppies to contain files, but not their direct use as data containers in their own right. Natively however floppies have nothing to do with files and filesystems. Putting files onto a floppy is a purely optional way to use it. The floppy is more general than that; you can put on it any data whatsoever. But because there are few tools for using floppies without a filesystem, that usage is unfamiliar. Using floppies with files, on the other hand, is taken for granted. That's because operating systems as environments for users include filesystem support so, like public utilities, people take their services for granted.

Here is the Gettysburg Address with floppy as container:

And here is the linux command recipe for creating such a floppy:

echo "Four score... shall not perish from the earth." | dd of=/dev/fd0

Here is the Gettysburg Address with a file named "ga.txt" as container (where the file happens to reside on a floppy, though it could be a thumb drive, DVD, hard disk, or elsewhere):

And, the linux command recipe to build it:

mkfs /dev/fd0
mount /dev/fd0 /media/floppy
echo "Four score... shall not perish from the earth." > /media/floppy/ga.txt

The point is to distinguish the 2 different containers available for the Gettysburg Address: 1) floppy and 2) file. If after you build one of these floppies and want to verify these claims, view your floppy's content as a byte-by-byte dump:

dd if=/dev/fd0 | xxd | less