I have given lots of presentations over the years. Here is a list of all known presentations, with links as appropriate.
- 2024
-
- April 17th, 2024: Utah C++ Programmers: Writing Expressive Tests with Google Test and Google Mock (video)
- March 13th, 2024: Utah C++ Programmers: Managing Your Headers with Include-What-You-Use (video)
- February 14th, 2024: Utah C++ Programmers: Solving Common Problems with Boost.Utility (video)
- January 10th, 2024: Utah C++ Programmers: Refactoring Tool Roundup (video)
- 2023
-
- December 13th, 2023: Utah C++ Programmers: Make an Animated Christmas Card with Curses (video)
- November 8th, 2023: Utah C++ Programmers: Boost String Algorithms (video)
- October 11th, 2023: Utah C++ Programmers: Porting from MFC to wxWidgets (video)
- September 13th, 2023: Utah C++ Programmers: Parsing with Boost Spirit X3 (video)
- September 9th, 2023: Vintage Computer Festival Midwest 18: What’s Inside a Terminal? A Comparison of Architectures (video)
- August 8th, 2023: Utah C++ Programmers: Dynamic CUDA with NVIDIA’s Runtime Compilation (video)
- July 12th, 2023: Utah C++ Programmers: Using GitHub Actions for Continuous Integration (video)
- June 14th, 2023: Utah C++ Programmers: Promise-Cpp with Boost.Beast (video)
- May 10th, 2023: Utah C++ Programmers: Basic HTTP and WebSocket Programming with Boost.Beast (video)
- April 12th, 2023: Utah C++ Programmers: TCP/IP Networking with Boost.Asio (video)
- March 8th, 2023: Utah C++ Programmers: Getting Started with Boost.Asio: Timers and Serial Ports (video)
- February 8th, 2023: Utah C++ Programmers: Writing Native Win32 Applications with WinLamb and Modern C++ (video)
- January 11th, 2023: Utah C++ Programmers: Making Lambdas Easy With Boost.Lambda2 (video)
- 2022
-
- November 9th, 2022: Utah C++ Programmers: Messaging with 0MQ (ZeroMQ) (video)
- September 21, 2022: Utah C++ Programmers: Cerealization and RPC with Cap’n Proto (video)
- September 10th, 2022: Vintage Computer Festival Midwest 17: Storage Tube Displays or: How You Get 4K Resolution in 1974 (video)
- August 10th, 2022: Utah C++ Programmers: Serialization with Boost.Serialization (video)
- July 20th, 2022: Utah C++ Programmers: Adding a REST API with Pistache (video)
- June 8th, 2022: Utah C++ Programmers: Adding a REST API with Corvusoft’s restbed (video)
- May 11th, 2022: Utah C++ Programmers: Writing a Network Client with POCO (video)
- April 13th, 2022: Utah C++ Programmers: Writing a Network Client with Facebook’s Wangle (video)
- March 9th, 2022: Utah C++ Programmers: Embedded Winter: Raspberry Pi 4B (video)
- February 9th, 2022: Utah C++ Programmers: Embedded Winter: Raspberry Pi Pico (video)
- January 12th, 2022: Utah C++ Programmers: Embedded Winter: Arduino Uno (video)
- 2021
-
- November 10th, 2021: Utah C++ Programmers: Sounds of Fall: Audio Programming with Cinder (video)
- October 13th, 2021: Utah C++ Programmers: Sounds of Fall: Music Analysis with Marsyas (video)
- September 8th, 2021: Utah C++ Programmers: Sounds of Fall: Audio Programming with BASS (video)
- August 4th, 2021: Utah C++ Programmers: Embrace Your Problem Domain With Strong Types! (video)
- July 14th, 2021: Utah C++ Programmers: Programming to WinRT with Standard C++ Using C++/WinRT (video)
- June 9th, 2021: Utah C++ Programmers: Using Clang From Visual Studio (video)
- May 12th, 2021: Utah C++ Programmers: Case Study: Resurrecting/Modernizing Old Code
- April 14th, 2021: Utah C++ Programmers: Introduction to Geometric Processing with CGAL
- March 10th, 2021: Utah C++ Programmers: Introduction to Image and Graphics Processing with OpenCV (video)
- Febbruary 10th, 2021: Utah C++ Programmers: Introduction to GPU Programming with CUDA and Thrust (video)
- January 13th, 2021: Utah C++ Programmers: Matching Text (video)
- 2020
-
- December 9th, 2020: Utah C++ Programmers: VcPkg: The Open Source Cross-Platform Package Manager from Microsoft (video)
- November 11th, 2020: Utah C++ Programmers: Illuminating Lambdas (video)
- September 16th, 2020: Utah C++ Programmers: Dependency Injection (video)
- August 12th, 2020: Utah C++ Programmers: Concepts in C++20 (video)
- June 10th, 2020: Utah C++ Programmers: Live Refactoring Session, or: How To Tame Legacy Code (video)
- May 13th, 2020: Utah C++ Programmers: Installation and Packaging with CPack (video)
- April 8th, 2020: Utah C++ Programmers: Automated Testing with CMake, CTest and CDash (slides, video)
- March 11, 2020: Utah C++ Programmers: Feature/Platform Testing with CMake (slides)
- February 12, 2020: Utah C++ Programmers: Consuming 3rd Party Libraries with CMake (slides)
- January 8, 2020: Utah C++ Programmers: Basic Modern CMake
- 2019
-
- December 11, 2019: Utah C++ Programmers: Win32 Programming with WTL: Clipboard Snooping
- November 12, 2019: CS 7933 – Fall 2019 – Graphics Seminar: The Pixar Image Computer
- October 9, 2019: Utah C++ Programmers: Back to the Hangman: Mob Programming + 5 Year Anniverary Party
- September 14, 2019: Vintage Computer Festival Midwest 2019: The AT&T Pixel Machine (video)
- August 14, 2019: Utah C++ Programmers: Summer of std: General Utilities
- July 10, 2019: Utah C++ Programmers: Summer of std: the Filesystem Library
- June 12, 2019: Utah C++ Programmers: Summer of std: Standard Library Algorithms
- May 8, 2019: Utah C++ Programmers: Monitoring Code Quality with SonarQube
- April 10, 2019: Utah C++ Programmers: Unit Testing Legacy Code
- March 13, 2019: Utah C++ Programmers: What’s New in Clang/LLVM 7?
- February 13, 2019: Utah C++ Programmers: C++ Interpreters
- January 9, 2019: Utah C++ Programmers: Live Coding: Hacker’s Delight
- 2018
-
- November 14, 2018: Utah C++ Programmers: Facebook’s Folly Futures Library
- October 11, 2018: Mavenlink Lunch & Learn: Refactoring: The Long Game (video)
- October 2, 2018: CS 7933 – Fall 2018 – Utah Graphics Seminar: The AT&T Pixel Machine — a Modern GPU in 1988
- September 12, 2018: Utah C++ Programmers: Group Programming the Game of Life
- August 8, 2018: Utah C++ Programmers: Summer of T: Template Metaprogramming
- July 11, 2018: Utah C++ Programmers: Summer of T: Expression Templates
- June 13, 2018: Utah C++ Programmers: Summer of T: Traits and Policies
- May 9, 2018: Utah C++ Programmers: Group Programming Exercise with TDD and Mock Objects
- April 11, 2018: Utah C++ Programmers: Home on the Range(s) Library
- March 14, 2018: Utah C++ Programmers: Network and Internet Enabled Applications with POCO
- March 6, 2018: CS 7933 – Spring 2018 – Utah Graphics Seminar: The Storage Tube, or: How to Get 4K Resolution in 1974
- February 4, 2018: Utah C++ Programmers: Give Your Old Code Some New Love
- January 10, 2018: Utah C++ Programmers: All Tied Up with Strings
- 2017
-
- December 13, 2017: Utah C++ Programmers: Another Look at Embedded C++ with Kvasir
- November 15, 2017: Utah C++ Programmers: Compile-Time Programming Explained
- October 11, 2017: Utah C++ Programmers: Test-Driven Development with Mocks Workshop
- September 13, 2017: Utah C++ Programmers: Summer of GUI: WTL
- August 9, 2017: Utah C++ Programmers: Summer of GUI: Qt
- July 19, 2017: Utah C++ Programmers: Summer of GUI: wxWidgets
- July 12, 2017: OpenWest 2017: Embedded C++ Development for the Game Boy Advance
- June 14, 2017: Utah C++ Programmers: Standard Algorithms
- April 12, 2017: Utah C++ Programmers: What’s New in Visual Studio 2017
- March 8, 2017: Utah C++ Programmers: Fun With Lambdas
- February 8, 2017: Utah C++ Programmers: The Direct Map to Hardware
- January 21, 2017: University of Utah Graphics Lunch: BEFLIX
- 2016
-
- November 9, 2016: Utah C++ Programmers: Faster and More Secure Cloud Services With C++ and #include <os>
- October 12, 2016: Utah C++ Programmers: Test-Driven Development Workshop (with Cake!)
- September 14, 2016: Utah C++ Programmers: Embedded Programming with the Nintendo Game Boy Advance SP
- July 13, 2016: Utah C++ Programmers: SIMD Parallelism with CPU Intrinsics (MMX, SSE, AVX, etc.)
- June 8, 2016: Utah C++ Programmers: Building C++ Applications With CMake
- April 16, 2016: Utah Code Camp Spring 2016: Modern C++ (slides), Developing iOS and Android Apps with Visual Studio (slides)
- April 13, 2016: Utah C++ Programmers: Group Refactoring with ReSharper for C++
- March 9, 2016: Utah C++ Programmers: Consuming and Creating Libraries (slides)
- February 10, 2016: Utah C++ Programmers: Getting Started with C++
- January 13, 2016: Utah C++ Programmers: Package Management with Hunter and CMake
- 2015
-
- December 9, 2015: Utah C++ Programmers: Refactoring in C++
- November 11, 2015: Utah C++ Programmers: Group Programming / 1 Year Anniversary
- October 14, 2015: Utah C++ Programmers: More Modern C++
- September 9, 2015: Utah C++ Programmers: A Tour of Modern C++
- August 12, 2015: Utah C++ Programmers: What’s New in Visual Studio 2015
- July 15, 2015: Utah C++ Programmers: Embedded Scripting with ChaiScript
- June 24, 2015: CppCast 17: Exercism.io and Refactoring
- June 10, 2015: Utah C++ Programmers: Get More Out of Your Compiler With Clang
- May 13, 2015: Utah C++ Programmers: Test-Driven Development in C++
- April 8, 2015: Utah C++ Programmers: Static Analysis Tools
- March 17, 2015: Utah Code Camp Spring 2015: Web Mashups With NodeJS
- March 11, 2015: Utah C++ Programmers: Graphics and Audio With Cinder
- January 14, 2015: Utah C++ Programmers: Group Exercism.io in C++
- 2014
-
- December 10, 2014: Utah C++ Programmers: Iterators, Containers and Algorithms in the Standard Library
- November 18, 2014: UtahJS: Rendering the Utah Teapot with <div>
- November 12, 2014: Utah C++ Programmers: Efficient Parsing with Boost.Spirit
- October 8, 2014: Utah C++ Programmers: Boot Up!
- May 16, 2014: C++ Now! 2014: Creat Your Own Refactoring Tool With Clang (blog)
- May 12, 2014: C++ Now! 2014: Test-Driven Development With Boost.Test and Turtle Mock (blog)
- April 30, 2014: Workshop: Test-Driven Development in C++
- April 23, 2014: University of Utah Graphics Lunch: Random-access rendering of general vector graphics
- March 14, 2014: Utah Code Camp Spring 2014: A Walk Down GPU Lane, C++ User Group Bootup, Build Your Own Refactoring Tool With Clang
- 2011
- 2010
-
- September 25, 2010: Utah Code Camp Fall 2010: Internet Enabled Applications for Windows Phone 7, You Can Test Anything! (with Zhon Johansen)
- July 8, 2010: Utah .NET User Group: Internet-Enabled Applications with Windows Phone 7
- June 15, 2010: Agile Roots 2010: You Can Test Anything
- March 27, 2010: Utah Code Camp Spring 2010: What’s New in XNA Game Studio 4.0, Developing for Windows Phone 7 Series, Learn Test-Driven Development in Two Hours (with Zhon Johansen)
- January 13, 2010: XP Utah: C++ Mock Object Workshop
- 2009
-
- September 19, 2009: Utah Code Camp Fall 2009: Direct2D, DirectWrite and WiX
- August 13, 2009: Utah .NET User Group: SlimDX
- June 16, 2009: Agile Roots 2009: Test-Driven Development and Refactoring part 1, part 2
- 2008
-
- November 1, 2008: Utah Code Camp Fall 2008: Direct3D 11 Preview
- 2007