Thoughts on the original video:
Jonathan Toomim: might be interesting to have a visualization of when you planned/scheduled yourself to work (perhaps a colored bar at the bottom) and do other things, as well as a vis of what you actually did.
Some indicator of what you're doing when you're not visible would also be cool. Simple text overlaid displaying "sleep", "shower", "food", "conjugal bliss", etc. would be neat.
Also, here's an idea that I have that might or might not work. It occurs to me that simply taking one frame every minute misses a lot of available information. For example, if you walk through the room between the two frames, you won't be seen. If you spend 30 seconds yanking on your hair trying to figure something out, that could also get missed. One alternate approach would be to record normal (or low framerate, like 1 fps) video, then average each minute's frames together to produce a simulated long-exposure image. (Basically, oversample with averaging.) This would, of course, be very fuzzy and show no detail on moving objects, but you could solve that by blending the averaged frame with a plain video frame (e.g. the last or middle within that time window) at around a 20%/80% ratio. This would probably create a type of ghosting/aura effect around you when you move, but still allowing detail on your face to be seen. It would be interesting to examine how your aura changes during different activities, e.g. coding versus Skyping, as well as if there's a circadian rhythm to the aura.
Just had this idea after thinking about some old journal entries I recently read (like the one where I did 16 hours of work in one day and it was awesome) and the guy who was talking about using Chronolapse after being inspired by my timelapse video. What if I made another timelapse where I worked 100 hours in one week? That would be 14:15 of work every day: enough to leave over for showering, eating, sleeping, and a little bit of flexibility. I would blog it and try to get a bit of attention. I would get all my Beeminders ahead of the game before starting. I would trade Chloe so that she would cook things for me. I would make sure the timelapse would look really interesting, maybe even predicting in advance the music that would play so I could do certain things in time with it (timelapse head bop?). And perhaps most importantly, I would work on an open-source project (part of CodeCombat), so people could also see the code that I had written. It would be a great incentive to get a ton of stuff done, have a really really really good time, and potentially get some attention going toward CodeCombat. Hmm! Let me present the idea to Chloe. If I were going to do it, it would make sense to do it when I had a really juicy bit of work lined up that I could sink 100 hours into without getting stuck or demotivated or finished or into the horrible debugging phase, but yet would give me something tangible to show off at the end. Like the CodeCombat level editor.
It would be nice to do this after I got my new MBP, because that would have an easier time staying alive and recording all this stuff, but I guess it's not necessary. I could do this the first week in September otherwise. Third or fourth weeks of September would also work, and I might have it then (small chance), but the level editor would be done, most likely, so it'd have to be something else.
Hmm; that 100-hour-work-week isn't entirely internalized. I guess I could reframe to "work as much as possible in one week" and let my own conscience be my guide as to how much is possible. Yeah. If I happen to break 100 hours, even better. But this will keep me from failing or hurting myself.
Michael suggested adding metrics. I would love to get Telepath working to record my heart rate, and maybe even HRV / breathing. That would make an awesome indicator. What other metrics? Lines of code written? Commits? Keystrokes per minute? Hours worked so far that day? Brunch / Grunt recompiles? Trellos completed/created? Annotations of what I'm working on? Oooh, maybe the Chirp could be integrated into this, too! And I could integrate my happiness pings in there. I like Scott's star power idea; it would be like, the longer I'm focused working at a stretch, the more star power I have.
First, let me note that I had the idea of turning Telepath into a HUD that would show all my metrics, and maybe even my webcam snapshots. It would just get set to Always On Top and it would live at the bottom of my screen. That way, I don't really have to do any post-processing of the video. It could show things like what Trello I was working on, when Trellos were completed, commit messages, what I'm doing (hacking / sleeping / eating / etc.), heart rate, keystrokes, time worked, focus meter, etc. Maybe it could even show progress through the song that will be playing so that I can time things with it. Whoa, that would be cool.
If I want to make this, I should start getting it ready well in advance of my ultra work week. The webcam stuff, I was planning on doing after I got a new Mac, hoping that OpenCV would then install properly.
I'll definitely annotate the sleeping parts this time. I wonder if there would be something interesting I could display during sleeping time so that it would be less boring. (I do want to give the sensation of sleeping time passing accurately.)
I'm thinking of making a Mac app that will serve as the HUD for the video. That could clearly show the time and maybe a sun position or something. Then you'd get a sense of time speed.
I see I sent you the YouTube version, probably because it uploaded faster or something. The Vimeo version has higher res, so you can read the code (if not perfectly). I'll stick to HD for the next one. I'll be hacking on CodeCombat which will all be open source anyway, so it shouldn't matter if people see the code.
Do you think a faster playback speed would make the video more interesting? I can choose any speed I want. The last one was 1440x, or one minute per day.
Retrospective notes are a good idea. I think I'll also have the HUD display things like what I'm working on, and that will be easy to read.
I can put Emacs and Chrome in the top screen, everything else in the bottom screen, not use any separate spaces, and things will work well; I'll just record the top screen.
Damn, I lost my list of cool things I was working on to go in the HUD. I'll recreate:
http://trac.ffmpeg.org/wiki/x264EncodingGuide
rm tmp/img*.jpg; x=1; for i in @(2013-11-11*.jpg|2013-11-12*.jpg|
2013-11-13*.jpg|2013-11-14*.jpg|2013-11-15*.jpg|2013-11-16*.jpg|2013-11-17*.jpg|2013-11-18*.jpg); do counter=$(printf %07d $x); cp "$i" tmp/im
g"$counter".jpg; x=$(($x+1)); done
rm tmp/img*.jpg; x=1; for i in @(2013-11-09*.jpg|2013-11-10*.jpg); do counter=$(printf %07d $x); cp "$i" tmp/img"$counter".jpg; x=$(($x+1)); done.
/ffmpeg -r 30 -f image2 -i tmp/img%07d.jpg -y -s 2560x1600 -r 30 -vcodec libx264 -preset slower -tune stillimage -crf 18 vids/test6_00.mp4
rm tmp/img*.jpg; x=1; for i in *.jpg; do counter=$(printf %05d $x); cp "$i" tmp/img"$counter".jpg; x=$(($x+1)); done
../ffmpeg -r 30 -f image2 -i tmp/img%05d.jpg -y -s 2560x1600 -r 30 -vcodec libx264 -preset slower -tune stillimage -crf 18 ../vids/maniac_week.mp4
# From maniac dir
rm tmp/img*.jpg; x=1; for i in *.jpg; do counter=$(printf %05d $x); cp "$i" tmp/img"$counter".jpg; x=$(($x+1)); done
../ffmpeg -r 30 -f image2 -i tmp/img%05d.jpg -y -s 2560x1600 -r 30 -vcodec libx264 -preset slower -tune stillimage -crf 18 ../vids/maniac_week_dramatic.mp4
cd ../vid../ffmpeg -i maniac_week.mp4 -i cydonia.mp3 -c:v copy -c:a copy -map 0:0 -map 1:0 -map 1:0 maniac_week_final.mp4