
















Replacing `std::lock_guard` with a factory function
Recently I had to track down a use-after-free bug (which see) in some code that used librdkafka. The gist of it was: We call rd_kafka_new and pass it an rk_conf object containing a bunch of pointers to callbacks. rd_kafka_new either succeeds, in which case it gives us back a valid rd_kafka_t* and we make sure to keep those callback objects alive; or it fails (e.g. due to invalid configuration or resource exhaustion), in which case it...


Bloomreach: Empowering Ecommerce Marketers to Drive More Results with Less Complexity
The past few years have seen e-commerce accelerate at breakneck speed. And while that growth has evened out as of late, the potential of e-commerce has hardly reached its limit. Over two billion people made online...