There are links on some of the previous replies that have some pretty interesting stuff, but nothing beats another programmer. Ask Garfield for advice and of course, use this post. But, if you can find a person who is extremely good with it, you will learn a great deal of experience. Links and tutorials get you started, but finding another programmer is the best resource