[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Total recall undo and redo!
- To: firstname.lastname@example.org
- Subject: Total recall undo and redo!
- From: Porttikiven Anssi <email@example.com>
A few ideas at this historical moment when we have a chance to do things which can only be done at a genesis of a new OS: Idea 1 - A possibility to undo everything (except a luddite hammer blow) An old idea of mine: a system which would let you undo anything, at the level that it would track all changes to memory and disk, at some reasonably low resolution to make it practical. File "saves", "deletes" and "renames" would be undoable (=automatic version control). Window functions (window size & location changes) would be undoable. The total system state of any process, including memory and corresponding file versions, would be monitored by a background program which would, processor load and file space permitting, save change deltas of memory images to a disk. The priority of the undo monitor could be made lower or higher, depending on the desired level of "backupability". Priority could be made higher for some desired processes, like those speaking with an untrusted party like a human being or with any badly behaving components. As a typically Inferno-genial idea the guys implemented separate memory pools for different priority data. This gives a possibility to handle them differently, say, to ignore screen graphics which can be regenerated from the saved state. There would naturally be a possibility to save and resume state of all processes at shutdown so that you would never have to quit programs just to shut down the machine. Only now we can dream of this when we have a system like Inferno wich is not leaking memory and which is reliable enough not needing to be restarted a couple of times a day. This scheme always used to give me some provocative thoughts of why "disk" should be any different from "memory", if both can made to appear to survive a powerdown? Why not relate to all memory - RAM and disk - as one pool of bits? Why not to equal the concepts of windows, documents and files to a single concept, say, "object" and let the machine worry if it is in the RAM or on the disk? Why to "save" anything, ever, if all memory appears permanent? Idea 2 - Never having to do same series of interactions twice While I am at it, how about this: a keyboard driver which can recall any previous "word" or a "phrase" by the user typing its first characters, across user sessions? Detailed spesification is open for debate. You could also pick up recallable history from output characters, e.g. the words in the current window. We should probably include symbolic actions done with mouse. Yours, Anssi the global village fool