I am a mainly C++ programmer that used to work with safety-critical, hard and soft real-time systems, but recently I also worked on combinatorial optimization and machine learning problems. Currently I am employed at Pex, where I work on platform support, build systems and generic code maintenance work.

I still maintain Catch2, but I have increasingly less time to do that in. Maintaining Catch2 means that I have a lot of opinions about the C++ ecosystem in general and C++ compilers in particular. You can support that work through my GitHub Sponsors.

I used to teach C++ at my university, but after ~5 years I burned out and no longer enjoyed teaching there. I still like sharing my programming knowledge though, so I write this blog and sometimes give talks at conferences. I also did few workshops about testing (C++) code.

Talks & Misc

  • Lightning talk: Catching New Tricks (2019, Video)
  • Solve Hard Problems Quickly Using SAT Solvers (2019)
    • I gave this talk at NDC TechTown and CppCon, but for various reasons, the videos are no longer available.
  • Catching up with Catch2: Changes recent and future (2021, Video, Slides)
  • 5 Years Of Teaching C++: A Retrospective (2022, Video, Slides)
  • An Introduction To Floating Point Math (2022, Video, Slides)
  • Short talk: So You Want To Remove All UB? (2023, Video, Slides)
  • Short talk: vcpkg Is A Great Tool (2023, Video, Slides)


If you want to contact me, I am on the #include discord and Cpp Slack as Xarn, I occasionally read twitter as @horenmar_ctu, or you can figure out my email from the information given on this page or in my posts, just as several readers already did[1].

If you want to support me, I am on GitHub Sponsors and I also have PayPal for one time donations.

  1. No, I don't want to explicitly provide my email address here. One reason is to limit spam, the other one is that I think this is more fun (and there are multiple other ways to contact me as well). ↩︎