Initial commit of exercise 30

From Zed Shaw's LPTHW.