It's all about Knowledge Retention

When you're in the zone, everything just flows. At that point, it doesn't seem that you'd ever forget all the little things about whatever you're doing. Fast-forward six months, or in this case 2 years(!) and that isn't the case any longer. I just got stung at work and had to spend 30 minutes deciphering what happened with an issue 2 years ago. At the time I wasn't immersed in the GTD system, and so even though I saved all the related emails and all the code was in CVS, determining the 1-paragraph summary now of what happened back then took a while.

These days I spend more time writing down notes about things; much better to be saying "yeah I know that already" instead of "now wtf was going on here?" or something similar. For example, we are dealing with a PDF issue right now with one of our larger clients (under NDA; can't be specific with details but you'll get the idea). The PDFs generated by one product are fine. One they are OCR'd through a second product, then they are only viewable by Acrobat and a handful of other PDF readers that support JBIG2/JPEG2000 images in PDFs. Of course, the intended target viewer is using an older 3rd-party component that doesn't support that format. The newer version does, but the intended target viewer won't be upgrading any time soon. So, the task now is to figure out how to convert formats without wasting 25MB of disk space per PDF. This may not sound like much, but we're talking 100,000+ NEW documents a day, so it does add up rather quickly.

OK, I'm rambling due to caffeine. The point is, for this project I started a plain text file called "notes" that simply states the above (with exact names instead of being vague). I included sample files of "good" and "bad" PDFs. Once I get it resolved (my money is on GhostScript...) I will include the resolution. That "notes" file will stay in the source code in CVS so in 2 years I or someone else will be able to quickly discover 1) what was the issue and 2) what was the resolution.