Computer Programming

For more than twenty years, I have been a programmer; working through the rise of the Internet, then that of mobile devices and, now, of cloud computing. Like many programmers of my generation, I first began programming as a teenager and, all these years later, I still love to be creative with computer code. Mathematics, however, was where I focused my formal education and, as a result, I have a somewhat mathematical approach to programming. In particular, I have always enjoyed using aspects of Graph Theory and Set Theory.

It was at the University of Aberdeen, Scotland where I read Mathematics. My studies included a mix of subjects from pure mathematics, such as Number Theory and Discrete Mathematics, to applied topics, such as Electromagnetism and General Relativty. My thesis was on Differentiation and the Absolute Continuity of Functions, which is a part of Calculus.

Throughout my career as a programmer, I have worked on a variety of interesting technical problems, including: a word processing engine; a spreadsheet engine with an accompanying interpreted programming language; an in-memory database for storing and querying multi-dimensional data (aka "cubes"); a proprietary TCP/IP client-server file transfer service; and a statistical calculation web service for predicting the risk and returns of pension funds.

Originally from Scotland, I now live with my wife and daughter in the Pacific Northwest region of America, where I work as a programmer at Apple. I am one of the programmers of the word processing engine underlying the iWork suite of applications, running on both MacOS and iOS.

PS - In case you are wondering how to pronounce my name, the "bh" is pronounced like a "v". My name is the Scottish Gaelic spelling of the name "Gavin".


I am an amateur artist, working with acrylic paint on canvas and charcoal on paper. I tend to focus on figurative and portrait work, trying to create pieces that have relatively simple but engaging compositions, colours and lighting.

You can see some of my paintings and drawings here.

Heavy body acrylic paints, produced by the English company Winsor and Newton, are my paints of choice. I use a limited palette of colours, consisting of: French Ultramarine Blue, Pyrrole Red, Naples Yellow, Yellow Ochre, Lemon Yellow, Burnt Umber and Titanium White. I've found that using a limited palette is a good way to learn about colour theory and colour mixing.