Summary MrDocs Handlebars The DOM Javascript Bindings Unit tests Boost Website Boost Release Tools Boost Libraries C++ Github Actions Gray-box local search MrDocs Over the last quarter, we have been working intensely on MrDocs, a documentation generator for C++ projects. I’ve been overseeing and reviewing all the work done by the other contributors in the project. I’ve also been responsible for: setting up and maintaining CI for the pr...
Here’s an overview of projects I have been working on the last few months. Github Actions self-hosted runners: based on https://github.com/philips-labs/terraform-aws-github-runner/ - Set up a second functional staging environment. Refactor code to work in both environments. Logic improvements. Sent doc updates upstream in PR. Also a PR to fix launching server instances. Added terraform in boostorg/beast, unordered, url. Improve AMI image builds. Rebuild with auth enabled, more disk space, pa...
CppCon 2023 was my first time attending this conference in person (instead of in my dreams), and it was everything I hoped for and more. I have spent many hours watching conference talks on YouTube, and I’m sure most of them have been from CppCon. For a professional C++ developer, it’s an experience like no other. Here I’ll outline my experience throughout the week. Talks I Loved There are many talks happening at CppCon. Most of the time there are 4 simultaneous talks, which I’ve been told ...
To: All I am writing to you today to convey challenges I have faced regarding my interactions within our community, including Boost spaces, Standard C++ Committee meetings, and The C++ Language Slack Workspace. This year, I was diagnosed as neurodiverse by clinical experts. While this offers insights into the unique ways in which I process information and interact with others, it does not excuse the impact my comments may have had on those around me. My blunt, insensitive, and strongly expre...
This is the first post in a series explaining C++20 coroutines by example. Goal The goal for this article is to create a simple non-recursive stream serializer, that can be used like this: stream::serializer serialize_ints(std::vector<int> data) { for (auto idx = 0u; idx < data.size(); idx++) { if (idx != 0) co_yield ','; co_yield std::to_string(data[idx]); } } int main(int argc, char *argv[]) { auto s = serialize_ints({1,2,3,4,5,6,7,8,9,10}); std::string ...