Merged changes from ZH Hackergarten.