According to Kurzweil, the singularity (the moment when we will start to invent things instantaneously) will occur in 2045. According to me the singularity (the moment when I forget things fast than I can learn things) occurs in 2009.
Every time I start over with Ruby (or XSLT or …) I find that I have forgotten the most basic things (like how to construct an object).
Anyway, thanks to Project Euler (according to which, I am 4% genius), I had an excuse to go go back and learn Ruby all over again.
Here’s my prime number generator (which is about a third of the size of my Java version):
class Primes def initialize @primes =  @next_candidate = 2 end def prime? number root = Math.sqrt number find_primes_less_than root @primes.each do |prime| return true if prime > root return false if number % prime == 0 end end def find_primes_less_than limit until @next_candidate > limit @primes << @next_candidate if prime? @next_candidate @next_candidate += 1 end end def  index until @primes.size > index find_primes_less_than @next_candidate + 100 end return @primes[index] end end
The answer to problem #7 is @primes, in case you were wondering.