Makes sense Chris, that old XSI article pretty much has the formula posted on it.
I never considered doing it in reverse. But someone smarter then me could probably answer that better.
From what i read in the code there is an issue (I think) with the distance2 and distance call
either by removing or changing the calls to distance2 alltogether or just changing
stretch = distance / newlen;
to
stretch = distance2 / newlen;
I really don’t know myself unless I try and mess with the code and compile it.
I’m also not sure if the code is changing the length of the bones themselves or adjusting the effector or both.