I'm hand-dyeing yarn right now.
Edit: Modus Operanti: First, I soaked a hank of merino laceweight yarn for about forty minutes in lukewarm water. While it was soaking, I mixed green food dye with a touch of blue food dye into about two pints of water. I added citric acid as a fixing agent. I heated up the dyeing solution in an old stovetop pot. When it was very warm (but not boiling), I took the soaked yarn and gently put it into the warm dye. The idea is not to agitate the yarn because agitated yarn = felt. I let the yarn simmer for about 35 minutes until I saw the liquid running clear. I turned off the heat and let it cool for ten minutes. The yarn was rinsed gently in very warm water as temperature shock would cause the yarn to felt. And now the yarn's drip-drying, huzzah!
I'm reserving judgement on the end result but at least the merino's no longer pale yellow-green..