From here: http://danielwestheide.com/scala/neophytes.html