Jason Turner: Thinking Portable: How and why to make your C++ cross platform