Here's another ray tracer I did, just to see what Ruby is like. The shadows look noisy because Ruby doesn't translate to very fast code, and I don't really feel like waiting all day for the shading to converge.
If something is horribly wrong with my Ruby programming style, let me know!
I wrote it on Windows, but it should work wherever. I run it on the command line with "ruby main.rb". It outputs a PPM file which you can then convert to something like PNG.