The most effective debugging tool is still careful thought, coupled with judiciously placed print statements. -Brian Kernighan