C++ syntax is notoriously complex and full of gotchas both for compilers and for humans. I don’t know what was the reasoning in selecting the syntax for template deduction guides […]

Fold expressions, starting with C++ 17, provide succinct, if somewhat unorthodox, syntax for processing of parameter packs. Printing a pack to standard output Suppose, I want to write a function […]

In Python,  async for uses asynchronous generator to iterate over values. But how is it different from a regular for that uses a generator that yields awaitables? TL;DR: not much, […]

There is a rumor C++ 23 introduces method string::contains that checks whether a string contains a substring. I guess in mere 10-20 years we will have string::toupper and string::tolower. Here’s […]

TL;DR std::function works great when we know exact types of the arguments and the return value. It breaks down miserably in presence of templates, and the error messages are not […]

Cassandra Database

Last week I had an opportunity to experiment with Cassandra database in a semi-real environment. A few notes: Cassandra goes out of its way to be friendly to “traditional” SQL […]

Another entry to the [error message] => [solution] hash table. Context: C++ build with Conan. Error: relocation R_X86_64_PC32 against undefined hidden symbol `_ZTCN5boost10wrapexceptISt11logic_errorEE0_NS_16exception_detail10clone_implINS3_19error_info_injectorIS1_EEEE’ can not be used when making a […]