Poster was written by Jos van Eijndhoven in 1995, and has been popular among PostScript users ever since. 
Please note that Jos is no longer at Eindhoven Univ of Technology, and the email address @ele.tue.nl is no longer valid.
