{"id":3268,"date":"2023-07-20T18:28:34","date_gmt":"2023-07-20T22:28:34","guid":{"rendered":"https:\/\/blog.wholetomato.com\/?p=3268"},"modified":"2023-08-03T13:00:43","modified_gmt":"2023-08-03T17:00:43","slug":"summer-codefest-c","status":"publish","type":"post","link":"https:\/\/stage.wholetomato.com\/blog\/summer-codefest-c\/","title":{"rendered":"Summer CodeFest: C++ coding camp hosted by Whole Tomato"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Get ready to unwind with Whole Tomato at our <a href=\"https:\/\/www.wholetomato.com\/landing\/summer-codefest-coding-camp#register\">first Summer C++ CodeFest<\/a>! Join us for two weeks of laid-back learning, collaboration, and coding sessions. Expand your C++ coding skills and ignite your passion for coding in a join-when-you-can environment.<\/span><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_76 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\r\n<div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\r\n<\/div><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/stage.wholetomato.com\/blog\/summer-codefest-c\/#Why_this_virtual_coding_camp_for\" >Why this virtual coding camp for?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/stage.wholetomato.com\/blog\/summer-codefest-c\/#Who_is_this_coding_camp_for\" >Who is this coding camp for?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/stage.wholetomato.com\/blog\/summer-codefest-c\/#What_topics_will_be_covered\" >What topics will be covered?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/stage.wholetomato.com\/blog\/summer-codefest-c\/#Event_Schedule\" >Event Schedule<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/stage.wholetomato.com\/blog\/summer-codefest-c\/#Session_1_Next-Level_Concurrency_Enhancing_Scalability_with_C20\" >Session 1: Next-Level Concurrency: Enhancing Scalability with C++20<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/stage.wholetomato.com\/blog\/summer-codefest-c\/#Session_2_What_the_Hex_Ports_and_Adapters_Architecture_with_C\" >Session 2: What the Hex? Ports and Adapters Architecture with C++<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/stage.wholetomato.com\/blog\/summer-codefest-c\/#Session_3_Modern_C_with_Modern_3D\" >Session 3: Modern C++ with Modern 3D<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/stage.wholetomato.com\/blog\/summer-codefest-c\/#Session_4_Lambdas_go_Baa\" >Session 4: Lambdas go Baa!<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/stage.wholetomato.com\/blog\/summer-codefest-c\/#Session_5_Tips_and_Tricks_using_C_Templates\" >Session 5: Tips and Tricks using C++ Templates<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/stage.wholetomato.com\/blog\/summer-codefest-c\/#Session_6_Magnificent_or_Malevolent_Maps_Measured_Monitored_Magnified\" >Session 6: Magnificent or Malevolent? Maps! Measured, Monitored, &amp; Magnified<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\r\n<h2><span class=\"ez-toc-section\" id=\"Why_this_virtual_coding_camp_for\"><\/span><b>Why this virtual coding camp for?<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400;\">C++ is one of the most established procedural and object-oriented programming languages but it has also undergone numerous revisions throughout its lifetime. What you may have learned from using prior versions as a wee developer in C++11 may have drastically changed in the most recent version of the C++ standard (C++20).\u00c2\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">But as C++ developers ourselves, we understand that keeping up with the ever changing standards may sometimes feel like an unnecessary chore\u00e2\u20ac\u201dif what we\u00e2\u20ac\u2122re using works, don\u00e2\u20ac\u2122t fix it, right?\u00c2\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">And while it\u00e2\u20ac\u2122s certainly cool to be using new stuff in itself, we feel that there are potential benefits from modern C++ that are extremely underutilized. Getting familiar with modern techniques and strategies such as lambdas, structured bindings, and the like can not only optimize performance, it can make our work much much faster and easier too!<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This is why we are holding our first ever summer code fest! This is a two-week long event where in usual Tomato fashion, we present short, highly digestible sessions about specific practices you should know about and use in your everyday\u00c2\u00a0 C++ workflow.\u00c2\u00a0<\/span><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Who_is_this_coding_camp_for\"><\/span><b>Who is this coding camp for?<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Junior developers looking to expand their skill set with modern C++ practices and strategies, and intermediate C++ developers that are stuck in the <\/span><i><span style=\"font-weight: 400;\">old ways<\/span><\/i><span style=\"font-weight: 400;\"> are all welcome to join. While we will be primarily using Visual Studio with some features provided by Visual Assist, anyone with a C++-capable IDE will be able to benefit.<\/span><\/p>\n<h2><span class=\"ez-toc-section\" id=\"What_topics_will_be_covered\"><\/span><b>What topics will be covered?<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400;\">At the Summer CodeFest, we invite you to join our mini lectures on a variety of C++ topics, condensed into 30 to 45 minute sessions with additional time for audience Q&amp;A. Some of our specialized topics will include <\/span><b>concurrency structures<\/b><span style=\"font-weight: 400;\">, <\/span><b>lambda functions<\/b><span style=\"font-weight: 400;\">, and <\/span><b>C++ templates.<\/b><span style=\"font-weight: 400;\">\u00c2\u00a0 Here are other things you can expect to learn at our coding camp:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The most important developments from C++ 11 all the way to C++ 20.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Modern practices and strategies that you should be using regularly<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Life hacks and expert advice from our professional C++ presenters<\/span><\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Event_Schedule\"><\/span>Event Schedule<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The Summer CodeFest will have four sessions, each ranging from 30 to 45 minute presentations.<\/p>\n<ul>\n<li>\n<h3><span class=\"ez-toc-section\" id=\"Session_1_Next-Level_Concurrency_Enhancing_Scalability_with_C20\"><\/span><strong>Session 1: Next-Level Concurrency: Enhancing Scalability with C++20<br \/>\n<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>with Chris Gardner<strong><br \/>\n<\/strong><span class=\"ui-provider fz b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak\" dir=\"ltr\">Explore modern C++20 multithreading and powerful parallelism techniques. As programs get more complex, computers get equipped with even more CPU cores. Learn to optimize applications for peak performance with real-world examples and practical insights with C++20&#8217;s new concurrency features.<\/span><br \/>\n<strong>August 8 &#8211; 10:00 AM CT<\/strong><\/li>\n<li>\n<h3><span class=\"ez-toc-section\" id=\"Session_2_What_the_Hex_Ports_and_Adapters_Architecture_with_C\"><\/span><strong>Session 2: <span class=\"ui-provider bpu bpv c d e f g h i j k l m n o p q r s t bpw bpx w x y z ab ac ae af ag ah ai aj ak\" dir=\"ltr\">What the Hex? Ports and Adapters Architecture with C++<\/span><\/strong><strong><br \/>\n<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>with Nuno Castro<strong><br \/>\n<\/strong>In this session, we&#8217;ll dive into Hexagonal architecture. Explore how to build scalable applications effectively and address challenges with logic changes when refactoring code and maintaining application integrity during logic changes.<br \/>\n<strong>August 10 &#8211; 10:00 AM CT<\/strong><strong><br \/>\n<\/strong><\/li>\n<li>\n<h3><span class=\"ez-toc-section\" id=\"Session_3_Modern_C_with_Modern_3D\"><\/span><strong>Session 3: Modern C++ with Modern 3D<\/strong><strong><br \/>\n<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>with Yilmaz Yoru<br \/>\nThis is a journey to modern 3D with modern C++, we will walk you through to modern 3D in C++. Rotation matrix, vectors, Viewport3D, 3D objects, 3D engines, animation, and more.<strong><br \/>\n<\/strong><strong>August 11 &#8211; 1:00 PM CT<br \/>\n<\/strong><\/li>\n<li>\n<h3><span class=\"ez-toc-section\" id=\"Session_4_Lambdas_go_Baa\"><\/span><strong>Session 4: <\/strong><strong>Lambdas go Baa!<br \/>\n<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>with David Millington<strong><br \/>\n<\/strong>Many C++ developers still use functor objects instead of lambdas. That might be because they&#8217;re &#8220;ol&#8217; reliable&#8221;, or lambdas seem complex, or there just seems no need. But lambdas are exciting, simpler than you think, and really useful.<br \/>\n<strong>August 15 &#8211; 10:00 AM CT<\/strong><\/li>\n<li>\n<h3><span class=\"ez-toc-section\" id=\"Session_5_Tips_and_Tricks_using_C_Templates\"><\/span><strong>Session 5: Tips and Tricks using C++ Templates<\/strong><strong><br \/>\n<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>with Miguel Angel Moreno<strong><br \/>\n<\/strong>Discover the many ways you can take advantage of C++ templates in your day to day coding. Templates are a very useful feature of C++, yet many developers still think of them as \u00e2\u20ac\u0153too complex\u00e2\u20ac\u009d to use. In this presentation we will show you some tips and tricks that will encourage you to start using templates in your next coding project.<br \/>\n<strong>August 16 &#8211; 11:00 AM CT<\/strong><\/li>\n<li>\n<h3><span class=\"ez-toc-section\" id=\"Session_6_Magnificent_or_Malevolent_Maps_Measured_Monitored_Magnified\"><\/span><strong>Session 6: Magnificent or Malevolent? Maps! Measured, Monitored, &amp; Magnified<\/strong><strong><br \/>\n<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>with David Millington<br \/>\nGood old std::map. We use it everywhere. But what about some of the others? Like std::unordered_map &#8212; why would you use that? And is it true that the STL collections have inbuilt performance issues by design? Are there are collection classes out there that we could use instead?<strong><br \/>\nAugust 17 &#8211; 10:00 AM CT<\/strong><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">The Summer CodeFest will be made up of multiple sessions organized and presented by a number of C++ experts, with some of our friends in the industry guesting for some of the sessions. You can choose which of these sessions you want to watch. Replays will also be provided but we encourage everyone to attend live so we can answer your questions and demonstrate them live to you. All content will be in English unless otherwise indicated.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Joining is easy and free. Sign up using the individual registration links or click this <\/span><strong><a href=\"https:\/\/www.wholetomato.com\/landing\/summer-codefest-coding-camp#register\">all-in-one link to register<\/a><\/strong><span style=\"font-weight: 400;\"> and add all of the sessions to your calendar.\u00c2\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/www.wholetomato.com\/landing\/summer-codefest-coding-camp#register noopener\" target=\"_blank\" rel=\"https:\/\/www.wholetomato.com\/landing\/summer-codefest-coding-camp#register noopener\"><img decoding=\"async\" data-attachment-id=\"3286\" data-permalink=\"https:\/\/stage.wholetomato.com\/blog\/summer-codefest-c\/sign-up\/\" data-orig-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/07\/Sign-Up.png?fit=600%2C200&amp;ssl=1\" data-orig-size=\"600,200\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Sign Up\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/07\/Sign-Up.png?fit=300%2C100&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/07\/Sign-Up.png?fit=600%2C200&amp;ssl=1\" class=\"aligncenter wp-image-3286 size-medium\" src=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/07\/Sign-Up.png?resize=300%2C100&#038;ssl=1\" alt=\"\" width=\"300\" height=\"100\" srcset=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/07\/Sign-Up.png?resize=300%2C100&amp;ssl=1 300w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/07\/Sign-Up.png?resize=360%2C120&amp;ssl=1 360w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/07\/Sign-Up.png?w=600&amp;ssl=1 600w\" sizes=\"(max-width: 300px) 100vw, 300px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Get ready to unwind with Whole Tomato at our first Summer C++ CodeFest! Join us for two weeks of laid-back learning, collaboration, and coding sessions. Expand your C++ coding skills and ignite your passion for&#8230;<\/p>\n","protected":false},"author":213500340,"featured_media":3275,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_jetpack_newsletter_access":"","_jetpack_newsletter_tier_id":0,"footnotes":""},"categories":[103],"tags":[2426,726359846,726359918,726359917,726359820],"class_list":["post-3268","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-c","tag-c-productivity","tag-c17","tag-c20","tag-webinar"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/07\/16_WTSummer-CodeFest-V01_660x300.png?fit=660%2C300&ssl=1","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pfhqii-QI","amp_enabled":true,"_links":{"self":[{"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts\/3268","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/users\/213500340"}],"replies":[{"embeddable":true,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/comments?post=3268"}],"version-history":[{"count":29,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts\/3268\/revisions"}],"predecessor-version":[{"id":3307,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts\/3268\/revisions\/3307"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/media\/3275"}],"wp:attachment":[{"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/media?parent=3268"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/categories?post=3268"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/tags?post=3268"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}