Set aside some time this weekend, between studying programming and chess, to fool around with chess programs.
On Saturday Sancho volunteered two and a half hours of his time to show me some of the myriad features of CB9. We went over downloading new chess games, how to merge them with my reference DB without incuring duplicates, setting up an opening book, importing games into critical positions, and more. Next time he says he'll show me how to use the training feature to do puzzles. If you guys have any questions on CB9, Sancho is your man.
The other program I dedicated some time to was CPT. After using it for half a year there were some things that bothered me about the program. Such as not being able to move around sub-rep tabs or renaming sub-reps, etc. So I fiddled around with the files until I learned how to do some of those things. It wasn't pretty. It kind of reminds me of the bit-twiddling with C++ casts that I am currently learning about. At one point I thought I had deleted some of my hard earned work until I figured out how to recover it. The program uses XML and it was my first experience with the language. Similar to HTML I guess, but Jim could probably tell you more about it.
In all a productive weekend. In the future I'll post any neat features I come across in CB9 in case it would help anyone with that complex program.