In the vein of relentless self-improvement, one of the neatest things I’ve come across lately is Project Euler. It’s a list of now 251 problems in math, programming, scripting and algorithms. Sometimes the problems are more in the vein of what Doctor Who called “recreational mathematics:”
Find the sum of all products whose multiplicand/multiplier/product identity can be written as a 1 through 9 pandigital.
to more lexicographical things:
If all the numbers from 1 to 1000 (one thousand) inclusive were written out in words, how many letters would be used?
At any rate, it’s a really great set of problems and good programmatic and analytical practice. Like Problem 67 where the difference between a brute force attack and an efficient solution could easily be “over twenty billion years.”