john porteus