the apr question: should we depend on apr/apr-util? we currently use: hash table and variable length arrays pools for memory allocation bucket brigades for our output file abstraction for reading from disk the sprintf stuff problems: arrays suck pools don't play nice with theoretical GC schemes pools suck when you're writing bindings for dynamic languages bucket brigades aren't really needed for what we're doing potential plan to replace apr: remove use of apr arrays, replacing with custom solution remote use of apr hash tables, replacing with custom solution switch from pools to regular old malloc/free replace bucket brigades with our own stream implementation bring in the public domain sprintf code