so 16 years ago i started keeping a journal, 14 years ago i started saving all my source code, 10 years ago i started saving regular screenshots of my projects and since then have been accelerating the rate at which i store off snapshots from originally around one every month to by the end of 2009 one image a day and one video a week. this is quite a lot of data but the rate of technological advance in storage has far exceeded the increasing rate of data i store. right now you can buy 1.5TB of storage for $100. this is insane and it makes my data set look pretty tiny and pathetic!
so to get started on the next decade i've upped the ante and created some software to help. inspired by gordon bell's research and latest book Total Recall: How the E-Memory Revolution Will Change Everything my app grabs a screenshot of my multi-monitor desktop every 15 seconds and stores it off with lots of metadata. this was actually a bit too much data for my tastes since each compressed snapshot comes out to many megabytes. so i added an additional layer of inter-frame compression similar to what is done with video and this gets me down to well under 100 kilobytes for most snapshots and it's currently trending around 100 megabytes per day. this still sounds like a lot but that 1.5TB drive is actually large enough to store that rate of data for me for the next 40 years! ridiculous right?
of course you're probably wondering what the point is... well, there are lots! for one, just like the journal it is fun and rewarding to go back in time and see what my life was like in the past and recall the things i was thinking about and doing. it helps to gain perspective on things. with this automated capture now so many more possibilities unfold. my simple playback app at the moment can already give me fast replays of the past as well as statistics on my activity (how much time spent coding, web browsing, chatting, etc). in the future i'll be able to run OCR on the data to recognize any text on screen and then be able to search effectively and quickly extract text from my computer at any moment in the past. further in the future i'll be able to feed all this into generic AI software to train it to respond, work, and think like me so i can have great digital assistants and even further in the future provide a much more accurate history and memory to my simulated consciousness after all of our brains have been scanned and moved to processors in space! :)
anyway this work is the reason i didn't make as much progress as i wanted on other projects this holiday. :P