Après des études à Édimbourg, il rejoint en 1840 le Bengale, où il travaille comme ingénieur. Il devient secrétaire d'un colonel pendant la guerre contre les Sikhs. Il participa en 1858 à une mission militaire dans le Royaume d'Ava en Birmanie, d'où il rédigea un récit sur cette mission à la cour royale d'Ana.