It's been mentioned here on Less Wrong before, but I'll recommend it again - Project Euler. It's a set of 300+ math problems that are to be solved by designing an algorithm to run in under a minute.
Getting into Project Euler last summer is likely the best move I've ever made to improve my programming skills. I'm not a programmer, but coding skills come in handy in lots of places, so I started working through the PE problems as means of learning Python.
Since I started I've replaced almost all my casual reading with research into algorithms and math, and I've gone from a Python novice to a fairly advanced user without it ever seeming like work. Getting the right answer makes you feel smart, which is an ego-stroking way of making you continue.
Subscribe to RSS Feed
= f037147d6e6c911a85753b9abdedda8d)
I don't drink (and never have).
For (1), when asked why I don't drink, I say "I don't know. I don't smoke either." People seem to recognize that some people just don't like to smoke, and that this type of thing carries over to other voluntary activities.
When I get a disdainful look or am being chided for being a stick in the mud, I steel myself by remembering Richard Feynmann's wife's exhortation: "What do you care what other people think?"