xcb-studies/docs/Progress.md

2.3 KiB

Resources used in the production of this program:

The sheer variety of sources I needed to cobble together an understanding how the XCB library works is an example of what teachers call extrinsic load, an unnecessary extra load on learning because the documentation is poorly organized and lacks instruction. Basic Programming with XCB is a tutorial oriented toward commonplace tasks, but peters out before getting to an XCB extensions such as RandR. The reference is a reference; it doesn't help you understand how to use the library. XCBWrapper is an excellent example of how to use XCB, but it uses some fairly high-level C++ to accomplish all that it does, and untangling the relationship between the wrapper template, the macro that does wrapper declarations, and the XCB Reference; once you find the insight that XCB's declarations are all derived from a massive XML file, you can start to understand that XCBWrapper exploits the patterns produced by the derivative file, but it requires insight and effort that's unrelated to understanding XCB in the first place.

This project does show the usual trajectory of one of my learning exercises, especially since I'm fond of delving in places where no man has documented before. I've dumped a ton of stuff into my brain and now it's all starting to make sense. I also note that I'm doing better than a lot of the open-source examples, in that I'm batching many of my requests before processing them. I'm not batching storing the replies yet, but I don't see why that couldn't happen.