I'm thinking of applying Reflective Practice to improving my programming skills. To that end, I want to be able to watch myself writing code.
In general, what is a good method for applying Reflective Practice to the craft of programming?
In particular, if it's a good idea, is there an editor that records keystrokes then plays them back at a later time - possibly running the keys together without delays, or replaying at a 2x/4x/8x accelerated rate?
Screencasting with RecordMyDesktop is an option, but has downsides of waiting for encoding and ending up with a big video file instead of a list of keystrokes.
Update: From "watching myself code" I expect to learn what kind of mistakes I make most frequently or where I waste time while coding. Then I can work on improving those aspects. It could be certain formatting, syntax or runtime errors, or maybe long pauses that indicate I hadn't considered some issue before I started coding, or maybe I re-write entire functions because my initial design was wrong. I understand that there's a lot more to programming than the act of writing code and this won't capture all of it. As recommended I should make more design notes and reflect on those too.
Recording keystrokes may be more helpful to improving my technique in time-limited programming contests, and less helpful for improving day-to-day programming at the office.