Latest Blog Articles
- Guaranteed Copy Elision Does Not Elide Copies December 11, 2018
- Spaceship Operator August 23, 2018
- Super Simple Named Boolean Parameters July 12, 2018
- Function Template Partial Ordering: Worked Examples June 7, 2018
- std::accumulate vs. std::reduce May 15, 2018
- more...
About Me
I am a C++ enthusiast, currently writing toolchains and standards for heterogeneous systems. My CV is available here.I am from Edinburgh, Scotland, which is known for its castle, history, and unpredictable weather. I studied Computer Science at the University of St Andrews, graduating with a 1st class BSc (Hons) in 2013.
I have an unhealthy love of template metaprogramming and the dark corners of C++. This blog is intended to be an outlet for discoveries and musings on C++ and any other tools which interest me.
I am active in various community areas:
- Co-organiser of Edinburgh C++ Meetup
- Gold C++ badge holder on Stack Overflow
- C++ Standards proposals author
- Administrator of the CppLang Slack channel
Meeting C++ 2017 Talk
I gave a talk entitled "How C++ Debuggers Work" on the main track of Meeting C++ 2017.
Nov 2017Edinburgh Rust Meetup Talk
I gave a talk entitled "How Rust Gets Polymorphism Right" at the Edinburgh Rust Meetup. As of Nov 2017 it has 5000 views and was on the front page of Hacker News.
Oct 2017Blog hit 100,000 views
Oct 2017Contributed to Compiler Explorer
I wrote the Haskell mode and Clang AST viewer for Matt Godbolt's Compiler Explorer.
Jun 2017Successful EU Mid-Project Review for LPGPU2
I lead Codeplay's team for the LPGPU2 H2020 project to a successful review at the European Union.
Jun 2017Co-organiser of C++ Edinburgh
I started to help organise the C++ Edinburgh User Group.
Jul 2016-presentHSA Debugger and v1.1 Specs Released
I was the spec editor for the runtime and tools groups, and wrote the profiling APIs. I also ported LLDB to AMD's HSA implementation.
Jun 2016Software Engineer at Codeplay
Heterogeneous compiler and debugger work, mostly based on LLVM, Clang and LLDB. Also contributing to various standards bodies.
July 2013-presentBSc (Hons) 1st Class
Graduated from the University of St Andrews with a 1st class BSc in Computer Science.
June 2013Internship at eeGeo
Worked on a 3D maps platform. I used Hadoop to port ordinance survey data for the whole of Britain to the platform, and wrote a Lunar Lander game using the SDK.
June-Sept 2012Internship at IBM
Worked on the build team, implementing a build archival system, setting up automated testing, providing support for the developers.
June-Sept 2011Other blogs I like
- Eli Bendersky — The Green Place
- Jonathan Boccara — Fluent C++
- Bartlomiej Filipek — Bartek's coding blog
- Stephanie Hurlburt — Blog
- KrzaQ — /dev/krzaq
- Arne Mertz — Simplify C++
- Jonathan Müller — foonathan::blog()
- Vittorio Romeo — Personal website
- Filip Roséen — b.atch.se
- Adi Shavit — Video Cortex
- Jason Turner — C++ Weekly