cpp.chat

cpp.chat

By Jon Kalb & Phil NashNewsTechnologyTech News
Download on the App Store

cpp.chat episodes

  • If You Change It and You Break It, You’ll Know

    This week we chat with Clare Macrae about Approval Testing, testing in general, the challenges (and some solutions to) testing legacy code - as well as highly visual environments like Qt GUIs or image processing apps.

    Working with an existing codebase that doesn't have tests can be scary and time consuming. But getting it under test is challenging, too.

    Clare explains how Approval Testing helps here, and how it all works.

    We also talk about how she has quickly become a sought after speaker, with some tips for first time speakers,

    and some more general ideas from Agile and Continuous Delivery circles.

    Links:

    • C++ Approval Testing
    • Approval Tests in general
    • Clare's Approval Testing talk at C++ on Sea
    • Clare's Meeting C++ talk: 'Quickly Testing Qt Desktop Applications'- video not yet available at time of writing
    • Clare's Approval Testing talk at CppCon- An evolution of the C++ on Sea talk
    • Approval Tests example code- for Reddit question
    • Clare’s new consulting venture
    59 min
  • All the C++30 Features - but Right Now

    This week, in a cpp.chat exclusive, we chat with Sean Baxter about Circle - the C++ compiler that he wrote. That’s a C++ compiler. That he wrote. Oh, and it does meta-programming in a way that we’re only dreaming of part of for C++23 or 26!

    So what can it do, and what is it useful for? Why is Jon struggling to wrap his head around what Sean has achieved and can it really turn Twitter into code?

    If you want to follow along screen shared segment, I've tried to embed screenshots in the podcast mp3 - or you can go to this point in the YouTube recording.

    And finally, contrary to what Phil says during the show, there were not 130 lightning talks at CppCon. It was more like 70 - and we're not including a link to the ACCU CfP as it has now closed).

    Links:

    • Main site for Circle
    • Circle repo- includes the examples discussed and many others
    • F# style Type Providers in Circle- Written the day after the show was recorded
    • C++ on Sea Call for Speakers
    1 hr
  • I’m Surprised You Brought up Rotate

    In our second live CppCon 2019 episode we chat with Sean Parent about relationships, working with Alexander Stepanov, over-object-orientizing things and, yes, even rotate.

    Sean tells us stories from his years at Adobe, including how he first came to work with Stepanov (the father of the STL) - a well as some spectacularly bad responses to interview problems.

    Links:

    • Sean's CppCon 2019 keynote- Better Code: Relationships
    46 min
  • You Get to Fix It the next Time

    The first of our two, live, CppCon 2019 episodes - this time we sit with Andrei Alexandrescu and Herb Sutter to introspect about introspection and take exception to exceptions.

    We also talk about the "Engage, Entertain, Educate: Technical Speaking that Works" class that Andrei was involved with, again, at CppCon 2019.

    But Andrei describes himself as a "free radical" and "too much plutonium" and claims he needs Herb as "a bit of graphite" to keep him in check. Listen to find out what the debate is about!

    Links:

    • Herb's CppCon 2019 keynote- De-fragmenting C++: Making Exceptions and RTTI More Affordable and Usable
    • Andrei's CppCon 2019 keynote- Speed Is Found In The Minds of People
    41 min
  • The Shape of the Value

    This week we chat with David Sankel and Michael Park about their Pattern Matching proposal, as well as a language level variant. We look at how some judicious use of syntactic sugar can improve even the ugliest part of the sausage.

    Pattern Matching (as well as the language version of Variant) are progressing well through the committee - potentially on track for C++23. We discuss how, when these land, they are going to impact every single developer - allowing us to inspect and handle values in a far more declarative way,

    We also talk a bit about CppCon, which was upcoming as we recorded, but already in the past as we release this episode.

    Links:

    • Pattern Matching proposal- p1371
    • Language Variant Proposal- p0095
    • Michael's Pattern Matching talk at CppCon
    • Michael's Pattern Matching talk at C++ Now
    • Michael's Pattern Matching library- MPark.Patterns is an experimental pattern matching library for C++17.
    • An earlier attempt at a Pattern Matching library- by Yuriy Solodkyy, Gabriel Dos Reis, Bjarne Stroustrup
    • Patricia Aas' NDC TechTown KeyNote- Elections: Trust and Critical Infrastructure
    • CPPP videos
    • More Productive C++ with TDD- Phil's blog post on TDD in C++
    • ReSharper C++ 2019.2 release- Faster indexing, improved C++20 support, new code analysis checks, and better Unreal Engine support
    53 min
  • There's No Secret to Security. The Secret Is ...

    This week we chat with Patricia Aas about secure coding practices, using computers to count votes in elections and the two hardest problems in software development.

    Patricia and Phil have both been at NDC TechTown all week where Patricia gave a keynote, a two-day class, a talk and hosted a meet-up - but still found time to chat with us.

    We discuss the relationship between secure code and just plain good code (spoiler: they're essentially the same), and how much rigour went into computerising the Norwegian election vote counting system (spoiler: none). We also discuss whether it is possible to fully computerise national voting systems reliably (spoiler: you'll just have to listen).

    Links:

    • Patricia's consulting company- Hire her!
    • Patricia's keynote, "Elections: Trust and Critical Infrastructure"- video
    • Patricia's "Anatomy of an Exploit" talk- slides
    • NDC TechTown
    • C++ on Sea opens, with Hana Dusíková as first keynote speaker
    • C++ on Sea, Walter E. Brown as second keynote speaker
    1 hr 4 min
  • Aggressively Stealing from Other Languages

    This week we're joined by Victor Zverovich as we chat about his string formatting library - which has just been adopted into C++20 - as well as the possibility of a corresponding input library, various smaller C++17 features, and whether it's possible to travel continuously from C++ event to C++ event.

    We also announce the dates for C++ on Sea 2020, Phil's vision for CppCon's Lightning Talks, as he takes them over, whether we should be removing more from the standard, and look forward to seeing The Last Macro.

    Links:

    • Next release of fmt library
    • Text Formatting- The std proposal, based on fmt, that made it into C++20
    • Facebook's fork of Thrift- Serialisation library
    • GCC 9.2 released- with more C++20 support
    • 17 Smaller but Handy C++17 Features- from Bartlomiej Filipek's blog
    • CppCon Lightning Talks- including the Lightning Challenge
    • CLion 2019.2 release- with embedded video by Phil
    • C++ on Sea - dates announced- (see subsequent news items for keynote speaker announcements)
    58 min
  • Can Everyone Stop Saying "Tupple"

    This week we chat with Guy Davidson about linear algebra coming to C++, other mathsy stuff, audio, games dev and C++ training evenings. We barely even mention 2D graphics once!

    Did you know that Guy has written four linear algebra libraries in C++ since 1990? He's in a good position to be involved with the standardisation effort. But how do you bring something that Fortran excels at to modern standard C++ without it just being the C++ification of Fortran? Listen to find out.

    Links:

    • Guy (and Bob Steagall's) Linear Algebra WG21 proposal
    • Guy's Linear Algebra talk at C++ on Sea
    • std::audio proposal
    • One of Timur Doumler's talks on std::audio- From this year's C++ Now
    • Core C++ videos
    • Italian C++ Conference videos
    • ACCU Belfast Conference- In November - sandwiched between the Belfast ISO meeting and Meeting C++ (link may be time sensitive)
    • Meeting C++ 2019
    • CppCon 2019
    • CLion 2019.2- Click "take a short tour" for a video by Phil
    1 hr 4 min
  • Hell's Corner: Shared Mutable State

    This week we chat with Juan Pedro Bolívar Puente (a.k.a. JuanPe) about immutable data structures, value types and more - and definitely not functional programming!

    How can data types be valuable if you can't change them? How can copying huge amounts of data be cheap? How can we go beyond Object-Oriented Programming - and get concurrency almost for free - all without making moral judgements about our code?

    The answers to all this and more drop out of our chat with Juan Pedro.

    Links:

    • Immer- JuanPe's immutable data structures library
    • JuanPe's C++ on Sea talk- Postmodern immutable data structures
    • JuanPe's C++ on Sea talk info
    • Catch2 v2.9.1- with Microbenchmarking support from Nonius.io
    • C++ Now 2019 videos
    • Andrei Alexandrescu's Italian C++ keynote- "Allegro" Means Both Fast and Happy. Coincidence?"
    1 hr 3 min
  • How Often Do People Move Functions?

    This week we chat with Pablo Santos, founder and chief engineer of Plastic SCM, and SemanticMerge.

    Pablo talks to us about how the "full stack" version control system he created at Plastic SCM differentiates itself in the age of GitHub, how times have moved on for VCS systems (largely driven by GitHub), and how it might even be being used outside of software projects now.

    We also chat about SemanticMerge, which can automatically - and accurately - merge far more cases than the traditional text-only merge tools, and what this means for coders.

    Links:

    • Plastic SCM- Plastic SCM is a version control to help teams focus on delivering work, one task at a time.
    • SemanticMerge- SemanticMerge turns impossible merges into automatic and a scary step into just another skill you master
    • gmaster- gmaster is a tool for developers who want Git superpowers
    • "Branched Code" - The Plastic SCM Blog- Thoughts on version control, software development, branching and merging from the Plastic dev team
    • Pablo on CppCast
    • Herb Sutter on CppCast- The 200th episode!
    • NDC{ Tech Town }- C++ / Linux / Embedded / C / Security / Testing / Tools / Product Design
    • ACCU Autumn Conference in Belfast
    • CLion 2019.2 EAP- Parameter Hints, Go to Address in Memory View, Code Assistance for ClangFormat Config Files, and More
    • ToolTime at CppCon 2019- Not open at time of writing, but may be by the time you read this
    • C++ Now 2019 wrap-up- Including best session winners - mostly Conor Hoekstra
    • Core C++ (Tel Aviv) - Trip Report- From the JetBrains team
    56 min

About cpp.chat

From the publisher's feed

Each fortnight, or thereabouts, we chat with guests from the C++ community about what they're doing, what interests them, and what's going on in the world of C++