I can't recommend a tutorial, but I can give you a solution.
Create a curveInfo node ("createNode curveInfo").
Attach your spline curve's worldSpace[0] to the curveInfo's input.
The curveInfo node will provide an output called arcLength, which is the length of the curve. Use a multiplyDivide node to divide this length into the appropriate number of sections, and connect that to the joints' scaleX so that they expand and contract along the curve as it changes length.
Connecting to the translateX of the joints will have nearly the same results, but if you bind to it you'll find that the bound joints won't get scaled, so they'll tend to clump at the joints, if the curve stretches much.
You probably also need to break all the inverse scale connections that are created between the spine joints by default. Been a while since I've done this; can't remember for sure.
If you want to be slick about it, also drive the scaleX andZ of the joints based on the arcLength, so that the bound mesh will thin out as it stretches, maintaining its volume.