{"id":2186,"date":"2024-04-06T10:36:36","date_gmt":"2024-04-06T09:36:36","guid":{"rendered":"https:\/\/www.nuonsoft.com\/blog\/?p=2186"},"modified":"2024-04-06T10:36:38","modified_gmt":"2024-04-06T09:36:38","slug":"pure-virtual-c-2024-conference","status":"publish","type":"post","link":"https:\/\/www.nuonsoft.com\/blog\/2024\/04\/06\/pure-virtual-c-2024-conference\/","title":{"rendered":"Pure Virtual C++ 2024 Conference"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/nuonsoft.com\/images\/blog\/PureVirtualCpp.png\" alt=\"\"\/><\/figure>\n<\/div>\n\n\n<p>Pure Virtual C++ is a free one-day virtual conference for the whole C++ community. This year it will run on\u00a0<strong>April 30<\/strong><strong>th 15:00 UTC.\u00a0<\/strong><a href=\"https:\/\/developer.microsoft.com\/en-us\/reactor\/events\/22077\/\" target=\"_blank\" rel=\"noreferrer noopener\">Sign-up for free<\/a>\u00a0to get access to five sessions on the day and a host of pre-conference content.<\/p>\n\n\n\n<p>Here is the list of sessions:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Automated Testing of Shader Code with Keith Stockdale<\/strong>&nbsp;(Rare) \u2013 Rare has a rich culture of writing automated tests for their game and engine code. The \u2018Sea of Thieves\u2019 project has hundreds of thousands of automated tests that exist to validate behavior and to ensure that bugs are kept to a minimum, as we continually deliver an ever-changing experience to players. Among this large test suite are tests that validate and verify shader code. This session explores the new Rare Shader Test framework, describing how tests are written for shader code. The talk will also delve into the C++ and HLSL implementation of the shader testing framework to discuss the design goals of the system, and how we are using C++ to meet these design goals.<\/li>\n\n\n\n<li><strong>Message Handling with Boolean Implication with Ben Deane&nbsp;<\/strong>(Intel)&nbsp;\u2013 Message reception and dispatch is something common to many codebases. This talk&nbsp;shows the unreasonable effectiveness of going back to basics and really&nbsp;understanding and unlocking the power of Boolean algebra in the design of a&nbsp;message handling library.&nbsp;We\u2019ll talk about composing predicates on messages and manipulating them at&nbsp;compile time in order to do the least work when dispatching them at runtime.&nbsp;Particularly we\u2019ll introduce implication, develop an intuition for this&nbsp;lesser-used Boolean operation, and see how it is key to a generic approach for&nbsp;simplifying predicates.<\/li>\n\n\n\n<li><strong>I Embedded a Programming Language In Debug Information with Sy Brand<\/strong>&nbsp;(Microsoft) \u2013 DWARF information on Linux provides debuggers with a bridge between high-level source code and the machine instructions generated by the compiler. As part of this, it describes how to locate variables within your program at runtime using a language called DWARF Expressions. When implementing a parser for DWARF Expressions I thought \u201cthis seems suspiciously Turing-complete, can I implement a programming language inside this?\u201d It turns out the answer is yes. In this session you\u2019ll learn how debug information and executables are stored on Linux systems and how I managed to (ab)use them to implement a programming language interpreter that runs when you ask your debugger for the address of a variable.<\/li>\n\n\n\n<li><strong>Enhancing C++ development with Copilot Chat with Sinem Akinci<\/strong>&nbsp;(Microsoft) \u2013 Copilot is an AI-powered pair programmer integrated into Visual Studio and VS Code that can be there to assist you at many different points in your C++ development journey. In this session, we\u2019ll introduce Copilot and Copilot Chat, share tips for achieving the results you want, and provide different use cases for using these tools. Then, we\u2019ll see these tools in action in C++ code in Visual Studio as we tackle a variety of problems from navigating and understanding code to refactoring existing code.<\/li>\n\n\n\n<li><strong>Progress Report: Adopting Header Units in Microsoft Word with Zachary Henkel<\/strong>&nbsp;(Microsoft) \u2013 Microsoft Office is a huge C++ codebase with nearly 100 million lines of native code. This size provides a constant challenge to build the product as quickly as possible. C++20 header units are a way to receive many of the benefits of modules, while still working with a codebase originally designed for classic header inclusion. At CppCon 2022 we announced that Office would investigate header units with the goal of improved build throughput. We\u2019re excited to present the results of that work for the benefit of the C++ community at large. In this session, we\u2019ll share build performance metrics for the first time.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Pure Virtual C++ is a free one-day virtual conference for the whole C++ community. This year it will run on\u00a0April 30th 15:00 UTC.\u00a0Sign-up for free\u00a0to get access to five sessions on the day and a host of pre-conference content. Here is the list of sessions:<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,18],"tags":[215],"class_list":["post-2186","post","type-post","status-publish","format-standard","hentry","category-c","category-events","tag-c"],"_links":{"self":[{"href":"https:\/\/www.nuonsoft.com\/blog\/wp-json\/wp\/v2\/posts\/2186","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nuonsoft.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nuonsoft.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nuonsoft.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nuonsoft.com\/blog\/wp-json\/wp\/v2\/comments?post=2186"}],"version-history":[{"count":2,"href":"https:\/\/www.nuonsoft.com\/blog\/wp-json\/wp\/v2\/posts\/2186\/revisions"}],"predecessor-version":[{"id":2188,"href":"https:\/\/www.nuonsoft.com\/blog\/wp-json\/wp\/v2\/posts\/2186\/revisions\/2188"}],"wp:attachment":[{"href":"https:\/\/www.nuonsoft.com\/blog\/wp-json\/wp\/v2\/media?parent=2186"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nuonsoft.com\/blog\/wp-json\/wp\/v2\/categories?post=2186"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nuonsoft.com\/blog\/wp-json\/wp\/v2\/tags?post=2186"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}