gcmartin wrote:
The Technology Feat introduced to make save-session simpler to understand and take less space.
BTW, if I didn't already, I want to say now: "You handling of the save-session on Live media the same way as handling it on HDDs is BRILLIANT!" I wish the rest of the Puppy development community understood this technology addition and could see the advantage it offers. Its not just a change in technology, its significant in that there is now ONLY one save-session technology and it applies to Live media, removable media, and permanent media What's far reaching about this is various other extensions in the form of backup and moving from media to media that your technology addition brings to the table for our use. This technology makes "consistent" the file structures across all medias used to boot PUPs. But, we can only hope that others see the benefit as well.
Two Issues: First, the ordinary reader does not gain much knowledge from a congratulatory comment, and instead needs either a detailed description of the grand design itself, or specific links to such a discussion. That would allow the reader to address particular design issues for their real worth, instead of either joining or opposing a general fan club.
Next, the idea that all storage technologies can be shoehorned into the hard-drive conceptual model is costly self-delusion. Yes, the "drive" approach was spectacularly successful in unifying rotating hard drives and USB flash drives. Unfortunately, optical "drives" simply cannot be made to operate like hard drives, no matter what data structures are used. That leaves optical drives operating without the extra support they need and should have.
Hard drives and flash drives inherently work on small, interchangeable "sectors," and, nowadays, bad sectors can be and often are detected and swapped out inside the drive with little or no OS knowledge or involvement. No wonder such drives seem reliable and convenient (although every hard drive eventually must fail).
In contrast, optical drives work on a continuous, helical "track" where "sectors" do not exist and data replacement is not possible. The "storage errors are hidden by the drive" function which we have come to expect is simply unavailable with current optical drives. Instead, optical storage error-control must involve the OS, and probably the user as well. The general strategy is the same as is used inside other drives: we write, then we check the write for error, and if we find error, we write again until there is no error, else we store on a different disc, different drive (e.g., USB flash), or in the cloud (e.g., an attachment to an email sent under SSL), until we have perfect storage, or the user allows us to give up.
In particular, I have been loading Puppy from DVD, typically several times a day, every day, for years. (Only our beloved Win7 media system has a hard drive.) Optical problems are not hidden from me, instead they intrude. I am long past the DVD writer problems (yes, my old laptop DVD writer DOES handle Puppy multisession writes), the DVD disc problems, the -R, +R, +RW problems and so on. Instead, I experience some probability of write failure (something like 5 to 10 percent) on every optical write. Write failure is particularly disconcerting on the first save, because Puppy provides no write-check and no chance for user recovery, just failure. All this is not news.
After the first Save, once the Save button is on the desktop, I can and do use that to save, and then I mount the result and look for the new dated directory. If that does not exist, I write again, and usually that works. It is possible to Save the exact same data multiple times, and loading the extra data takes almost no extra time at all. Given a valid save, all of the OS rigamarole to "log out" is useless and silly. I just turn off the power supply, which is, of course, just what would happen anyway in a real power failure.
All Puppies which give a nod to DVD-load usage need to allow the user to provide the error-control which optical drives cannot. That means without exception automatically checking every optical write, and not ending a session until the user has successfully saved (or explicitly given up).