Weir, John George, Captain