This will date me, but my first programming experiences were working through Donald Alcock’s Illustrating Basic with my Dad! My timing at school was lucky, as I got there just in time for the first BBC Micro to arrive. Then Dad got a Transam Tuscan, and the days of hand-writing instructions to send away to be typed up were over.
At University, I was able to keep up the programming interest in my fourth year, when I did a computational chemistry project in Professor Graham Richards’ lab, for the Part II of my chemistry degree.
From there, in 1987 I got a job as a junior programmer at Cambridge Crystallographic Data Centre (CCDC). Apart from a brief 6-month stint in sales at Oxford Molecular in early 1991, I’ve been a developer at CCDC ever since.
By day, I’m now a Principal Scientific Software Engineer at CCDC.
Recent projects have included:
- leading the team responsible for delivering CSD-Xpedite
- leading the project that replaced the ASER database format.
- implementing the Polyhedral display style in Mercury.
Our continued adoption of Agile software development practices played a significant part in our ability to deliver CSD-Xpedite. (I say “continued adoption” of Agile, as I don’t believe it’s a state ever achieved, but more a continuous journey of improvement.)
When I’m programming there, it’s mainly in C++ and Qt.
With the replacement of ASER in our releases in late 2018, we archived more than three decades worth of FORTRAN 77 code, so that’s a skill that I no longer use.
I remain very proud of our Mercury crystal structure visualisation program. I was the original, and then lead, developer of Mercury from 1999 until around 2010. In December 2018 I returned to working on Mercury.
Scripting and automation
I’m passionate about using computers to save time. This means I’ve contributed to CCDC’s software build and version control systems for decades. In 2009 and 2010 I lead major efforts to streamline our release processes, which had required many time-consuming manual steps.
At work and at home, I’m a keen user and advocate of the keystroke-saving tool AutoHotKey and I dabble in Python.
I have attended a lot of evening talks organised by Software East and I really appreciate their support of the Cambridge software development community. I’ve also enjoyed the rare occasions I’ve been able to go to Skills Matter events in London.
I’ve developed quite a sophisticated system for capturing things I learn, and useful references – all stored in Markdown format, in Dropbox. On PCs, I use MarkdownPad 2 (Pro). On iPad, I use Editorial – where various customised actions provide a slick way to transfer information from Twitter and RSS feeds into Markdown. Both these applications are highly recommended.
I love folk music, and am always on the lookout for good music, both locally and further afield.
Between 1995 and 2010, I was very involved in Cambridge Cycling Campaign, including being coordinator for many years.
For years, I was a keen table tennis player in local leagues, representing Cambridgeshire, and eventually playing in Grand Prix tournaments and making it to the UK national ranking list.
These days, although still cycling, more of my spare time goes on computing projects. Besides Python and Markdown, the current focus is enjoying the Raspberry Pi that I bought in April 2013, after hearing Eben Upton’s inspiring keynote talk at the ACCU conference in Bristol.
I’m keen to support local educational computing projects, especially ones involving the Raspberry Pi.