See also #1197 Code listing in book 1 has a caption referencing `random_in_hemisphere`, but it should be _on_hemisphere.