in reply to math and perl question
It depends on what kind of programmer you want to be and what kind of person you are. People like Dominus and blokhead, who have training in rigorous math, are capable of explosive new insights that have the potential to innovate, of writing programs that solve very difficult problems with limited resources, of writing new types of programs. They are future-proof. For the typical poor ass of a "programmer" out there, such as myself, carrying stones from the quarry day in, day out, who is content to produce the next boilerplate web application and to work around problems without necessarily understanding them deeply, good math is not necessary.