contact: tomg@tomfoolery.org