I've had this idea to dye my own sock-block of yarn. So previously, I got a hobby knitting-machine. I chewed through almost 500 yards of yarn in an afternoon on the knitting machine, fashioning it into a two-stranded knitted block to dye. This method gives you two strands of yarn with exactly the same pattern of color on them, so the socks will match. Then I worked from a Knitty article on dying a gradient into yarn. Wilton's Royal Blue food coloring and some white and rice vinegar (I ran out of white--oops!) and I have a gorgeous block of yarn ready to go.
To try and get more variation, I dissolved my dye in only about 1/2 cup of water for each addition, and I carefully poured it down only one side of the pot. Diffusion still meant that dye spread out through all the water, but I definitely have areas of greater saturation throughout. The dye doesn't work evenly through the knitted yarn, either, so there are lighter flecks where each strand of yarn presses up against the next. I'm really excited to unravel the block and wind it into two balls of yarn to knit as socks.