To finish 2017 in style, IMC held a December C++ meet-up at our Sydney office featuring two talks. The keynote by one of IMC's senior developers, Dave Gittins, entitled The Missing Link—The curious symbiosis between C++ and the linker, examined the relationship between the C++ code we write, the binaries ultimately produced, and the linker's role in getting us there.
With a good dose of live coding, Dave led us through a series of real-life scenarios helping us to understand what the linker does, what it means for something to be odr-used, and how the different ways we define variables and functions affect how the compiler provides symbols for the linker. By the end of the talk all 100+ local C++ experts had a better understanding of linkage, and went into the break with a renewed confidence in being able to understand and fix linker errors. No longer will we fear the linker!
After the break Andrei Tarassov, a senior software engineer and architect at Optiver, recounted a personal journey in his seasonally themed talk A Tale of One Exception. Facing a situation many C++ developers have had to deal with, Andrei demonstrated his gdb skills by demonstrating how to debug a core dump with a re-thrown exception. Weaving his way through thread local storage and standard library structures, Andrei finished the talk with some valuable advice on debugging and how to improve error generation and handling.
With an overwhelmingly positive response to the night, we look forward to the next meet-up in 2018 and, given some encouragement, a part two of Dave Gittins' talk examining dynamic linking.
As always the enthusiasm of the community of C++ developers in Sydney was infectious and the post-presentation discussions were both enlightening and challenging. In our drive to engage the tech community, we're making both talks available to all. At IMC we foster creativity and personal development of skills through weekly internal presentations. Extending these ideas to the public by hosting meet-ups, we are proud to play a part in strengthening the local C++ community.