A faster WG21 CWG issue browser

Several weeks ago I made a thing: cwg-issue-browser.herokuapp.com/cwg1234 is a faster way to browse WG21 Core Working Group issues by number than the official URL www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1234. Because rather than loading and re-rendering 4 megabytes of text every time you load an issue, this little Heroku app caches those 4 megabytes on the server side and just sends over the little piece you’re interested in.

Read More

MSVC can’t handle move-only exception types

Here’s my second post from C++Now 2019!

On Friday morning, Andreas Weis gave a very good summary of how exception handling works in C++. I particularly liked that he didn’t just focus on the Itanium ABI (as I would certainly have been tempted to do), but showed in-depth knowledge of how exception handling works on MSVC and also on embedded platforms. The only thing that could have made Andreas’s talk better would have been if he’d mentioned my dynamic_cast From Scratch” (CppCon 2017). …

Read More

Befunge and Flobnar

A week-ish ago I discovered Flobnar, an esoteric programming language invented by Chris Pressey circa 2011 and described either as “a functional dual of Befunge-93” or “what happens when you get Befunge-93 drunk.”

Read More

This one weird trick for customization by class template (partial) specialization

Last night I attended the New York City C++ meetup (of which I am now a co-organizer!). Our speaker was JeanHeyd Meneide, giving a sneak preview of his upcoming C++Now talk “The Plan for Tomorrow: Extension Points in C++ Applications.” (By the way, there is still time and space for you to attend C++Now 2019! And your local C++ meetup is always looking for presenters, too!)

Read More

What is Type Erasure?

I love type erasure in C++. But I find every so often I’ll be in a conversation with someone, and they’ll use the phrase, and they won’t mean quite the same thing as I mean, and it’ll take a while before we realize that we’re talking about completely different ideas. So I think it’ll be useful to write down what I mean by the phrase “type erasure” in C++.

Read More