Most important and useful knowledge I gained:
Explicit debugging -- keeping a list of ideas, testing theories etc, keep your mind free of clutter for thinking and enabling you to casually return to even the most complex problem after a break without loss of continuity.
Most useful tool I learned about:
The 'remake' debugger for Makefiles, it provides a useful calling stack trace.
Things I relearned:
'make', how to document, shell scripting, simple C and C++.
New things I learned a little bit about:
m4 macros, autoconf, python, configure, C++ and C compilation directives, gtest, libtool and the concept of shared libraries.
So what did I build for the Subversion OPW project?
- a patch for adding gtest as an option to the build system
- documentation for the gtest addition
- an example test for the gtest addition
And since I had spent all this time trying to understand what is happening in the build system, I documented what I think is going on, with the happy result that the Subversion project gets some documentation for the build system and I get my understanding double checked:
5. 3 walkthroughs for adding various types of components
6. list of files and their purpose for the build system
7. Walkthrough of the main files' contents
Next up: Diff and Freeze!
PS.: I know we're 8 weeks into the OPW project, but, 2 weeks of that I was ill, and so, I'm actually really in week 6.