I was playing with gumbo several months ago and made a nicer C++ wrapper that allowed for some interesting ways of doing queries. It was fun playing with combining the predicates and optimizing the result type so that it did less work. https://github.com/beached/gumbo_pp
It uses libcurl and gumbo (https://github.com/google/gumbo-parser). Gumbo is apparently written in pure C99 (interestingly Curl is written in the even older C89 standard). Will've been more amusing if article was written considering that and used C99.