So I registered on http://projecteuler.net/" and I must say: it's quite addictive! I didn't expect it to be that much fun. I'd like to share what things I've learned from solving the problems: - When solving a problem you get access to a thread. I was impressed how different the approaches are. People use "crazy languages" like K where the code looks like this: */_*a@&1000=+/'a:b,'(_sqrt+/)'b*b:,/n,/:'1+!:'n:!1000 - http://en.wikipedia.org/wiki/Memoization" [Broken]: Use results that you've calculated before - Using http://psyco.sourceforge.net/" [Broken] (a Python compiler) improved the Python performance of one my programs by a factor of 4. - C++ is much faster than Python. But Python can handle really big numbers. I will probably have to learn using http://gmplib.org/" [Broken]. - Java is fast. But the BigInteger datatype is slow (maybe I used it in the wrong way?) and hard to use What did you learn (for example what kind of techniques boosted the speed of your programs)? What programming languages do you use and prefer?