Northwest C++ Users’ Group
Sept 18, 2025: My Crazy Plan to Implement an AArch64 Code Generator
Aug 21, 2025: Lightning Talks!!!!
July 17, 2025: Computer Programming Language Panel
June 19, 2025: Free Static Analysis Tools
CANCELLED! : May 15, 2025: What’s New in Visual Studio for C++ Developers
April 17, 2025: Back to Basics: The <=> Spaceship Operator
Mar 20, 2025: Choosing The Right Language (for your project)
Feb 20, 2025: MicroCode: Portable Programming for the BBC micro:bit
Welcome to the Northwest C++ Users’ Group
Microsoft Meeting Room: Reactor, Building 20
Jan 16, 2025: The Black Art of Code Generation
Nov 21, 2024: Coding with AI
Oct 17, 2024: Productive Programming with the JAI Programming Language
Sept 19, 2024: Lightning Talks!!!!
Aug 15, 2024: Pizza Social
July 18, 2024: CUDA Tooling & Basic Optimizations
June 20, 2024: CUDA Without a PhD
May 16, 2024: Local Reasoning in C++
April 11, 2024: Modern C++ package management with Conan 2
March 21, 2024: Linear Algebra and the Eigen Library
February 15, 2024: Comprehensible Programming
January 18, 2024: What Have We Lost?
November 16, 2023: Remedial C++ 17 Library features - Part 2!
Wednesday, September 20, 2023: MDSPAN: A Deep Dive Spanning C++, Kokkos & SYCL
August 16, 2023: The Diamond Problem Solved!
July 19, 2023: Real-Time Circuit Simulation with Wave Digital Filters in C++
June 21, 2023: Using the power of Assembly to fine tune an applications performance
May 17, 2023: Using mdarray to Price Equity Options
April 19, 2023: Remedial C++ 17 Library features
March 15, 2023: Open Discussion: Chatting on ChatGPT
Feb 15, 2023: What’s Your Function?
Jan 18, 2023: Negative Behaviors in TDD
Nov 16, 2022: Open Discussion: Why so many languages?
Oct 19, 2022: Remedial C++ 17
Aug 17, 2022: ATTEMPT #2: Building a C/C++ Infrared Piano
July 20, 2022: CANCELED: Building a C/C++ Infrared Piano
June 15, 2022: Overloading in C++: How Does It Really Work?
May 18, 2022: A Slice of Rust
April 20, 2022: Adding Modules to C in 10 Lines of Code
March 16, 2022: Building a Python/C++ Package
Feb 16, 2022: How I Learned to Stop Worrying and Love C++ 20
Jan 19, 2022: What’s new with Chapel? Applications, Aggregators, and Accelerators
Nov 17, 2021: Conan Package Manager for C++ in Practice
Sept 15, 2021: Lightning Talks!!!!
Aug 18, 2021: Python Bindings for C++
July 21, 2021: Test-Driven Development in the Larger Context
June 16th, 2021: Modern Application Development for Any Domain
May 19th, 2021: Components of Successful Software Projects
April 21th, 2021: Destroy All Memory Corruption
March 17th, 2021: Empowering Everyone to Write Reliable and Safe C++
February 17th, 2021: Intrusive Flat Forward List
January 20th, 2021: Integrating Reusable C++ Code in R Packages
November 18th, 2020: 3D Graphics for Dummies
October 21th, 2020: Embedded Development Panel
Aug 19th, 2020: C++ Package Management
July 15th, 2020: Culture of Code Reviews
June 17th, 2020: Remedial C++ 14
May 20th, 2020: Binary Object Serialization using Template Argument Deduction
April 15th, 2020: Teaching C++ in the Applied Sciences
March 18th, 2020: Teaching C++ in the Applied Sciences
Feb 19th, 2020: DigiPen Senior Research Projects
Jan 15th, 2020: DigiPen Senior Research Projects
December 2019: Happy Holidays
Nov 20th, 2019: A Unifying Abstraction for Async in C++
Oct 16th, 2019: D at 20 : Hits and Misses
Sept 18th, 2019: NO MEETING THIS MONTH
Aug 21th, 2019: Darwin: a Neuroevolution and Evolutionary Algorithms framework
July 17th, 2019: EverCrypt: a no-excuses, industrial-grade cryptographic library
June 19th, 2019: Intro to programming the HyperFlow computational array using C++
May 15th, 2019: Math and C++: Innovations and Improvement
April 17th, 2019: The Joys and Trials of Writing Cross-Platform C++ Code
March 20th, 2019: Bringing Photoshop to the iPad
February 20th, 2019: Looking under the Hood to Optimize C++ Code
January 23th, 2019: Remedial C++ 11
November 15th, 2018: C++ Today: The Beast is Back
October 17th, 2018: Avoiding Code Smells
Meetings in September
June 20th, 2018: Graduated, now what?
May 16th, 2018: Interpolation, Integration, and Coordinate Transformations
April 18th, 2018: Microsoft MakeCode: from C++ to TypeScript and Blockly (and Back)
March 21st, 2018: Algorithms Rule
February 21st, 2018: Chapel’s Muiltiresolution Programming Model
January 17th, 2018: Source Dependency Management
November 14th, 2017: C++ Terminology
October 18th 2017: Coordinate Transformation in Three dimensions
Meetings in September
Meetings in September
June 21 2017: Understanding Compiler Optimization
May 17th 2017: Concepts of the Upcoming Ranges TS
April 19th 2017: The Curse of Knowledge: Humane Library Design with D
March 15th 2017: C++ Code Productivity with Visual Studio 2017
February 15th 2017: C++ Move constructors again now that we can use them
January 18th 2017: Debugging Intermittent Issues
November 16th 2016: Memory Safety and the D Programming Language
October 19th 2016: Productive Parallel Programming At Scale
September 2016: CppCon
June 15th 2016: The LIQUiD Simulator
May 18th 2016: C++ Modules - Spring Update
April 20th 2016: Untangling Threads
March 16th 2016: Linux and IoT for VC Users
February 17th 2016: C++ 2D Graphics Standardization
January 20th 2016: C++ Coroutines: A Negative Overhead Abstraction
November 18th 2015: STL Algorithms
October 21th 2015: Qt in the Embedded World - How to create a device using Qt
September 16th 2015: The BBC micro:bit and C++
June 17th 2015: Porting Emacs via Native Client
May 20th 2015: STL Concepts and Ranges
April 15th 2015: Pushing the Boundaries of C++ Code Generation
March 18th 2015: The Go Programming Language
Feburary 18, 2015—The STM32 Microcontroller
January 21, 2015—Interfacing D To Legacy C++ Code—Walter Bright
2014
December 2014: No Meeting
November 19, 2014—Debugging, Profiling, and Diagnostics for C++ in Visual Studio vNext and Beyond—Dan Taylor
October 15, 2014—Compiler Technologies—Jim Hogg
September 17, 2014—Parallelism in the Standard C++: What to Expect in C++ 17—Artur Laksberg
CppCon, September 7–12, Bellevue, WA
August 2014: No Meeting
July 2014: No Meeting
June 18, 2014—High Reliability Systems—Lloyd Moore
May 21, 2014—Agile Architecture—Alan Shalloway
Microsoft Meeting Room: Steptoe, Cafeteria 40
April 16, 2014—The Chapel Programming Language—Thomas Van Doren
March 19, 2014—C++17: I See a Monad in Your Future—Bartosz Milewski
February 19, 2014—Test-Driven Development—Matt Becker and Madhavan Lakshminarayanan
January 15, 2014—Static Analysis: More than finding bugs—Bob Archer
2013
December 2013: No Meeting
November 20, 2013—Real Time Debugging—Lloyd Moore
October 16, 2013—New Adventures in C++ with Cinder and More—Ale Contenti
September 18, 2013—Stability in Numerical Programming: An Introduction—Robert Goddard
August 2013: No Meeting
July 17, 2013—The Universal Reference/Overloading Collision Conundrum—Scott Meyers
June 19, 2013—Multi-Platform Applications with Qt—Tuukka Ahoniemi
May 15, 2013—C++ In the Post-PC Era—Diego Dagum
April 17, 2013—No Meeting
March 20, 2013—Profile Guided Optimization—Ankit Asthana
February 20, 2013—Component Programming in D—Walter Bright
2013 Website Refresh
January 16, 2013 — Metadata and reflection in C++ — Jeff Tucker
2012
NWCPP Sponsors
Donate towards better video recordings
December 2012: No Meeting
November 21st, 2012 — TouchDevelop: Tips and Types for Programming via Touch — Tom Ball
October 17th, 2012 — Casablanca: C++ in the Cloud — Steve Gates
September 19th, 2012 — Functional Patterns in C++ — Bartosz Milewski
August 2012: No Meeting
July 2012: No Meeting
Contact NWCPP
June 20th, 2012 — LKRhash: The design of a scalable hashtable — George V. Reilly
May 16th, 2012 — An Introduction to Microsoft’s C++ Accelerated Massive Parallelism – Don McCrady
April 18th, 2012 — Essential Skills for the Agile Developer – Alan Shalloway
March 21st, 2012 — A Multi-Core Algorithmic Differentiation Benchmarking System — Brad Bell
February 15th, 2012 — Expressing Parallel Patterns in Modern C++ — Rahul V. Patil
January 25th, 2012 — Finding Race Condition and Data Races Effectively — Madan Musuvathi
2011
December 2011: No Meeting
November 16th, 2011 — Introduction to Scientific Computing — Robert Goddard
October 19th, 2011 — Asynchronous Tasks in C++11 — Bartosz Milewski
September 21st, 2011 — Beyond Threads — Rick Molloy
August 2011: No Meeting
July 2011: No Meeting
How to Sponsor NWCPP
June 15th, 2011 — Avoiding Over and Under Design — Alan Shalloway
May 18th, 2011 — C++0x Lambda Functions — Herb Sutter
April 20th, 2011: ‘C’ for Microcontrollers, Just Being Efficient — Lloyd Moore
March 16th, 2011 — Debuggers and Mago — Aldo Nunez
February 16th, 2011 — The Thought Process of Patterns: Essential Design Skills — Alan Shalloway
January 19th, 2011 — Determinism and Fail-Stop Races for Sane Multiprocessing — Luis Ceze
2010
December 2010: No Meeting
November 17th, 2010 — Bartosz Milewski — C++ vs. Haskell: Type Classes vs. Concepts
October 20th, 2010 — Steve Yegge — Scaling and Standardizing Programming Language Analysis at Google
September 15th, 2010 — The Many Faces of D — Walter Bright
August 2010: No Meeting
July 2010: No Meeting
June 16th, 2010 — Massive Multithreading on the GPU — Gavriel Plotke
May 19th, 2010 — The Anatomy of Message Passing — Bartosz Milewski
April 21st, 2010 — New C++0x Features in Visual Studio 2010 — Mark Roberts
March 17th, 2010 — Short Talks on Concurrency
February 2010: No Meeting
January 2010: No Meeting
2009
December 2009: No Meeting
November 18th, 2009 — Metaprogramming in D : Some Real-world Examples — Bill Baxter
October 21st, 2009 — Haskell and C++ Template Metaprogramming — Bartosz Milewski
September 16th, 2009 — Ownership System Against Data Races — Bartosz Milewski
August 2009: No Meeting
July 2009: No Meeting
June 17th, 2009 — Concurrent Programming in the D Programming Language — Walter Bright
May 20th, 2009 — Concurrency Runtime and Parallel Pattern Library — Dana Groff, Don McCrady, and Rick Molloy
April 15th, 2009 — Axum: The Language Of Agents — Artur Laksberg
March 18th, 2009 — How Compilers Work — Walter Bright
February 18th, 2009 — CCR: Concurrency and Coordination Runtime — Andreas Ulbrich
January 21st, 2009 — Metaprogramming in D — Walter Bright
2008
December 2008: No Meeting
November 19th, 2008 — Things You Never Wanted to Know about Memory Fences — Bartosz Milewski
October 15th, 2008 — Concepts in C++0X — Gary Powell
September 17th, 2008 — Functional Programming with F# — Chris Smith
August 20th, 2008 — Roundtable Meeting — Open Discussion
July 16th, 2008 — Roundtable Meeting — Open Discussion
June 18th, 2008 — The C++ Memory Model — Bartosz Milewski
May 20th, 2008 — Enforcing Code Feature Requirements in C++ — Scott Meyers
April 16th, 2008 — Programming Declaratively in C++ Using the Logic Paradigm — Roshan Naik
March 19th, 2008 — shared_ptr, Or: How I Learned To Stop Worrying And Love Resource Management — Stephan T. Lavavej
February 20th, 2008 — Memory Allocation: Either Love It or Hate It. (Or Just Think It’s OK.) — Andrei Alexandrescu
January 16th, 2008 — Design Patterns in an Agile Environment — Alan Shalloway
2007
December 2007: No Meeting
November 14th, 2007 — Domain-Specific Languages with Boost — Eric Niebler
October 17th, 2007 — Function Hijacking Mitigation — Walter Bright
September 19th, 2007 — Machine Architecture: Things Your Programming Language Never Told You — Herb Sutter
August 15th, 2007 — Roundtable Meeting — Open Discussion
July 18th, 2007 — Roundtable Meeting — Open Discussion
June 20th, 2007 — Roundtable Meeting — Open Discussion
May 23rd, 2007 — The Zero Debugger — Cristian Vlasceanu
April 25th, 2007 — Red Code, Green Code: Generalizing const — Scott Meyers
March 21st, 2007 — Software Transactional Memory: A different approach to concurrency — Bartosz Milewski
February 21st, 2007 — Text Processing with Boost — Eric Niebler
January 17th, 2007 — Advanced D Programming Language Features — Walter Bright
2006
December 2006: No Meeting
November 15th, 2006 — What makes a Good Programmer? Things they never told you — Adair Dingle
October 18th, 2006 — The Cost of C++ Exception Handling on Windows — Kevin Frei
September 13th, 2006 — The Concur Project — Herb Sutter
August 16th, 2006 — Roundtable Meeting — Open Discussion
July 19th, 2006 — Roundtable Meeting — Open Discussion
June 21st, 2006 — Roundtable Meeting — Open Discussion
May 17th, 2006 — The Power of None — Andrei Alexandrescu
April 19th, 2006 — C++ on Next-Gen Consoles: Effective Code for New Architectures — Pete Isensee
March 15th, 2006 — Functional Programming in C++ using Boost.Lambda — Bartosz Milewski
February 15th, 2006 — The Phoenix Compiler and Tools Framework — Andy Ayers
January 18th, 2006 — Policy-Based Memory Allocation — Andrei Alexandrescu
2005
December 2005: No Meeting
November 16th, 2005 — The D Programming Language — Walter Bright
October 19th, 2005 — C++ in the Trenches — David Brownell
September 21st, 2005 — Two Views of C++ — Scott Meyers
August 17th, 2005 — Roundtable Meeting — Open Discussion
July 20th, 2005 — Roundtable Meeting — Open Discussion
June 15th, 2005 — Roundtable Meeting — Open Discussion
May 18th, 2005 — Writing safer code with the Visual C++ 8.0 Libraries — Martyn Lovell
April 20th, 2005 — xpressive regular expressions: Library design at the edge — Eric Niebler
March 23rd, 2005 — Evolving C++ onto the CLI — Stan Lippman
February 9th, 2005 — Dealing with Software Complexity — Bartosz Milewski
January 12th, 2005 — Lock-Free Programming — Andrei Alexandrescu
2004
December 2004: No Meeting
November 10th, 2004 — STL/CLI — Stan Lippman
October 13th, 2004 — The D Programming Language — Walter Bright
September 8th, 2004 — Achieving Source-Level Software Portability Using GNU Autoconf, Automake, Libtool, and Make — Robert P. Goddard
August 11th, 2004 — “Square Table” Meeting — Open Discussion
July 14th, 2004 — Roundtable Meeting — Open Discussion
June 9th, 2004 — Roundtable Meeting: The Virtues of Linux — Open Discussion
May 12th, 2004 — Improving Testability — Dave Catlett
April 14th, 2004 — Double-Checked Locking, Threads, Compiler Optimizations, and More — Scott Meyers
March 8th, 2004 — Code Complete 2: A Decade of Advances in Software Construction — Steve McConnell
February 11th, 2004 — C++ Development for PocketPC, SmartPhone, and Windows CE — Nishan Jebanasam & Rich Hanbidge
January 14th, 2004 — for_each — Eric Niebler
2003
December 10th, 2003 — The Future of C++ on .NET: A Tour of C++/CLI — Herb Sutter
November 10th, 2003 — The Future of C++: A Panel Discussion with the Experts — Andrei Alexandrescu, Scott Meyers, & Herb Sutter
October 8th, 2003 — Object-Oriented Multithreading in C++ — Bartosz Milewski
September 10th, 2003 — Thread Safe Object—Never Think About Thread Safety Again — David Brownell
August 2003: No Meeting
July 2003: No Meeting
June 2003: No Meeting
May 14th, 2003 — The Bizarro World of hetero_stack… — Eric Niebler
April 9th, 2003 — New Features in Visual C++ .NET 2003 — Ed Dudenhoefer
March 12th, 2003 — Resource Management in C++ — Bartosz Milewski
February 12th, 2003 — Mojo — Andrei Alexandrescu
January 8th, 2003 — Unit Testing — Asim Jalis
2002
December 2002: No Meeting
November 13th, 2002 — C++ Techniques for Tomorrow That Can be Implemented Today (aka Boosting your Code) — David Brownell
October 9th, 2002 — C++ Features to Beware of Today, and to Anticipate in C++ 0x — Herb Sutter
September 18th, 2002 — Understanding templates as a form of weak typing — Bruce Eckel
August 2002: No Meeting
July 2002: No Meeting
June 2002: No Meeting
May 8th, 2002 — Embedded C++ : An Overview — Robert Blumberg
April 10th, 2002 — Honey, I Shrunk the Threads: Compile-time checked multithreaded transactions in C++ — Andrei Alexandrescu
March 13th, 2002 — Schism++: How Microsoft Proposes to Bridge the Gap Between ANSI C++ and the ‘Managed C++’ of .NET — Matthew Griscom
February 13th, 2002 — Visual C++ .NET — Christian Harlass
January 9th, 2002 — Inter-Process Communications Using Shared Memory — Bartosz Milewski
2001
December 12th, 2001 — A C++ Programmer’s Introduction to C# — Mike Moskowitz
November 14th, 2001 — JNI: How to use Java and C++ together — Christian Harlass
October 8th, 2001 — Inside the .NET Framework — Paul Johns, aka MSDN’s “Dr. GUI”
September 2001: No Meeting
August 2001: No Meeting
July 2001: No Meeting
June 13th, 2001 — Less is More—or How to Get More Bang for Your Code — Andrei Alexandrescu
May 7th, 2001 — Effective STL Sneak Preview — Scott Meyers
April 11th, 2001 — CPP-Unit Testing Framework — Troy Frever
March 14th, 2001 — XML and C++ — Mike Moskowitz
February 15th, 2001 — Volatile - Multithreaded Programmer’s Best Friend — Andrei Alexandrescu
January 8th–9th, 2001 — Microsoft’s .NET Initiative — Jeffrey Richter
2000
December 2000: No Meeting
November 13th, 2000 — Microsoft Visual Studio 7 Preview — Martyn Lovell
October 2000: No Meeting
September 13th, 2000 — Change the Way You Write Exception-Safe Code, Forever — Andrei Alexandrescu
August 9th, 2000 — Building a High Performance Server Product on Win NT/2000 Using C/C++ — Chris Hickman & Joe Mullally
July 2000: No Meeting
June 2000: No Meeting
May 10th, 2000 — C++ Exceptions — Bobby Schmidt
April 12th, 2000 — Testing Object-Oriented Software — Steve Tockey
March 8th, 2000 — Real-World Class Design — Mark Wiseman
February 15th, 2000 — Datatypes++, A C++ Class Library for Windows — Tom Dowdell
January 2000: No Meeting