@coreplayer2: I'd have to agree, but I'm "sticking to my guns" when it comes to dependency-less... and now have a completely working app called "FlashCache" which I'll be submitting once I've had a chance to do more testing. The goal here is to have something which could be implemented directly into Core (4KB) which could serve a multitude of time and resource savings (especially the idea of flash-based writes... which most of us take for granted) and be as slim as possible to reduce overhead and redundancy.
diff works "well enough" to do the job at hand, just requires a little finesse when it comes to parsing the results as it doesn't take file names into account (ie: the dreaded space) so I already know someone out there is going to find out the hard way should an app choose not to live up to 'nix naming conventions. I haven't done so yet, but it's on the to-do list to baby-sit such things before they become problems. (I could re-write the diff function... but that also defeats the concept of dependency-less as a custom diff would in itself
become a dependency.)
Example outcome (which I've been picking on the default firefox.tcz as it does the most damage to user-experience on a flash based device thus far) :
I have about 128MB worth of combined cache items in tc/.cache, tc/.mozilla and tc/.local and when running with persisting /home, it's "OK" at start, though firefox lags 'x' number of seconds before it even launches setting up profiles, etc. with no clue to the user it's even trying to start up, giving the user reason to "click on it again!" thus causing another process to be launched, also doing the same job. These "cache" locations are moved off to RAM at boot before X launches... where virtually every flash drive out there READS a lot faster than WRITES, so it's reasonably fast copying 128MB from flash to RAM. Doing so, fox loads up in just a second or two (now writing to RAM instead of the flash drive) and now I can surf some of the more heavily flv or graphics sites with almost no flash-drive activity at all.
Someone's going to claim "Don't save the cache!" As much as I'd love to agree, sometimes it's more prudent to "download-once, use many" depending on the environment needed.
Someone else is going to scream "That's what filetool is for!" 128MB of cache currently contains 9,000+ files. MyData.gz takes up less space and is already implemented... but doesn't seem to bode well with tens of thousands of files when it comes to copying from GZ to RAM -- so far my tests show direct-to-ram is less intensive and possibly a bit faster. Time will tell in the end, though. It's also going to be entirely useless if you just back up the /home directories for peeps who save their files there. A few MP3s later and filetool loses its intended efficiency.
The rc.shutdown script is updated by the extension to reverse the cache2ram process. During shutdown/reboot we want to copy those files back to the flash drive, but there's no sense copying files that haven't changed (thus the diff) which so far has been very painless. Since Fox can be told to empty its cache, the shut-down will simply delete any files on the flash drive which are no longer located in the FlashCache and viola'... we stay clean at the same time.
Try installing TC on a flash drive and set tce=flash opt=flash home=flash and local=flash. Install X and firefox. Open fox and once it finally opens, open a few different tabs to heavy graphics sites, animated flash sites, etc. and by the time you've hit the fifth tab you'll already feel the system lagging as the flash drive struggles to keep up. OoO is likely going to have a similar effect since it auto-saves documents every so many seconds/minutes and a 5mb file being saved every couple minutes can easily add up, not to mention cause a great deal of write-cycles being spent unnecessarily.
Someone out there is going to say "Then just don't persist home/local!"
I'm working on a method for a hybrid home directory (ie: simply linking things like /home/tc/Desktop to /mnt/sdXX/home2/tc/Desktop) but there's no "standard" for where documents are placed/saved, thus a high risk of them vanishing when the device is removed. Give it time...
Thanks for your feedback and take care!