Hi all. Performance reviews and oncall kept me occupied for much of January, and Megan had dibs on most of what remained. I’m still hacking on stem but progress isn’t as fast as I’d like. C’est la vie.
Stem’s development in January mostly focused on…
- Writing a proper mocking module and refactoring the tests to use it. This will greatly improve the maintainability and ease of writing new tests going forward. Originally this began with the humble goal of ‘remove a built-in mocking hack from the system module’, then went down the rabbit hole of larger scale testing improvements. Still, I’m happy with the results.
- Sathyanarayanan took on development tasks including integration tests for chroot setups, saving configurations, and troubleshooting test failures on OSX. Design discussions and code reviews take a fair bit of time but I’m thrilled to finally have someone to hack on the codebase with me. A couple other potential volunteers (piffey and blackpaw) showed interest but have since disappeared.
- A large part of my discussions with Sathyanarayanan centered around making stem more developer friendly, both in terms of its utility APIs and easier collaboration. As it turns out keeping stem’s todo list in a text file on my netbook is not the most optimal location for other people. I’ve since moved it to a development wiki.
- Expansion of the configuration utility. The most notable changes include multi-line configuration options and moving to a listener architecture. The former lets us move user facing strings out of the source (good if we ever translate) and the later greatly simplifies usage of this utility. It’ll also allow for runtime configuration editability later.
- Additional options for running stem’s tests…
- ‘–tor’ – Runs integration tests against a given tor binary (obviously needed to test during tor development).
- ‘–no-color’ – Removes ANSI escape sequence formatting which is preferable when piping test output.
- ‘–log’ – Makes stem provide its logging output with the test results. Hopefully by making log messages more visible during development we’ll get better, more user friendly logging for stem’s users. Actually, I’ve already rewritten most of stem’s log messages because of this option…
Non-development things I did include…
- Sent tor posters to international people. The pile of customs slips was pesky, but worse was twiddling my fingers at the post office as they typed each form in one by one. Hunt and peck is not the fastest method for data entry…
- The consensus tracker script had a couple interesting finds this month. The first was an oddly configured exit from the University of Waterloo and the second was 41 exits with what looks to be an auto-generated configuration.
- Realized that my git-fu wasn’t up to par for some of the things we’re doing at work, so I read ‘Git from the Bottom Up‘. If you’ve ever been curious about git’s internal data model then this is the article for you. It’s short and gives a very well written overview starting with git’s most basic components (blobs) and building up from that. I’ve heard that Pro Git is also good so I might skim some of that next.
Looking forward to seeing most of you at the development meeting!