codesource is pretty good. i've got a few complains about it but it sure beats searching through dozens of binders of codes just to find you never bought the one book you desperately need right now.
http://www.lockcodes.com/
doesn't look like much but don't be fooled.
is very good for the price and you don't have to worry about buying updates, it is also usually better organized and has codes that even an up-to-date codesource doesn't.
codesource is great for the fact that you can do bitting searches (if you have partial cuts and want to find possibilities for the remaining cuts)
once you do that it will even let you print a cutting tree.
both of these programs will even let you print out hpc cards.