Category: Technology



These days everyone talks about conforming and portable C++. Compiler vendors celebrate increasing conformance. Committee agents blind us with new shiny toys coming to the language. But there is a darker side to C++. A C++ you are not supposed to know about. What if I told you there was more to C++ than what the agents of The Committee want us to believe? Over decades programmers all around the world have added features to the language in form of compiler extensions that let us do even greater things. Some are completely new, and some are lifted from C to C++ to allow some interesting, and sometimes more efficient, application. We will see how statements can become expressions, how "goto" with extra superpowers can make your programs faster, and why there exists an operator named after a famous rock star. These are just a few examples of what to expect as listing any more would draw unwanted attention from The Committee. Unfortunately, because these extensions are not part of ISO C++, using any of them comes at the expense of portability. Or does it? EVENT: CppCon 2019 SPEAKER: Miro Knejp PUBLICATION PERMISSIONS: CppCon Organizer provided Coding Tech with the permission to republish CppCon videos. https://www.youtube.com/watch?v=9cPU1NdsgDQ



How do you know whether a parameter you're passing or a result you're receiving can be null? With nullable reference types in C# 8.0 the answer is no longer "read the documentation": It's right there in the code, and C# will tell you when a null goes where it's not supposed to go. We'll look at the feature and how to embrace it in your own code. PUBLICATION PERMISSIONS: Original video was published with the Creative Commons Attribution license (reuse allowed). ATTRIBUTION CREDITS: Original video source: https://www.youtube.com/watch?v=TJiLhRPgyq4&t=19s https://www.youtube.com/watch?v=L2BvrXnaOy0



Security vulnerabilities allow software to be manipulated in such a way that it misbehaves to the benefit of an attacker – security vulnerability mitigations work to thwart attempts to successfully exploit such a vulnerability. This landscape is continually changing in both the types of attacks and the required mitigations. While the last decade saw buffer overflows as a primary source of attacks, Return Oriented Programming (ROP) and Blind Return Oriented Programming (BROP) attacks pose new threats. Over the last 20+ years, OpenBSD has essentially been a research and development playground that has designed and implemented such mitigations, in both the kernel and userspace. Many of these mitigations have made their way into other platforms, including Linux, Microsoft Windows, iOS and Android. This talk will look at various long standing mitigations such as W^X and Address Space Layout Randomisation (ASLR), before moving on to more recent developments such as pledge, unveil, KARL, trapsleds, retguard and MAP_STACK. EVENT: linux.conf.au 2019 — Christchurch, New Zealand SPEAKER: Joel Sing PUBLICATION PERMISSIONS: Original video was published with the Creative Commons Attribution license (reuse allowed). ATTRIBUTION CREDITS: Original video source: https://www.youtube.com/watch?v=9-uNC4-RbQM https://www.youtube.com/watch?v=_pOr5AWRP6g