In my job I develop CAM (Computer Aided Machining) software. To be honest there are very few decent resources on the web for it and it is a very closed development arena.
There are some people out there trying to change this. There are two developers (who I used to work with) called Julian Todd and Martin Dunschen who believe in open-ness in development. They have a great little blog here. You can also try out the online version of their machining algorithm.